Dropping m_startingLineNumber property from StyledElement.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-07  Mike West  <mkwst@chromium.org>
2
3         Dropping m_startingLineNumber property from StyledElement.
4         https://bugs.webkit.org/show_bug.cgi?id=86848
5
6         Reviewed by Adam Barth.
7
8         We can have the same effect by moving the line-number calculation
9         directly into StyledElement::styleAttributeChanged. This means that
10         subsequent changes to the style attribute (via script) won't generate
11         error messages with line numbers, but that's an acceptable tradeoff.
12
13         Behavior is covered by existing CSP tests.
14
15         * dom/StyledElement.cpp:
16         (WebCore::StyledElement::StyledElement):
17         (WebCore::StyledElement::styleAttributeChanged):
18         * dom/StyledElement.h:
19         (WebCore::StyledElement::destroyInlineStyle):
20
21 2012-06-07  Peter Beverloo  <peter@chromium.org>
22
23         Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds
24         https://bugs.webkit.org/show_bug.cgi?id=88527
25
26         Reviewed by Adam Barth.
27
28         Initialize the m_document member with the passed on document in the stubbed
29         AXObjectCache constructor. No behavioral changes.
30
31         * accessibility/AXObjectCache.h:
32         (WebCore::AXObjectCache::AXObjectCache):
33
34 2012-06-05  James Robinson  <jamesr@chromium.org>
35
36         [chromium] Move deferral-related logic out of Canvas2DLayerChromium
37         https://bugs.webkit.org/show_bug.cgi?id=86050
38
39         Reviewed by Stephen White.
40
41         This removes Canvas2DLayerChromium and puts the deferral and double-buffering related logic in a new class,
42         Canvas2DLayerBridge, that uses TextureLayerChromium for compositing.  The bridge is responsible for managing the
43         front texture when double buffering is active, inserting the correct makeContextCurrent() and flush() calls on
44         the GraphicsContext3D and SkCanvas when appropriate, and owning the lifetime of the layer.
45
46         * WebCore.gypi:
47         * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Added.
48         (WebCore):
49         (AcceleratedDeviceContext):
50         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
51         (WebCore::AcceleratedDeviceContext::prepareForDraw):
52         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
53         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
54         (WebCore::Canvas2DLayerBridge::skCanvas):
55         (WebCore::Canvas2DLayerBridge::prepareTexture):
56         (WebCore::Canvas2DLayerBridge::context):
57         (WebCore::Canvas2DLayerBridge::layer):
58         (WebCore::Canvas2DLayerBridge::contextAcquired):
59         * platform/graphics/chromium/Canvas2DLayerBridge.h: Added.
60         (WebCore):
61         (Canvas2DLayerBridge):
62         (WebCore::Canvas2DLayerBridge::create):
63         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Removed.
64         * platform/graphics/chromium/Canvas2DLayerChromium.h: Removed.
65         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
66         * platform/graphics/chromium/ImageBufferDataSkia.h:
67         (WebCore):
68         (ImageBufferData):
69         * platform/graphics/chromium/TextureLayerChromium.cpp:
70         (WebCore::TextureLayerChromium::willModifyTexture):
71             willModifyTexture() is called whenever the texture currently owned by the TextureLayerChromium will be
72             modified by a system out of the compositor's control. It makes sure that the compositor does not attempt to
73             draw with the potentially-modified texture until the next commit. For canvas, this is used when threading is
74             enabled and a non-deferrable drawing command is invoked from JS.
75         (WebCore):
76         * platform/graphics/chromium/TextureLayerChromium.h:
77         (TextureLayerChromium):
78         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
79         (WebCore::CCTextureUpdater::hasMoreUpdates):
80         (WebCore::CCTextureUpdater::update):
81         (WebCore::CCTextureUpdater::clear):
82         * platform/graphics/chromium/cc/CCTextureUpdater.h:
83         (CCTextureUpdater):
84         * platform/graphics/skia/ImageBufferSkia.cpp:
85         (WebCore::createAcceleratedCanvas):
86         (WebCore::ImageBuffer::~ImageBuffer):
87         (WebCore::ImageBuffer::context):
88         (WebCore::ImageBuffer::platformLayer):
89
90 2012-06-07  Patrick Gansterer  <paroga@webkit.org>
91
92         Remove HAVE(PATH_BASED_BORDER_RADIUS_DRAWING)
93         https://bugs.webkit.org/show_bug.cgi?id=87931
94
95         Reviewed by Beth Dakin.
96
97         r62035 added HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until all ports implement
98         GraphicsContext::clipConvexPolygon(). All major ports define HAVE_PATH_BASED_BORDER_RADIUS_DRAWING in the
99         meantime and the alternative path has unnecessary maintainace costs and even don't compile at the moment.
100
101         * rendering/RenderBoxModelObject.cpp:
102         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
103         * rendering/RenderObject.cpp:
104         (WebCore::RenderObject::paintFocusRing):
105         * rendering/RenderObject.h:
106         (RenderObject):
107
108 2012-06-06  Vincent Scheib  <scheib@chromium.org>
109
110         Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror
111         https://bugs.webkit.org/show_bug.cgi?id=88377
112
113         Reviewed by Dimitri Glazkov.
114
115         Part of a series of refactoring changes to update pointer lock API to
116         the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
117
118         New change and error events added. Follow up patches will remove
119         the previous callbacks and pointerlocklost event. Tests updated
120         to include the new events, and a new test added specifically for
121         the new events, pointerlockchange-pointerlockerror-events.html.
122
123         Test: pointer-lock/pointerlockchange-pointerlockerror-events.html
124
125         * dom/Document.h:
126         (Document):
127         * dom/Document.idl:
128         * dom/EventNames.h:
129         (WebCore):
130         * page/PointerLockController.cpp:
131         (WebCore::PointerLockController::requestPointerLock):
132         (WebCore::PointerLockController::didAcquirePointerLock):
133         (WebCore::PointerLockController::didNotAcquirePointerLock):
134         (WebCore::PointerLockController::didLosePointerLock):
135         (WebCore::PointerLockController::enqueueEvent):
136         (WebCore):
137         * page/PointerLockController.h:
138         (PointerLockController):
139
140 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
141
142         Unreviewed, rolling out r119744.
143         http://trac.webkit.org/changeset/119744
144         https://bugs.webkit.org/show_bug.cgi?id=88584
145
146         Fails assertions in debug builds (Requested by jamesr_ on
147         #webkit).
148
149         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
150         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
151         (WebCore::CCIOSurfaceLayerImpl::willDraw):
152
153 2012-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
154
155         Cache RenderLayer::isRootLayer for better performance
156         https://bugs.webkit.org/show_bug.cgi?id=88570
157
158         Reviewed by Ojan Vafai.
159
160         Caching covered by existing tests.
161
162         RenderLayer::isRootLayer()'s answer will be the same during the RenderLayer's
163         lifetime as a RenderLayer is tied to a RenderBoxModelObject. This change caches
164         isRootLayer value in the constructor.
165
166         On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows
167         by 100 columns table, it saves about 10% on the paint time during scrolling on
168         my machine (going from 50ms to 45ms). It would expect all code paths to see some
169         improvement as checking renderer()->isRenderView() was pretty common.
170
171         * rendering/RenderLayer.cpp:
172         (WebCore::RenderLayer::RenderLayer):
173         Added code to cache the result of renderer()->isRenderView() here.
174
175         (WebCore::RenderLayer::stackingContext):
176         (WebCore::isPositionedContainer):
177         (WebCore::isFixedPositionedContainer):
178         (WebCore::RenderLayer::enclosingTransformedAncestor):
179         (WebCore::RenderLayer::clippingRootForPainting):
180         (WebCore::shouldSuppressPaintingLayer):
181         (WebCore::RenderLayer::hitTest):
182         (WebCore::RenderLayer::intersectsDamageRect):
183         * rendering/RenderLayer.h:
184         (WebCore::RenderLayer::isStackingContext):
185         Updated all the call sites to use isRootLayer() instead of renderer()->isRenderView()
186         as it is faster.
187
188         (WebCore::RenderLayer::isRootLayer):
189         Added our caching here. Also made m_canSkipRepaintRectsUpdateOnScroll to follow
190         m_isRootLayer example.
191
192 2012-06-07  Takashi Sakamoto  <tasak@google.com>
193
194         Incorrect border rendering when border radius is above 2px.
195         https://bugs.webkit.org/show_bug.cgi?id=88046
196
197         Fixing findInnerVertex's logic to decide which is the better line
198         to find an inner vertex, x=center point's x of a rendering box or
199         y=center point's y of a rendering box.
200
201         Reviewed by Simon Fraser.
202
203         Test: fast/borders/border-radius-valid-border-clipping.html
204
205         * rendering/RenderBoxModelObject.cpp:
206         (WebCore::findInnerVertex):
207
208 2012-06-07  Edaena Salinas Jasso  <edaena@apple.com>
209
210         Should fire error event for empty 404 script
211         https://bugs.webkit.org/show_bug.cgi?id=50589
212         
213         Reviewed by Brady Eidson.
214
215         Tests: 
216         http/tests/loading/fire-error-event-empty-404-script.html
217         http/tests/loading/fire-error-script-no-content-type.html
218
219         * loader/SubresourceLoader.cpp:
220         (WebCore::SubresourceLoader::didReceiveResponse): We should check for http status 
221         codes here to stop depending on the response being non-empty.
222         (WebCore::SubresourceLoader::didReceiveData): Moved the http status check but
223         avoid messing with multipart responses.
224         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): Renamed from 
225         errorLoadingResource for clarity.
226
227         * loader/SubresourceLoader.h:
228         * loader/cf/SubresourceLoaderCF.cpp:
229         (WebCore::SubresourceLoader::didReceiveDataArray):
230         Updated for errorLoadingResource renaming.
231
232 2012-06-07  Konrad Piascik  <kpiascik@rim.com>
233
234         [BlackBerry] Update PlayBook's User Agent String for Web Inspector
235         https://bugs.webkit.org/show_bug.cgi?id=88543
236
237         Reviewed by Antonio Gomes.
238
239         We expect users to upgrade their devices so developers only need the latest UA String.
240
241         No tests needed.
242
243         * inspector/front-end/SettingsScreen.js:
244         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
245
246 2012-06-07  Shawn Singh  <shawnsingh@chromium.org>
247
248         [chromium] Remove obsolete FIXME comment about a layer sorting bug.
249         https://bugs.webkit.org/show_bug.cgi?id=88546
250
251         Reviewed by James Robinson.
252
253         No tests needed, only comment changed. The comment referred to a
254         potential bug that actually will not occur. The W3C spec on CSS 3d
255         transforms indicates that layers that do not share the same "3d
256         rendering context" do not sort together, and our existing code
257         sorts this way already.
258
259         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
260         (WebCore::subtreeShouldRenderToSeparateSurface):
261
262 2012-06-07  Adam Barth  <abarth@webkit.org>
263
264         Settings::defaultDeviceScaleFactor is redundant with Page::deviceScaleFactor
265         https://bugs.webkit.org/show_bug.cgi?id=88375
266
267         Reviewed by James Robinson.
268
269         This patch removes Settings::defaultDeviceScaleFactor because it is
270         redundant with Page::deviceScaleFactor now that we no longer support
271         target-densitydpi.  Page::deviceScaleFactor is the canonical place to
272         store the device scale factor.
273
274         * WebCore.exp.in:
275         * page/Settings.cpp:
276         (WebCore::Settings::Settings):
277         (WebCore):
278         * page/Settings.h:
279         (Settings):
280         * testing/InternalSettings.cpp:
281         (WebCore::InternalSettings::setDeviceScaleFactor):
282
283 2012-06-07  Alec Flett  <alecflett@chromium.org>
284
285         IndexedDB: Error codes, phase one
286         https://bugs.webkit.org/show_bug.cgi?id=88459
287
288         Reviewed by Tony Chang.
289
290         This phase gets rid of the now-deprecated NOT_ALLOWED_ERR and
291         NON_TRANSIENT_ERR from earlier versions of the spec, and
292         normalizes the place where TypeError should be thrown so that it's
293         easier to update when the bindings change.
294
295         No new tests: existing tests cover these changes and have been updated.
296
297         * Modules/indexeddb/IDBCursor.cpp:
298         (WebCore::IDBCursor::advance):
299         (WebCore::IDBCursor::continueFunction):
300         (WebCore::IDBCursor::stringToDirection):
301         (WebCore::IDBCursor::directionToString):
302         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
303         (WebCore::IDBCursorBackendImpl::update):
304         (WebCore::IDBCursorBackendImpl::deleteFunction):
305         * Modules/indexeddb/IDBDatabase.cpp:
306         (WebCore::IDBDatabase::createObjectStore):
307         (WebCore::IDBDatabase::deleteObjectStore):
308         (WebCore::IDBDatabase::setVersion):
309         (WebCore::IDBDatabase::transaction):
310         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
311         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
312         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
313         (WebCore::IDBDatabaseBackendImpl::setVersion):
314         * Modules/indexeddb/IDBDatabaseException.cpp:
315         (WebCore):
316         * Modules/indexeddb/IDBDatabaseException.h:
317         * Modules/indexeddb/IDBDatabaseException.idl:
318         * Modules/indexeddb/IDBFactory.cpp:
319         (WebCore::IDBFactory::open):
320         (WebCore::IDBFactory::deleteDatabase):
321         * Modules/indexeddb/IDBObjectStore.cpp:
322         (WebCore::IDBObjectStore::index):
323         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
324         (WebCore::IDBObjectStoreBackendImpl::createIndex):
325         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
326         * Modules/indexeddb/IDBRequest.cpp:
327         (WebCore::IDBRequest::result):
328         (WebCore::IDBRequest::errorCode):
329         (WebCore::IDBRequest::webkitErrorMessage):
330         * Modules/indexeddb/IDBTransaction.cpp:
331         (WebCore::IDBTransaction::objectStore):
332         (WebCore::IDBTransaction::stringToMode):
333         (WebCore::IDBTransaction::modeToString):
334         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
335         (WebCore::IDBTransactionBackendImpl::objectStore):
336
337 2012-06-07  Dana Jansens  <danakj@chromium.org>
338
339         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
340         https://bugs.webkit.org/show_bug.cgi?id=88371
341
342         Reviewed by James Robinson.
343
344         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
345
346         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
347         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
348         (WebCore::CCIOSurfaceLayerImpl::willDraw):
349
350 2012-06-07  Peter Beverloo  <peter@chromium.org>
351
352         Buildfix for ENABLE_OVERFLOW_SCROLLING=0 (though defined)
353         https://bugs.webkit.org/show_bug.cgi?id=88564
354
355         Reviewed by Adam Barth.
356
357         Where ENABLE(X) mandates that X both has to be defined and evaluates to
358         true as a lone preprocessor statement, there were two places in the CSS
359         property and value input files where only was checked whether is has
360         been defined. This also goes against other #ifdefs in those files.
361
362         * css/CSSPropertyNames.in:
363         * css/CSSValueKeywords.in:
364
365 2012-06-07  Ami Fischman  <fischman@chromium.org>
366
367         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
368         https://bugs.webkit.org/show_bug.cgi?id=88349
369
370         Reviewed by Adam Barth.
371
372         Test: http/tests/security/video-cross-origin-readback.html
373
374         * html/HTMLMediaElement.cpp:
375         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
376         (WebCore):
377         * html/HTMLMediaElement.h:
378         (HTMLMediaElement):
379         * html/canvas/CanvasRenderingContext.cpp:
380         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
381         * platform/graphics/MediaPlayer.cpp:
382         (WebCore::MediaPlayer::didPassCORSAccessCheck):
383         (WebCore):
384         * platform/graphics/MediaPlayer.h:
385         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
386         (MediaPlayer):
387         * platform/graphics/MediaPlayerPrivate.h:
388         (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck):
389         (MediaPlayerPrivateInterface):
390
391 2012-06-07  Mark Hahnenberg  <mhahnenberg@apple.com>
392
393         Worker tear-down can re-enter JSC during GC finalization
394         https://bugs.webkit.org/show_bug.cgi?id=88449
395
396         Reviewed by Geoffrey Garen.
397
398         No new tests. 
399
400         This is the first of two patches to fix this issue with Workers.
401
402         * workers/AbstractWorker.cpp:
403         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
404         will be called elsewhere in contextDestroyed().
405
406 2012-06-07  Jer Noble  <jer.noble@apple.com>
407
408         sometimes all slaved videos don't start playing
409         https://bugs.webkit.org/show_bug.cgi?id=88553
410
411         Reviewed by Darin Adler.
412
413         Test: media/media-controller-time-clamp.html
414
415         Some PlatformClock classes will occasionally return times < 0 and will
416         always return times slightly > duration() when playback has ended.  Clamp
417         the value of currentTime() to the specified [0..duration] range.
418
419         * html/MediaController.cpp:
420         (MediaController::currentTime):
421
422 2012-06-07  Simon Fraser  <simon.fraser@apple.com>
423
424         Optimize FrameView::scrollXForFixedPosition() / scrollYForFixedPosition()
425         https://bugs.webkit.org/show_bug.cgi?id=88475
426
427         Reviewed by Sam Weinig.
428         
429         FrameView's scrollXForFixedPosition() and scrollYForFixedPosition()
430         methods were often called together, but they do duplicate work,
431         including calling into platform widget code which might be slow.
432         
433         Fix by converting scrollOffsetForFixedPosition() from being a wrapper
434         that just calls scrollXForFixedPosition() and scrollYForFixedPosition()
435         to the method that does all the work, calling just once into platform
436         widget code.
437         
438         Changed callers to use scrollOffsetForFixedPosition() rather than make
439         two separate method calls.
440         
441         Added ScrollView::layoutSize() and visibleSize() methods for
442         convenience.
443         
444         Removed FrameView::scrollXForFixedPosition and FrameView::scrollYForFixedPosition
445         to avoid inefficient callers in future.
446
447         No new tests; refactoring only.
448
449         * page/FrameView.cpp:
450         (WebCore::fixedPositionScrollOffset):
451         (WebCore::FrameView::scrollOffsetForFixedPosition):
452         * page/FrameView.h: Removed scrollXForFixedPosition and scrollYForFixedPosition.
453         * platform/ScrollView.cpp:
454         (WebCore::ScrollView::layoutSize):
455         * platform/ScrollView.h:
456         (WebCore::ScrollView::visibleSize):
457         * rendering/RenderLayer.cpp:
458         (WebCore::RenderLayer::backgroundClipRect):
459         * rendering/RenderLayer.h:
460         (WebCore::ClipRect::move):
461         * rendering/RenderLayerCompositor.cpp:
462         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
463         * rendering/RenderView.cpp:
464         (WebCore::RenderView::computeRectForRepaint):
465
466 2012-06-07  Raymes Khoury  <raymes@chromium.org>
467
468         Incorrect rect-based hit-test result for culled-inline elements
469         https://bugs.webkit.org/show_bug.cgi?id=85849
470
471         Reviewed by Levi Weintraub.
472
473         Modified code which blindly adds culled inlines to rect-based hit-test
474         results so that it only does so if the child node does not fully cover
475         the hit-test region.
476
477         Test: fast/dom/nodesFromRect-culled-inline.html
478
479         * rendering/HitTestResult.cpp:
480         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
481
482 2012-06-07  Daniel Erat  <derat@chromium.org>
483
484         Make Skia backend honor requests for subpixel-positioned text.
485         https://bugs.webkit.org/show_bug.cgi?id=88263
486
487         Reviewed by Tony Chang.
488
489         Add subpixel positioning field to FontRenderStyle and rename
490         subpixel rendering field.
491
492         Pass setting to SkPaint in FontPlatformDataHarfBuzz and remove
493         round() call when computing glyph widths in SimpleFontDataSkia.
494
495         Test: platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html
496
497         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
498         (WebCore::setFontRenderStyleDefaults):
499         (WebCore::PlatformSupport::getRenderStyleForStrike):
500         * platform/graphics/chromium/FontRenderStyle.h:
501         (WebCore::FontRenderStyle::FontRenderStyle):
502         (WebCore::FontRenderStyle::operator==):
503         (FontRenderStyle):
504         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
505         (WebCore):
506         (WebCore::FontPlatformData::setSubpixelRendering):
507         (WebCore::FontPlatformData::setSubpixelPositioning):
508         (WebCore::FontPlatformData::setupPaint):
509         (WebCore::FontPlatformData::querySystemForRenderStyle):
510         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
511         (FontPlatformData):
512         * platform/graphics/skia/SimpleFontDataSkia.cpp:
513         (WebCore::SimpleFontData::platformWidthForGlyph):
514
515 2012-06-06  Dana Jansens  <danakj@chromium.org>
516
517         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
518         https://bugs.webkit.org/show_bug.cgi?id=88469
519
520         Reviewed by James Robinson.
521
522         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
523
524         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
525         (WebCore::shouldDrawLayer):
526         (WebCore):
527         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
528         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
529
530 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
531
532         Web Inspector: sorting of object fields is broken in heap profiler
533         https://bugs.webkit.org/show_bug.cgi?id=88532
534
535         A recent change to heap profiler has replaced getters with functions.
536         Function calls were missing in couple places after that change.
537
538         Reviewed by Vsevolod Vlasov.
539
540         Tests: inspector/profiler/heap-snapshot-summary-sorting-fields.html
541                inspector/profiler/heap-snapshot-summary-sorting-instances.html
542
543         * inspector/front-end/HeapSnapshot.js:
544         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
545
546 2012-06-07  Alexander Pavlov  <apavlov@chromium.org>
547
548         Web Inspector: Consider Ctrl+Shift+key as valid zoom change combinations
549         https://bugs.webkit.org/show_bug.cgi?id=88520
550
551         Reviewed by Vsevolod Vlasov.
552
553         * inspector/front-end/inspector.js:
554         (WebInspector.documentKeyDown):
555
556 2012-06-07  Arvid Nilsson  <anilsson@rim.com>
557
558         [BlackBerry] Allow WebPageCompositor to blend a transparent web page
559         https://bugs.webkit.org/show_bug.cgi?id=88233
560
561         Reviewed by Rob Buis.
562
563         RIM PR #159998
564
565         Add a parameter to LayerRenderer::compositeBuffer() indicating whether
566         the buffer contents are opaque, and set the GL blend mode accordingly.
567
568         This is not currently testable using BlackBerry testing infrastructure.
569
570         Reviewed internally by Jakob Petsovits.
571
572         * platform/graphics/blackberry/LayerRenderer.cpp:
573         (WebCore::LayerRenderer::compositeBuffer):
574         * platform/graphics/blackberry/LayerRenderer.h:
575         (LayerRenderer):
576
577 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
578
579         Web Inspector: reuse edge_count field of heap snapshot to store retained size
580         https://bugs.webkit.org/show_bug.cgi?id=88416
581
582         The edge_count field is unused after node first edge indexes have been built.
583         Store node retained size in there instead of allocating an extra array for it.
584
585         Reviewed by Vsevolod Vlasov.
586
587         * inspector/front-end/HeapSnapshot.js:
588         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
589         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
590
591 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
592
593         Unreviewed, rolling out r119694.
594         http://trac.webkit.org/changeset/119694
595         https://bugs.webkit.org/show_bug.cgi?id=88529
596
597         it broke PrerenderBrowserTest.PrerenderHTML5VideoNetwork
598         (Requested by loislo on #webkit).
599
600         * html/HTMLMediaElement.cpp:
601         * html/HTMLMediaElement.h:
602         (HTMLMediaElement):
603         * html/canvas/CanvasRenderingContext.cpp:
604         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
605         * platform/graphics/MediaPlayer.cpp:
606         * platform/graphics/MediaPlayer.h:
607         (MediaPlayer):
608         * platform/graphics/MediaPlayerPrivate.h:
609
610 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
611
612         Delete a contenteditable element having a Shadow DOM causes a crash.
613         https://bugs.webkit.org/show_bug.cgi?id=86345
614
615         Reviewed by Ryosuke Niwa.
616
617         In VisibleSelection::validate(), m_start.downstream() or m_end.upstream() might cross
618         editing boundaries. So we adjust selection after calling them again.
619
620         Test: editing/shadow/select-contenteditable-shadowhost.html
621
622         * editing/VisibleSelection.cpp:
623         (WebCore::VisibleSelection::validate):
624
625 2012-06-07  Vivek Galatage  <vivekgalatage@gmail.com>
626
627         No new line at the end for SVGCSSPropertyNames.in causes compilation warning
628         https://bugs.webkit.org/show_bug.cgi?id=88503
629
630         Reviewed by Ryosuke Niwa.
631
632         Added new line at the end of the file.
633
634         No new tests required.
635
636         * css/SVGCSSPropertyNames.in:
637
638 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
639
640         [Qt][Win] Use OS(WINDOWS) instead of Q_WS_WIN in WebCore/platform/graphics/GraphicsContext.h
641         https://bugs.webkit.org/show_bug.cgi?id=88305
642
643         Reviewed by Simon Hausmann.
644
645         * platform/graphics/GraphicsContext.h: Buildfix.
646         (GraphicsContext):
647
648 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
649
650         Incorrect data retrieved in calls to get selection data in client->textWillBeReplaced from CharacterData::setDataAndUpdate
651         https://bugs.webkit.org/show_bug.cgi?id=66120
652
653         Reviewed by Ryosuke Niwa.
654
655         Since FrameSelection::textWillBeReplaced was called before replacing text, updated Selection became
656         temporarily invalid. The invalid selection was set to updateSelection(), so client will have
657         invalid selection.
658
659         This patch makes calling updateSelection() after updating selection.
660
661         No new tests, it's too hard to create a correct test cases in DRT.
662
663         * dom/CharacterData.cpp:
664         (WebCore::CharacterData::setDataAndUpdate):
665         * editing/FrameSelection.cpp:
666         (WebCore::updatePositionAfterAdoptingTextReplacement):
667         (WebCore::FrameSelection::textWasReplaced):
668         * editing/FrameSelection.h:
669         (FrameSelection):
670
671 2012-06-07  Li Yin  <li.yin@intel.com>
672
673         FileAPI: If type consists of non-ASCII characters in Blob constructor, it should throw a SyntaxError.
674         https://bugs.webkit.org/show_bug.cgi?id=88411
675
676         Reviewed by Kentaro Hara.
677
678         From spec: http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob
679         If type consists of any non-ASCII characters, throw a SyntaxError and
680         return from this algorithm.
681         This patch checks the String is ASCii or not, if not, throw SyntaxError.
682
683         Test: fast/files/blob-constructor.html
684
685         * bindings/js/JSBlobCustom.cpp:
686         (WebCore::JSBlobConstructor::constructJSBlob):
687         * bindings/v8/custom/V8BlobCustom.cpp:
688         (WebCore::V8Blob::constructorCallback):
689
690 2012-06-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
691
692         InsertUnorderedList and InsertOrderedList (execCommand) do not remove bullets
693         https://bugs.webkit.org/show_bug.cgi?id=84597
694
695         Reviewed by Ryosuke Niwa.
696
697         Comparison between start and end VisiblePositions will fail when a position inside
698         a paragraph is compared with one at the start of the paragraph.
699         
700         This fix thus converts the end VisiblePosition (which could be inside the paragraph)
701         to the start of the paragraph thereby enabling a proper comparison of start and end
702         positions.
703
704         Test: editing/execCommand/remove-list-from-multi-list-items.html
705
706         * editing/InsertListCommand.cpp:
707         (WebCore::InsertListCommand::selectionHasListOfType):
708
709 2012-06-07  Li Yin  <li.yin@intel.com>
710
711         [FileAPI] FileReader should throw an InvalidStateError exception when readyState is LOADING
712         https://bugs.webkit.org/show_bug.cgi?id=88212
713
714         Reviewed by Jian Li.
715
716         From Spec: http://www.w3.org/TR/FileAPI/#readAsBinaryString
717         FileReader should throw an InvalidStateError exception instead of NOT_ALLOWED_ERR
718         when the readyState is LOADING.
719         Also delete OperationNotAllowedException related code, because it is not longer needed.
720
721         Tests: fast/files/read-file-async.html
722                fast/files/workers/worker-read-file-async.html
723
724         * CMakeLists.txt:
725         * DerivedSources.cpp:
726         * DerivedSources.make:
727         * DerivedSources.pri:
728         * GNUmakefile.list.am:
729         * Target.pri:
730         * WebCore.gypi:
731         * WebCore.vcproj/WebCore.vcproj:
732         * WebCore.xcodeproj/project.pbxproj:
733         * dom/DOMExceptions.in:
734         * fileapi/FileReader.cpp:
735         (WebCore::FileReader::readInternal): Changed it to throw INVALID_STATE_ERR.
736         * fileapi/FileReader.idl: Changed it to raise DOMException for all read methods.
737         * fileapi/OperationNotAllowedException.cpp: Removed.
738         * fileapi/OperationNotAllowedException.h: Removed.
739         * fileapi/OperationNotAllowedException.idl: Removed.
740
741 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
742
743         Unreviewed, rolling out r119689.
744         http://trac.webkit.org/changeset/119689
745         https://bugs.webkit.org/show_bug.cgi?id=88516
746
747         it broke didDrawNotCalledOnScissoredLayer webkit_unit_test
748         (Requested by loislo on #webkit).
749
750         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
751         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
752         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
753
754 2012-06-07  Ami Fischman  <fischman@chromium.org>
755
756         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
757         https://bugs.webkit.org/show_bug.cgi?id=88349
758
759         Reviewed by Adam Barth.
760
761         Test: http/tests/security/video-cross-origin-readback.html
762
763         * html/HTMLMediaElement.cpp:
764         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
765         (WebCore):
766         * html/HTMLMediaElement.h:
767         (HTMLMediaElement):
768         * platform/graphics/MediaPlayer.h:
769         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
770
771 2012-06-07  Hironori Bono  <hbono@chromium.org>
772
773         Use light gray for grammar markers on Windows and Linux
774         https://bugs.webkit.org/show_bug.cgi?id=88398
775
776         Reviewed by Ryosuke Niwa.
777
778         This change changes the color of grammar markers from dark gray to light gray
779         and rebaselines a couple of pixel tests affected by this change.
780
781         No new tests because it changes the marker color of an existing test 'grammar-markers.html'.
782
783         * platform/graphics/skia/GraphicsContextSkia.cpp: Change dark gray to light gray.
784
785 2012-06-07  Yoshifumi Inoue  <yosin@chromium.org>
786
787         [Platform] Introduce conversion from/to Deciaml to/from double
788         https://bugs.webkit.org/show_bug.cgi?id=88480
789
790         Reviewed by Kent Tamura.
791
792         This patch added functions for Decimal/Double conversion and isInfinity
793         for reducing patch size of introducing Decimal arithmetic, bug 88383.
794
795         Tests: WebKit/chromium/tests/DecimalTest.cpp
796
797         * platform/Decimal.cpp:
798         (WebCore::Decimal::fromDouble): Added.
799         (WebCore::Decimal::toDouble): Added.
800         * platform/Decimal.h:
801         (WebCore::Decimal::EncodedData::isInfinity): Added for isinf()
802         (WebCore::Decimal::isInfinity): Added.
803
804 2012-06-06  Xianzhu Wang  <wangxianzhu@chromium.org>
805
806         Element.getBoundingClientRect() and Element.getClientRects() return incorrect values in frames in a scaled page
807         https://bugs.webkit.org/show_bug.cgi?id=88430
808
809         Element.getBoudingClientRect() and Element.getClientRects() should not scale back the rects
810         if the element is in a frame because page scale only apply to elements in the main frame.
811
812         Reviewed by James Robinson.
813
814         Tests: fast/dom/Element/scale-page-bounding-client-rect-in-frame.html
815                fast/dom/Element/scale-page-client-rects-in-frame.html
816
817         * dom/Document.cpp:
818         (WebCore):
819         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and Range.cpp and fixed issue of pageScale in frames.
820         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and fixed issue of pageScale in frames.
821         * dom/Document.h:
822         (WebCore):
823         (Document):
824         * dom/Element.cpp:
825         (WebCore::Element::getClientRects):
826         (WebCore::Element::getBoundingClientRect):
827         * dom/Range.cpp:
828         (WebCore):
829         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): Moved into Document and fixed issue of pageScale in frames.
830         (WebCore::Range::getBorderAndTextQuads):
831         * rendering/RenderObject.h: Removed adjustFloatQuadForPageScale and adjustFloatRectForPageScale because they seem unrelated to RenderObject.
832         (WebCore):
833
834 2012-06-06  Dana Jansens  <danakj@chromium.org>
835
836         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
837         https://bugs.webkit.org/show_bug.cgi?id=88469
838
839         Reviewed by James Robinson.
840
841         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
842
843         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
844         (WebCore::shouldDrawLayer):
845         (WebCore):
846         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
847         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
848
849 2012-06-06  Andy Estes  <aestes@apple.com>
850
851         Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
852         https://bugs.webkit.org/show_bug.cgi?id=88504
853
854         Reviewed by Dan Bernstein.
855
856         uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
857         by NSResponder that subclasses are expected to implement. WebKit should
858         only support these implementations on platforms that use AppKit.
859
860         * WebCore.exp.in:
861         * editing/Editor.cpp:
862         * editing/Editor.h:
863         * loader/EmptyClients.h:
864         * page/ContextMenuController.cpp:
865         * page/EditorClient.h:
866
867 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
868
869         Unreviewed, rolling out r119683.
870         http://trac.webkit.org/changeset/119683
871         https://bugs.webkit.org/show_bug.cgi?id=88505
872
873         it broke webkit-unit-test
874         WebLayerTreeViewThreadedTest.InstrumentationCallbacks on mac
875         (Requested by loislo on #webkit).
876
877         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
878         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
879         (WebCore::CCLayerTreeHost::setVisible):
880
881 2012-06-06  Robert Kroeger  <rjkroege@chromium.org>
882
883         [Chromium] Re-enable handling of smooth scrolling on Chromium Linux/Windows
884         https://bugs.webkit.org/show_bug.cgi?id=87535 by adding support for
885         m_hasPreciseScrollingDelta on all Chromium platforms and adjusting ScrollAnimator
886         and ScrollAnimatorNone accordingly to let m_hasPreciseScrollingDelta == true
887         force exact (non-animated) scrolling.
888
889         Reviewed by James Robinson.
890
891         Updated WebKit unit tests to validate change.
892
893         * platform/PlatformWheelEvent.h:
894         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Adjusted #ifdefs to
895         make m_hasPreciseScrollingDelta available on all Chromium platforms.
896         (PlatformWheelEvent):
897         * platform/ScrollAnimator.cpp:
898         (WebCore::ScrollAnimator::handleWheelEvent): Default scroll type is set based on 
899         m_hasPreciseScrollingDelta value.
900         * platform/ScrollAnimatorNone.cpp:
901         (WebCore::ScrollAnimatorNone::scroll): Scroll precisely when necessary.
902         * platform/ScrollTypes.h: Added additional pixel scrolling subtype.
903         * platform/ScrollableArea.cpp:
904         (WebCore::ScrollableArea::scroll): Updated for additional pixel scroll subtype.
905
906 2012-06-06  Michal Mocny  <mmocny@google.com>
907
908         [chromium] Stop dropping texture limits when the layer tree host becomes invisible, and initialize with 0 allocation.
909         https://bugs.webkit.org/show_bug.cgi?id=87747
910
911         Reviewed by Adrienne Walker.
912
913         GpuMemoryManager manages texture memory allocation limits. It will send a 0 allocation when a renderer becomes
914         invisible, and an appropriate allocation after a renderer is initialized.  These numbers will change
915         depending on the state of memory across devices and other renderers, so we would like to remove all explicit
916         management by the renderers themselves.
917
918         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
919         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
920         (WebCore::CCLayerTreeHost::setVisible):
921
922 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
923
924         Unreviewed, rolling out r119680.
925         http://trac.webkit.org/changeset/119680
926         https://bugs.webkit.org/show_bug.cgi?id=88498
927
928         It broke mac build (Requested by kinuko on #webkit).
929
930         * fileapi/File.cpp:
931         (WebCore::File::File):
932         (WebCore::File::lastModifiedDate):
933         (WebCore::File::lastModifiedDateForBinding):
934         (WebCore):
935         (WebCore::File::captureSnapshot):
936         * fileapi/File.h:
937         (File):
938         * fileapi/File.idl:
939         * platform/FileMetadata.h:
940         (WebCore::FileMetadata::FileMetadata):
941         * platform/FileSystem.h:
942         * platform/chromium/support/WebHTTPBody.cpp:
943         (WebKit::WebHTTPBody::elementAt):
944         * platform/network/BlobData.cpp:
945         (WebCore):
946
947 2012-06-06  Kinuko Yasuda  <kinuko@chromium.org>
948
949         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
950         https://bugs.webkit.org/show_bug.cgi?id=87826
951
952         Reviewed by Kent Tamura.
953
954         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
955
956         * fileapi/File.cpp:
957         (WebCore::File::File):
958         (WebCore::File::captureSnapshot):
959         (WebCore::File::lastModifiedDate):
960         (WebCore::File::lastModifiedDateForBinding): Removed.
961         * fileapi/File.h:
962         (File):
963         * fileapi/File.idl:
964         * platform/FileMetadata.h:
965         (WebCore::FileMetadata::FileMetadata):
966         * platform/FileSystem.h:
967         * platform/chromium/support/WebHTTPBody.cpp:
968         (WebKit::WebHTTPBody::elementAt):
969         * platform/network/BlobData.cpp:
970         (WebCore):
971
972 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
973
974         Unreviewed, rolling out r119668.
975         http://trac.webkit.org/changeset/119668
976         https://bugs.webkit.org/show_bug.cgi?id=88493
977
978         Hitting assertions in debug builds (Requested by rniwa on
979         #webkit).
980
981         * rendering/RenderBlock.cpp:
982         (WebCore::RenderBlock::localCaretRect):
983         * rendering/RenderBoxModelObject.cpp:
984         * rendering/RenderBoxModelObject.h:
985         (RenderBoxModelObject):
986         * rendering/RenderInline.cpp:
987         * rendering/RenderInline.h:
988         (RenderInline):
989
990 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
991
992         Cache isSelfPaintingLayer() for better performance
993         https://bugs.webkit.org/show_bug.cgi?id=88464
994
995         Reviewed by Simon Fraser.
996
997         Covered by existing tests (repaint tests among them).
998
999         isSelfPaintingLayer() has shown up several times on some scrolling benchmarks due
1000         to the function being called several time per paint phase. This change caches the
1001         boolean at style change time.
1002         
1003         On http://dglazkov.github.com/performance-tests/biggrid.html, this nearly speed-up
1004         painting by 2 (lowering the time taken to paint the newly exposed area when scrolling
1005         on a 10,000 * 100 table from 95ms to 50ms).
1006
1007         * rendering/RenderLayer.cpp:
1008         (WebCore::RenderLayer::RenderLayer):
1009         Initialized m_isSelfPaintingLayer here.
1010
1011         (WebCore::RenderLayer::paintLayer):
1012         Changed the order of the checks to get the more likely check first.
1013
1014         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1015         Renamed from isSelfPaintingLayer to make m_isNormalFlowOnly.
1016
1017         (WebCore::RenderLayer::styleChanged):
1018         Added code to update our cached m_isSelfPaintingLayer.
1019
1020         * rendering/RenderLayer.h:
1021         (WebCore::RenderLayer::isSelfPaintingLayer):
1022         Changed to return m_isSelfPaintingLayer.
1023
1024 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
1025
1026         REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow.
1027         https://bugs.webkit.org/show_bug.cgi?id=88059
1028
1029         Reviewed by Kent Tamura.
1030
1031         This patch changes not to share RenderStyle object for option and
1032         optgroup element regardless attributes.
1033
1034         When we tried to shared RenderStyle object, rendering performance was
1035         good but we had issue in selected option and text transform, see
1036         https://bugs.webkit.org/show_bug.cgi?id=88405 for details.
1037
1038         No new tests. This patch doesn't change behavior but rendering performance.
1039
1040         * css/StyleResolver.cpp:
1041         (WebCore::StyleResolver::canShareStyleWithElement): Changed to always
1042         return false for option and optgroup.
1043
1044 2012-06-06  Alec Flett  <alecflett@chromium.org>
1045
1046         IndexedDB: Optimize single-key get()
1047         https://bugs.webkit.org/show_bug.cgi?id=85288
1048
1049         Reviewed by Tony Chang.
1050
1051         No new tests, this is just an optimization.
1052
1053         After a recent refactoring, we started creating
1054         an internal cursor with every call to get(). The
1055         most common use of get() is with a single key,
1056         so provide a fast-path to avoid creating the cursor.
1057
1058         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1059         (WebCore::IDBIndexBackendImpl::getByRangeInternal):
1060         * Modules/indexeddb/IDBKeyRange.h:
1061         (WebCore::IDBKeyRange::isOnlyKey):
1062         (IDBKeyRange):
1063         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1064         (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
1065
1066 2012-06-06  Shezan Baig  <shezbaig.wk@gmail.com>
1067
1068         Caret is not rendered in empty inline contenteditable elements
1069         https://bugs.webkit.org/show_bug.cgi?id=85793
1070
1071         Reviewed by Ryosuke Niwa.
1072
1073         Override localCaretRect in RenderInline. The implementation was almost
1074         identical to localCaretRect in RenderBlock for empty block elements, so
1075         I refactored RenderBlock::localCaretRect and moved the logic to a new
1076         method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
1077         implementation of 'localCaretRect' in RenderBlock and RenderInline both
1078         use this helper method in RenderBoxModelObject.
1079
1080         Tests: editing/selection/caret-in-empty-inline-1.html
1081                editing/selection/caret-in-empty-inline-2.html
1082
1083         * rendering/RenderBlock.cpp:
1084         (WebCore::RenderBlock::localCaretRect):
1085         Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
1086         * rendering/RenderBoxModelObject.cpp:
1087         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
1088         (WebCore):
1089         * rendering/RenderBoxModelObject.h:
1090         (RenderBoxModelObject):
1091         Add localCaretRectForEmptyElement helper method.
1092         * rendering/RenderInline.cpp:
1093         (WebCore::RenderInline::localCaretRect):
1094         (WebCore):
1095         * rendering/RenderInline.h:
1096         (RenderInline):
1097         Override localCaretRect using localCaretRectForEmptyElement.
1098
1099 2012-06-06  Alexis Menard  <alexis.menard@openbossa.org>
1100
1101         Fix border-image-slice failures on http://css3test.com.
1102         https://bugs.webkit.org/show_bug.cgi?id=88328
1103
1104         Reviewed by Tony Chang.
1105
1106         The old parsing code was assuming that the fill keyword comes after the
1107         numbers or the percentage values. http://www.w3.org/TR/css3-background/#the-border-image-slice
1108         defines the property like this : [<number> | <percentage>]{1,4} && fill? where the fill
1109         keyword is not mandatory. But according to http://www.w3.org/TR/CSS2/about.html "&&" 
1110         separates two or more components, all of which must occur, in any order. So the previous
1111         code was wrong the fill can come first following by the percentages or the numbers. http://css3test.com
1112         was covering this particular case. I took the opportunity to extend our coverage 
1113         by adding tests on many different values the boder-image-slice property could take. I
1114         also did a small cleanup by removing unused functions in BorderImageSliceParseContext.
1115
1116         Test: fast/css/getComputedStyle/getComputedStyle-border-image-slice.html
1117
1118         * css/CSSParser.cpp:
1119         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
1120         (WebCore::BorderImageSliceParseContext::commitNumber):
1121         (WebCore::BorderImageSliceParseContext::commitFill):
1122
1123 2012-06-06  Levi Weintraub  <leviw@chromium.org>
1124
1125         Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
1126         https://bugs.webkit.org/show_bug.cgi?id=88454
1127
1128         Reviewed by Kent Tamura.
1129
1130         Properly clipping the file upload control to avoid clipping out the top of the file upload button
1131         when the control is positioned at a sub-pixel offset that rounds up.
1132
1133         Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html
1134
1135         * rendering/RenderFileUploadControl.cpp:
1136         (WebCore::RenderFileUploadControl::paintObject):
1137
1138 2012-06-06  Filip Pizlo  <fpizlo@apple.com>
1139
1140         Global object variable accesses should not require an extra load
1141         https://bugs.webkit.org/show_bug.cgi?id=88385
1142
1143         Reviewed by Gavin Barraclough and Geoffrey Garen.
1144
1145         Updated JSDOMWindowBase.cpp to use the new symbol table API. this->symbolTableFoo(...)
1146         becomes symbolTableFoo(this, ...).
1147                 
1148         No new tests because no change in behavior.
1149
1150         * bindings/js/JSDOMWindowBase.cpp:
1151         (WebCore::JSDOMWindowBase::updateDocument):
1152
1153 2012-06-06  James Robinson  <jamesr@chromium.org>
1154
1155         [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
1156         https://bugs.webkit.org/show_bug.cgi?id=86257
1157
1158         Reviewed by Kenneth Russell.
1159
1160         The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium
1161         on top of the Platform interface WebGraphicsContext3D. This moves the implementation support code from
1162         WebKit/chromium/src to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore
1163         interfaces and allows code in WebCore/platform to use this support code directly where appropriate.
1164
1165         Refactor only, no new functionality or tests.
1166
1167         * WebCore.gypi:
1168         * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
1169         (WebCore):
1170         (WebCore::Extensions3DChromium::Extensions3DChromium):
1171         (WebCore::Extensions3DChromium::~Extensions3DChromium):
1172         (WebCore::Extensions3DChromium::supports):
1173         (WebCore::Extensions3DChromium::ensureEnabled):
1174         (WebCore::Extensions3DChromium::isEnabled):
1175         (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
1176         (WebCore::Extensions3DChromium::blitFramebuffer):
1177         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
1178         (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
1179         (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
1180         (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
1181         (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
1182         (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
1183         (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
1184         (WebCore::Extensions3DChromium::discardFramebufferEXT):
1185         (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
1186         (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
1187         (WebCore::Extensions3DChromium::createVertexArrayOES):
1188         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
1189         (WebCore::Extensions3DChromium::isVertexArrayOES):
1190         (WebCore::Extensions3DChromium::bindVertexArrayOES):
1191         (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
1192         (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
1193         (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
1194         (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
1195         (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
1196         (WebCore::Extensions3DChromium::texStorage2DEXT):
1197         (WebCore::Extensions3DChromium::createQueryEXT):
1198         (WebCore::Extensions3DChromium::deleteQueryEXT):
1199         (WebCore::Extensions3DChromium::isQueryEXT):
1200         (WebCore::Extensions3DChromium::beginQueryEXT):
1201         (WebCore::Extensions3DChromium::endQueryEXT):
1202         (WebCore::Extensions3DChromium::getQueryivEXT):
1203         (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
1204         * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
1205         (WebCore):
1206         (WebCore::GraphicsContext3D::GraphicsContext3D):
1207         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1208         (WebCore::GraphicsContext3D::setContextLostCallback):
1209         (WebCore::GraphicsContext3D::setErrorMessageCallback):
1210         (WebCore::GraphicsContext3D::create):
1211         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1212         (WebCore::GraphicsContext3D::platformTexture):
1213         (WebCore::GraphicsContext3D::grContext):
1214         (WebCore::GraphicsContext3D::platformLayer):
1215         (WebCore::GraphicsContext3D::isGLES2Compliant):
1216         (WebCore::GraphicsContext3D::isResourceSafe):
1217         (WebCore::GraphicsContext3D::bindAttribLocation):
1218         (WebCore::GraphicsContext3D::bufferData):
1219         (WebCore::GraphicsContext3D::getActiveAttrib):
1220         (WebCore::GraphicsContext3D::getActiveUniform):
1221         (WebCore::GraphicsContext3D::getAttribLocation):
1222         (WebCore::GraphicsContext3D::getContextAttributes):
1223         (WebCore::GraphicsContext3D::getProgramInfoLog):
1224         (WebCore::GraphicsContext3D::getShaderInfoLog):
1225         (WebCore::GraphicsContext3D::getShaderSource):
1226         (WebCore::GraphicsContext3D::getString):
1227         (WebCore::GraphicsContext3D::getUniformLocation):
1228         (WebCore::GraphicsContext3D::shaderSource):
1229         (WebCore::GraphicsContext3D::texImage2D):
1230         (WebCore::GraphicsContext3D::texSubImage2D):
1231         (WebCore::GraphicsContext3D::reshape):
1232         (WebCore::GraphicsContext3D::markContextChanged):
1233         (WebCore::GraphicsContext3D::layerComposited):
1234         (WebCore::GraphicsContext3D::markLayerComposited):
1235         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1236         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1237         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
1238         (WebCore::GraphicsContext3D::getExtensions):
1239         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
1240         * platform/chromium/support/GraphicsContext3DPrivate.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.cpp.
1241         (WebCore):
1242         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1243         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1244         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
1245         (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
1246         (GrMemoryAllocationChangedCallback):
1247         (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
1248         (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
1249         (WebCore::GraphicsContext3DPrivate::grContext):
1250         (WebCore::GraphicsContext3DPrivate::markContextChanged):
1251         (WebCore::GraphicsContext3DPrivate::layerComposited):
1252         (WebCore::GraphicsContext3DPrivate::markLayerComposited):
1253         (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
1254         (GraphicsContext3DContextLostCallbackAdapter):
1255         (WebCore::GraphicsContext3DContextLostCallbackAdapter::GraphicsContext3DContextLostCallbackAdapter):
1256         (WebCore::GraphicsContext3DContextLostCallbackAdapter::~GraphicsContext3DContextLostCallbackAdapter):
1257         (WebCore::GraphicsContext3DContextLostCallbackAdapter::onContextLost):
1258         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
1259         (GraphicsContext3DErrorMessageCallbackAdapter):
1260         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::GraphicsContext3DErrorMessageCallbackAdapter):
1261         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::~GraphicsContext3DErrorMessageCallbackAdapter):
1262         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::onErrorMessage):
1263         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
1264         (WebCore::GraphicsContext3DPrivate::getExtensions):
1265         (WebCore::GraphicsContext3DPrivate::initializeExtensions):
1266         (WebCore::GraphicsContext3DPrivate::supportsExtension):
1267         (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
1268         (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
1269         (WebCore::GraphicsContext3DPrivate::isResourceSafe):
1270         (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1271         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1272         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1273         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
1274         (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
1275         (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1276         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1277         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1278         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
1279         (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
1280         * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
1281         (WebKit):
1282         (WebCore):
1283         (GraphicsContext3DPrivate):
1284         (WebCore::GraphicsContext3DPrivate::webContext):
1285         (WebCore::GraphicsContext3DPrivate::preserveDrawingBuffer):
1286
1287 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1288
1289         Unreviewed, rolling out r119624.
1290         http://trac.webkit.org/changeset/119624
1291         https://bugs.webkit.org/show_bug.cgi?id=88472
1292
1293         Caused worker tests to become flaky (Requested by mhahnenberg
1294         on #webkit).
1295
1296         * workers/AbstractWorker.cpp:
1297         (WebCore::AbstractWorker::~AbstractWorker):
1298         * workers/WorkerMessagingProxy.cpp:
1299         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1300
1301 2012-06-06  Brady Eidson  <beidson@apple.com>
1302
1303         <rdar://problem/11575112> and https://bugs.webkit.org/show_bug.cgi?id=88428
1304         REGRESSION (r115654): Opening many non-English WebArchives shows obvious encoding issues
1305
1306         Reviewed by Nate Chapin.
1307
1308         Test: fast/loader/webarchive-encoding-respected.html
1309
1310         * loader/DocumentLoader.cpp:
1311         (WebCore::DocumentLoader::commitData): Properly set the main resource encoding from the webarchive.
1312
1313 2012-06-06  Mark Hahnenberg  <mhahnenberg@apple.com>
1314
1315         Worker tear-down can re-enter JSC during GC finalization
1316         https://bugs.webkit.org/show_bug.cgi?id=88449
1317
1318         Reviewed by Geoffrey Garen.
1319
1320         No new tests. Current regression tests cover these changes.
1321
1322         * workers/AbstractWorker.cpp: 
1323         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
1324         will be called elsewhere in contextDestroyed().
1325         * workers/WorkerMessagingProxy.cpp:
1326         (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We make the call to terminateWorkerContext()
1327         and workerContextDestroyed() asynchronous to avoid entering JSC during GC finalization.
1328
1329 2012-06-06  Tony Chang  <tony@chromium.org>
1330
1331         webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
1332         https://bugs.webkit.org/show_bug.cgi?id=85832
1333
1334         Reviewed by Ojan Vafai.
1335
1336         We were using a HashSet<unsigned>, which can't hold the value of 0.
1337         According to the spec, 0 isn't a valid value, so at CSS parse time,
1338         reject the value 0. This lets us pass the test, although that's kind
1339         of by accident.
1340
1341         We could allow 0 for box-ordinal-group, but there are some perf implications
1342         to having allowing a value below the initial value (1 in this case).
1343
1344         We still allow 0 for box-flex-group, because that's what the existing code
1345         does and there are tests expecting this behavior.
1346
1347         No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
1348         which was crashing.
1349
1350         * css/CSSParser.cpp:
1351         (WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group.
1352
1353 2012-06-06  Ojan Vafai  <ojan@chromium.org>
1354
1355         Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec
1356         https://bugs.webkit.org/show_bug.cgi?id=88444
1357
1358         Reviewed by Tony Chang.
1359
1360         -Unset positive flex defaults to 0.
1361         -Unset negative flex defaults to 1. No magic of doing something different if positive flex was set.
1362
1363         * css/CSSParser.cpp:
1364         (WebCore::CSSParser::parseFlex):
1365
1366 2012-06-06  Ryosuke Niwa  <rniwa@webkit.org>
1367
1368         Revert r119440 now that I have a time to rebaseline them all!
1369
1370         * platform/ScrollbarThemeComposite.cpp:
1371         (WebCore::ScrollbarThemeComposite::thumbLength):
1372
1373 2012-06-06  Joshua Bell  <jsbell@chromium.org>
1374
1375         IndexedDB: Infinite recursion in IDBObjectStore.openCursor(key, legacy_constant)
1376         https://bugs.webkit.org/show_bug.cgi?id=88431
1377
1378         Reviewed by Tony Chang.
1379
1380         Function was calling itself, rather than delegating to the correct (IDBKeyRange) overload.
1381
1382         Test: storage/indexeddb/legacy-constants.html
1383
1384         * Modules/indexeddb/IDBObjectStore.cpp:
1385         (WebCore::IDBObjectStore::openCursor):
1386
1387 2012-06-06  Joshua Bell  <jsbell@chromium.org>
1388
1389         IndexedDB: Rename IDBFactory.getDatabaseNames() to webkitGetDatabaseNames()
1390         https://bugs.webkit.org/show_bug.cgi?id=86874
1391
1392         Reviewed by Ojan Vafai.
1393
1394         The function is non-standard, and should be prefixed.
1395
1396         Test: storage/indexeddb/factory-basics.html
1397
1398         * Modules/indexeddb/IDBFactory.idl:
1399
1400 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
1401
1402         Add support for direction on table row group with collapsing borders
1403         https://bugs.webkit.org/show_bug.cgi?id=87900
1404
1405         Reviewed by Ojan Vafai.
1406
1407         Tests: fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html
1408                fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html
1409                fast/table/border-collapsing/left-border-table-ltr-section-rtl.html
1410                fast/table/border-collapsing/left-border-table-rtl-section-ltr.html
1411                fast/table/border-collapsing/left-border-table-rtl-section-rtl.html
1412                fast/table/border-collapsing/left-border-vertical-lr-table-ltr-section-rtl.html
1413                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-ltr.html
1414                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-rtl.html
1415                fast/table/border-collapsing/rtl-table-left-border-hidden.html
1416                fast/table/border-collapsing/top-border-vertical-rl-table-ltr-section-rtl.html
1417                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-ltr.html
1418                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-rtl.html
1419                fast/table/table-ltr-section-rtl.html
1420                fast/table/table-rtl-section-ltr.html
1421                fast/table/table-rtl-section-rtl.html
1422
1423         This change enables proper support for direction on table row group.
1424         The current code would allow people to set direction on the row group but would still
1425         use the table's code for directionality checks (with surprising consequences).
1426
1427         The main change involve swapping end / start borders in case of mixed directionality
1428         as those 2 are not in sync.
1429         
1430         Example: <table dir="ltr"><tbody dir="rtl"><td id="cell0"></td><td id="cell1"></td></tbody></table>
1431
1432         Visually:
1433         Table: Start ---------------------> End
1434         Tbody: End <---------------------- Start
1435         Cell:  | #cell0        |           #cell1 |
1436
1437         In this example, the end table border should be compared with the tbody's start border
1438         and the last cell's (in DOM order) start border.
1439
1440         * rendering/RenderTable.cpp:
1441         (WebCore::RenderTable::tableStartBorderAdjoiningCell):
1442         (WebCore::RenderTable::tableEndBorderAdjoiningCell):
1443         Same as the other adjoining functions.
1444
1445         * rendering/RenderTable.h:
1446         (WebCore::RenderTable::lastColumnIndex):
1447         Helper function to get the last column index.
1448
1449         * rendering/RenderTableCell.cpp:
1450         (WebCore::RenderTableCell::computeCollapsedStartBorder):
1451         (WebCore::RenderTableCell::computeCollapsedEndBorder):
1452         Updated to call the table's adjoining border helpers.
1453
1454         * rendering/RenderTableCell.h:
1455         (WebCore::RenderTableCell::styleForCellFlow):
1456         Updated to use the table row group's style now that we properly support it.
1457
1458         (WebCore::RenderTableCell::isFirstOrLastCellInRow):
1459         Debug only helper to make sure we don't call the border adjoining function
1460         on non-terminal cells.
1461
1462         (WebCore::RenderTableCell::borderAdjoiningTableStart):
1463         (WebCore::RenderTableCell::borderAdjoiningTableEnd):
1464         * rendering/RenderTableRow.h:
1465         (WebCore::RenderTableRow::borderAdjoiningTableStart):
1466         (WebCore::RenderTableRow::borderAdjoiningTableEnd):
1467         * rendering/RenderTableSection.cpp:
1468         (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
1469         (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
1470         Updated the previous function to account for mixed directionality.
1471
1472         (WebCore::RenderTableSection::layoutRows):
1473         Move some of the code to setLogicalPositionForCell to match RenderBlock.
1474
1475         (WebCore::RenderTableSection::setLogicalPositionForCell):
1476         Switched direction checks to styleForCellFlow (this doesn't change anything as we
1477         were already properly flipping already but ensure better).
1478
1479         * rendering/RenderTableSection.h:
1480         (WebCore::RenderTableSection::hasSameDirectionAsTable):
1481         Added this helper to know if we have a mixed direction.
1482
1483         (WebCore::RenderTableSection::borderAdjoiningTableStart):
1484         (WebCore::RenderTableSection::borderAdjoiningTableEnd):
1485         Updated to account for mixed directionality.
1486
1487 2012-06-06  Keyar Hood  <keyar@chromium.org>
1488
1489         [Chromium] imageSmoothingEnabled should apply to patterns
1490         https://bugs.webkit.org/show_bug.cgi?id=88103
1491
1492         Reviewed by Stephen White.
1493
1494         Test: fast/canvas/canvas-imageSmoothingEnabled-patterns.html
1495
1496         When drawing patterns on a Canvas, the imageSmoothingEnabled flag is
1497         respected.
1498         * platform/graphics/skia/PlatformContextSkia.cpp:
1499         (WebCore::PlatformContextSkia::setupShader):
1500
1501 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
1502
1503         Web Inspector: [JSC] Add WebGL instrumentation support
1504         https://bugs.webkit.org/show_bug.cgi?id=87975
1505
1506         Reviewed by Vsevolod Vlasov.
1507
1508         * bindings/js/JSInjectedScriptManager.cpp:
1509         (WebCore::injectAndExecuteFunction):
1510         (WebCore::InjectedScriptManager::createInjectedScript):
1511         (WebCore):
1512         (WebCore::InjectedScriptManager::injectWebGLScript):
1513         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1514         (WebCore::InjectedScriptManager::injectWebGLScript):
1515         * inspector/InjectedScriptManager.cpp:
1516         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
1517         * inspector/InjectedScriptManager.h:
1518         (InjectedScriptManager):
1519         * inspector/InspectorInstrumentation.h:
1520         (InspectorInstrumentation):
1521         * inspector/InspectorWebGLAgent.cpp:
1522         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
1523         * inspector/InspectorWebGLAgent.h:
1524         (InspectorWebGLAgent):
1525         * inspector/InspectorWebGLInstrumentation.h:
1526         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
1527
1528 2012-06-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1529
1530         Fix a few spelling mistakes in IconDatabase logging
1531
1532         Makes debugging harder if the logging is confusing.
1533
1534         Reviewed by Jocelyn Turcotte.
1535
1536         * loader/icon/IconDatabase.cpp:
1537         (WebCore::IconDatabase::notifyPendingLoadDecisions):
1538         (WebCore::IconDatabase::readFromDatabase):
1539
1540 2012-05-25  Vsevolod Vlasov  <vsevik@chromium.org>
1541
1542         Web Inspector: [Compiler] Remove compile-front-end.sh and fix InjectedScriptSource errors.
1543         https://bugs.webkit.org/show_bug.cgi?id=87512
1544
1545         Reviewed by Yury Semikhatsky.
1546
1547         Removed compile-front-end.sh, compile-front-end.py should be used instead now.
1548         Made generate_protocol_externs a python module to call it from compile-front-end.py.
1549         Temporary copy of InjectedScriptSource.js is created and modified to
1550         avoid "This code lacks side effects" warning.
1551
1552         * inspector/compile-front-end.py:
1553         * inspector/compile-front-end.sh: Removed.
1554         * inspector/generate-protocol-externs: Removed.
1555         * inspector/generate_protocol_externs.py: Added.
1556         (full_qualified_type_id):
1557         (param_type):
1558         (generate_protocol_externs):
1559
1560 2012-06-06  Zoltan Herczeg  <zherczeg@webkit.org>
1561
1562         [Qt] REGRESSION(r118616): It made all tests crash in debug mode
1563         https://bugs.webkit.org/show_bug.cgi?id=87701
1564
1565         Reviewed by Csaba Osztrogonác.
1566
1567         Replace WriteBarrier<JSObject> to Weak<JSObject> by introducing a new
1568         QtWeakObjectReference sub class. Rewrite all affected type definitions.
1569
1570         All existing test in debug mode cover this issue.
1571
1572         * bridge/qt/qt_class.cpp:
1573         (JSC::Bindings::QtClass::fallbackObject):
1574         * bridge/qt/qt_instance.cpp:
1575         (QtRuntimeObject):
1576         (JSC::Bindings::QtInstance::removeUnusedMethods):
1577         * bridge/qt/qt_instance.h:
1578         (QtInstance):
1579         (QtWeakObjectReference):
1580         (JSC::Bindings::QtInstance::QtWeakObjectReference::QtWeakObjectReference):
1581         (JSC::Bindings::QtInstance::QtWeakObjectReference::operator=):
1582         (JSC::Bindings::QtInstance::QtWeakObjectReference::get):
1583         * bridge/qt/qt_runtime.cpp:
1584         (JSC::Bindings::QtRuntimeMethodData::finalize):
1585         * bridge/qt/qt_runtime_qt4.cpp:
1586         (JSC::Bindings::QtRuntimeMethodData::finalize):
1587
1588 2012-06-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1589
1590         Web Inspector: help/settings screen does not overlay console in split screen mode
1591         https://bugs.webkit.org/show_bug.cgi?id=88352
1592
1593         Reviewed by Pavel Feldman.
1594
1595         * inspector/front-end/HelpScreen.js:
1596         (WebInspector.HelpScreen): Mark view as root.
1597         (WebInspector.HelpScreen.prototype.showModal): Change view parent.
1598         * inspector/front-end/helpScreen.css:
1599         (.help-window-outer): Add panel and status bar indent.
1600         (body.compact .help-window-outer): Ditto.
1601
1602 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
1603
1604         [Form] Changes for InputNumber type
1605         https://bugs.webkit.org/show_bug.cgi?id=88394
1606
1607         Reviewed by Kent Tamura.
1608
1609         This patch changes codes for consitency of InputNumber usage for
1610         reducing size of patch when we change InputNumber type alias from
1611         double to Decimal.
1612
1613         No new tests. This patch doesn't change behavior.
1614
1615         * html/BaseDateAndTimeInputType.cpp:
1616         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Fixed parameter type for getAllowedValueStep.
1617         * html/InputType.cpp:
1618         (WebCore::InputType::minimum): Fixed return value type to InputNumber.
1619         (WebCore::InputType::maximum): ditto.
1620         * html/MonthInputType.cpp:
1621         (WebCore::MonthInputType::defaultValueForStepUp): Fix return value type to InputNumber.
1622         (WebCore::MonthInputType::parseToNumber): ditto.
1623         * html/NumberInputType.cpp:
1624         (WebCore::NumberInputType::setValueAsDouble): Removed extra convertDoubleToInputNumber.
1625         * html/StepRange.cpp:
1626         (WebCore::StepRange::alignValueForStep): Use roundByStep for code sharing.
1627         (WebCore::StepRange::clampValue): ditto.
1628         (WebCore::StepRange::roundByStep): Added.
1629         * html/StepRange.h:
1630         (StepRange): Added a declaration of roundByStep.
1631
1632 2012-06-06  Michael Brüning  <michael.bruning@nokia.com>
1633
1634         [Qt] Fix harmattan builds broken by r119247.
1635         https://bugs.webkit.org/show_bug.cgi?id=88330
1636
1637         Reviewed by Jocelyn Turcotte.
1638
1639         Fix Harmattan build break caused by undefined constant
1640         GL_TEXTURE_RECTANGLE_ARB by adding defined(GL_ARB_texture_rectangle)
1641         guards around TextureMapperGL::drawTextureRectangleARB.
1642
1643         * platform/graphics/texmap/TextureMapperGL.cpp: Added defined(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
1644         (WebCore):
1645         * platform/graphics/texmap/TextureMapperGL.h: Added definded(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
1646
1647 2012-06-06  Shinya Kawanaka  <shinyak@chromium.org>
1648
1649         PositionIterator:;setOffsetInLeafNode() is not used anywhere.
1650         https://bugs.webkit.org/show_bug.cgi?id=88397
1651
1652         Reviewed by Ryosuke Niwa.
1653
1654         It's not used anywhere. We can remove it safely.
1655
1656         No new tests, no change in behavior.
1657
1658         * WebCore.order:
1659         * dom/PositionIterator.cpp:
1660         * dom/PositionIterator.h:
1661
1662 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
1663
1664         Web Inspector: [WebGL] Add WebGL instrumentation support on the backend
1665         https://bugs.webkit.org/show_bug.cgi?id=87960
1666
1667         Adds a WebGLAgent, injects a WebGL script upon calling the getContext
1668         method of a HTMLCanvasElement that will wrap the WebGL rendering context
1669         for instrumentation purposes.
1670
1671         Reviewed by Yury Semikhatsky.
1672
1673         * CMakeLists.txt:
1674         * DerivedSources.make:
1675         * DerivedSources.pri:
1676         * GNUmakefile.am:
1677         * GNUmakefile.list.am:
1678         * Target.pri:
1679         * WebCore.gyp/WebCore.gyp:
1680         * WebCore.gypi:
1681         * WebCore.vcproj/WebCore.vcproj:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1684         (WebCore::JSHTMLCanvasElement::getContext):
1685         (WebCore::JSHTMLCanvasElement::toDataURL):
1686         * bindings/js/JSInjectedScriptManager.cpp:
1687         (WebCore):
1688         (WebCore::InjectedScriptManager::injectWebGLScript):
1689         * bindings/v8/ScriptState.cpp:
1690         (WebCore::ScriptState::forContext):
1691         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1692         (WebCore::V8HTMLCanvasElement::getContextCallback):
1693         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1694         (WebCore::InjectedScriptManager::createInjectedScript):
1695         (WebCore):
1696         (WebCore::InjectedScriptManager::injectWebGLScript):
1697         (WebCore::InjectedScriptManager::discardInjectedScript):
1698         (WebCore::InjectedScriptManager::injectedScriptFor):
1699         * inspector/CodeGeneratorInspector.py:
1700         * inspector/InjectedScriptManager.cpp:
1701         (WebCore):
1702         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
1703         (WebCore::InjectedScriptManager::injectedWebGLScriptSource):
1704         * inspector/InjectedScriptManager.h:
1705         (InjectedScriptManager):
1706         * inspector/InjectedWebGLScriptSource.js: Added.
1707         * inspector/Inspector.json:
1708         * inspector/InspectorAllInOne.cpp:
1709         * inspector/InspectorController.cpp:
1710         (WebCore::InspectorController::InspectorController):
1711         * inspector/InspectorInstrumentation.h:
1712         (WebCore):
1713         (InspectorInstrumentation):
1714         (WebCore::InspectorInstrumentation::markResourceAsCached):
1715         * inspector/InspectorWebGLAgent.cpp: Added.
1716         (WebCore):
1717         (WebGLAgentState):
1718         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
1719         (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
1720         (WebCore::InspectorWebGLAgent::setFrontend):
1721         (WebCore::InspectorWebGLAgent::clearFrontend):
1722         (WebCore::InspectorWebGLAgent::restore):
1723         (WebCore::InspectorWebGLAgent::enable):
1724         (WebCore::InspectorWebGLAgent::disable):
1725         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
1726         * inspector/InspectorWebGLAgent.h: Added.
1727         (WebCore):
1728         (InspectorWebGLAgent):
1729         (WebCore::InspectorWebGLAgent::create):
1730         (WebCore::InspectorWebGLAgent::enabled):
1731         * inspector/InspectorWebGLInstrumentation.h: Added.
1732         (WebCore):
1733         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
1734         * inspector/InstrumentingAgents.h:
1735         (WebCore):
1736         (WebCore::InstrumentingAgents::InstrumentingAgents):
1737         (InstrumentingAgents):
1738         (WebCore::InstrumentingAgents::inspectorWebGLAgent):
1739         (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
1740
1741 2012-06-06  Joone Hur  <joone.hur@intel.com>
1742
1743         [GTK] Build fix for Accelerated Compositing with OpenGL
1744         https://bugs.webkit.org/show_bug.cgi?id=88292
1745
1746         Reviewed by Martin Robinson.
1747
1748         Build fix after r119247.
1749         Do not include GraphicsSurface.h when not building
1750         with GRAPHICS_SURFACE.
1751
1752         No new tests. This is only a build fix.
1753
1754         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
1755         * platform/graphics/texmap/TextureMapperBackingStore.h:
1756         * platform/graphics/texmap/TextureMapperGL.cpp:
1757
1758 2012-06-05  Joe Thomas  <joethomas@motorola.com>
1759
1760         ASSERTION FAILED: ASSERT(!isPercentageIntrinsicSize) in RenderReplaced::computeIntrinsicRatioInformationForRenderBox
1761         https://bugs.webkit.org/show_bug.cgi?id=88197
1762
1763         Reviewed by Daniel Bates.
1764
1765         RenderSVGRoot extends RenderReplaced and it overrides the computeIntrinsicRatioInformation() 
1766         method of RenderReplaced. RenderSVGRoot::computeIntrinsicRatioInformation
1767         sets isPercentageIntrinsicSize to true while it handles width and height of percentage types.
1768         So this assertion should be fired only if intrinsicRatio is non-zero.
1769
1770         Test: svg/in-html/svg-assert-failure-percentage.html
1771
1772         * rendering/RenderReplaced.cpp:
1773         (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
1774
1775 2012-06-05  Tony Chang  <tony@chromium.org>
1776
1777         Changing flexbox justify/alignment doesn't update their positioning
1778         https://bugs.webkit.org/show_bug.cgi?id=88366
1779
1780         Reviewed by Ojan Vafai.
1781
1782         Test: css3/flexbox/style-change.html
1783
1784         * rendering/style/RenderStyle.cpp:
1785         (WebCore::RenderStyle::diff): Since these member variables were moved
1786         out of StyleFlexibleBoxData, we have to compare them in RenderStyle::diff.
1787
1788 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
1789
1790         JSC implementation of SerializedScriptValue for IndexedDB
1791         https://bugs.webkit.org/show_bug.cgi?id=88048
1792
1793         Reviewed by George Staikos.
1794
1795         No new tests. All the current indexeddb test cases apply when indexeddb works for JSC.
1796
1797         * bindings/js/SerializedScriptValue.cpp:
1798         (WebCore::CloneSerializer::serializeNumber):
1799         (CloneSerializer):
1800         (WebCore::CloneDeserializer::toWireString):
1801         (CloneDeserializer):
1802         (WebCore::SerializedScriptValue::create):
1803         (WebCore::SerializedScriptValue::toWireString):
1804         (WebCore):
1805         (WebCore::SerializedScriptValue::createFromWire):
1806         (WebCore::SerializedScriptValue::numberValue):
1807         (WebCore::SerializedScriptValue::deserialize):
1808
1809 2012-06-05  Ojan Vafai  <ojan@chromium.org>
1810
1811         Nested CSS flexbox renders incorrectly
1812         https://bugs.webkit.org/show_bug.cgi?id=87679
1813
1814         Reviewed by Julien Chaffraix.
1815
1816         If the containing block with a perpendicular writing mode has an overrideHeight,
1817         then its logical height should be based off that instead of its RenderStyle.
1818
1819         Test: css3/flexbox/perpendicular-writing-modes-inside-flex-item.html
1820
1821         * rendering/RenderBox.cpp:
1822         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1823
1824 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
1825
1826         Need special-case toJS(IDBAny) for IDBCursorWithValue
1827         https://bugs.webkit.org/show_bug.cgi?id=87963
1828
1829         Reviewed by George Staikos.
1830
1831         No new tests, this is for indexedDB, which is not working for JSC binding.
1832         When indexedDB working for JSC, all the indexdb test cases should apply.
1833
1834         * bindings/js/JSIDBAnyCustom.cpp:
1835         (WebCore::toJS):
1836
1837 2012-06-05  Michal Mocny  <mmocny@google.com>
1838
1839         [chromium] Set default memory allocation limit bytes when GL_CHROMIUM_gpu_memory_manager is not supported by graphics context.
1840         https://bugs.webkit.org/show_bug.cgi?id=87996
1841
1842         Reviewed by James Robinson.
1843
1844         Soon we hope to have renderers not manage there own memory allocation limits, and rely exclusively on the
1845         allocation given by GpuMemoryManager.  However, when the graphics context does not support the
1846         GL_CHROMIUM_gpu_memory_manager extension, such as the one used by DumpRenderTree, we must default the
1847         memory allocation limit to some non-0 value.
1848
1849         * platform/graphics/chromium/LayerRendererChromium.cpp:
1850         (WebCore::LayerRendererChromium::initialize):
1851         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1852         (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
1853         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1854         (WebCore):
1855         (DebugScopedSetMainThreadFromEither):
1856         (WebCore::DebugScopedSetMainThreadFromEither::DebugScopedSetMainThreadFromEither):
1857         (WebCore::DebugScopedSetMainThreadFromEither::~DebugScopedSetMainThreadFromEither):
1858
1859 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
1860
1861         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
1862         https://bugs.webkit.org/show_bug.cgi?id=78720
1863
1864         Reviewed by Noam Rosenthal.
1865
1866         Functions are removed from GraphicsContext3DQt that already implemented
1867         in GraphicsContext3DCommon. Macros that not supported at GLES have been
1868         changed to their appropriate pair that found in GraphicsContext3D
1869         (e.g. GL_FRAMEBUFFER_EXT to GraphicsContext3D::FRAMEBUFFER).
1870         It was needed because OpenGLES does not support these macros.
1871         Extensions3DQt is removed beceause it has never been used.
1872         Some functions have been moved fron GraphicsContext3DCommon to *OpenGL
1873         and *OpenGLES to provide specialization.
1874         The "m_depthStencilBuffer" member is added to Qt port because it uses
1875         "m_depthStencilBuffer" like the other platforms.
1876
1877         * Target.pri:
1878         * platform/graphics/GraphicsContext3D.h:
1879         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1880         (WebCore::GraphicsContext3D::depthRange):
1881         (WebCore):
1882         (WebCore::GraphicsContext3D::clearDepth):
1883         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1884         (WebCore::GraphicsContext3D::prepareTexture):
1885         (WebCore::GraphicsContext3D::readRenderingResults):
1886         (WebCore::GraphicsContext3D::reshape):
1887         (WebCore::GraphicsContext3D::copyTexImage2D):
1888         (WebCore::GraphicsContext3D::copyTexSubImage2D):
1889         (WebCore::GraphicsContext3D::readPixels):
1890         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1891         (WebCore::GraphicsContext3D::reshapeFBOs):
1892         (WebCore::GraphicsContext3D::depthRange):
1893         (WebCore):
1894         (WebCore::GraphicsContext3D::clearDepth):
1895         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1896         (WebCore::GraphicsContext3D::isGLES2Compliant):
1897         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
1898         (WebCore::GraphicsContext3D::GraphicsContext3D):
1899         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1900         (WebCore):
1901
1902 2012-06-05  Vitaly Buka  <vitalybuka@chromium.org>
1903
1904         Special layout handler should be done on top frame being printed.
1905         https://bugs.webkit.org/show_bug.cgi?id=88201
1906
1907         Reviewed by Brady Eidson.
1908
1909         No new tests. Root case is already covered by tests.
1910         Case described in the issue can be reproduced only by direct call
1911         to Frame::setPrinting of subframe. Probably it's not possible with
1912         layout tests.
1913
1914         * page/Frame.cpp:
1915         (WebCore::Frame::setPrinting):
1916         Use shouldUsePrintingLayout to choose proper version of forceLayout().
1917         (WebCore::Frame::shouldUsePrintingLayout):
1918         Checks if current frame is the top frame being printed.
1919         * rendering/RenderView.cpp:
1920         (WebCore::RenderView::shouldUsePrintingLayout): Forward to Frame.
1921
1922 2012-06-05  Max Feil  <mfeil@rim.com>
1923
1924         [BlackBerry] Conditionally enlarge HTML5 video controls in fullscreen mode
1925         https://bugs.webkit.org/show_bug.cgi?id=87551
1926
1927         Reviewed by Antonio Gomes.
1928
1929         Changes to make media controls larger in fullscreen mode. The
1930         BlackBerry media controls used to be sized by a combination
1931         of CSS styles specified in mediaControlsBlackBerry.css and
1932         hard coded constants in RenderThemeBlackBerry.cpp. This patch
1933         moves all the dimensional sizes to a common location, i.e.
1934         RenderThemeBlackBerry.cpp. Having all the logic in C++ code allows
1935         more complex decision making for when and how much to enlarge the
1936         media controls. Currently the controls are enlarged by a factor
1937         of 2 if the document is in fullscreen mode, the video element
1938         is the current fullscreen element, and the deviceScaleFactor of
1939         the page is less than 2.0. This avoids overly large controls
1940         on pages which are already at least doubling the size of the
1941         controls via viewport meta tag device-width settings. In other
1942         words, if the CSS pixels are already enlarged compared to device
1943         pixels by a factor of at least 2 in length and width.
1944
1945         In order to accomplish this, I had to add a new Element* parameter
1946         to RenderTheme::adjustSliderThumbSize(). This is needed so
1947         that fullscreen mode can be checked and the deviceScaleFactor
1948         retrieved. I feel that this does not have a big impact on the
1949         code and the other ports, for which I will simply be adding the
1950         additional parameter in their platform code.
1951
1952         Tests:
1953         video-controls-enlarged-fullscreen-meta.html
1954         video-controls-enlarged-fullscreen-nometa.html
1955
1956         * css/mediaControlsBlackBerry.css:
1957         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1958         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1959         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
1960         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1961         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1962         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1963         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1964         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1965         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1966         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1967         * html/shadow/SliderThumbElement.cpp:
1968         (WebCore::RenderSliderThumb::updateAppearance):
1969         * platform/blackberry/RenderThemeBlackBerry.cpp:
1970         (WebCore):
1971         (WebCore::determineRenderSlider):
1972         (WebCore::determineFullScreenMultiplier):
1973         (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
1974         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1975         (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
1976         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1977         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
1978         * platform/blackberry/RenderThemeBlackBerry.h:
1979         (RenderThemeBlackBerry):
1980         * platform/efl/RenderThemeEfl.cpp:
1981         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
1982         * platform/efl/RenderThemeEfl.h:
1983         (RenderThemeEfl):
1984         * platform/gtk/RenderThemeGtk.h:
1985         * platform/gtk/RenderThemeGtk2.cpp:
1986         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1987         * platform/gtk/RenderThemeGtk3.cpp:
1988         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1989         * platform/qt/RenderThemeQt.cpp:
1990         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1991         * platform/qt/RenderThemeQt.h:
1992         (RenderThemeQt):
1993         * platform/qt/RenderThemeQtMobile.cpp:
1994         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
1995         * platform/qt/RenderThemeQtMobile.h:
1996         (RenderThemeQtMobile):
1997         * rendering/RenderThemeChromiumLinux.cpp:
1998         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1999         * rendering/RenderThemeChromiumLinux.h:
2000         (RenderThemeChromiumLinux):
2001         * rendering/RenderThemeChromiumSkia.cpp:
2002         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
2003         * rendering/RenderThemeChromiumSkia.h:
2004         (RenderThemeChromiumSkia):
2005         * rendering/RenderThemeChromiumWin.cpp:
2006         (WebCore):
2007         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
2008         * rendering/RenderThemeChromiumWin.h:
2009         (RenderThemeChromiumWin):
2010         * rendering/RenderThemeMac.h:
2011         (RenderThemeMac):
2012         * rendering/RenderThemeSafari.cpp:
2013         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2014         * rendering/RenderThemeSafari.h:
2015         (RenderThemeSafari):
2016         * rendering/RenderThemeWin.cpp:
2017         (WebCore::RenderThemeWin::adjustSliderThumbSize):
2018         * rendering/RenderThemeWin.h:
2019         (RenderThemeWin):
2020         * rendering/RenderThemeWinCE.cpp:
2021         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
2022         * rendering/RenderThemeWinCE.h:
2023         (RenderThemeWinCE):
2024         * rendering/RenderTheme.cpp:
2025         (WebCore::RenderTheme::adjustStyle):
2026         (WebCore::RenderTheme::adjustMediaControlStyle):
2027         (WebCore):
2028         (WebCore::RenderTheme::adjustSliderThumbStyle):
2029         (WebCore::RenderTheme::adjustSliderThumbSize):
2030         * rendering/RenderTheme.h:
2031         (RenderTheme):
2032
2033 2012-06-05  Stephanie Lewis  <slewis@apple.com>
2034
2035         https://bugs.webkit.org/show_bug.cgi?id=88370
2036         Memory sampler should trigger low memory signal
2037
2038         Reviewed by Geoff Garen.
2039
2040         No new tests. Verify by running stress test which crashes 
2041         in a few minutes without the fix.
2042
2043         Fix assumption in block code.  We could get in a state where timer_event_source
2044         had already been released before the block ran.
2045
2046         * platform/mac/MemoryPressureHandlerMac.mm:
2047         (WebCore::MemoryPressureHandler::holdOff):
2048
2049 2012-06-05  Yoshifumi Inoue  <yosin@chromium.org>
2050
2051         [Forms] Introduce InputNumber type as an alias of double for replacing it to Decimal
2052         https://bugs.webkit.org/show_bug.cgi?id=88275
2053
2054         Reviewed by Kent Tamura.
2055
2056         This patch introduced InputNumber type as alias of double to be
2057         replaced to Decimal and convertDoubleToInputNumber and 
2058         convertToInputNumberToDouble for reducing size of patch when we
2059         introduce Decimal type.
2060
2061         This patch added new vairables to use const variable to reduce
2062         copy operation when introducing Decimal type.
2063
2064         In the implementation, we use InputNumber, will be Decimal, however some methods in IDL
2065         use double. To clarify internal usage of value and external usage, thit patch renamed
2066         following functions:
2067
2068         - parseToDouble => parseNumber
2069         - setValueAsNumber => setValueAsDouble and setValueAsInputNumber
2070         - valueAsNumber => valueAsDouble
2071
2072         This patch is a part of introducing Decimal, https://bugs.webkit.org/show_bug.cgi?id=80009
2073
2074         No new tests. This patch doesn't change behavior.
2075
2076         * html/BaseDateAndTimeInputType.cpp:
2077         (WebCore::BaseDateAndTimeInputType::valueAsDate): Replaced parseToNumber() to valueAsDouble()
2078         (WebCore::BaseDateAndTimeInputType::setValueAsDate): Inserted convertDoubleToInputNumber.
2079         (WebCore::BaseDateAndTimeInputType::valueAsDouble): Use new function parseToDouble().
2080         (WebCore::BaseDateAndTimeInputType::setValueAsInputNumber): Added.
2081         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
2082         (WebCore::BaseDateAndTimeInputType::parseToNumber): This is replacement of parseToDouble().
2083         (WebCore::BaseDateAndTimeInputType::parseToDouble): Added for valueAsDate and valueAsDouble.
2084         (WebCore::BaseDateAndTimeInputType::serialize): Changed parameter type to InputNumber.
2085         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Replace double to InputNumber for getAllowdStep.
2086         * html/BaseDateAndTimeInputType.h:
2087         (BaseDateAndTimeInputType):
2088         * html/DateInputType.cpp:
2089         (WebCore::DateInputType::createStepRange): Replaced double to InputNumber.
2090         * html/DateInputType.h:
2091         (DateInputType):
2092         * html/DateTimeInputType.cpp:
2093         (WebCore::DateTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
2094         (WebCore::DateTimeInputType::createStepRange): Replaced double to InputNumber.
2095         * html/DateTimeInputType.h:
2096         (DateTimeInputType):
2097         * html/DateTimeLocalInputType.cpp:
2098         (WebCore::DateTimeLocalInputType::createStepRange): Replaced double to InputNumber.
2099         * html/DateTimeLocalInputType.h:
2100         (DateTimeLocalInputType):
2101         * html/HTMLInputElement.cpp:
2102         (WebCore::HTMLInputElement::getAllowedValueStep): Changed parameter type to InputNumber.
2103         (WebCore::HTMLInputElement::valueAsNumber): Use InputType::valueAsDouble.
2104         (WebCore::HTMLInputElement::setValueAsNumber): Use InputType::valueAsDouble.
2105         * html/HTMLInputElement.h:
2106         (HTMLInputElement):
2107         * html/InputType.cpp:
2108         (WebCore::InputType::valueAsDouble): Replacement of valueAsNumber.
2109         (WebCore::InputType::setValueAsDouble): Replacement of valueAsNumber.
2110         (WebCore::InputType::setValueAsInputNumber): Replacement of valueAsNumber.
2111         (WebCore::InputType::rangeUnderflow): Replaced double to InputNumber.
2112         (WebCore::InputType::rangeOverflow): Replaced double to InputNumber.
2113         (WebCore::InputType::defaultValueForStepUp): Changed return type to InputNumber.
2114         (WebCore::InputType::isInRange): Replaced double to InputNumber.
2115         (WebCore::InputType::isOutOfRange): Replaced double to InputNumber.
2116         (WebCore::InputType::stepMismatch): Replaced double to InputNumber.
2117         (WebCore::InputType::validationMessage): Replaced double to InputNumber.
2118         (WebCore::InputType::parseToNumber): Replacement of parseToDouble.
2119         (WebCore::InputType::parseToNumberOrNaN): Added for reducing number of std::numeric_limits<double>::quiet_NaN().
2120         (WebCore::InputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
2121         (WebCore::InputType::serialize): Changed parameter type to InputNumber.
2122         (WebCore::InputType::applyStep): Replaced double to InputNumber.
2123         (WebCore::InputType::getAllowedValueStep): Changed parameter type to InputNumber.
2124         (WebCore::InputType::stepUpFromRenderer): Replaced double to InputNumber.
2125         * html/InputType.h:
2126         (InputType):
2127         * html/MonthInputType.cpp:
2128         (WebCore::MonthInputType::defaultValueForStepUp): Changed return type to InputNumber.
2129         (WebCore::MonthInputType::createStepRange): Replaced double to InputNumber.
2130         (WebCore::MonthInputType::parseToNumber): Replacement of parseToDouble.
2131         * html/MonthInputType.h:
2132         (MonthInputType):
2133         * html/NumberInputType.cpp:
2134         (WebCore::NumberInputType::valueAsDouble): Replacement of valueAsNumber. Changed to use parseToDoubleForNumberType.
2135         (WebCore::NumberInputType::setValueAsDouble):  Replacement of setValueAsNumber.  Changed to use serializeForNumberType.
2136         (WebCore::NumberInputType::setValueAsInputNumber): Replacement of setValueAsNumber.
2137         (WebCore::NumberInputType::createStepRange): Replaced double to InputNumber.
2138         (WebCore::NumberInputType::parseToNumber): Replacement of parseToDouble.
2139         (WebCore::NumberInputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
2140         (WebCore::NumberInputType::serialize):
2141         * html/NumberInputType.h:
2142         (NumberInputType):
2143         * html/RangeInputType.cpp:
2144         (WebCore::ensureMaximum): Replaced double to InputNumber.
2145         (WebCore::RangeInputType::valueAsDouble): Replacement of valueAsNumber.
2146         (WebCore::RangeInputType::setValueAsInputNumber):  Replacement of setValueAsNumber.
2147         (WebCore::RangeInputType::createStepRange): Replaced double to InputNumber.
2148         (WebCore::RangeInputType::handleKeydownEvent): Replaced double to InputNumber.
2149         (WebCore::RangeInputType::parseToNumber): Replacement of parseToDouble.
2150         (WebCore::RangeInputType::serialize): Changed parameter type to InputNumber.
2151         (WebCore::RangeInputType::sanitizeValue): Replaced double to InputNumber.
2152         * html/RangeInputType.h:
2153         (RangeInputType):
2154         * html/StepRange.cpp:
2155         (WebCore::StepRange::StepRange): Replaced double to InputNumber.
2156         (WebCore::StepRange::acceptableError): Replaced double to InputNumber.
2157         (WebCore::StepRange::alignValueForStep): Replaced double to InputNumber.
2158         (WebCore):
2159         (WebCore::StepRange::clampValue): Replaced double to InputNumber.
2160         (WebCore::StepRange::stepMismatch): Replaced double to InputNumber.
2161         * html/StepRange.h:
2162         (WebCore::convertDoubleToInputNumber): Added.
2163         (WebCore::convertInputNumberToDouble): Added.
2164         (WebCore::StepRange::NumberWithDecimalPlaces::NumberWithDecimalPlaces): Replaced double to InputNumber.
2165         (WebCore::StepRange::StepDescription::defaultValue): Replaced double to InputNumber.
2166         (StepRange):
2167         (WebCore::StepRange::maximum): Replaced double to InputNumber.
2168         (WebCore::StepRange::minimum): Replaced double to InputNumber.
2169         (WebCore::StepRange::step): Replaced double to InputNumber.
2170         (WebCore::StepRange::stepBase): Replaced double to InputNumber.
2171         (WebCore::StepRange::defaultValue): Replaced double to InputNumber.
2172         (WebCore::StepRange::proportionFromValue): Replaced double to InputNumber.
2173         (WebCore::StepRange::valueFromProportion): Replaced double to InputNumber.
2174         * html/TimeInputType.cpp:
2175         (WebCore::TimeInputType::defaultValueForStepUp): Replaced double to InputNumber.
2176         (WebCore::TimeInputType::createStepRange): Replaced double to InputNumber.
2177         * html/TimeInputType.h:
2178         (TimeInputType):
2179         * html/WeekInputType.cpp:
2180         (WebCore::WeekInputType::createStepRange): Replaced double to InputNumber.
2181         * html/WeekInputType.h:
2182         (WeekInputType):
2183         * html/shadow/CalendarPickerElement.cpp:
2184         (WebCore::CalendarPickerElement::writeDocument): Replaced double to InputNumber.
2185         * html/shadow/SliderThumbElement.cpp:
2186         (WebCore::sliderPosition): Replaced double to InputNumber.
2187         (WebCore::RenderSliderThumb::layout): Replaced double to InputNumber.
2188         (WebCore::SliderThumbElement::setPositionFromPoint): Replaced double to InputNumber.
2189
2190 2012-06-05  Ryosuke Niwa  <rniwa@webkit.org>
2191
2192         Build fix after r119527.
2193
2194         * dom/ViewportArguments.cpp:
2195         (WebCore::computeViewportAttributes):
2196
2197 2012-06-05  Martin Robinson  <mrobinson@igalia.com>
2198
2199         [Cairo] [OpenGL] Enable GL_OES_standard_derivatives
2200         https://bugs.webkit.org/show_bug.cgi?id=87583
2201
2202         Reviewed by Alejandro G. Castro.
2203
2204         No new tests. This is covered by oes-standard-derivatives.html
2205         in the Khronos WebGL conformance tests, which may one day be part
2206         of the WebKit test suite.
2207
2208         Activate the GL_OES_standard_derivatives on Cairo along with
2209         Qt and Mac.
2210
2211         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2212         (WebCore::Extensions3DOpenGL::ensureEnabled):
2213         (WebCore::Extensions3DOpenGL::isEnabled):
2214
2215 2012-06-05  Simon Fraser  <simon.fraser@apple.com>
2216
2217         Avoid creating compositing layers for preserve-3d without transformed descendants
2218         https://bugs.webkit.org/show_bug.cgi?id=88115
2219
2220         Reviewed by Antti Koivisto.
2221         
2222         Avoid creating compositing layers, and therefore using excess backing store,
2223         for elements that have -webkit-transform-style: preserve-3d, but no 3D-transformed
2224         descendants that would be affected by that preserve-3d.
2225         
2226         Test: compositing/layer-creation/no-compositing-for-preserve-3d.html
2227
2228         * rendering/RenderLayer.h: Replace the "mustOverlap" flag with a enum
2229         that describes the different reasons for indirect compositing, so that
2230         we can use that information to decide whether to allocate backing store.
2231         (WebCore::RenderLayer::setIndirectCompositingReason):
2232         (WebCore::RenderLayer::indirectCompositingReason):
2233         (WebCore::RenderLayer::mustCompositeForIndirectReasons):
2234         * rendering/RenderLayer.cpp:
2235         (WebCore::RenderLayer::RenderLayer): Initialize m_indirectCompositingReason
2236
2237         * rendering/RenderLayerCompositor.h: New out param for computeCompositingRequirements()
2238         that is uses to indicate that a 3d-transformed descendant has been encountered.
2239         Rename requiresCompositingWhenDescendantsAreCompositing() to requiresCompositingForIndirectReason(),
2240         and return the reason as an out param.
2241         
2242         * rendering/RenderLayerCompositor.cpp:
2243         (WebCore::RenderLayerCompositor::updateCompositingLayers): Pass in the saw3DTransform
2244         param to computeCompositingRequirements().
2245         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Return a flag
2246         from computeCompositingRequirements() that is set to true if we've seen descendants
2247         that have 3d transforms. This is later used to decide whether to composite for
2248         perspective or preserve-3d.
2249         Change the "mustOverlapCompositedLayers" code to use the new "indirect compositing"
2250         enum flags.
2251         After enumerating children, call requiresCompositingForIndirectReason() and 
2252         record the reason in the layer.
2253         (WebCore::RenderLayerCompositor::needsToBeComposited): Use mustCompositeForIndirectReasons() now.
2254         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Consult the indirect compositing
2255         reason rather than just looking for the overlap flag.
2256         (WebCore::RenderLayerCompositor::reasonForCompositing): Now that we have more information
2257         about indirect compositing reasons, the logging can be more detailed.
2258         (WebCore::RenderLayerCompositor::requiresCompositingForTransform): This now only looks
2259         for 3d transforms. We now treat perspective and perserve-3d as "indirect" reasons, because
2260         whether they composite depends on descendants having non-affine transforms.
2261         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): Includes the logic
2262         previously in requiresCompositingWhenDescendantsAreCompositing(), and now determines
2263         whether to composite for preserve-3d and perspective, based on whether we have transformed descendants.
2264
2265 2012-06-05  Levi Weintraub  <leviw@chromium.org>
2266
2267         Block selection gaps painted not properly pixel snapped
2268         https://bugs.webkit.org/show_bug.cgi?id=88000
2269
2270         Reviewed by Ryosuke Niwa.
2271
2272         Fixes for selection painting in both inline line heights and block gaps. We were unintentionally
2273         flooring inline and block offsets in RenderBlock, but actually need to intentionally floor the
2274         logical left and right values in logical(Left|Right)SelectionGap to properly align our block
2275         selection gaps. This is to properly mirror the behavior in pixelSnappedLogicalRightOffsetForLine.
2276
2277         We were also unintentionally upcasting LayoutUnits to floats in InlineTextBox's selection painting
2278         routine. Now we're properly rounding.
2279
2280         Test: fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
2281
2282         * rendering/InlineTextBox.cpp:
2283         (WebCore::InlineTextBox::paintSelection): Move paint values to integers and do proper rounding.
2284         * rendering/RenderBlock.cpp:
2285         (WebCore::blockDirectionOffset): Fix incorrect flooring in return value.
2286         (WebCore::inlineDirectionOffset): Ditto.
2287         (WebCore): Removing previous attempt to properly mirror inline box selection pixel alignment. This
2288         implementation rounded the final x value instead of properly rounding our block offset then flooring
2289         the offset that corresponds to the behavior in InlineTextBox. It also didn't properly pixel snap
2290         the y offset and height.
2291         (WebCore::RenderBlock::blockSelectionGap): Properly pixel snapping the gap rect before painting.
2292         (WebCore::RenderBlock::logicalLeftSelectionGap): Correctly match InlineTextBox's selection pixel
2293         alignment by flooring the logicalLeft and pixel snapping the subsequent rect. We do this in order
2294         to maintain proper render tree pixel snapping while simultaneously mirroring the flooring in the
2295         inline direction that occurs in InlineTextBox.cpp's alignSelectionRectToDevicePixels method.
2296         (WebCore::RenderBlock::logicalRightSelectionGap): Ditto with the right.
2297
2298 2012-06-05  Adam Barth  <abarth@webkit.org>
2299
2300         Remove support for target-densitydpi in the viewport meta tag
2301         https://bugs.webkit.org/show_bug.cgi?id=88047
2302
2303         Reviewed by Kenneth Rohde Christiansen.
2304
2305         The target-densitydpi parameter was originally implemented on Android,
2306         but it does not appear to be widely used and introduces significant
2307         implementation complexity because it forces us to track three scale
2308         factors (defaultDeviceScaleFactor, deviceScaleFactor, and
2309         pageScaleFactor) rather than just two (deviceScaleFactor and
2310         pageScaleFactor).
2311
2312         There don't appear to be many web sites that use target-densitydpi
2313         because it is not supported on iOS.  There are also concerns from the
2314         standards community about the design of the feature.  It seems our best
2315         course of action is to remove target-densitydpi and address these use
2316         cases via other mechanisms, such as responsive images and device units
2317         in CSS because those approaches are likely to be implemented broadly.
2318
2319         * dom/ViewportArguments.cpp:
2320         (WebCore::computeViewportAttributes):
2321         (WebCore):
2322         (WebCore::setViewportFeature):
2323         (WebCore::viewportErrorMessageTemplate):
2324         (WebCore::viewportErrorMessageLevel):
2325         * dom/ViewportArguments.h:
2326         (WebCore::ViewportArguments::ViewportArguments):
2327         (ViewportArguments):
2328         (WebCore::ViewportArguments::operator==):
2329
2330 2012-06-05  Erik Arvidsson  <arv@chromium.org>
2331
2332         [V8] Improve variable resolution order on window
2333         https://bugs.webkit.org/show_bug.cgi?id=84247
2334
2335         Reviewed by Ojan Vafai.
2336
2337         This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.
2338
2339         Test: fast/dom/Window/window-property-shadowing-onclick.html
2340
2341         * bindings/v8/V8DOMWindowShell.cpp:
2342         (WebCore::V8DOMWindowShell::initContextIfNeeded): Set the flag as we initialize V8.
2343         * bindings/v8/WorkerContextExecutionProxy.cpp:
2344         (WebCore::WorkerContextExecutionProxy::initIsolate): Ditto.
2345
2346 2012-06-05  Ojan Vafai  <ojan@chromium.org>
2347
2348         Delete dead code from RenderBox::computeLogicalWidthInRegion
2349         https://bugs.webkit.org/show_bug.cgi?id=88353
2350
2351         Reviewed by Tony Chang.
2352
2353         No new tests obviously since this is dead code.
2354
2355         * rendering/RenderBox.cpp:
2356         (WebCore::RenderBox::computeLogicalWidthInRegion):
2357
2358 2012-06-05  Greg Billock  <gbillock@google.com>
2359
2360         New constructor for WebIntent to be used for delivery
2361         https://bugs.webkit.org/show_bug.cgi?id=87143
2362
2363         Reviewed by Darin Fisher.
2364
2365         * Modules/intents/Intent.cpp:
2366         (WebCore::Intent::setExtras):
2367         (WebCore):
2368         * Modules/intents/Intent.h:
2369         (Intent):
2370
2371 2012-06-01  Ojan Vafai  <ojan@chromium.org>
2372
2373         Change overrideSizes to be content-box instead of border-box
2374         https://bugs.webkit.org/show_bug.cgi?id=88116
2375
2376         Reviewed by Tony Chang.
2377
2378         Previously, the code used border-box everywhere except for one place
2379         where it used content-box when setting the override size. Conversely,
2380         it subtracted the borderAndPaddingSize everywhere it grabbed the override
2381         size except for one.
2382
2383         Instead, make the override size override the content-box size.
2384         Converging on using the border-box size would be tricky given RenderTableCell's
2385         tricky management of intrinsic padding.
2386
2387         There is no behavior change except in RenderBox::availableLogicalHeightUsing,
2388         which fixes a table test.
2389
2390         * rendering/RenderBox.cpp:
2391         (WebCore::RenderBox::setOverrideLogicalContentHeight):
2392         (WebCore::RenderBox::setOverrideLogicalContentWidth):
2393         (WebCore::RenderBox::overrideLogicalContentWidth):
2394         (WebCore::RenderBox::overrideLogicalContentHeight):
2395         (WebCore::RenderBox::computeLogicalWidthInRegion):
2396         (WebCore::RenderBox::computeLogicalHeight):
2397         (WebCore::RenderBox::computePercentageLogicalHeight):
2398         (WebCore::RenderBox::availableLogicalHeightUsing):
2399         We were incorrectly subtracting the borderAndPaddingLogicalWidth instead
2400         of the borderAndPaddingLogicalHeight.
2401
2402         * rendering/RenderBox.h:
2403         (RenderBox):
2404         * rendering/RenderDeprecatedFlexibleBox.cpp:
2405         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2406         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2407         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2408         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
2409         * rendering/RenderFlexibleBox.cpp:
2410         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
2411         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
2412         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
2413         * rendering/RenderTableCell.cpp:
2414         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
2415
2416 2012-06-05  Andy Estes  <aestes@apple.com>
2417
2418         REGRESSION (r118197): PluginStrategy should be used even if ENABLE(NETSCAPE_PLUGIN_API) is false
2419         https://bugs.webkit.org/show_bug.cgi?id=88296
2420
2421         Reviewed by Dan Bernstein.
2422
2423         refresh() and initPlugins() should call into PluginStrategy even if
2424         ENABLE(NETSCAPE_PLUGIN_API) is false. Some ports support non-Netscape
2425         plug-ins, so PluginStrategy should be consulted even if Netscape
2426         plug-ins specifically are disabled.
2427
2428         Ports that support platform strategies but not Netscape plug-ins should
2429         handle this inside their PluginStrategy rather than modifying generic
2430         plug-in code.
2431
2432         * plugins/PluginData.cpp:
2433         (WebCore::PluginData::refresh):
2434         (WebCore::PluginData::initPlugins):
2435
2436 2012-06-05  Douglas Stockwell  <dstockwell@chromium.org>
2437
2438         Crash when modifying fixed-position elements in a detached frame
2439         https://bugs.webkit.org/show_bug.cgi?id=88288
2440
2441         Reviewed by James Robinson.
2442
2443         Test: fast/block/positioning/fixed-position-detached-frame.html
2444
2445         * css/StyleResolver.cpp:
2446         (WebCore::StyleResolver::collectMatchingRulesForList):
2447
2448 2012-06-05  Andrey Kosyakov  <caseq@chromium.org>
2449
2450         Web Inspector: render timeline paint category dark green
2451         https://bugs.webkit.org/show_bug.cgi?id=88333
2452
2453         Reviewed by Pavel Feldman.
2454
2455         - Added a new, dark-green color for timeline events.
2456
2457         * WebCore.gypi: Added timelineBarDarkGreen.png
2458         * inspector/front-end/Images/timelineBarDarkGreen.png: Added.
2459         * inspector/front-end/Images/timelineCheckmarks.png: Added a dark-green checkbox.
2460         * inspector/front-end/Images/timelineDots.png: Added a dark-green dot.
2461         * inspector/front-end/TimelinePresentationModel.js:
2462         (WebInspector.TimelinePresentationModel.categories):
2463         * inspector/front-end/WebKit.qrc: Added timelineBarDarkGreen.png.
2464         * inspector/front-end/timelinePanel.css:
2465         (.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox):
2466         (.timeline-category-painting .timeline-graph-bar):
2467         (.popover .timeline-painting):
2468         (.timeline-category-painting .timeline-tree-icon):
2469
2470 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
2471
2472         Web Inspector: serialize edge counts instead of indexes in heap snapshot
2473         https://bugs.webkit.org/show_bug.cgi?id=88324
2474
2475         The serialized node structure currently holds an index
2476         of its first containment edge in the edges array.
2477         The index can be quite big (up to 7 digits for large snapshots).
2478         The patch changes the serialization format to pass
2479         node containment edge count instead. For most nodes the count
2480         is just a single digit number.
2481         This reduces serialized snapshot size and therefore its transfer time.
2482
2483         Reviewed by Yury Semikhatsky.
2484
2485         * inspector/front-end/HeapSnapshot.js:
2486         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
2487         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
2488         (WebInspector.HeapSnapshotNode.prototype._ordinal):
2489         (WebInspector.HeapSnapshotNodeIterator):
2490         (WebInspector.HeapSnapshot.prototype._init):
2491         (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
2492         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2493         (WebInspector.HeapSnapshot.prototype._bfs):
2494         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2495         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2496         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2497         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
2498         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2499
2500 2012-06-05  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2501
2502         CSS 2.1 failure: border-conflict-element-021a
2503         https://bugs.webkit.org/show_bug.cgi?id=86885
2504
2505         Reviewed by Julien Chaffraix.
2506
2507         When two adjacent table row groups (thead, tbody, tfoot) have the same border-width
2508         and the same border-style in a 'border-collapse: collapse' table the color of the border
2509         from the top-most table row wins.
2510
2511         Tests: fast/table/border-collapsing/adjacent-row-groups-multi.html
2512                fast/table/border-collapsing/adjacent-row-groups.html
2513
2514         * rendering/RenderTable.cpp:
2515         (WebCore::RenderTable::paintObject):
2516         Currently each row group is sent for paint from top (firstChild) to bottom thereby causing
2517         the borders of the bottom-most row group (which is painted last) to overlap over the
2518         previous row-group. This breaks the precedence for collapsed borders between adjacent cells.
2519
2520         This fix thus reverses the order in which the row-groups/sections are passed for painting.
2521         Additional change has been done to iterate over the RenderTableSections directly.
2522
2523         (WebCore):
2524         (WebCore::RenderTable::bottomSection):
2525         * rendering/RenderTable.h:
2526         New function has been added to obtain the last section of the table.
2527
2528         (RenderTable):
2529         * rendering/RenderTableSection.h:
2530         (RenderTableSection):
2531         RenderTableSection's paint() method has now been made public so as to make it accessible
2532         from RenderTable.
2533
2534 2012-06-05  Csaba Osztrogonác  <ossy@webkit.org>
2535
2536         [Qt][Win] Fix IDL dependency generation
2537         https://bugs.webkit.org/show_bug.cgi?id=88304
2538
2539         Reviewed by Tor Arne Vestbø.
2540
2541         * DerivedSources.pri:
2542
2543 2012-06-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2544
2545         Unreviewed, rolling out r119467, r119471, and r119476.
2546         http://trac.webkit.org/changeset/119467
2547         http://trac.webkit.org/changeset/119471
2548         http://trac.webkit.org/changeset/119476
2549         https://bugs.webkit.org/show_bug.cgi?id=88332
2550
2551         it broke chromium-mac static initializers test.\ (Requested by
2552         loislo on #webkit).
2553
2554         * WebCore.gyp/WebCore.gyp:
2555         * WebCore.gypi:
2556         * platform/graphics/FontPlatformData.h:
2557         (FontPlatformData):
2558         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2559         (WebCore::FontPlatformData::platformDataInit):
2560         (WebCore::FontPlatformData::platformDataAssign):
2561         * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Removed.
2562         * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Removed.
2563         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Removed.
2564         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Removed.
2565         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Removed.
2566         * platform/graphics/mac/FontComplexTextMac.cpp:
2567         (WebCore::Font::selectionRectForComplexText):
2568         (WebCore::Font::drawComplexText):
2569         (WebCore::Font::floatWidthForComplexText):
2570         (WebCore::Font::offsetForPositionForComplexText):
2571
2572 2012-06-05  Alexander Pavlov  <apavlov@chromium.org>
2573
2574         Web Inspector: SHIFT key as helper to color adjustment in color picker
2575         https://bugs.webkit.org/show_bug.cgi?id=88319
2576
2577         Reviewed by Pavel Feldman.
2578
2579         With Shift depressed, the dragger in the color picker will snap to the horizontal
2580         or vertical axis while dragging, depending on which axis offset is greater.
2581
2582         * inspector/front-end/Spectrum.js:
2583         (WebInspector.Spectrum.colorDragStart):
2584         (WebInspector.Spectrum.colorDrag):
2585         (WebInspector.Spectrum.draggable.move):
2586         (WebInspector.Spectrum.draggable.start):
2587
2588 2012-06-05  Andrey Kosyakov  <caseq@chromium.org>
2589
2590         Web Inspector: aggregate all events before first frame into a fake frame
2591         https://bugs.webkit.org/show_bug.cgi?id=88229
2592
2593         - in Timeline's frame mode, start aggregating events by frame even before we get first frame marker.
2594
2595         * inspector/front-end/TimelineFrameController.js:
2596         (WebInspector.TimelineFrameController.prototype._addRecord):
2597         (WebInspector.TimelineFrameController.prototype._flushFrame):
2598         (WebInspector.TimelineFrameController.prototype._createFrame):
2599
2600 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
2601
2602         JSC:need to implement Dictionary::getWithUndefinedOrNullCheck for IDB
2603         https://bugs.webkit.org/show_bug.cgi?id=88283
2604
2605         Reviewed by Kentaro Hara.
2606
2607         No new tests, idb not working for JSC yet.
2608
2609         * bindings/js/Dictionary.cpp:
2610         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
2611         * bindings/js/Dictionary.h:
2612         (Dictionary):
2613         * bindings/js/JSDictionary.cpp:
2614         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2615         (WebCore):
2616         * bindings/js/JSDictionary.h:
2617         (JSDictionary):
2618
2619 2012-06-05  Dongwoo Im  <dw.im@samsung.com>
2620
2621         Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
2622         https://bugs.webkit.org/show_bug.cgi?id=73176
2623
2624         Reviewed by Adam Barth.
2625
2626         Two more APIs are added in Custom Scheme Handler specification.
2627         http://dev.w3.org/html5/spec/Overview.html#custom-handlers
2628         One is 'isProtocolHandlerRegistered' to query whether the specific URL
2629         is registered or not.
2630         The other is 'unregisterProtocolHandler' to remove the registered URL.
2631
2632         Test: fast/dom/unregister-protocol-handler.html
2633
2634         * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
2635         * loader/EmptyClients.h: Add prototypes.
2636         (EmptyChromeClient):
2637         (WebCore::EmptyChromeClient::isProtocolHandlerRegistered):
2638         (WebCore::EmptyChromeClient::unregisterProtocolHandler):
2639         * page/ChromeClient.h:
2640         (ChromeClient):
2641         * page/NavigatorRegisterProtocolHandler.cpp:
2642         (WebCore):
2643         (WebCore::customHandlersStateString):
2644         (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered): Query if the handler is registered.
2645         (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler): Unregister the registered handler.
2646         * page/NavigatorRegisterProtocolHandler.h:
2647         (NavigatorRegisterProtocolHandler):
2648         * page/NavigatorRegisterProtocolHandler.idl:
2649
2650 2012-06-04  Kinuko Yasuda  <kinuko@chromium.org>
2651
2652         Chromium tests: "Add support for the Blob constructor" [r115582] regressed blob layout tests
2653         https://bugs.webkit.org/show_bug.cgi?id=85174
2654
2655         Reviewed by Kentaro Hara.
2656
2657         This fixes a crash problem which could happen when the constructor is
2658         given an array which contains String-type item(s).
2659
2660         There're still some Text mismatches between v8 results and
2661         JSC results, most of them are v8 not throwing exception
2662         when it is given an object whose toString() method throws
2663         exception.  (The issue will be addresse in a separate patch.)
2664
2665         Test: fast/files/blob-constructor.html
2666
2667         * bindings/v8/custom/V8BlobCustom.cpp:
2668         (WebCore::V8Blob::constructorCallback):
2669
2670 2012-06-05  Kentaro Hara  <haraken@chromium.org>
2671
2672         Remove unnecessary constructor of SelectorQueryCache
2673         https://bugs.webkit.org/show_bug.cgi?id=87942
2674
2675         Reviewed by Ryosuke Niwa.
2676
2677         Per the comment from darin@ (https://bugs.webkit.org/show_bug.cgi?id=87942#c27),
2678         this patch removes an inline constructor that has no arguments.
2679         To have the compiler generate the constructor,
2680         this patch also removes WTF_MAKE_NONCOPYABLE().
2681
2682         No tests. No change in behavior.
2683
2684         * dom/SelectorQuery.h:
2685         (SelectorQueryCache):
2686
2687 2012-06-05  Kentaro Hara  <haraken@chromium.org>
2688
2689         Remove unused methods from SelectorQuery.h
2690         https://bugs.webkit.org/show_bug.cgi?id=88289
2691
2692         Reviewed by Antti Koivisto.
2693
2694         This patch removes SelectorDataList::size() and
2695         SelectorDataList::SelectorDataList().
2696         SelectorDataList::size() is not used by anybody.
2697         SelectorDataList::SelectorDataList() can be auto-generated
2698         by a compiler.
2699
2700         No tests. No change in behavior.
2701
2702         * dom/SelectorQuery.cpp:
2703         * dom/SelectorQuery.h:
2704         (SelectorDataList):
2705
2706 2012-06-05  Kent Tamura  <tkent@chromium.org>
2707
2708         Build fix for r119470.
2709
2710         * loader/EmptyClients.cpp: Add #include "IntentRequest.h".
2711
2712 2012-06-05  Kent Tamura  <tkent@chromium.org>
2713
2714         Remove unused function: Document::formElements
2715         https://bugs.webkit.org/show_bug.cgi?id=88272
2716
2717         Reviewed by Kentaro Hara.
2718
2719         No new tests. No behavior change.
2720
2721         * dom/Document.h:
2722         (Document): remove formElements(). It was used for radio group
2723         validation, but the current code doesn't use it any more.
2724
2725 2012-06-05  Kenichi Ishibashi  <bashi@chromium.org>
2726
2727         Unreviewed build fix on Chromium mac
2728
2729         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2730         (WebCore::isAATFont):
2731
2732 2012-06-05  Kent Tamura  <tkent@chromium.org>
2733
2734         Move some function definitions in EmptyClients.h to EmptyClients.cpp
2735         https://bugs.webkit.org/show_bug.cgi?id=88285
2736
2737         Reviewed by Ryosuke Niwa.
2738
2739         If we have definitions of functions with RefPtr<> in EmptyClients.h like
2740
2741             virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { }
2742
2743         and a source file includes EmptyClient.h, the source file needs to
2744         include FileChooser.h though the source file doesn't use FileChooser
2745         class explicitly because the definition of runOpenPanel() needs to call
2746         FileChooser::deref().
2747         To avoid this, we had better move such functions to EmptyClients.cpp.
2748
2749         No new tests. No behavior changes.
2750
2751         * loader/EmptyClients.cpp: Move such functions from EmptyClients.h to
2752         here, and move EmptyPopupMenu and EmptySearchPopupMenu too because
2753         they're used only by EmptyChromeClient.
2754         (WebCore):
2755         (EmptyPopupMenu):
2756         (WebCore::EmptyPopupMenu::show):
2757         (WebCore::EmptyPopupMenu::hide):
2758         (WebCore::EmptyPopupMenu::updateFromElement):
2759         (WebCore::EmptyPopupMenu::disconnectClient):
2760         (EmptySearchPopupMenu):
2761         (WebCore::EmptySearchPopupMenu::popupMenu):
2762         (WebCore::EmptySearchPopupMenu::saveRecentSearches):
2763         (WebCore::EmptySearchPopupMenu::loadRecentSearches):
2764         (WebCore::EmptySearchPopupMenu::enabled):
2765         (WebCore::EmptyChromeClient::createPopupMenu):
2766         (WebCore::EmptyChromeClient::createSearchPopupMenu):
2767         (WebCore::EmptyChromeClient::createColorChooser):
2768         (WebCore::EmptyChromeClient::runOpenPanel):
2769         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2770         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2771         (WebCore::EmptyFrameLoaderClient::dispatchWillSendSubmitEvent):
2772         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
2773         (WebCore::EmptyFrameLoaderClient::createDocumentLoader):
2774         (WebCore::EmptyFrameLoaderClient::createFrame):
2775         (WebCore::EmptyFrameLoaderClient::createPlugin):
2776         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
2777         (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin):
2778         (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
2779         (WebCore::EmptyFrameLoaderClient::dispatchIntent):
2780         (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
2781         (WebCore::EmptyEditorClient::registerUndoStep):
2782         (WebCore::EmptyEditorClient::registerRedoStep):
2783         (WebCore::EmptyContextMenuClient::customizeMenu):
2784         * loader/EmptyClients.h: Move such function definitions to
2785         EmptyClient.cpp, and append OVERRIDE.
2786         (EmptyChromeClient):
2787         (EmptyFrameLoaderClient):
2788         (EmptyTextCheckerClient):
2789         (EmptyEditorClient):
2790         (EmptyContextMenuClient):
2791         * svg/graphics/SVGImage.cpp: Remove unnecessary #includes.
2792
2793 2012-06-05  Alexander Pavlov  <apavlov@chromium.org>
2794
2795         Web Inspector: "-webkit"-prefixed properties are considered inherited in the Computed Style pane
2796         https://bugs.webkit.org/show_bug.cgi?id=88257
2797
2798         Reviewed by Pavel Feldman.
2799
2800         Canonical names for properties should be used when checking if they are inherited (since only canonical names
2801         are put into the usedProperties set).
2802
2803         * inspector/front-end/StylesSidebarPane.js:
2804         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
2805
2806 2012-06-05  Kenichi Ishibashi  <bashi@chromium.org>
2807
2808         [Chromium] Implement font shaping with font-feature-settings on Mac
2809         https://bugs.webkit.org/show_bug.cgi?id=69826
2810
2811         Reviewed by Tony Chang.
2812
2813         Add HarfBuzz-ng text shaper.
2814         Chromium mac port uses it as secondary text shaper to support OpenType features.
2815         HarfBuzz-ng is only used when -webkit-font-feature-settings is specified and
2816         corresponding font is not an AAT font.
2817
2818         No new tests. css3/font-feature-settings-rendering.html should pass on Chromium mac port.
2819
2820         * WebCore.gyp/WebCore.gyp: Added harfbuzz-ng dependencies.
2821         * WebCore.gypi: Added harfbuzz-ng files.
2822         * platform/graphics/FontPlatformData.h:
2823         (FontPlatformData): Added m_harfbuzzFace.
2824         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2825         (WebCore::FontPlatformData::platformDataInit): Copy m_harfbuzzFace.
2826         (WebCore::FontPlatformData::platformDataAssign): Ditto.
2827         (WebCore):
2828         (WebCore::isAATFont):
2829         (WebCore::FontPlatformData::harfbuzzFace):
2830         * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Added.
2831         (WebCore):
2832         (WebCore::harfbuzzFaceCache):
2833         (WebCore::HarfBuzzFace::HarfBuzzFace):
2834         (WebCore::HarfBuzzFace::~HarfBuzzFace):
2835         * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Added.
2836         (WebCore):
2837         (HarfBuzzFace):
2838         (WebCore::HarfBuzzFace::create):
2839         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Added.
2840         (WebCore):
2841         (WebCore::floatToHarfBuzzPosition):
2842         (WebCore::getGlyph):
2843         (WebCore::getGlyphHorizontalAdvance):
2844         (WebCore::getGlyphHorizontalOrigin):
2845         (WebCore::getGlyphExtents):
2846         (WebCore::harfbuzzCoreTextGetFontFuncs):
2847         (WebCore::releaseTableData):
2848         (WebCore::harfbuzzCoreTextGetTable):
2849         (WebCore::HarfBuzzFace::createFace):
2850         (WebCore::HarfBuzzFace::createFont):
2851         (WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
2852         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Added.
2853         (WebCore):
2854         (WebCore::harfbuzzPositionToFloat):
2855         (WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
2856         (WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions):
2857         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
2858         (WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
2859         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2860         (WebCore::HarfBuzzShaper::~HarfBuzzShaper):
2861         (WebCore::HarfBuzzShaper::setFontFeatures):
2862         (WebCore::HarfBuzzShaper::shape):
2863         (WebCore::HarfBuzzShaper::setupHarfBuzzRun):
2864         (WebCore::HarfBuzzShaper::shapeHarfBuzzRun):
2865         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
2866         (WebCore::HarfBuzzShaper::offsetForPosition):
2867         (WebCore::HarfBuzzShaper::selectionRect):
2868         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Added.
2869         (WebCore):
2870         (HarfBuzzShaper):
2871         (WebCore::HarfBuzzShaper::totalWidth):
2872         (HarfBuzzRun):
2873         (WebCore::HarfBuzzShaper::HarfBuzzRun::create):
2874         (WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth):
2875         (WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters):
2876         (WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs):
2877         (WebCore::HarfBuzzShaper::HarfBuzzRun::width):
2878         (WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
2879         * platform/graphics/mac/FontComplexTextMac.cpp:
2880         (WebCore):
2881         (WebCore::preferHarfBuzz): Added.
2882         (WebCore::Font::selectionRectForComplexText): Use HarfBuzzShaper if font-feature-settings exists.
2883         (WebCore::Font::drawComplexText): Ditto.
2884         (WebCore::Font::floatWidthForComplexText): Ditto.
2885         (WebCore::Font::offsetForPositionForComplexText): Ditto.
2886
2887 2012-06-05  Li Yin  <li.yin@intel.com>
2888
2889         IETC: FileList.item(-1) should return null instead of raising
2890         https://bugs.webkit.org/show_bug.cgi?id=77899
2891
2892         Reviewed by Kentaro Hara.
2893
2894         IETC: http://samples.msdn.microsoft.com/ietestcenter/fileapi/filelist.htm
2895         Accroding to http://es5.github.com/#x9.6
2896         When the index is negative, it should not raise exception.
2897         Firefox and IE returns null when there is not indexth File object.
2898
2899         Test: fast/files/file-list-test.html
2900
2901         * fileapi/FileList.idl:
2902
2903 2012-06-05  Adam Barth  <abarth@webkit.org>
2904
2905         EventHandler shouldn't dispatch fake mousemove events when scrolling on devices that don't have a mouse
2906         https://bugs.webkit.org/show_bug.cgi?id=88270
2907
2908         Reviewed by James Robinson.
2909
2910         This patch adds a setting analogous to deviceSupportsTouch to determine
2911         whether the device supports mouse. We then don't dispatch fake mouse
2912         events on devices that don't have a mouse in the first place.
2913
2914         Test: fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html
2915
2916         * page/EventHandler.cpp:
2917         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2918         * page/Settings.cpp:
2919         (WebCore::Settings::Settings):
2920         * page/Settings.h:
2921         (WebCore::Settings::setDeviceSupportsMouse):
2922         (WebCore::Settings::deviceSupportsMouse):
2923         (Settings):
2924         * testing/InternalSettings.cpp:
2925         (WebCore::InternalSettings::InternalSettings):
2926         (WebCore::InternalSettings::restoreTo):
2927         (WebCore::InternalSettings::setDeviceSupportsMouse):
2928         (WebCore):
2929         * testing/InternalSettings.h:
2930         (InternalSettings):
2931         * testing/InternalSettings.idl:
2932
2933 2012-06-04  Simon Fraser  <simon.fraser@apple.com>
2934
2935         Leaking ClipRects
2936         https://bugs.webkit.org/show_bug.cgi?id=88282
2937
2938         Reviewed by Dan Bernstein.
2939
2940         In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects
2941         was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also,
2942         there was a manual ref() in RenderLayer::updateClipRects() which this patch removes.
2943
2944         * rendering/RenderLayer.cpp:
2945         (WebCore::RenderLayer::updateClipRects):
2946         * rendering/RenderLayer.h:
2947         (WebCore::ClipRects::ClipRects):
2948
2949 2012-06-04  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
2950
2951         Add missing FractionalLayoutUnit += operator and move LineWidth to use all floats
2952         https://bugs.webkit.org/show_bug.cgi?id=88259
2953
2954         Reviewed by Ryosuke Niwa.
2955
2956         Fix two rounding bugs in LineLayout and RenderBlock that caused inlines
2957         and floats to wrap incorrectly.
2958
2959         Tests: fast/sub-pixel/float-containing-block-with-margin.html
2960                fast/sub-pixel/float-with-right-margin-zoom.html
2961                fast/sub-pixel/inline-block-with-padding.html
2962
2963         * platform/FractionalLayoutUnit.h:
2964         (WebCore::operator+=):
2965         Add missing float version of += operator thus avoiding a silent cast to
2966         int loosing precision.
2967         
2968         * rendering/RenderBlockLineLayout.cpp:
2969         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2970         (WebCore::LineWidth::updateAvailableWidth):
2971         Change LineWidth left/right to floating point and instead of rounding the
2972         left and right edge separately.
2973         
2974         * rendering/RenderFlexibleBox.cpp:
2975         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
2976         Use explicit cast to avoid compiler ambiguity warning.
2977
2978 2012-06-04  Tony Chang  <tony@chromium.org>
2979
2980         CSS property 'order' should be a number rather than an int
2981         https://bugs.webkit.org/show_bug.cgi?id=88111
2982
2983         Reviewed by Ojan Vafai.
2984
2985         This changed in the spec:
2986         http://dev.w3.org/csswg/css3-flexbox/#order
2987
2988         I also fixed the compile with CSS3_FLEXBOX disabled.
2989
2990         No new tests, covered by existing tests.
2991
2992         * css/CSSComputedStyleDeclaration.cpp:
2993         (WebCore):
2994         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2995         * css/CSSParser.cpp:
2996         (WebCore::CSSParser::parseValue):
2997         * css/CSSProperty.cpp: Parse as float, remove clamping for HashMap<int>.
2998         (WebCore::CSSProperty::isInheritedProperty):
2999         * css/StyleBuilder.cpp:
3000         (WebCore::StyleBuilder::StyleBuilder):
3001         * css/StyleResolver.cpp:
3002         (WebCore::StyleResolver::collectMatchingRulesForList):
3003         * rendering/RenderFlexibleBox.cpp: Remove traits for HashMap<int>.
3004         (RenderFlexibleBox::OrderIterator):
3005         * rendering/RenderFlexibleBox.h:
3006         * rendering/style/RenderStyle.h:
3007         * rendering/style/StyleRareNonInheritedData.h:
3008         (StyleRareNonInheritedData):
3009
3010 2012-06-04  Hugo Parente Lima  <hugo.lima@openbossa.org>
3011
3012         Turn LEGACY_VIEWPORT_ADAPTION USE flag into an ENABLE flag.
3013         https://bugs.webkit.org/show_bug.cgi?id=88243
3014
3015         Reviewed by Adam Barth.
3016
3017         No new tests needed, this just rename a compiler flag.
3018
3019         * dom/Document.cpp:
3020         (WebCore::Document::setDocType):
3021         * dom/ViewportArguments.h:
3022         * html/HTMLMetaElement.cpp:
3023         (WebCore::HTMLMetaElement::process):
3024
3025 2012-06-04  Dana Jansens  <danakj@chromium.org>
3026
3027         [chromium] Remove redundant setNeedsCommit when prepareToDraw fails
3028         https://bugs.webkit.org/show_bug.cgi?id=88246
3029
3030         Reviewed by James Robinson.
3031
3032         When prepareToDraw fails it explicitly calls setNeedsCommit, but the
3033         scheduler already takes care of this for it. When a frame is not
3034         successfully drawn, the scheduler state machine sets the needsCommit
3035         bit itself.
3036
3037         This behaviour is covered by CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
3038
3039         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3040         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3041
3042 2012-06-04  Takashi Toyoshima  <toyoshim@chromium.org>
3043
3044         [WebSocket] Send requires super linear time against data size
3045         https://bugs.webkit.org/show_bug.cgi?id=87383
3046
3047         Reviewed by Kent Tamura.
3048
3049         WebSocket send operation requires super linear time to send data
3050         against data size. This is because removing sent data in Vector<char>
3051         always requires data copy.
3052         Introduced wtf/StreamBuffer realizes O(n) buffer operations.
3053         This patch is only for optimization. No new tests are needed.
3054
3055         * platform/network/SocketStreamHandleBase.cpp:
3056         (WebCore::SocketStreamHandleBase::sendPendingData):
3057         * platform/network/SocketStreamHandleBase.h:
3058         (SocketStreamHandleBase):
3059
3060 2012-06-04  Tim Horton  <timothy_horton@apple.com>
3061
3062         Mock scrollbars differ by 1px in DRT vs. WKTR
3063         https://bugs.webkit.org/show_bug.cgi?id=80879
3064
3065         Rubber-stamped by Ryosuke Niwa.
3066
3067         Disable r119431 except for Apple Mac port.
3068
3069         * platform/ScrollbarThemeComposite.cpp:
3070         (WebCore::ScrollbarThemeComposite::thumbLength):
3071
3072 2012-06-04  Jeffrey Pfau  <jpfau@apple.com>
3073
3074         Document cleanup can get confused if parser still exists
3075         https://bugs.webkit.org/show_bug.cgi?id=88250
3076
3077         Reviewed by Geoffrey Garen.
3078
3079         No new tests; no behavior changes.
3080
3081         * dom/Document.cpp:
3082         (WebCore::Document::removedLastRef): Detach parser earlier
3083
3084 2012-06-04  Andrew Lo  <anlo@rim.com>
3085
3086         [BlackBerry] Split AnimationFrameRateController into its own file
3087         https://bugs.webkit.org/show_bug.cgi?id=88242
3088
3089         Reviewed by Antonio Gomes.
3090
3091         Include new header file to reflect re-organization of platform animation
3092         header files.
3093
3094         * platform/graphics/DisplayRefreshMonitor.h:
3095
3096 2012-06-04  Dana Jansens  <danakj@chromium.org>
3097
3098         [chromium] Allow CCLayerImpl to find its layer tree host, and use this for CCVideoLayerImpl instead of always-null pointer.
3099         https://bugs.webkit.org/show_bug.cgi?id=88252
3100
3101         Reviewed by James Robinson.
3102
3103         CCVideoLayerImpl has a pointer to its CCLayerTreeHostImpl which is never
3104         set to be non-null currently. Instead of making this a special case, we
3105         move the CCLayerTreeHostImpl* up to the CCLayerImpl base class, and set
3106         the pointer on every layer during commit via the TreeSynchronizer's walk
3107         through the layer tree.
3108
3109         Unit tests: Tested by TreeSynchronizer tests.
3110
3111         * platform/graphics/chromium/TreeSynchronizer.cpp:
3112         (WebCore::TreeSynchronizer::synchronizeTrees):
3113         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
3114         * platform/graphics/chromium/TreeSynchronizer.h:
3115         (WebCore):
3116         (TreeSynchronizer):
3117         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3118         (WebCore::CCLayerImpl::CCLayerImpl):
3119         * platform/graphics/chromium/cc/CCLayerImpl.h:
3120         (WebCore):
3121         (WebCore::CCLayerImpl::layerTreeHostImpl):
3122         (WebCore::CCLayerImpl::setLayerTreeHostImpl):
3123         (CCLayerImpl):
3124         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3125         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3126         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3127         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
3128         (WebCore::CCVideoLayerImpl::setNeedsRedraw):
3129         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3130
3131 2012-06-04  Tim Horton  <timothy_horton@apple.com>
3132
3133         Mock scrollbars differ by 1px in DRT vs. WKTR
3134         https://bugs.webkit.org/show_bug.cgi?id=80879
3135
3136         Reviewed by Simon Fraser.
3137
3138         Round the length of the scrollbar thumb instead of truncating it.
3139
3140         No new tests, fixes a mismatch between pixel results from DRT and WKTR.
3141         Change is covered by all existing tests with scrollbars run with low tolerance.
3142
3143         * platform/ScrollbarThemeComposite.cpp:
3144         (WebCore::ScrollbarThemeComposite::thumbLength):
3145
3146 2012-06-04  Anders Carlsson  <andersca@apple.com>
3147
3148         Fix an unused result warning when building with clang.
3149
3150         * platform/cf/BinaryPropertyList.cpp:
3151         (WebCore::BinaryPropertyListWriter::writePropertyList):
3152
3153 2012-06-04  Ami Fischman  <fischman@chromium.org>
3154
3155         Don't crash when re-parenting a removed HTMLMediaElement
3156         https://bugs.webkit.org/show_bug.cgi?id=88058
3157
3158         Reviewed by Eric Carlson.
3159
3160         Test: media/media-reparent.html
3161
3162         * html/HTMLMediaElement.cpp:
3163         (WebCore::HTMLMediaElement::userCancelledLoad): Clear the pending load flags because any pending load has been cancelled.
3164
3165 2012-06-04  Sheriff Bot  <webkit.review.bot@gmail.com>
3166
3167         Unreviewed, rolling out r119421 and r119425.
3168         http://trac.webkit.org/changeset/119421
3169         http://trac.webkit.org/changeset/119425
3170         https://bugs.webkit.org/show_bug.cgi?id=88256
3171
3172         not reliable, let's have a do-over (Requested by kling on
3173         #webkit).
3174
3175         * dom/Element.cpp:
3176         (WebCore::Element::detachAttribute):
3177         (WebCore::Element::removeAttribute):
3178         (WebCore::Element::attributes):
3179         (WebCore::Element::setAttributeInternal):
3180         (WebCore::Element::parserSetAttributes):
3181         (WebCore::Element::hasEquivalentAttributes):
3182         (WebCore::Element::createAttributeData):
3183         (WebCore):
3184         (WebCore::Element::setAttributeNode):
3185         (WebCore::Element::removeAttributeNode):
3186         (WebCore::Element::getAttributeNode):
3187         (WebCore::Element::getAttributeNodeNS):
3188         (WebCore::Element::hasAttribute):
3189         (WebCore::Element::hasAttributeNS):
3190         (WebCore::Element::normalizeAttributes):
3191         (WebCore::Element::cloneAttributesFromElement):
3192         * dom/Element.h:
3193         (WebCore::Element::attributeData):
3194         (Element):
3195         (WebCore::Element::ensureAttributeData):
3196         (WebCore::Element::updatedAttributeData):
3197         (WebCore::Element::ensureUpdatedAttributeData):
3198         * dom/ElementAttributeData.cpp:
3199         (WebCore::ElementAttributeData::attrIfExists):
3200         (WebCore::ElementAttributeData::ensureAttr):
3201         (WebCore::ElementAttributeData::setAttr):
3202         (WebCore::ElementAttributeData::removeAttr):
3203         (WebCore::ElementAttributeData::setClass):
3204         (WebCore):
3205         (WebCore::ElementAttributeData::ensureInlineStyle):
3206         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
3207         (WebCore::ElementAttributeData::destroyInlineStyle):
3208         (WebCore::ElementAttributeData::addAttribute):
3209         (WebCore::ElementAttributeData::removeAttribute):
3210         (WebCore::ElementAttributeData::isEquivalent):
3211         (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
3212         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
3213         (WebCore::ElementAttributeData::cloneDataFrom):
3214         (WebCore::ElementAttributeData::clearAttributes):
3215         (WebCore::ElementAttributeData::replaceAttribute):
3216         (WebCore::ElementAttributeData::getAttributeNode):
3217         * dom/ElementAttributeData.h:
3218         (WebCore::ElementAttributeData::create):
3219         (ElementAttributeData):
3220         (WebCore::ElementAttributeData::setIdForStyleResolution):
3221         (WebCore::ElementAttributeData::setAttributeStyle):
3222         (WebCore::ElementAttributeData::length):
3223         (WebCore::ElementAttributeData::isEmpty):
3224         (WebCore::ElementAttributeData::attributeItem):
3225         (WebCore::ElementAttributeData::getAttributeItem):
3226         (WebCore::ElementAttributeData::ElementAttributeData):
3227         (WebCore::ElementAttributeData::attributeVector):
3228         (WebCore::ElementAttributeData::clonedAttributeVector):
3229         (WebCore::ElementAttributeData::getAttributeItemIndex):
3230         * dom/StyledElement.cpp:
3231         (WebCore::StyledElement::style):
3232         (WebCore::StyledElement::classAttributeChanged):
3233         (WebCore::StyledElement::removeInlineStyleProperty):
3234         (WebCore::StyledElement::addSubresourceAttributeURLs):
3235         * html/parser/HTMLConstructionSite.cpp:
3236         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3237         * xml/parser/XMLDocumentParserQt.cpp:
3238         (WebCore::XMLDocumentParser::XMLDocumentParser):
3239
3240 2012-06-04  Andreas Kling  <kling@webkit.org>
3241
3242         Unreviewed build fixes for cr-android and Qt.
3243
3244         * dom/ElementAttributeData.h:
3245         (WebCore::ElementAttributeData::setClass):
3246         Change ElementAttributeData::setClass() to take an AtomicString instead of a String.
3247         The only call site has an AtomicString anyway.
3248         * xml/parser/XMLDocumentParserQt.cpp:
3249         (WebCore::XMLDocumentParser::XMLDocumentParser): Add missing const.
3250
3251 2012-06-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3252
3253         [chromium] Fix software rendering for device-scale-factor > 1
3254         https://bugs.webkit.org/show_bug.cgi?id=88136
3255
3256         Reviewed by Darin Fisher.
3257
3258         Test: fast/hidpi/device-scale-factor-paint.html
3259
3260         * WebCore.exp.in:
3261         * testing/InternalSettings.cpp:
3262         (WebCore::InternalSettings::setDeviceScaleFactor):
3263         (WebCore):
3264         * testing/InternalSettings.h:
3265         (InternalSettings):
3266         * testing/InternalSettings.idl:
3267
3268 2012-06-04  Andreas Kling  <kling@webkit.org>
3269
3270         Make ElementAttributeData a variable-sized object to reduce memory use.
3271         <http://webkit.org/b/88240>
3272
3273         Reviewed by Antti Koivisto.
3274
3275         Take advantage of the fact that we know at ElementAttributeData construction time how many attributes
3276         it needs to accomodate and allocate exactly as much space as needed instead of using a Vector.
3277         For elements that never have their attribute list mutated (the vast majority), this saves a lot of
3278         memory and removes the indirection to Vector<Attribute>'s heap-allocated storage.
3279
3280         Introduced a mutability flag to ElementAttributeData and sprinkled assertions all over to make sure
3281         that nothing tries to mutate an element with a raw attribute array.
3282
3283         When an Element's attribute(s) are mutated, we reconstruct the ElementAttributeData, this time using
3284         a Vector as backing instead. This is triggered when calling Element::mutableAttributeData().
3285
3286         This reduces memory consumption by 3.2MB when viewing the full HTML5 spec at <http://whatwg.org/c/>.
3287         This is a 35% reduction in DOM attribute memory use.
3288
3289         Furthermore, that page ends up promoting 27% of the elements to mutable attribute storage due to dynamic
3290         adding of "class" attributes. For more static pages, savings are even greater.
3291
3292         * dom/Element.cpp:
3293         (WebCore::Element::detachAttribute):
3294         (WebCore::Element::removeAttribute):
3295         (WebCore::Element::attributes):
3296         (WebCore::Element::setAttributeInternal):
3297         (WebCore::Element::parserSetAttributes):
3298         (WebCore::Element::hasEquivalentAttributes):
3299         (WebCore::Element::setAttributeNode):
3300         (WebCore::Element::removeAttributeNode):
3301         (WebCore::Element::getAttributeNode):
3302         (WebCore::Element::getAttributeNodeNS):
3303         (WebCore::Element::hasAttribute):
3304         (WebCore::Element::hasAttributeNS):
3305         (WebCore::Element::normalizeAttributes):
3306         (WebCore::Element::cloneAttributesFromElement):
3307         (WebCore::Element::createMutableAttributeData):
3308         * dom/Element.h:
3309         (WebCore::Element::attributeData):
3310         (Element):
3311         (WebCore::Element::updatedAttributeData):
3312         (WebCore::Element::ensureAttributeData):
3313         (WebCore::Element::ensureUpdatedAttributeData):
3314         (WebCore::Element::mutableAttributeData):
3315         * dom/ElementAttributeData.cpp:
3316         (WebCore::ElementAttributeData::createImmutable):
3317         (WebCore::ElementAttributeData::ElementAttributeData):
3318         (WebCore::ElementAttributeData::~ElementAttributeData):
3319         (WebCore::ElementAttributeData::attrIfExists):
3320         (WebCore::ElementAttributeData::ensureAttr):
3321         (WebCore::ElementAttributeData::setAttr):
3322         (WebCore::ElementAttributeData::removeAttr):
3323         (WebCore::ElementAttributeData::ensureInlineStyle):
3324         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
3325         (WebCore::ElementAttributeData::destroyInlineStyle):
3326         (WebCore::ElementAttributeData::addAttribute):
3327         (WebCore::ElementAttributeData::removeAttribute):
3328         (WebCore::ElementAttributeData::isEquivalent):
3329         (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
3330         (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
3331         (WebCore::ElementAttributeData::cloneDataFrom):
3332         (WebCore::ElementAttributeData::clearAttributes):
3333         (WebCore::ElementAttributeData::replaceAttribute):
3334         (WebCore::ElementAttributeData::getAttributeNode):
3335         * dom/ElementAttributeData.h:
3336         (ElementAttributeData):
3337         (WebCore::ElementAttributeData::setClass):
3338         (WebCore::ElementAttributeData::setIdForStyleResolution):
3339         (WebCore::ElementAttributeData::inlineStyle):
3340         (WebCore::ElementAttributeData::setAttributeStyle):
3341         (WebCore::ElementAttributeData::isMutable):
3342         (WebCore::ElementAttributeData::makeMutable):
3343         (WebCore::ElementAttributeData::length):
3344         (WebCore::ElementAttributeData::isEmpty):
3345         (WebCore::ElementAttributeData::array):
3346         (WebCore::ElementAttributeData::attributeItem):
3347         (WebCore::ElementAttributeData::getAttributeItem):
3348         (WebCore::ElementAttributeData::getAttributeItemIndex):
3349         * dom/StyledElement.cpp:
3350         (WebCore::StyledElement::style):
3351         (WebCore::StyledElement::classAttributeChanged):
3352         (WebCore::StyledElement::removeInlineStyleProperty):
3353         (WebCore::StyledElement::addSubresourceAttributeURLs):
3354         * html/parser/HTMLConstructionSite.cpp:
3355         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
3356         * xml/parser/XMLDocumentParserQt.cpp:
3357         (WebCore::XMLDocumentParser::XMLDocumentParser):
3358
3359 2012-06-04  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3360
3361         [chromium] Combobox options and autofill options should not be scaled for device-scale factor
3362         https://bugs.webkit.org/show_bug.cgi?id=87921
3363
3364         Reviewed by Darin Fisher.
3365
3366         Chrome takes care of scaling the combobox/autofill lists in the browser side. So it is not
3367         necessary to scale here. This change reverts parts of changes in r111539.
3368
3369         Manually tested with different scale factors.
3370
3371         * platform/chromium/PopupListBox.cpp:
3372         (WebCore::PopupListBox::paint):
3373         (WebCore::PopupListBox::paintRow):
3374         (WebCore::PopupListBox::getRowHeight):
3375         * platform/chromium/PopupListBox.h:
3376         (PopupContainerSettings):
3377         * platform/chromium/PopupMenuChromium.cpp:
3378         (WebCore::PopupMenuChromium::show):
3379         * rendering/RenderMenuList.cpp:
3380         (WebCore::RenderMenuList::showPopup):
3381
3382 2012-06-04  Dana Jansens  <danakj@chromium.org>
3383
3384         [chromium] Make LayerRendererChromium use RenderPasses instead of RenderSurfaces
3385         https://bugs.webkit.org/show_bug.cgi?id=88132
3386
3387         Reviewed by Adrienne Walker.
3388
3389         This patch is partly renaming, partly moving data into CCRenderPass
3390         and CCRenderPassDrawQuad. LayerRendererChromium should accept as input
3391         a set of RenderPasses and this should be sufficient for drawing. It
3392         should have no notion of RenderSurfaces at all.
3393
3394         First, what isn't done: RenderSurfaces still hold the textures
3395         where RenderPasses are drawn to/from, so that these textures can
3396         persist across frames. This will be addressed separately.
3397
3398         Otherwise, this completely removes the concept of RenderSurface from
3399         LayerRenderChromium and the CCDrawQuad, replacing it with RenderPass.
3400         The "renderSurfaceTextureManager" is renamed to the "implTextureManager"
3401         and like-wise for the TextureAllocator, as these are not used
3402         exclusively for render surfaces (passes), and a texture manager for
3403         render passes that does not require a RenderSurface* will be the focus
3404         of future changes.
3405
3406         Covered by existing tests.
3407
3408         * WebCore.gypi:
3409         * platform/graphics/chromium/LayerRendererChromium.cpp:
3410         (WebCore::LayerRendererChromium::LayerRendererChromium):
3411         (WebCore::LayerRendererChromium::setVisible):
3412         (WebCore::LayerRendererChromium::releaseRenderPassTextures):
3413         (WebCore::LayerRendererChromium::viewportChanged):
3414         (WebCore::LayerRendererChromium::clearRenderPass):
3415         (WebCore::LayerRendererChromium::beginDrawingFrame):
3416         (WebCore::LayerRendererChromium::drawRenderPass):
3417         (WebCore::LayerRendererChromium::drawQuad):
3418         (WebCore::LayerRendererChromium::drawBackgroundFilters):
3419         (WebCore::LayerRendererChromium::drawRenderPassQuad):
3420         (WebCore::LayerRendererChromium::copyPlaneToTexture):
3421         (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
3422         (WebCore::LayerRendererChromium::finishDrawingFrame):
3423         (WebCore::LayerRendererChromium::copyTextureToFramebuffer):
3424         (WebCore::LayerRendererChromium::getFramebufferTexture):
3425         (WebCore::LayerRendererChromium::isCurrentRenderPass):
3426         (WebCore::LayerRendererChromium::useRenderPass):
3427         (WebCore::LayerRendererChromium::useManagedTexture):
3428         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
3429         (WebCore::LayerRendererChromium::setScissorToRect):
3430         (WebCore::LayerRendererChromium::setDrawFramebufferRect):
3431         (WebCore::LayerRendererChromium::initializeSharedObjects):
3432         (WebCore::LayerRendererChromium::renderPassProgram):
3433         (WebCore::LayerRendererChromium::renderPassProgramAA):
3434         (WebCore::LayerRendererChromium::renderPassMaskProgram):
3435         (WebCore::LayerRendererChromium::renderPassMaskProgramAA):
3436         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3437         * platform/graphics/chromium/LayerRendererChromium.h:
3438         (WebCore):
3439         (LayerRendererChromium):
3440         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
3441         (WebCore::CCDrawQuad::toRenderPassDrawQuad):
3442         * platform/graphics/chromium/cc/CCDrawQuad.h:
3443         (WebCore):
3444         (CCDrawQuad):
3445         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3446         (WebCore::CCHeadsUpDisplay::draw):
3447         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3448         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3449         (WebCore::CCLayerTreeHostImpl::drawLayers):
3450         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3451         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3452         (WebCore::CCRenderPass::CCRenderPass):
3453         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
3454         * platform/graphics/chromium/cc/CCRenderPass.h:
3455         (CCRenderPass):
3456         (WebCore::CCRenderPass::framebufferOutputRect):
3457         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp.
3458         (WebCore):
3459         (WebCore::CCRenderPassDrawQuad::create):
3460         (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
3461         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h.
3462         (WebCore):