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