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