403d8fb5923f8f26b8c5377016bc9fe7ed3ed245
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-15  Jeff Timanus  <twiz@chromium.org>
2
3         Patch removing duplicated code in the setup of the DrawingBuffer used
4         to host the back-buffer for WebGL contents.
5         https://bugs.webkit.org/show_bug.cgi?id=72327
6
7         Reviewed by Kenneth Russell.
8
9         * html/canvas/WebGLRenderingContext.cpp:
10         (WebCore::WebGLRenderingContext::copyTexImage2D):
11         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
12         (WebCore::WebGLRenderingContext::readPixels):
13
14 2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
15
16         JS DOM wrappers depend on destructor to deref impl RefPtrs
17         https://bugs.webkit.org/show_bug.cgi?id=72341
18
19         Reviewed by Sam Weinig.
20
21         No new tests.
22
23         Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default 
24         wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.
25
26         * bindings/js/JSCSSValueCustom.cpp:
27         (WebCore::JSCSSValueOwner::finalize):
28         * bindings/js/JSDOMBinding.h:
29         * bindings/js/JSNodeCustom.cpp:
30         (WebCore::JSNodeOwner::finalize):
31         * bindings/scripts/CodeGeneratorJS.pm:
32         (GenerateHeader):
33         (GenerateImplementation):
34
35 2011-11-15  Joseph Pecoraro  <pecoraro@apple.com>
36
37         Web Inspector: Share Highlight Code for Drawing Outlined Quad
38         https://bugs.webkit.org/show_bug.cgi?id=72451
39
40         Reviewed by Timothy Hatcher.
41
42         * inspector/DOMNodeHighlighter.cpp:
43
44 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
45
46         Unreviewed, rolling out r100308.
47         http://trac.webkit.org/changeset/100308
48         https://bugs.webkit.org/show_bug.cgi?id=72450
49
50         Introduces WebGL conformance test regressions. (Requested by
51         twiz on #webkit).
52
53         * html/canvas/WebGLRenderingContext.cpp:
54         (WebCore::WebGLRenderingContext::copyTexImage2D):
55         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
56         (WebCore::WebGLRenderingContext::readPixels):
57
58 2011-11-15  James Robinson  <jamesr@chromium.org>
59
60         Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
61         TiledLayerChromium::updateCompositorResources()
62
63         * WebCore.gypi:
64         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
65         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
66         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
67         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
68         * platform/graphics/chromium/ContentLayerChromium.cpp:
69         (WebCore::ContentLayerChromium::createTextureUpdater):
70         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
71         * platform/graphics/chromium/ImageLayerChromium.cpp:
72         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
73         * platform/graphics/chromium/LayerRendererChromium.cpp:
74         * platform/graphics/chromium/LayerTextureUpdater.h:
75         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
76         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
77         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
78         (WebCore::FrameBuffer::FrameBuffer::initialize):
79         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
80         (WebCore::LayerTextureUpdaterCanvas::paintContents):
81         (WebCore::LayerTextureUpdaterBitmap::create):
82         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
83         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
84         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
85         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
86         (WebCore::LayerTextureUpdaterSkPicture::create):
87         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
88         (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
89         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
90         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
91         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
92         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
93         (WebCore::LayerTextureUpdaterCanvas::contentRect):
94         (WebCore::LayerTextureUpdaterBitmap::orientation):
95         (WebCore::LayerTextureUpdaterSkPicture::orientation):
96         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
97         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
98         * platform/graphics/chromium/TiledLayerChromium.cpp:
99         (WebCore::UpdatableTile::UpdatableTile):
100         (WebCore::UpdatableTile::texture):
101         (WebCore::TiledLayerChromium::updateCompositorResources):
102         (WebCore::TiledLayerChromium::pushPropertiesTo):
103         (WebCore::TiledLayerChromium::createTile):
104         (WebCore::TiledLayerChromium::protectTileTextures):
105         (WebCore::TiledLayerChromium::prepareToUpdate):
106         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
107         (WebCore::CCTextureUpdater::append):
108         (WebCore::CCTextureUpdater::update):
109         * platform/graphics/chromium/cc/CCTextureUpdater.h:
110
111 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
112
113         Add the needed plumbing to parse display: -webkit-inline-grid
114         https://bugs.webkit.org/show_bug.cgi?id=72438
115
116         Reviewed by Tony Chang.
117
118         Test: fast/css-grid-layout/display-grid-set-get.html
119
120         Added the needed constants and plugged everything together.
121         Again we treat display: -webkit-inline-grid like display: none
122         for the moment.
123
124         * css/CSSParser.cpp:
125         (WebCore::CSSParser::parseValue):
126         * css/CSSPrimitiveValueMappings.h:
127         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
128         * css/CSSValueKeywords.in:
129         * rendering/RenderObject.cpp:
130         (WebCore::RenderObject::createObject):
131         * rendering/style/RenderStyleConstants.h:
132
133 2011-11-15  W. James MacLean  <wjmaclean@chromium.org>
134
135         [chromium] Move setVisibleRect() calls into calculateDrawTransformAndVisibility()
136         https://bugs.webkit.org/show_bug.cgi?id=72162
137
138         Reviewed by Kenneth Russell.
139
140         Refactoring of existing functionality, so uses existing tests.
141
142         * platform/graphics/chromium/LayerRendererChromium.cpp:
143         (WebCore::LayerRendererChromium::drawLayer):
144         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
145         (WebCore::paintContentsIfDirty):
146         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
147         (WebCore::CCLayerTreeHost::paintLayerContents):
148         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
149         (WebCore::walkLayersAndCalculateVisibleLayerRects):
150         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
151
152 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
153
154         Unreviewed, rolling out r100340.
155         http://trac.webkit.org/changeset/100340
156         https://bugs.webkit.org/show_bug.cgi?id=72448
157
158         Caused assertion failure in Win dbg canary. (Requested by
159         pkasting on #webkit).
160
161         * platform/graphics/chromium/LayerRendererChromium.cpp:
162         (WebCore::LayerRendererChromium::LayerRendererChromium):
163         (WebCore::LayerRendererChromium::viewportChanged):
164         (WebCore::LayerRendererChromium::drawLayersInternal):
165         * platform/graphics/chromium/LayerRendererChromium.h:
166
167 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
168
169         Switch table indexing to unsigned
170         https://bugs.webkit.org/show_bug.cgi?id=72083
171
172         Reviewed by Darin Adler.
173
174         No expected change in behavior.
175
176         All of the code is now using unsigned for indexing!
177
178         * rendering/FixedTableLayout.cpp:
179         (WebCore::FixedTableLayout::layout):
180         * rendering/RenderTable.cpp:
181         (WebCore::RenderTable::colElement):
182         (WebCore::RenderTable::cellAbove):
183         * rendering/RenderTableSection.cpp:
184         (WebCore::RenderTableSection::splitColumn):
185         Added some ASSERTs to make sure we don't underflow. Looking at how
186         the different variables are populated, they should not be reached.
187
188         * rendering/RenderTableCell.cpp:
189         (WebCore::RenderTableCell::colSpan):
190         (WebCore::RenderTableCell::rowSpan):
191         Those 2 functions promotes HTMLTableCellElement's int to unsigned
192         which should be fine as we make sure their are positive. Also HTML5
193         makes those 2 fields "unsigned long" which goes in the same direction.
194
195         * rendering/AutoTableLayout.cpp:
196         (WebCore::AutoTableLayout::layout):
197         * rendering/RenderTableSection.cpp:
198         (WebCore::RenderTableSection::nodeAtPoint):
199         Rewrote a couple of reverse iterating to be able to use unsigned
200         without overflowing.
201
202         * rendering/AutoTableLayout.cpp:
203         (WebCore::AutoTableLayout::recalcColumn):
204         (WebCore::AutoTableLayout::fullRecalc):
205         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
206         (WebCore::AutoTableLayout::insertSpanCell):
207         * rendering/AutoTableLayout.h:
208         * rendering/FixedTableLayout.cpp:
209         (WebCore::FixedTableLayout::calcWidthArray):
210         * rendering/RenderTable.cpp:
211         (WebCore::RenderTable::splitColumn):
212         (WebCore::RenderTable::appendColumn):
213         (WebCore::RenderTable::recalcSections):
214         * rendering/RenderTable.h:
215         (WebCore::RenderTable::getColumnPos):
216         (WebCore::RenderTable::spanOfEffCol):
217         (WebCore::RenderTable::effColToCol):
218         * rendering/RenderTableCell.cpp:
219         (WebCore::RenderTableCell::styleOrColLogicalWidth):
220         (WebCore::CollapsedBorders::nextBorder):
221         * rendering/RenderTableCell.h:
222         * rendering/RenderTableCol.cpp:
223         (WebCore::RenderTableCol::updateFromElement):
224         * rendering/RenderTableCol.h:
225         (WebCore::RenderTableCol::span):
226         (WebCore::RenderTableCol::setSpan):
227         * rendering/RenderTableSection.cpp:
228         (WebCore::RenderTableSection::addCell):
229         (WebCore::RenderTableSection::setCellLogicalWidths):
230         (WebCore::RenderTableSection::layoutRows):
231         (WebCore::RenderTableSection::calcOuterBorderBefore):
232         (WebCore::RenderTableSection::calcOuterBorderAfter):
233         (WebCore::RenderTableSection::calcOuterBorderStart):
234         (WebCore::RenderTableSection::calcOuterBorderEnd):
235         (WebCore::RenderTableSection::paintObject):
236         (WebCore::RenderTableSection::appendColumn):
237         * rendering/RenderTableSection.h:
238         (WebCore::RenderTableSection::cellAt):
239         (WebCore::RenderTableSection::primaryCellAt):
240         (WebCore::RenderTableSection::getBaseline):
241         Mechanical change int -> unsigned.
242
243 2011-11-15  Andy Estes  <aestes@apple.com>
244
245         Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
246         https://bugs.webkit.org/show_bug.cgi?id=72106
247
248         Reviewed by Anders Carlsson.
249
250         Add a class that encapsulates the logic of scheduling, enabling and
251         invalidating a run loop observer that fires before Core Animation's
252         commit observer. Clients can subclass LayerFlushSchedulerClient and
253         implement flushLayers(), which will be called by the observer.
254
255         * WebCore.exp.in:
256         * WebCore.xcodeproj/project.pbxproj:
257         * platform/graphics/ca/LayerFlushScheduler.cpp: Added.
258         (WebCore::LayerFlushScheduler::suspend): Suspend scheduling by
259         invalidating the run loop observer. Keep a count of calls to suspend()
260         in m_suspendCount.
261         (WebCore::LayerFlushScheduler::resume): Decrement m_suspendCount.
262         Install the run loop observer when it reaches 0.
263         * platform/graphics/ca/LayerFlushSchedulerClient.h: Added.
264         (WebCore::LayerFlushSchedulerClient::~LayerFlushSchedulerClient):
265         * platform/graphics/ca/LayerFlushScheduler.h: Added.
266         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: Added.
267         (LayerFlushScheduler::LayerFlushScheduler):
268         (LayerFlushScheduler::~LayerFlushScheduler):
269         (LayerFlushScheduler::runLoopObserverCallback): Call flushLayers() on
270         the LayerFlushSchedulerClient.
271         (LayerFlushScheduler::schedule): Install the run loop observer.
272         (LayerFlushScheduler::invalidate): Remove the run loop
273         observer if it is installed.
274
275 2011-11-15  Adam Klein  <adamk@chromium.org>
276
277         [v8] Use throwError instead of compiling and running script in handleMaxRecursionDepthExceeded
278         https://bugs.webkit.org/show_bug.cgi?id=72432
279
280         Reviewed by Adam Barth.
281
282         * bindings/v8/V8Proxy.cpp:
283         (WebCore::handleMaxRecursionDepthExceeded):
284
285 2011-11-15  Vincent Scheib  <scheib@chromium.org>
286
287         Pointer Lock: Refactoring: PointerLock.idl: Dropping webkit prefix
288         https://bugs.webkit.org/show_bug.cgi?id=72431
289
290         Reviewed by Adam Barth.
291
292         * page/PointerLock.cpp:
293         (WebCore::PointerLock::lock):
294         (WebCore::PointerLock::unlock):
295         (WebCore::PointerLock::isLocked):
296         * page/PointerLock.h:
297         * page/PointerLock.idl:
298
299 2011-11-15  Nat Duca  <nduca@chromium.org>
300
301         [chromium] Fuse MainThread and CCThread
302         https://bugs.webkit.org/show_bug.cgi?id=72426
303
304         Reviewed by James Robinson.
305
306         * WebCore.gypi:
307         * platform/graphics/chromium/LayerRendererChromium.cpp:
308         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
309         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
310         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
311         * platform/graphics/chromium/cc/CCMainThread.cpp: Removed.
312         * platform/graphics/chromium/cc/CCMainThread.h: Removed.
313         * platform/graphics/chromium/cc/CCMainThreadTask.h: Removed.
314         * platform/graphics/chromium/cc/CCProxy.cpp:
315         (WebCore::CCProxy::setMainThread):
316         (WebCore::CCProxy::mainThread):
317         (WebCore::CCProxy::setImplThread):
318         (WebCore::CCProxy::implThread):
319         (WebCore::CCProxy::isMainThread):
320         (WebCore::CCProxy::isImplThread):
321         (WebCore::CCProxy::~CCProxy):
322         * platform/graphics/chromium/cc/CCProxy.h:
323         * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCScopedMainThreadProxy.h.
324         (WebCore::CCScopedThreadProxy::create):
325         (WebCore::CCScopedThreadProxy::postTask):
326         (WebCore::CCScopedThreadProxy::shutdown):
327         (WebCore::CCScopedThreadProxy::CCScopedThreadProxy):
328         (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
329         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
330         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
331         (WebCore::CCThreadProxy::CCThreadProxy):
332         (WebCore::CCThreadProxy::compositeAndReadback):
333         (WebCore::CCThreadProxy::finishAllRendering):
334         (WebCore::CCThreadProxy::initializeLayerRenderer):
335         (WebCore::CCThreadProxy::setNeedsAnimate):
336         (WebCore::CCThreadProxy::setNeedsCommit):
337         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
338         (WebCore::CCThreadProxy::setNeedsRedraw):
339         (WebCore::CCThreadProxy::setVisible):
340         (WebCore::CCThreadProxy::start):
341         (WebCore::CCThreadProxy::stop):
342         (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
343         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
344         (WebCore::CCThreadProxy::beginFrameAndCommit):
345         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
346         (WebCore::CCThreadProxy::initializeImplOnImplThread):
347         * platform/graphics/chromium/cc/CCThreadProxy.h:
348
349 2011-11-15  Vincent Scheib  <scheib@chromium.org>
350
351         Pointer Lock: Refactor: MouseEvent.idl movementX/Y
352         https://bugs.webkit.org/show_bug.cgi?id=72427
353
354         - [Conditional...] vs #if defined
355         - Runtime enabled
356         - .movementX/Y prefixed with 'webkit'
357
358         Reviewed by Adam Barth.
359
360         No new tests.
361
362         * bindings/generic/RuntimeEnabledFeatures.h:
363         (WebCore::RuntimeEnabledFeatures::webkitMovementXEnabled):
364         (WebCore::RuntimeEnabledFeatures::webkitMovementYEnabled):
365         * dom/MouseEvent.idl:
366         * dom/MouseRelatedEvent.h:
367         (WebCore::MouseRelatedEvent::webkitMovementX):
368         (WebCore::MouseRelatedEvent::webkitMovementY):
369
370 2011-10-28  Ojan Vafai  <ojan@chromium.org>
371
372         implement flex-align for flex-flow: column
373         https://bugs.webkit.org/show_bug.cgi?id=70754
374
375         Reviewed by David Hyatt.
376
377         Tests: css3/flexbox/flex-align-column.html
378                css3/flexbox/line-wrapping.html
379
380         * rendering/RenderBox.cpp:
381         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
382         When flexitems are column, they should size to the intrinsic width unless flex-flow is stretch.
383
384         * rendering/RenderFlexibleBox.cpp:
385         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
386         This was just using the wrong, non-flow-aware method.
387
388 2011-11-15  Jochen Eisinger  <jochen@chromium.org>
389
390         Rename ReferrerPolicy to clarify its meaning
391         https://bugs.webkit.org/show_bug.cgi?id=72420
392
393         Reviewed by Nate Chapin.
394
395         On the one hand, even if the ReferrerPolicy was set to SendReferrer, the
396         referrer wasn't necessarily send. On the other hand, I want to use the
397         name ReferrerPolicy when implementing the meta referrer tag.
398
399         No change in behavior expected so no test.
400
401         * html/HTMLAnchorElement.cpp:
402         (WebCore::HTMLAnchorElement::handleClick):
403         (WebCore::handleLinkClick):
404         * loader/FrameLoader.cpp:
405         (WebCore::FrameLoader::changeLocation):
406         (WebCore::FrameLoader::urlSelected):
407         (WebCore::FrameLoader::loadFrameRequest):
408         * loader/FrameLoader.h:
409         * loader/FrameLoaderTypes.h:
410         * loader/NavigationScheduler.cpp:
411         (WebCore::ScheduledHistoryNavigation::fire):
412         (WebCore::ScheduledFormSubmission::fire):
413         * page/ContextMenuController.cpp:
414         (WebCore::openNewWindow):
415         (WebCore::ContextMenuController::contextMenuItemSelected):
416         * WebCore.exp.in: updated.
417
418 2011-11-15  Adam Klein  <adamk@chromium.org>
419
420         Factor out V8Proxy's max recursion depth handling code
421         https://bugs.webkit.org/show_bug.cgi?id=72422
422
423         Reviewed by Nate Chapin.
424
425         Previously, V8Proxy used slightly different code to handle stack limit
426         violations depending on whether they occured in runScript or
427         callFunction. As described in http://webkit.org/b/72063, I intend to
428         expand the usage of m_recursion when calling into script. This patch
429         is intended to unify the existing handling code, making it easier to
430         move elsewhere without causing unintended side-effects.
431
432         No tests changed, as the only change in behavior is the string passed
433         to RangeError in the runScript case, and it's not mentioned anywhere
434         in the LayoutTests.
435
436         * bindings/v8/V8Proxy.cpp:
437         (WebCore::handleMaxRecursionDepthExceeded):
438         (WebCore::V8Proxy::runScript): Use callFunction's factored-out code.
439         (WebCore::V8Proxy::callFunction): Simplify and factor out code into handleMaxRecursionDepthExceeded.
440
441 2011-11-15  Jessie Berlin  <jberlin@apple.com>
442
443         NSURLRequest leak beneath ResourceRequest::setStorageSession seen on Leaks bot.
444         https://bugs.webkit.org/show_bug.cgi?id=72419
445
446         Reviewed by Adam Roben.
447
448         Adopt the copied NSURLRequest.
449
450         * platform/network/mac/ResourceRequestMac.mm:
451         (WebCore::ResourceRequest::setStorageSession):
452
453 2011-11-15  John Bates  <jbates@google.com>
454
455         Page/layer flashes after GPU-accelerated CSS transition
456         https://bugs.webkit.org/show_bug.cgi?id=72343
457
458         LayerRendererChromium was resizing the window to 1x1 at initialization.
459         In some cases, there is no drawLayers before switching back to
460         software rendering. This left the window resized to 1x1 and the
461         following software paints would therefore not be visible. This change
462         moves the reshape call into drawLayers so that it will only be called
463         if rendering will occur.
464
465         Reviewed by James Robinson.
466
467         New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
468
469         * platform/graphics/chromium/LayerRendererChromium.cpp:
470         (WebCore::LayerRendererChromium::viewportChanged):
471         (WebCore::LayerRendererChromium::doViewportChanged):
472         (WebCore::LayerRendererChromium::drawLayersInternal):
473         * platform/graphics/chromium/LayerRendererChromium.h:
474
475 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
476
477         Add the needed plumbing to parse display: -webkit-grid
478         https://bugs.webkit.org/show_bug.cgi?id=72331
479
480         Reviewed by Tony Chang.
481
482         Test: fast/css-grid-layout/display-grid-set-get.html
483
484         Added parsing support for display: -webkit-grid. From a rendering perspective,
485         the value is equivalent to display: none until we properly implement it.
486
487         * css/CSSParser.cpp:
488         (WebCore::CSSParser::parseValue):
489         * css/CSSPrimitiveValueMappings.h:
490         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
491         * css/CSSValueKeywords.in:
492         * rendering/style/RenderStyleConstants.h:
493         Added the new CSS value and plumbed the parsing and style application of
494         the new value.
495
496         * css/CSSPrimitiveValueMappings.h:
497         (WebCore::CSSPrimitiveValue::operator EDisplay):
498         Added an ASSERT here as I bumped into some non-trivial issues due to bug 72296.
499         -wap-marquee was offsetting the new value and was wrongly casted by the CSSPrimitiveValueMapping
500         logic outside the EDisplay range which would lead to crashes.
501
502         * rendering/RenderObject.cpp:
503         (WebCore::RenderObject::createObject):
504         Fixed the indentation to follow our coding rules.
505
506 2011-11-15  Vincent Scheib  <scheib@chromium.org>
507
508         Mouse Lock: Renaming to 'Pointer Lock': MouseLockable to PointerLock
509         https://bugs.webkit.org/show_bug.cgi?id=72315
510
511         Reviewed by Dimitri Glazkov.
512
513         * WebCore.gypi:
514         * page/Navigator.cpp:
515         (WebCore::Navigator::webkitPointer):
516         * page/Navigator.h:
517         * page/Navigator.idl:
518         * page/PointerLock.cpp: Renamed from Source/WebCore/page/MouseLockable.cpp.
519         (WebCore::PointerLock::PointerLock):
520         (WebCore::PointerLock::~PointerLock):
521         (WebCore::PointerLock::webkitLock):
522         (WebCore::PointerLock::webkitUnlock):
523         (WebCore::PointerLock::webkitIsLocked):
524         * page/PointerLock.h: Renamed from Source/WebCore/page/MouseLockable.h.
525         (WebCore::PointerLock::create):
526         * page/PointerLock.idl: Renamed from Source/WebCore/page/MouseLockable.idl.
527
528 2011-10-28  Ojan Vafai  <ojan@chromium.org>
529
530         Overflow and relayout are broken in the new flexboxes
531         https://bugs.webkit.org/show_bug.cgi?id=71161
532
533         Reviewed by David Hyatt.
534
535         Tests: css3/flexbox/auto-height-dynamic.html
536                css3/flexbox/flex-item-child-overflow-expected.html
537                css3/flexbox/flex-item-child-overflow.html
538
539         * rendering/RenderFlexibleBox.cpp:
540         (WebCore::RenderFlexibleBox::layoutBlock):
541         -Always set the logical height to 0 to start with to ensure we don't
542         use the height from the previous layout when we are computing the
543         intrinsic size of the flexbox.
544         -Call computeOverflow after computeLogicalHeight so that flex-item's children's
545         overflow is properly rendered.
546
547         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
548         -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
549         -Refactor flipping code. The behavior is the same, but the variable names are just
550         more correct.
551
552 2011-10-28  Ojan Vafai  <ojan@chromium.org>
553
554         Overflow and relayout are broken in the new flexboxes
555         https://bugs.webkit.org/show_bug.cgi?id=71161
556
557         Reviewed by David Hyatt.
558
559         Tests: css3/flexbox/auto-height-dynamic.html
560                css3/flexbox/flex-item-child-overflow-expected.html
561                css3/flexbox/flex-item-child-overflow.html
562
563         * rendering/RenderFlexibleBox.cpp:
564         (WebCore::RenderFlexibleBox::layoutBlock):
565         -Always set the logical height to 0 to start with to ensure we don't
566         use the height from the previous layout when we are computing the
567         intrinsic size of the flexbox.
568         -Call computeOverflow after computeLogicalHeight so that flex-item's children's
569         overflow is properly rendered.
570
571         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
572         -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
573         -Refactor flipping code. The behavior is the same, but the variable names are just
574         more correct.
575
576 2011-11-15  Nate Chapin  <japhet@chromium.org>
577
578         CachedResourceRequest is now the only SubresourceLoaderClient
579         Merge CachedResourceRequest into SubresourceLoader and delete
580         the SubresourceLoaderClient interface. A few items were moved
581         to CachedResource instead of SubresourceLoader.
582         https://bugs.webkit.org/show_bug.cgi?id=71149
583
584         Reviewed by Adam Barth.
585
586         * CMakeLists.txt:
587         * GNUmakefile.list.am:
588         * WebCore.gypi:
589         * WebCore.pro:
590         * WebCore.vcproj/WebCore.vcproj:
591         * WebCore.xcodeproj/project.pbxproj:
592         * loader/ResourceLoadScheduler.cpp:
593         * loader/ResourceLoadScheduler.h:
594         * loader/ResourceLoader.cpp:
595         * loader/SubresourceLoader.cpp:
596         (WebCore::SubresourceLoader::SubresourceLoader):
597         (WebCore::SubresourceLoader::create):
598         (WebCore::SubresourceLoader::init): Do work that had previously been
599             done in SubresourceLoader::create() after the constructor.
600         (WebCore::SubresourceLoader::willSendRequest):
601         (WebCore::SubresourceLoader::didSendData):
602         (WebCore::SubresourceLoader::didReceiveResponse):
603         (WebCore::SubresourceLoader::didReceiveData):
604         (WebCore::SubresourceLoader::didReceiveCachedMetadata):
605         (WebCore::SubresourceLoader::didFinishLoading):
606         (WebCore::SubresourceLoader::didFail):
607         (WebCore::SubresourceLoader::willCancel):
608         (WebCore::SubresourceLoader::releaseResources): Do the cleanup work that was
609             duplicated throughout the various terminal CachedResourceRequest callbacks.
610         * loader/SubresourceLoader.h: Fix indentation style issues.
611         * loader/SubresourceLoaderClient.h: Removed.
612         * loader/cache/CachedImage.cpp:
613         * loader/cache/CachedRawResource.cpp:
614         * loader/cache/CachedResource.cpp:
615         (WebCore::cachedResourceTypeToTargetType):
616         (WebCore::CachedResource::load): Do the work that had been done in
617             CachedResourceRequest::load().
618         (WebCore::CachedResource::finish):
619         (WebCore::CachedResource::setResponse):
620         (WebCore::CachedResource::stopLoading):
621         * loader/cache/CachedResource.h:
622         (WebCore::CachedResource::canDelete):
623         * loader/cache/CachedResourceLoader.cpp:
624         * loader/cache/CachedResourceRequest.cpp: Removed.
625         * loader/cache/CachedResourceRequest.h: Removed.
626         * loader/cf/SubresourceLoaderCF.cpp:
627         * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
628         * loader/chromium/SubresourceLoaderChromium.cpp:
629
630 2011-11-15  Anders Carlsson  <andersca@apple.com>
631
632         HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
633         https://bugs.webkit.org/show_bug.cgi?id=72397
634
635         Reviewed by Dan Bernstein.
636
637         screenToWindow and windowToScreen already use root view coordinates everywhere, with the
638         exception of Mac WebKit1 which doesn't even implement the functions.
639
640         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
641         (-[WebAccessibilityObjectWrapper position]):
642         * loader/EmptyClients.h:
643         * page/Chrome.cpp:
644         (WebCore::Chrome::screenToRootView):
645         (WebCore::Chrome::rootViewToScreen):
646         * page/Chrome.h:
647         * page/ChromeClient.h:
648         * platform/HostWindow.h:
649         * platform/ScrollView.cpp:
650         (WebCore::ScrollView::contentsToScreen):
651         (WebCore::ScrollView::screenToContents):
652         * platform/chromium/PopupContainer.cpp:
653         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
654         (WebCore::PopupContainer::refresh):
655
656 2011-11-15  Jeff Timanus  <twiz@chromium.org>
657
658         Patch removing duplicated code in the setup of the DrawingBuffer used
659         to host the back-buffer for WebGL contents.
660         https://bugs.webkit.org/show_bug.cgi?id=72327
661
662         Reviewed by Julien Chaffraix.
663
664         * html/canvas/WebGLRenderingContext.cpp:
665         (WebCore::WebGLRenderingContext::copyTexImage2D):
666         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
667         (WebCore::WebGLRenderingContext::readPixels):
668
669 2011-11-15  Eugene Nalimov  <enal@google.com>
670
671         Event listener for active DOM object that is also DOM node can be garbage collected prematurely.
672         https://bugs.webkit.org/show_bug.cgi?id=70421 
673
674         Reviewed by Adam Barth.
675
676         Problem demonstrated itself when HTMLAudioElement was changed to become active DOM object.
677         Before that there were no DOM objects that simultaneously were nodes and active objects.
678         DOM object could be held in one of 3 maps -- node map, active objects map, and all other
679         objects map, and HTMLAudioElement should be in 2 maps simultaneously. When it was in the
680         active DOM objects map only, its event listener could be garbage collected, because special
681         code that groups listeners with wrappers could handle only wrappers for objects in the node
682         map. If we put HTMLAudioElement into nodes map, it would not be active DOM node, and can be
683         garbage collected prematurely itself (see https://bugs.webkit.org/show_bug.cgi?id=66878).
684         Fix is to introduce 4th map -- active nodes map, and change the code accordingly.
685
686         Test: media/audio-garbage-collect.html
687
688         * bindings/scripts/CodeGeneratorV8.pm:
689         (GenerateNamedConstructorCallback):
690         (GetDomMapFunction):
691         * bindings/v8/DOMDataStore.cpp:
692         (WebCore::DOMDataStore::DOMDataStore):
693         (WebCore::DOMDataStore::getDOMWrapperMap):
694         (WebCore::DOMDataStore::weakNodeCallback):
695         * bindings/v8/DOMDataStore.h:
696         (WebCore::DOMDataStore::activeDomNodeMap):
697         * bindings/v8/ScopedDOMDataStore.cpp:
698         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
699         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
700         * bindings/v8/StaticDOMDataStore.cpp:
701         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
702         * bindings/v8/StaticDOMDataStore.h:
703         * bindings/v8/V8DOMMap.cpp:
704         (WebCore::getActiveDOMNodeMap):
705         (WebCore::removeAllDOMObjects):
706         (WebCore::visitActiveDOMNodes):
707         * bindings/v8/V8DOMMap.h:
708         * bindings/v8/V8DOMWrapper.cpp:
709         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
710         (WebCore::V8DOMWrapper::getWrapperSlow):
711         * bindings/v8/V8GCController.cpp:
712         (WebCore::GCPrologueSpecialCase):
713         (WebCore::void):
714         (WebCore::Node):
715         (WebCore::GCPrologueVisitor::visitDOMWrapper):
716         (WebCore::V8GCController::gcPrologue):
717         (WebCore::GCEpilogueHelper::GCEpilogueSpecialCase):
718         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
719         (WebCore::V8GCController::gcEpilogue):
720         * dom/Node.h:
721         (WebCore::Node::isActiveNode):
722         * html/HTMLAudioElement.h:
723         (WebCore::HTMLAudioElement::isActiveNode):
724
725 2011-11-15  David Kilzer  <ddkilzer@apple.com>
726
727         Remove useless const modifier from KURL::init
728         <http://webkit.org/b/72387>
729
730         Reviewed by Darin Adler.
731
732         * platform/KURL.cpp:
733         (WebCore::KURL::init): Remove useless const.
734
735 2011-11-14  Anders Carlsson  <andersca@apple.com>
736
737         HostWindow invalidation functions should use root view coordinates
738         https://bugs.webkit.org/show_bug.cgi?id=72338
739
740         Reviewed by Dan Bernstein.
741
742         Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
743         to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
744         are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
745         
746         In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
747         and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.
748
749         * loader/EmptyClients.h:
750         * page/Chrome.cpp:
751         (WebCore::Chrome::invalidateRootView):
752         (WebCore::Chrome::invalidateContentsAndRootView):
753         * page/Chrome.h:
754         * page/ChromeClient.h:
755         * page/Frame.cpp:
756         (WebCore::Frame::tiledBackingStorePaintEnd):
757         * page/FrameView.cpp:
758         (WebCore::FrameView::invalidateRect):
759         (WebCore::FrameView::scrollContentsFastPath):
760         * platform/HostWindow.h:
761         * platform/ScrollView.cpp:
762         (WebCore::ScrollView::rectToCopyOnScroll):
763         (WebCore::ScrollView::scrollContents):
764         (WebCore::ScrollView::wheelEvent):
765         * platform/chromium/FramelessScrollView.cpp:
766         (WebCore::FramelessScrollView::invalidateRect):
767         * svg/graphics/SVGImage.cpp:
768         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView):
769
770 2011-11-15  Philip Rogers  <pdr@google.com>
771
772         Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
773         https://bugs.webkit.org/show_bug.cgi?id=61528
774
775         Reviewed by Stephen White.
776
777         Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
778                fast/canvas/2d.text.draw.fill.maxWidth.negative.html
779                fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
780                fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html
781
782         * html/canvas/CanvasRenderingContext2D.cpp:
783         (WebCore::CanvasRenderingContext2D::drawTextInternal):
784
785 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
786
787         [GTK] Implement download support in WebKit2
788         https://bugs.webkit.org/show_bug.cgi?id=72258
789
790         Reviewed by Martin Robinson.
791
792         Add common download errors to ErrorsGtk.
793
794         * platform/gtk/ErrorsGtk.cpp:
795         (WebCore::downloadNetworkError):
796         (WebCore::downloadCancelledByUserError):
797         (WebCore::downloadDestinationError):
798         * platform/gtk/ErrorsGtk.h:
799
800 2011-11-15  Cary Clark  <caryclark@google.com>
801
802         [chromium-mac] Enable vertical text using Skia
803         https://bugs.webkit.org/show_bug.cgi?id=72137
804
805         Use Skia to draw vertical text. This is much
806         faster and has higher fidelity than the old method
807         of drawing text on a path.
808
809         The graphics context passed to Skia has been
810         rotated 90 degrees but the character advances
811         have not, so it is necessary to unrotate the canvas,
812         and re-rotate the positions.
813
814         This generates correct output (or, at least,
815         consistent with Chromium CG on Mac) for all vertical
816         text tests, one of which is mentioned below.
817         
818         Reviewed by Stephen White.
819
820         Test: fast/writing-mode/text-orientation-basic.html
821
822         * platform/graphics/skia/FontSkia.cpp:
823         (WebCore::setupPaint):
824         (WebCore::Font::drawGlyphs):
825
826 2011-11-15  Philip Rogers  <pdr@google.com>
827
828         Fix SVG hit testing when padding is present
829         https://bugs.webkit.org/show_bug.cgi?id=37325
830
831         Reviewed by Nikolas Zimmermann.
832
833         Test: svg/hittest/svg-padding.xhtml
834
835         * rendering/svg/RenderSVGRoot.cpp:
836         (WebCore::RenderSVGRoot::nodeAtPoint):
837
838 2011-11-15  Pavel Feldman  <pfeldman@google.com>
839
840         Web Inspector: move generic code from DevTools.js into the WebCore.
841         https://bugs.webkit.org/show_bug.cgi?id=72377
842
843         re-landing r100269.
844
845         Reviewed by Yury Semikhatsky.
846
847         * English.lproj/localizedStrings.js:
848         * inspector/front-end/InspectorFrontendHostStub.js:
849         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
850         * inspector/front-end/ProfilesPanel.js:
851         * inspector/front-end/Resource.js:
852         * inspector/front-end/Settings.js:
853         * inspector/front-end/UIUtils.js:
854         (WebInspector.setToolbarColors):
855         (WebInspector.resetToolbarColors):
856         * inspector/front-end/inspector.js:
857
858 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
859
860         Unreviewed, rolling out r100269.
861         http://trac.webkit.org/changeset/100269
862         https://bugs.webkit.org/show_bug.cgi?id=72383
863
864         "Broke dozens of tests due to exception in loadingFinished"
865         (Requested by tonyg-cr on #webkit).
866
867         * English.lproj/localizedStrings.js:
868         * inspector/front-end/InspectorFrontendHostStub.js:
869         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
870         * inspector/front-end/ProfilesPanel.js:
871         * inspector/front-end/Resource.js:
872         * inspector/front-end/Settings.js:
873         * inspector/front-end/UIUtils.js:
874         * inspector/front-end/inspector.js:
875
876 2011-11-15  Alexander Pavlov  <apavlov@chromium.org>
877
878         font property does not show up as "shorthand" in inspector
879         https://bugs.webkit.org/show_bug.cgi?id=15598
880
881         Reviewed by Nikolas Zimmermann.
882
883         The "font" CSS property is turned into a real shorthand, as its longhands used to float around
884         in the resulting style declaration without any reference to their underlying "font" property.
885
886         Test: fast/css/font-shorthand.html
887
888         * css/CSSMutableStyleDeclaration.cpp:
889         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
890         (WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
891         (WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
892         * css/CSSMutableStyleDeclaration.h:
893         * css/CSSParser.cpp:
894         (WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
895         (WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
896         * css/CSSParser.h: Added optional "implicit" parameter to addProperty().
897         * css/CSSPropertyLonghand.cpp:
898         (WebCore::initShorthandMap): Added "font" shorthand map entry.
899         * css/CSSStyleSelector.cpp:
900         (WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
901         (WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
902         * css/CSSStyleSelector.h: Made updateFont() public.
903         * css/FontValue.cpp:
904         (WebCore::FontValue::customCssText): Made use of StringBuilder.
905         * html/canvas/CanvasRenderingContext2D.cpp:
906         (WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
907         * inspector/front-end/StylesSidebarPane.js:
908         (WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
909         * page/animation/AnimationBase.cpp:
910         (WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.
911
912 2011-11-15  Pierre Rossi  <pierre.rossi@gmail.com>
913
914         [Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
915         https://bugs.webkit.org/show_bug.cgi?id=72262
916
917         Reviewed by Antonio Gomes.
918
919         No new tests needed, this is purely cosmetic.
920
921         * platform/qt/RenderThemeQStyle.cpp:
922         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
923         * platform/qt/RenderThemeQStyle.h:
924         * platform/qt/RenderThemeQt.cpp:
925         (WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
926         since the mobile theme actually didn't do this.
927         * platform/qt/RenderThemeQtMobile.cpp:
928         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
929
930 2011-11-15  Pavel Feldman  <pfeldman@google.com>
931
932         Web Inspector: move generic code from DevTools.js into the WebCore.
933         https://bugs.webkit.org/show_bug.cgi?id=72377
934
935         This includes support for themed toolbar, remote debugging routines,
936         removes a couple of obsolete overrides from the DevTools.js
937
938         Reviewed by Yury Semikhatsky.
939
940         * English.lproj/localizedStrings.js:
941         * inspector/front-end/InspectorFrontendHostStub.js:
942         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
943         * inspector/front-end/ProfilesPanel.js:
944         * inspector/front-end/Resource.js:
945         * inspector/front-end/Settings.js:
946         * inspector/front-end/UIUtils.js:
947         (WebInspector.setToolbarColors):
948         (WebInspector.resetToolbarColors):
949         * inspector/front-end/inspector.js:
950
951 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
952
953         [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
954
955         Reviewed by Tor Arne Vestbø.
956
957         * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
958
959 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
960
961         Unreviewed, rolling out r100213.
962         http://trac.webkit.org/changeset/100213
963         https://bugs.webkit.org/show_bug.cgi?id=72371
964
965         "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
966
967         * page/SecurityOrigin.cpp:
968         (WebCore::SecurityOrigin::SecurityOrigin):
969         * platform/SchemeRegistry.cpp:
970         (WebCore::schemesWithUniqueOrigins):
971
972 2011-11-15  Alpha Lam  <hclam@chromium.org>
973
974         [chromium] scroll deltas are cleared during commit to the main thread
975         https://bugs.webkit.org/show_bug.cgi?id=71916
976
977         Reviewed by James Robinson.
978
979         Patch is covered by unit test.
980
981         Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
982         sent to the main thread during commit. This gives a simpler approach to keep tracking of a
983         layer's scroll delta in impl thread.
984
985         * platform/graphics/chromium/LayerChromium.h:
986         (WebCore::LayerChromium::sentScrollDelta):
987         * platform/graphics/chromium/cc/CCLayerImpl.h:
988         (WebCore::CCLayerImpl::sentScrollDelta):
989         (WebCore::CCLayerImpl::setSentScrollDelta):
990         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
991         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
992         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
993
994 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
995
996         [Qt] REGRESSION(100123): It made inspector tests crash
997         https://bugs.webkit.org/show_bug.cgi?id=72274
998
999         Reviewed by Tor Arne Vestbø.
1000
1001         * platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
1002         m_page member that should really come from RenderThemeQt.
1003
1004 2011-11-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1005
1006         Unreviewed. Fix build breaks when EFL port is built.
1007
1008         * CMakeLists.txt:
1009         * UseJSC.cmake:
1010
1011 2011-11-15  Noel Gordon  <noel.gordon@gmail.com>
1012
1013         Make ImageFrame member getAddr() public
1014         https://bugs.webkit.org/show_bug.cgi?id=72321
1015
1016         Reviewed by Adam Barth.
1017
1018         Make ImageFrame member getAddr() public to allow ImageFrame users access to the
1019         underlying frame pixels if needed. Image decoders, for example, could with care
1020         use this service to write decoded pixels direct to the ImageFrame pixel buffer,
1021         avoiding intermeadiate data copies from temporary decoded pixel row buffers and
1022         the decoding performance loss that that entails.
1023
1024         No new tests, refactoring only.
1025
1026         * platform/image-decoders/ImageDecoder.h:
1027         (WebCore::ImageFrame::getAddr):
1028
1029 2011-11-14  Alexander Pavlov  <apavlov@chromium.org>
1030
1031         Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
1032         https://bugs.webkit.org/show_bug.cgi?id=72261
1033
1034         Reviewed by Pavel Feldman.
1035
1036         Test: inspector/styles/svg-style.xhtml
1037
1038         * inspector/InspectorStyleSheet.cpp:
1039         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
1040
1041 2011-11-15  Kent Tamura  <tkent@chromium.org>
1042
1043         [V8] Fix incorrect handling of JavaScript properties in DOMStringMap
1044         https://bugs.webkit.org/show_bug.cgi?id=53578
1045
1046         Reviewed by Adam Barth.
1047
1048         Follows a JSC behavior change by r96893.
1049
1050         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1051         (WebCore::V8DOMStringMap::namedPropertyGetter):
1052         Propagate to the JavaScript object if the DOMStringMap object
1053         doesn't have the requested item.
1054         (WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
1055         (WebCore::V8DOMStringMap::namedPropertySetter):
1056         Try to set a property to only a DOMStringMap object.
1057
1058 2011-11-14  Pavel Feldman  <pfeldman@google.com>
1059
1060         Web Inspector: Command line $x fails for 3 of 4 types of XPath query
1061         https://bugs.webkit.org/show_bug.cgi?id=72276
1062
1063         Reviewed by Timothy Hatcher.
1064
1065         Test: inspector/console/console-xpath.html
1066
1067         * inspector/InjectedScriptSource.js:
1068         (.):
1069
1070 2011-11-14  Ryosuke Niwa  <rniwa@webkit.org>
1071
1072         Fix the change log entry for r59190.
1073
1074         * ChangeLog-2010-05-24:
1075
1076 2011-11-14  Dmitry Lomov  <dslomov@google.com>
1077         
1078         [V8][Chromium]Serialize dense arrays densly
1079         https://bugs.webkit.org/show_bug.cgi?id=72198
1080         This patch ensures that:
1081         - Dense arrays are serialized densly, and not as name-value pairs
1082         - Sparse arrays are allocated as sparse on deserialization.
1083         The criteria to choose whether to serialize densly or sparsely is the size
1084         of a resulting serialized stream.
1085
1086         Reviewed by David Levin.
1087
1088         Test: fast/dom/Window/window-postmessage-arrays.html
1089
1090         * bindings/v8/SerializedScriptValue.cpp:
1091         (WebCore::V8ObjectMap::Writer::writeDenseArray):
1092         (WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
1093         (WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
1094         (WebCore::V8ObjectMap::Serializer::writeDenseArray):
1095         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
1096         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
1097         (WebCore::V8ObjectMap::Serializer::ObjectState::advance):
1098         (WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
1099         (WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
1100         (WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
1101         (WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
1102         (WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
1103         (WebCore::V8ObjectMap::Serializer::serializeDensely):
1104         (WebCore::V8ObjectMap::Serializer::startArrayState):
1105         (WebCore::V8ObjectMap::Serializer::startObjectState):
1106         (WebCore::V8ObjectMap::Serializer::doSerialize):
1107         (WebCore::V8ObjectMap::Reader::read):
1108         (WebCore::V8ObjectMap::Deserializer::newSparseArray):
1109         (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
1110         (WebCore::V8ObjectMap::Deserializer::completeDenseArray):
1111
1112 2011-11-14  Alexandre Elias  <aelias@google.com>
1113
1114         [chromium] Fix scaleDelta zoom-out visibility rect bug
1115         https://bugs.webkit.org/show_bug.cgi?id=72208
1116
1117         Since the scroll is no longer applied at the top layer of the layer
1118         tree, the scaleDelta transformation needs to be moved down to the
1119         same level.
1120
1121         Also fix zoomAnimator to be applied the same way.  I removed zoom
1122         animator layout tests, as they aren't testing the actual impl-side
1123         codepath, and are hard to continue supporting -- we should cover zoom
1124         features with unit tests in the future.
1125
1126         Reviewed by James Robinson.
1127
1128         No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
1129
1130         * platform/graphics/chromium/LayerChromium.h:
1131         (WebCore::LayerChromium::scaleDelta):
1132         * platform/graphics/chromium/LayerRendererChromium.cpp:
1133         (WebCore::LayerRendererChromium::drawLayersInternal):
1134         * platform/graphics/chromium/LayerRendererChromium.h:
1135         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1136         (WebCore::CCLayerImpl::CCLayerImpl):
1137         (WebCore::CCLayerImpl::setScaleDelta):
1138         * platform/graphics/chromium/cc/CCLayerImpl.h:
1139         (WebCore::CCLayerImpl::scaleDelta):
1140         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1141         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1142         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1143         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
1144         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
1145
1146 2011-11-14  Chris Fleizach  <cfleizach@apple.com>
1147
1148         WebProcess crashes when trying to display your "uploaded videos" page on Facebook
1149         https://bugs.webkit.org/show_bug.cgi?id=72334
1150
1151         Reviewed by Beth Dakin.
1152
1153         Protect against documents without frames.
1154
1155         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1156         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
1157
1158 2011-11-14  Oliver Hunt  <oliver@apple.com>
1159
1160         More V8 build fixes.
1161
1162         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1163         (WebCore::setWebGLArrayHelper):
1164
1165 2011-11-14  Oliver Hunt  <oliver@apple.com>
1166
1167         Fix V8 build again.
1168
1169         * bindings/scripts/CodeGeneratorV8.pm:
1170         * bindings/scripts/test/V8/V8Float64Array.cpp:
1171         (WTF::Float64Array::neuterBinding):
1172
1173 2011-11-14  Oliver Hunt  <oliver@apple.com>
1174
1175         Fix V8 build.
1176
1177         * bindings/scripts/CodeGeneratorV8.pm:
1178         * bindings/scripts/test/V8/V8Float64Array.cpp:
1179         (WTF::Float64Array::neuterBinding):
1180
1181 2011-11-14  Oliver Hunt  <oliver@apple.com>
1182
1183         Start migrating typed array impl types to WTF
1184         https://bugs.webkit.org/show_bug.cgi?id=72336
1185
1186         Reviewed by Geoffrey Garen.
1187
1188         Move typed arrays from WebCore namespace to WTF, and
1189         start reducing dependencies on WebCore types.
1190
1191         * bindings/js/JSArrayBufferViewHelper.h:
1192         (WebCore::setWebGLArrayHelper):
1193         * bindings/scripts/CodeGeneratorJS.pm:
1194         (IsTypedArrayType):
1195         (AddClassForwardIfNeeded):
1196         (GenerateImplementation):
1197         * bindings/scripts/CodeGeneratorV8.pm:
1198         (IsTypedArrayType):
1199         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
1200         (WebDOMFloat64Array::WebDOMFloat64Array):
1201         (WebDOMFloat64Array::impl):
1202         (toWebCore):
1203         (toWebKit):
1204         * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
1205         (WebDOMFloat64Array::~WebDOMFloat64Array):
1206         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
1207         (WebKit::kit):
1208         (WebKit::core):
1209         (webkit_dom_float64array_finalize):
1210         (webkit_dom_float64array_set_property):
1211         (webkit_dom_float64array_get_property):
1212         (webkit_dom_float64array_constructed):
1213         (webkit_dom_float64array_class_init):
1214         (webkit_dom_float64array_init):
1215         (WebKit::wrapFloat64Array):
1216         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
1217         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
1218         * bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
1219         (WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
1220         (WebCore::JSFloat64ArrayConstructor::finishCreation):
1221         (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
1222         (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
1223         (WebCore::JSFloat64ArrayConstructor::getConstructData):
1224         (WebCore::getJSFloat64ArrayPrototypeTable):
1225         (WebCore::JSFloat64ArrayPrototype::self):
1226         (WebCore::getJSFloat64ArrayTable):
1227         (WebCore::JSFloat64Array::JSFloat64Array):
1228         (WebCore::JSFloat64Array::finishCreation):
1229         (WebCore::JSFloat64Array::createPrototype):
1230         (WebCore::JSFloat64Array::getOwnPropertySlot):
1231         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
1232         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
1233         (WebCore::jsFloat64ArrayConstructor):
1234         (WebCore::JSFloat64Array::put):
1235         (WebCore::JSFloat64Array::putByIndex):
1236         (WebCore::JSFloat64Array::getOwnPropertyNames):
1237         (WebCore::JSFloat64Array::getConstructor):
1238         (WebCore::JSFloat64Array::getByIndex):
1239         (WebCore::toFloat64Array):
1240         (WTF::Float64Array::neuterBinding):
1241         * bindings/scripts/test/JS/JSFloat64Array.h: Added.
1242         (WebCore::JSFloat64Array::create):
1243         (WebCore::JSFloat64Array::createStructure):
1244         (WebCore::JSFloat64Array::impl):
1245         (WebCore::JSFloat64ArrayPrototype::create):
1246         (WebCore::JSFloat64ArrayPrototype::createStructure):
1247         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
1248         (WebCore::JSFloat64ArrayConstructor::create):
1249         (WebCore::JSFloat64ArrayConstructor::createStructure):
1250         * bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
1251         * bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
1252         (core):
1253         (kit):
1254         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
1255         * bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
1256         * bindings/scripts/test/V8/V8Float64Array.cpp: Added.
1257         (WebCore::Float64ArrayInternal::V8_USE):
1258         (WebCore::ConfigureV8Float64ArrayTemplate):
1259         (WebCore::V8Float64Array::GetRawTemplate):
1260         (WebCore::V8Float64Array::GetTemplate):
1261         (WebCore::V8Float64Array::HasInstance):
1262         (WebCore::V8Float64Array::wrapSlow):
1263         (WTF::Float64Array::neuterBinding):
1264         (WebCore::V8Float64Array::derefObject):
1265         * bindings/scripts/test/V8/V8Float64Array.h: Added.
1266         (WebCore::V8Float64Array::toNative):
1267         (WebCore::V8Float64Array::existingWrapper):
1268         (WebCore::V8Float64Array::wrap):
1269         (WebCore::toV8):
1270         * fileapi/FileReader.h:
1271         * fileapi/FileReaderLoader.h:
1272         * fileapi/FileReaderSync.h:
1273         * fileapi/WebKitBlobBuilder.h:
1274         * html/HTMLMediaElement.h:
1275         * html/canvas/ArrayBuffer.cpp:
1276         * html/canvas/ArrayBuffer.h:
1277         * html/canvas/ArrayBufferView.cpp:
1278         (WTF::ArrayBufferView::setImpl):
1279         (WTF::ArrayBufferView::setRangeImpl):
1280         (WTF::ArrayBufferView::zeroRangeImpl):
1281         (WTF::ArrayBufferView::neuter):
1282         * html/canvas/ArrayBufferView.h:
1283         * html/canvas/Float32Array.cpp:
1284         * html/canvas/Float32Array.h:
1285         (WTF::Float32Array::set):
1286         * html/canvas/Float64Array.cpp:
1287         * html/canvas/Float64Array.h:
1288         (WTF::Float64Array::set):
1289         * html/canvas/Int16Array.cpp:
1290         * html/canvas/Int16Array.h:
1291         (WTF::Int16Array::set):
1292         * html/canvas/Int32Array.cpp:
1293         * html/canvas/Int32Array.h:
1294         (WTF::Int32Array::set):
1295         * html/canvas/Int8Array.cpp:
1296         * html/canvas/Int8Array.h:
1297         (WTF::Int8Array::set):
1298         * html/canvas/IntegralTypedArrayBase.h:
1299         * html/canvas/TypedArrayBase.h:
1300         (WTF::TypedArrayBase::set):
1301         (WTF::TypedArrayBase::setRange):
1302         (WTF::TypedArrayBase::zeroRange):
1303         * html/canvas/Uint16Array.cpp:
1304         * html/canvas/Uint16Array.h:
1305         (WTF::Uint16Array::set):
1306         * html/canvas/Uint32Array.cpp:
1307         * html/canvas/Uint32Array.h:
1308         (WTF::Uint32Array::set):
1309         * html/canvas/Uint8Array.cpp:
1310         * html/canvas/Uint8Array.h:
1311         (WTF::Uint8Array::set):
1312         * html/canvas/WebGLBuffer.h:
1313         * page/Crypto.h:
1314         * webaudio/AsyncAudioDecoder.h:
1315         * webaudio/AudioBuffer.cpp:
1316         (WebCore::AudioBuffer::AudioBuffer):
1317         (WebCore::AudioBuffer::zero):
1318         * webaudio/AudioContext.h:
1319         * webaudio/JavaScriptAudioNode.h:
1320         * webaudio/RealtimeAnalyser.h:
1321         * webaudio/RealtimeAnalyserNode.h:
1322         * webaudio/WaveShaperNode.h:
1323         * websockets/ThreadableWebSocketChannel.h:
1324         * websockets/WebSocket.h:
1325         * websockets/WebSocketChannel.h:
1326         * xml/XMLHttpRequest.h:
1327
1328 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
1329
1330         Add --css-grid-layout to build-webkit and the build systems
1331         https://bugs.webkit.org/show_bug.cgi?id=72320
1332
1333         Reviewed by Ojan Vafai.
1334
1335         * Configurations/FeatureDefines.xcconfig:
1336
1337 2011-11-14  Daniel Bates  <dbates@rim.com>
1338
1339         Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
1340         https://bugs.webkit.org/show_bug.cgi?id=72335
1341
1342         Reviewed by Eric Seidel.
1343
1344         It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
1345         in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
1346         SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.
1347
1348         * rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
1349         * rendering/svg/RenderSVGContainer.cpp: Ditto.
1350         * rendering/svg/RenderSVGForeignObject.cpp: Ditto.
1351         * rendering/svg/RenderSVGImage.cpp: Ditto.
1352         * rendering/svg/RenderSVGInline.cpp: Ditto.
1353         * rendering/svg/RenderSVGModelObject.cpp: Ditto.
1354         * rendering/svg/RenderSVGPath.cpp: Ditto.
1355         * rendering/svg/RenderSVGResource.cpp: Ditto.
1356         * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
1357         * rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
1358         * rendering/svg/RenderSVGRoot.cpp: Ditto.
1359         * rendering/svg/RenderSVGText.cpp: Ditto.
1360         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
1361         * rendering/svg/SVGRenderSupport.cpp: Ditto.
1362         * svg/SVGDocumentExtensions.cpp: Ditto.
1363         * svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.
1364
1365 2011-11-14  Rafael Weinstein  <rafaelw@chromium.org>
1366
1367         [MutationObservers] Add histogram collection for usage of DOM Mutation Events
1368         https://bugs.webkit.org/show_bug.cgi?id=72316
1369
1370         Reviewed by Ryosuke Niwa.
1371
1372         This patch adds six calls in ~Document() which simply pipe-out to the embedder
1373         the (already-collected) bits of whether varous DOM Mutation Events were registered
1374         on the document.
1375
1376         No tests needed. No functional changes.
1377
1378         * dom/Document.cpp:
1379         (WebCore::histogramMutationEventUsage):
1380         (WebCore::Document::~Document):
1381
1382 2011-11-14  Simon Fraser  <simon.fraser@apple.com>
1383
1384         div with webkit-transform + webkit-box-reflect disappears when switching tabs
1385         https://bugs.webkit.org/show_bug.cgi?id=53355
1386
1387         Reviewed by Dean Jackson.
1388
1389         Tickle Core Animation into updating the layer's content property when
1390         switching back to a tab which has composited reflections. This hack is
1391         needed becuase reflections involve sharing layer contents between layers.
1392
1393         * platform/graphics/mac/WebLayer.mm:
1394         (-[WebLayer actionForKey:]):
1395
1396 2011-11-14  Adam Barth  <abarth@webkit.org>
1397
1398         Unique origins shouldn't remember their scheme, host, or port
1399         https://bugs.webkit.org/show_bug.cgi?id=72308
1400
1401         Reviewed by Eric Seidel.
1402
1403         This patch contains the bulk (all?) of the behavior differences in this
1404         patch series.  Unique origins shouldn't remember their schemes.  Doing
1405         so causes some privileges (e.g., local access) to leak into unique
1406         origins.
1407
1408         * page/SecurityOrigin.cpp:
1409         (WebCore::SecurityOrigin::SecurityOrigin):
1410             - Explicitly clear out the protocol, host, and port for unique
1411               origins.  A future patch will refactor all this code to be more
1412               elegant.
1413         * platform/SchemeRegistry.cpp:
1414         (WebCore::schemesWithUniqueOrigins):
1415             - Merge "about" and "javascript" in with the general case now that
1416               we don't have a separate notion of an empty origin.
1417
1418 2011-11-14  Adam Barth  <abarth@webkit.org>
1419
1420         Don't special-case "data" URLs in drag-and-drop logic
1421         https://bugs.webkit.org/show_bug.cgi?id=72322
1422
1423         Reviewed by Eric Seidel.
1424
1425         See the bug for more details.
1426
1427         Test: editing/pasteboard/drag-drop-to-data-url.html
1428
1429         * page/SecurityOrigin.cpp:
1430         (WebCore::SecurityOrigin::canReceiveDragData):
1431
1432 2011-11-14  Adrienne Walker  <enne@google.com>
1433
1434         [chromium] Pipe compositor commit/swap up to WebWidgetClient
1435         https://bugs.webkit.org/show_bug.cgi?id=72041
1436
1437         Reviewed by Darin Fisher.
1438
1439         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1440         (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
1441         (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
1442         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1443         (WebCore::CCSingleThreadProxy::doComposite):
1444         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1445         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
1446         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1447         (WebCore::CCThreadProxy::didCommitAndDrawFrame):
1448         (WebCore::CCThreadProxy::didCompleteSwapBuffers):
1449         * platform/graphics/chromium/cc/CCThreadProxy.h:
1450
1451 2011-11-14  Tony Chang  <tony@chromium.org>
1452
1453         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
1454         https://bugs.webkit.org/show_bug.cgi?id=72196
1455
1456         Reviewed by Ojan Vafai.
1457
1458         * Configurations/FeatureDefines.xcconfig:
1459         * css/CSSComputedStyleDeclaration.cpp:
1460         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1461         * css/CSSFlexValue.cpp:
1462         * css/CSSFlexValue.h:
1463         * css/CSSParser.cpp:
1464         (WebCore::CSSParser::parseValue):
1465         (WebCore::CSSParser::parseFlex):
1466         * css/CSSPrimitiveValueMappings.h:
1467         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1468         * css/CSSProperty.cpp:
1469         (WebCore::CSSProperty::isInheritedProperty):
1470         * css/CSSPropertyNames.in:
1471         * css/CSSStyleApplyProperty.cpp:
1472         (WebCore::ApplyPropertyLength::applyValue):
1473         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1474         * css/CSSStyleSelector.cpp:
1475         (WebCore::CSSStyleSelector::applyProperty):
1476         * css/CSSValue.cpp:
1477         (WebCore::CSSValue::cssText):
1478         (WebCore::CSSValue::destroy):
1479         * css/CSSValue.h:
1480         * css/CSSValueKeywords.in:
1481         * rendering/RenderFlexibleBox.cpp:
1482         * rendering/RenderFlexibleBox.h:
1483         * rendering/RenderObject.cpp:
1484         (WebCore::RenderObject::createObject):
1485         * rendering/RenderObject.h:
1486         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
1487         * rendering/style/RenderStyle.cpp:
1488         (WebCore::RenderStyle::RenderStyle):
1489         (WebCore::RenderStyle::diff):
1490         * rendering/style/RenderStyle.h:
1491         * rendering/style/RenderStyleConstants.h:
1492         * rendering/style/StyleFlexibleBoxData.cpp:
1493         * rendering/style/StyleFlexibleBoxData.h:
1494         * rendering/style/StyleRareNonInheritedData.cpp:
1495         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1496         (WebCore::StyleRareNonInheritedData::operator==):
1497         * rendering/style/StyleRareNonInheritedData.h:
1498
1499 2011-11-14  Vincent Scheib  <scheib@chromium.org>
1500
1501         Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
1502         https://bugs.webkit.org/show_bug.cgi?id=72303
1503
1504         Reviewed by Darin Fisher.
1505
1506         * bindings/generic/RuntimeEnabledFeatures.cpp:
1507         * bindings/generic/RuntimeEnabledFeatures.h:
1508         (WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
1509         (WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
1510         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
1511         * page/Settings.cpp:
1512         (WebCore::Settings::Settings):
1513         * page/Settings.h:
1514         (WebCore::Settings::setPointerLockEnabled):
1515         (WebCore::Settings::PointerLockEnabled):
1516
1517 2011-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1518
1519         Unreviewed, rolling out r100176.
1520         http://trac.webkit.org/changeset/100176
1521         https://bugs.webkit.org/show_bug.cgi?id=72309
1522
1523         it broke the Mac builds (missing symbols) in a non-obvious way
1524         (Requested by jchaffraix on #webkit).
1525
1526         * CMakeLists.txt:
1527         * GNUmakefile.list.am:
1528         * Target.pri:
1529         * WebCore.gypi:
1530         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1531         (WebCore::toJS):
1532         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1533         (WebCore::toV8Object):
1534         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
1535         * html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
1536         * html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
1537         * html/canvas/WebGLExtension.h:
1538         * html/canvas/WebGLRenderingContext.cpp:
1539         (WebCore::WebGLRenderingContext::getExtension):
1540         (WebCore::WebGLRenderingContext::getParameter):
1541         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1542         * html/canvas/WebGLRenderingContext.h:
1543         * platform/graphics/Extensions3D.h:
1544         * platform/graphics/GraphicsContext3D.h:
1545         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1546         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1547         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1548
1549 2011-11-14  Tony Chang  <tony@chromium.org>
1550
1551         remove -wap-marquee css propery value
1552         https://bugs.webkit.org/show_bug.cgi?id=72296
1553
1554         Reviewed by Adam Barth.
1555
1556         This css value is no longer used.
1557
1558         * css/CSSValueKeywords.in:
1559
1560 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
1561
1562         Crash in RenderTableSection::splitColumn
1563         https://bugs.webkit.org/show_bug.cgi?id=70171
1564
1565         Reviewed by David Hyatt.
1566
1567         Tests: fast/table/crash-splitColumn-2.html
1568                fast/table/crash-splitColumn-3.html
1569                fast/table/crash-splitColumn.html
1570
1571         The old code would not take into account the fact that each RenderTableSection
1572         can set its m_needsCellRecalc flag independently of the rest.
1573
1574         This means that you cannot assume that you can always split or append columns to
1575         all the sections. Our approach is to skip sections needing cell recalc in several
1576         parts of the code as they will be properly reset to the table's representations
1577         during a cell recalc.
1578
1579         * rendering/RenderTable.cpp:
1580         (WebCore::RenderTable::splitColumn):
1581         (WebCore::RenderTable::appendColumn):
1582         Skip sections needing cell recalc as they will be properly updated later.
1583
1584         * rendering/RenderTableSection.cpp:
1585         (WebCore::RenderTableSection::addCell):
1586         Ignore a section needing cell recalc as addCell will be called after sync'ing
1587         the internal column representation in recalcCells.
1588
1589         (WebCore::RenderTableSection::recalcCells):
1590         Clear the flag at the beginning of the function to activate the previous functions.
1591         Added a comment as to why this is fine.
1592
1593         (WebCore::RenderTableSection::appendColumn):
1594         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
1595         of recalcCells().
1596
1597 2011-11-14  Adam Barth  <abarth@webkit.org>
1598
1599         Remove the concept of an empty SecurityOrigin
1600         https://bugs.webkit.org/show_bug.cgi?id=72287
1601
1602         Reviewed by Eric Seidel.
1603
1604         This concept is fragile and doesn't exist in the specs.  Previous
1605         patches have removed most of the code relying upon this function.  This
1606         patch removes a couple stragglers.
1607
1608         * page/DOMWindow.cpp:
1609         (WebCore::DOMWindow::postMessage):
1610             - This check should really be about unique origins because it
1611               doesn't make sense to target postMessages at unique origins, as
1612               explained in the comment.
1613         * page/SecurityOrigin.cpp:
1614         * page/SecurityOrigin.h:
1615
1616 2011-11-14  Adam Barth  <abarth@webkit.org>
1617
1618         SecurityContext::isSecureTransitionTo should not refer to empty security origins
1619         https://bugs.webkit.org/show_bug.cgi?id=72277
1620
1621         Reviewed by Eric Seidel.
1622
1623         Now that we're tracking the "failed to initialized SecurityOrigin"
1624         state explicitly, we should use that to determine whether we can make a
1625         secure transition.
1626
1627         * dom/SecurityContext.cpp:
1628         (WebCore::SecurityContext::isSecureTransitionTo):
1629
1630 2011-11-14  Vincent Scheib  <scheib@chromium.org>
1631
1632         Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
1633         https://bugs.webkit.org/show_bug.cgi?id=72286
1634
1635         Reviewed by Adam Barth.
1636
1637         * bindings/generic/RuntimeEnabledFeatures.cpp:
1638         * bindings/generic/RuntimeEnabledFeatures.h:
1639         * dom/MouseEvent.idl:
1640         * dom/MouseRelatedEvent.h:
1641         * page/MouseLockable.cpp:
1642         * page/MouseLockable.h:
1643         * page/MouseLockable.idl:
1644         * page/Navigator.cpp:
1645         * page/Navigator.h:
1646         * page/Navigator.idl:
1647         * page/Settings.cpp:
1648         (WebCore::Settings::Settings):
1649         * page/Settings.h:
1650
1651 2011-11-14  Anna Cavender  <annacc@chromium.org>
1652
1653         Remove TextTrackCueIndex and TextTrackCueSet.  No longer needed.
1654         https://bugs.webkit.org/show_bug.cgi?id=72216
1655
1656         Reviewed by Sam Weinig.
1657
1658         No new tests. No new functionality.
1659
1660         * CMakeLists.txt:
1661         * GNUmakefile.list.am:
1662         * Target.pri:
1663         * WebCore.gypi:
1664         * WebCore.xcodeproj/project.pbxproj:
1665         * html/TextTrackCueIndex.cpp: Removed.
1666         * html/TextTrackCueIndex.h: Removed.
1667
1668 2011-10-10  Robert Hogan  <robert@webkit.org>
1669
1670         CSS 2.1 failure: border-spacing-applies-to-015.htm
1671         https://bugs.webkit.org/show_bug.cgi?id=69773
1672
1673         Reviewed by David Hyatt.
1674
1675         The CSS test suite expects UAs to allow multiple captions per table.
1676         Replace m_caption with a Vector called m_captions.
1677
1678         * rendering/RenderTable.cpp:
1679         (WebCore::RenderTable::RenderTable):
1680         (WebCore::RenderTable::addChild):
1681         (WebCore::RenderTable::removeChild):
1682         (WebCore::RenderTable::adjustLogicalHeightForCaption):
1683         (WebCore::RenderTable::layout):
1684         (WebCore::RenderTable::addOverflowFromChildren):
1685         (WebCore::RenderTable::paintObject):
1686         (WebCore::RenderTable::subtractCaptionRect):
1687         (WebCore::RenderTable::computePreferredLogicalWidths):
1688         (WebCore::RenderTable::nextColElement):
1689         (WebCore::RenderTable::colElement):
1690         (WebCore::RenderTable::recalcCaption):
1691         (WebCore::RenderTable::recalcSections):
1692         (WebCore::RenderTable::overflowClipRect):
1693         (WebCore::RenderTable::nodeAtPoint):
1694         * rendering/RenderTable.h:
1695
1696 2011-11-14  Gregg Tavares  <gman@google.com>
1697
1698         Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
1699         https://bugs.webkit.org/show_bug.cgi?id=72086
1700
1701         Reviewed by Kenneth Russell.
1702
1703         No new tests. Will write final test once on hardware.
1704
1705         * CMakeLists.txt:
1706         * GNUmakefile.list.am:
1707         * WebCore.gypi:
1708         * WebCore.pro:
1709         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1710         (WebCore::toJS):
1711         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1712         (WebCore::toV8Object):
1713         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
1714         (WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
1715         (WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
1716         (WebCore::WebGLExperimentalCompressedTextures::getName):
1717         (WebCore::WebGLExperimentalCompressedTextures::create):
1718         (WebCore::WebGLExperimentalCompressedTextures::supported):
1719         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
1720         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
1721         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
1722         (WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
1723         (WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
1724         (WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
1725         * html/canvas/WebGLExperimentalCompressedTextures.h: Added.
1726         * html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
1727         * html/canvas/WebGLExtension.h:
1728         * html/canvas/WebGLRenderingContext.cpp:
1729         (WebCore::WebGLRenderingContext::getExtension):
1730         (WebCore::WebGLRenderingContext::getParameter):
1731         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1732         * html/canvas/WebGLRenderingContext.h:
1733         * platform/graphics/Extensions3D.h:
1734         * platform/graphics/GraphicsContext3D.h:
1735         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1736         (WebCore::GraphicsContext3D::compressedTexImage2D):
1737         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1738         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1739         (WebCore::GraphicsContext3D::compressedTexImage2D):
1740         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1741         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1742         (WebCore::GraphicsContext3D::compressedTexImage2D):
1743         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1744
1745 2011-11-14  Michael Nordman  <michaeln@google.com>
1746
1747         Return more complete error and exception messages when a
1748         WebSQLDatabase function fails. Produce console logging
1749         for openDatabase() errors and vacuum errors. Add a lastErrorMessage
1750         accessor to the DatabaseSync interface.
1751         https://bugs.webkit.org/show_bug.cgi?id=71575
1752
1753         Reviewed by David Levin.
1754
1755         Yes, see LayoutTests/ChangeLog in this patch.
1756
1757         * platform/sql/SQLiteDatabase.cpp:
1758         (WebCore::SQLiteDatabase::SQLiteDatabase):
1759         (WebCore::SQLiteDatabase::open):
1760         (WebCore::SQLiteDatabase::close):
1761         (WebCore::SQLiteDatabase::lastError):
1762         (WebCore::SQLiteDatabase::lastErrorMsg):
1763         (WebCore::SQLiteDatabase:: runVacuumCommand):
1764         (WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
1765         Reflect errors in the open() method in lastError() and lastErrorMsg().
1766         Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().
1767
1768         * platform/sql/SQLiteDatabase.h:
1769         * storage/AbstractDatabase.cpp:
1770         (WebCore::formatErrorMessage):
1771         (WebCore::AbstractDatabase::performOpenAndVerify):
1772         (WebCore::AbstractDatabase::logErrorMessage):
1773         During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
1774         and the sqlite error message. Add a helper to log message to the console.
1775
1776         * storage/AbstractDatabase.h:
1777         * storage/ChangeVersionWrapper.cpp:
1778         (WebCore::ChangeVersionWrapper::performPreflight):
1779         (WebCore::ChangeVersionWrapper::performPostflight):
1780         * storage/Database.cpp:
1781         (WebCore::Database::openDatabase):
1782         (WebCore::Database::openAndVerifyVersion):
1783         (WebCore::Database::performOpenAndVerify):
1784         * storage/Database.h:
1785         * storage/DatabaseSync.cpp:
1786         (WebCore::DatabaseSync::openDatabaseSync):
1787         (WebCore::DatabaseSync::changeVersion):
1788         (WebCore::DatabaseSync::runTransaction):
1789         * storage/DatabaseSync.h:
1790         (WebCore::DatabaseSync::lastErrorMessage):
1791         (WebCore::DatabaseSync::setLastErrorMessage):
1792         * storage/DatabaseSync.idl:
1793         Add a lastErrorMessage attribute so javascript callers can
1794         retrieve more detailed information about what went wrong.
1795
1796         * storage/DatabaseTask.cpp:
1797         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
1798         (WebCore::Database::DatabaseOpenTask::doPerformTask):
1799         * storage/DatabaseTask.h:
1800         (WebCore::Database::DatabaseOpenTask::create):
1801         Return an errorMessage in addition to the exception code.
1802
1803         * storage/SQLError.h:
1804         (WebCore::SQLError::create):
1805         Add helpers to produced formatted error messages.
1806
1807         * storage/SQLStatement.cpp:
1808         (WebCore::SQLStatement::execute):
1809         * storage/SQLStatementSync.cpp:
1810         (WebCore::SQLStatementSync::execute):
1811         * storage/SQLTransaction.cpp:
1812         (WebCore::SQLTransaction::openTransactionAndPreflight):
1813         (WebCore::SQLTransaction::postflightAndCommit):
1814         * storage/SQLTransactionSync.cpp:
1815         (WebCore::SQLTransactionSync::executeSQL):
1816         (WebCore::SQLTransactionSync::begin):
1817         (WebCore::SQLTransactionSync::execute):
1818         (WebCore::SQLTransactionSync::commit):
1819
1820 2011-11-14  Adam Barth  <abarth@webkit.org>
1821
1822         SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
1823         https://bugs.webkit.org/show_bug.cgi?id=72283
1824
1825         Reviewed by Sam Weinig.
1826
1827         This change aligns our implementation more closely with the spec.  I
1828         don't think this change has an observable effects, but it moves us
1829         closer to removing the concept of an empty security origin.
1830
1831         * dom/Document.cpp:
1832         (WebCore::shouldInheritSecurityOriginFromOwner):
1833         (WebCore::Document::initSecurityContext):
1834
1835 2011-11-14  Erik Arvidsson  <arv@chromium.org>
1836
1837         Remove getParameter from HTMLAnchorElement and Location
1838         https://bugs.webkit.org/show_bug.cgi?id=71966
1839
1840         Reviewed by Adam Barth.
1841
1842         * html/HTMLAnchorElement.cpp: Removed getParameter.
1843         * html/HTMLAnchorElement.h: Ditto.
1844         * html/HTMLAnchorElement.idl: Ditto.
1845         * page/Location.cpp: Ditto.
1846         * page/Location.h: Ditto.
1847         * page/Location.idl: Ditto.
1848
1849 2011-11-14  Erik Arvidsson  <arv@chromium.org>
1850
1851         Remove RequiresAllArguments
1852         https://bugs.webkit.org/show_bug.cgi?id=71503
1853
1854         Reviewed by Adam Barth.
1855
1856         This removes RequiresAllArguments from the idl files as well as from the code generators.
1857         For window.move/resize/scroll we now match IE and treat missing arguments as 0.
1858         For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
1859
1860         Test: fast/events/drag-and-drop-set-drag-data-arguments.html
1861
1862         * bindings/js/JSSVGLengthCustom.cpp:
1863         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1864         * bindings/scripts/CodeGeneratorJS.pm:
1865         (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
1866         * bindings/scripts/CodeGeneratorV8.pm:
1867         (GenerateArgumentsCountCheck): Ditto.
1868         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1869         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1870         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1871         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1872         * bindings/scripts/test/JS/JSTestObj.cpp:
1873         * bindings/scripts/test/JS/JSTestObj.h:
1874         * bindings/scripts/test/ObjC/DOMTestObj.h:
1875         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1876         * bindings/scripts/test/TestObj.idl:
1877         * bindings/scripts/test/V8/V8TestObj.cpp:
1878         (WebCore::ConfigureV8TestObjTemplate):
1879         * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
1880         * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
1881         * websockets/WebSocket.idl: Comment changes only.
1882
1883 2011-11-08  Jer Noble  <jer.noble@apple.com>
1884
1885         Implement MediaController.
1886         https://bugs.webkit.org/show_bug.cgi?id=71408
1887
1888         Reviewed by Eric Carlson.
1889
1890         Tests: media/media-controller-playback.html
1891                media/media-controller.html
1892
1893         Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
1894         HTMLMediaElement attributes.
1895
1896         MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
1897         either be created by a page script and assigned to a HTMLMediaElement using the controller property,
1898         or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned 
1899         automatically.
1900
1901         Add an abstract interface implemented by both MediaController and HTMLMediaElement.
1902         * html/MediaControllerInterface.h: Added.
1903         (WebCore::MediaControllerInterface::~MediaControllerInterface):
1904
1905         Add the MediaController object and IDL.
1906         * html/MediaController.cpp: Added.
1907         (mediaGroupToMediaControllerMap):
1908         (MediaController::mediaControllerForMediaGroup):
1909         (MediaController::create):
1910         (MediaController::MediaController):
1911         (MediaController::~MediaController):
1912         (MediaController::addMediaElement):
1913         (MediaController::removeMediaElement):
1914         (MediaController::containsMediaElement):
1915         (MediaController::buffered):
1916         (MediaController::seekable):
1917         (MediaController::played):
1918         (MediaController::duration):
1919         (MediaController::currentTime):
1920         (MediaController::setCurrentTime):
1921         (MediaController::play):
1922         (MediaController::pause):
1923         (MediaController::setDefaultPlaybackRate):
1924         (MediaController::setPlaybackRate):
1925         (MediaController::setVolume):
1926         (MediaController::setMuted):
1927         (MediaController::reportControllerState):
1928         (MediaController::updateReadyState):
1929         (MediaController::updatePlaybackState):
1930         (MediaController::updateMediaElements):
1931         (MediaController::scheduleEvent):
1932         (MediaController::asyncEventTimerFired):
1933         (MediaController::scriptExecutionContext):
1934         (MediaController::hasAudio):
1935         (MediaController::hasVideo):
1936         (MediaController::hasClosedCaptions):
1937         (MediaController::setClosedCaptionsVisible):
1938         (MediaController::supportsScanning):
1939         (MediaController::beginScrubbing):
1940         (MediaController::endScrubbing):
1941         (MediaController::canPlay):
1942         (MediaController::isLiveStream):
1943         (MediaController::hasSource):
1944         (MediaController::returnToRealtime):
1945         (MediaController::isBlocked):
1946         (MediaController::hasEnded):
1947         * html/MediaController.h: Added.
1948         (WebCore::MediaController::mediaGroup):
1949         (WebCore::MediaController::paused):
1950         (WebCore::MediaController::defaultPlaybackRate):
1951         (WebCore::MediaController::playbackRate):
1952         (WebCore::MediaController::volume):
1953         (WebCore::MediaController::muted):
1954         (WebCore::MediaController::readyState):
1955         (WebCore::MediaController::playbackState):
1956         (WebCore::MediaController::supportsFullscreen):
1957         (WebCore::MediaController::isFullscreen):
1958         (WebCore::MediaController::enterFullscreen):
1959         (WebCore::MediaController::closedCaptionsVisible):
1960         (WebCore::MediaController::refEventTarget):
1961         (WebCore::MediaController::derefEventTarget):
1962         (WebCore::MediaController::toMediaController):
1963         (WebCore::MediaController::eventTargetData):
1964         (WebCore::MediaController::ensureEventTargetData):
1965         * html/MediaController.idl: Added.
1966
1967         Add convenience functions to TimeRanges which can calculate intersections and
1968         unions between TimeRanges objects.
1969         * html/TimeRanges.cpp:
1970         (TimeRanges::copy):
1971         (TimeRanges::invert):
1972         (TimeRanges::intersectWith):
1973         (TimeRanges::unionWith):
1974         * html/TimeRanges.h:
1975
1976         Add MediaControllerConstructor to the Window object.
1977         * page/DOMWindow.idl:
1978
1979         Add the two new attribute names, mediagroup and controller.
1980         * html/HTMLAttributeNames.in:
1981
1982         Add support for the new attributes, and add overridden behavior when a media element
1983         has a current media controller:
1984         * html/HTMLMediaElement.cpp:
1985         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1986         (WebCore::HTMLMediaElement::parseMappedAttribute):
1987         (WebCore::HTMLMediaElement::prepareForLoad):
1988         (WebCore::HTMLMediaElement::setReadyState):
1989         (WebCore::HTMLMediaElement::setCurrentTime):
1990         (WebCore::HTMLMediaElement::setPlaybackRate):
1991         (WebCore::HTMLMediaElement::playInternal):
1992         (WebCore::HTMLMediaElement::togglePlayState):
1993         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1994         (WebCore::HTMLMediaElement::seekable):
1995         (WebCore::HTMLMediaElement::potentiallyPlaying):
1996         (WebCore::HTMLMediaElement::endedPlayback):
1997         (WebCore::HTMLMediaElement::updateVolume):
1998         (WebCore::HTMLMediaElement::updatePlayState):
1999         (WebCore::HTMLMediaElement::userCancelledLoad):
2000         (WebCore::HTMLMediaElement::mediaGroup):
2001         (WebCore::HTMLMediaElement::setMediaGroup):
2002         (WebCore::HTMLMediaElement::controller):
2003         (WebCore::HTMLMediaElement::setController):
2004         (WebCore::HTMLMediaElement::updateMediaController):
2005         (WebCore::HTMLMediaElement::isBlockedOnMediaController):
2006         * html/HTMLMediaElement.h:
2007         (WebCore::HTMLMediaElement::hasSource):
2008         (WebCore::HTMLMediaElement::isLiveStream):
2009         * html/HTMLMediaElement.idl:
2010         * bindings/js/JSHTMLMediaElementCustom.cpp: Added.
2011         (WebCore::JSHTMLMediaElement::setMediaController):
2012
2013         Add convenience functions to store a mapping of media-elements-per-document to allow
2014         a quick lookup of media elements with the same media group within a given document:
2015         * html/HTMLMediaElement.cpp:
2016         (WebCore::documentToElementSetMap):
2017         (WebCore::addElementToDocumentMap):
2018         (WebCore::removeElementFromDocumentMap):
2019         
2020         Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
2021         in a media element.  By default this is a single range of [0, maxTimeSeekable].
2022         * platform/graphics/MediaPlayer.cpp:
2023         (WebCore::MediaPlayer::seekable):
2024         * platform/graphics/MediaPlayer.h:
2025         * platform/graphics/MediaPlayerPrivate.h:
2026         (WebCore::MediaPlayerPrivateInterface::seekable):
2027
2028         Support functions to cast between MediaController and EventTarget.
2029         * bindings/js/JSEventTarget.cpp:
2030         (WebCore::toJS):
2031         * dom/EventTarget.cpp:
2032         (WebCore::EventTarget::toMediaController):
2033         * dom/EventTarget.h:
2034
2035         Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
2036         ClockGeneric::currentTime:
2037         * platform/ClockGeneric.cpp:
2038         (ClockGeneric::ClockGeneric):
2039         (ClockGeneric::setCurrentTime):
2040         (ClockGeneric::currentTime):
2041         (ClockGeneric::setPlayRate):
2042         (ClockGeneric::start):
2043         (ClockGeneric::stop):
2044         (ClockGeneric::now):
2045         * platform/ClockGeneric.h:
2046
2047         Boilerplate to support creating the derived sources for MediaController and adding new sources
2048         to the project:
2049         * CMakeLists.txt:
2050         * DerivedSources.cpp:
2051         * DerivedSources.make:
2052         * GNUmakefile.list.am:
2053         * WebCore.gypi:
2054         * WebCore.xcodeproj/project.pbxproj:
2055
2056 2011-11-14  Florin Malita  <fmalita@google.com>
2057
2058         Multiple foreign objects not rendered
2059         https://bugs.webkit.org/show_bug.cgi?id=72151
2060
2061         Reviewed by Adam Barth.
2062
2063         SVG end tags need to be case-adjusted (just like their start counterparts).
2064
2065         Test: svg/foreignObject/multiple-foreign-objects.html
2066
2067         * html/parser/HTMLTreeBuilder.cpp:
2068         (WebCore::HTMLTreeBuilder::processEndTag):
2069
2070 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
2071
2072         Add support for the caretBrowsingEnabled preference in WebKit2
2073         https://bugs.webkit.org/show_bug.cgi?id=72266
2074
2075         Reviewed by Chris Fleizach.
2076
2077         * WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.
2078
2079 2011-11-14  Jonathan Backer  <backer@chromium.org>
2080
2081         [chromium] Plumb through partial swap
2082         https://bugs.webkit.org/show_bug.cgi?id=72028
2083
2084         Reviewed by Kenneth Russell.
2085
2086         * platform/graphics/chromium/Extensions3DChromium.h:
2087         * platform/graphics/chromium/LayerRendererChromium.cpp:
2088         (WebCore::LayerRendererChromium::initialize):
2089         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2090         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2091
2092 2011-11-14  Andrey Kosyakov  <caseq@chromium.org>
2093
2094         Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
2095         https://bugs.webkit.org/show_bug.cgi?id=72268
2096
2097         Reviewed by Pavel Feldman.
2098
2099         - replace IFrameView with ExtensionView;
2100         - inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
2101         - move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
2102         - expose iframe's window object in the onShow event handler.
2103
2104         * WebCore.gypi:
2105         * WebCore.vcproj/WebCore.vcproj:
2106         * inspector/compile-front-end.sh:
2107         * inspector/front-end/ExtensionAPI.js:
2108         (injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
2109         (injectedExtensionAPI):
2110         (injectedExtensionAPI.PanelWithSidebarImpl):
2111         (injectedExtensionAPI.ExtensionPanelImpl):
2112         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
2113         * inspector/front-end/ExtensionPanel.js:
2114         (WebInspector.ExtensionView):
2115         (WebInspector.ExtensionView.prototype.wasShown):
2116         (WebInspector.ExtensionView.prototype.willHide):
2117         (WebInspector.ExtensionView.prototype._onLoad):
2118         (WebInspector.ExtensionPanel):
2119         (WebInspector.ExtensionSidebarPane.prototype.setPage):
2120         * inspector/front-end/ExtensionServer.js:
2121         (WebInspector.ExtensionServer.prototype.notifyViewShown):
2122         (WebInspector.ExtensionServer.prototype.notifyViewHidden):
2123         (WebInspector.ExtensionServer.prototype._onCreatePanel):
2124         * inspector/front-end/IFrameView.js: Removed.
2125         * inspector/front-end/Panel.js:
2126         (WebInspector.Panel.prototype.wasShown):
2127         (WebInspector.Panel.prototype.willHide):
2128         * inspector/front-end/WebKit.qrc:
2129         * inspector/front-end/inspector.html:
2130
2131 2011-11-14  Yury Semikhatsky  <yurys@chromium.org>
2132
2133         Web Inspector: add 'Show function definition' context menu item for function values
2134         https://bugs.webkit.org/show_bug.cgi?id=72265
2135
2136         Allow navigating to JavaScript function definition using context menu.
2137
2138         Reviewed by Pavel Feldman.
2139
2140         * English.lproj/localizedStrings.js:
2141         * inspector/front-end/DebuggerPresentationModel.js:
2142         (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
2143         * inspector/front-end/ObjectPropertiesSection.js:
2144         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2145         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
2146         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
2147         * inspector/front-end/ScriptsPanel.js:
2148         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
2149         * inspector/front-end/inspector.js:
2150         (WebInspector.showPanelForAnchorNavigation):
2151
2152 2011-11-14  Pavel Feldman  <pfeldman@google.com>
2153
2154         Web Inspector: console's protocol payload does not have url and line properties.
2155         https://bugs.webkit.org/show_bug.cgi?id=72256
2156
2157         Reviewed by Yury Semikhatsky.
2158
2159         Test: inspector/console/console-url-and-line.html
2160
2161         * inspector/ConsoleMessage.cpp:
2162         (WebCore::ConsoleMessage::ConsoleMessage):
2163         * inspector/front-end/ConsoleMessage.js:
2164         (WebInspector.ConsoleMessageImpl):
2165
2166 2011-11-14  Pavel Feldman  <pfeldman@google.com>
2167
2168         Web Inspector: [regression r99960] null callback access.
2169         https://bugs.webkit.org/show_bug.cgi?id=72263
2170
2171         Reviewed by Yury Semikhatsky.
2172
2173         * inspector/CodeGeneratorInspector.py:
2174
2175 2011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2176
2177         [Qt] Unbreak the build on Mac OS X
2178
2179         QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
2180         that's been fixed in Qt we have to use the same guards in WebKit, not
2181         Q_OS_MAC.
2182
2183         * platform/qt/RenderThemeQStyle.cpp:
2184         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
2185         (WebCore::RenderThemeQStyle::adjustButtonStyle):
2186         (WebCore::RenderThemeQStyle::paintMenuList):
2187         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
2188         * platform/qt/ScrollbarThemeQt.cpp:
2189         (WebCore::ScrollbarThemeQt::paint):
2190
2191 2011-11-14  Simon Hausmann  <simon.hausmann@nokia.com>
2192
2193         [Qt] Replace use of QApplication with QGuiApplication.
2194
2195         Reviewed by Tor Arne Vestbø.
2196
2197         Replace use of QApplication by QGuiApplication where applicable.
2198
2199         * platform/qt/RenderThemeQt.cpp:
2200         (WebCore::RenderThemeQt::RenderThemeQt):
2201         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
2202         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
2203         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
2204         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
2205         (WebCore::RenderThemeQt::platformFocusRingColor):
2206         (WebCore::RenderThemeQt::systemColor):
2207         (WebCore::RenderThemeQt::minimumMenuListSize):
2208         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
2209         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2210         (WebCore::RenderThemeQt::caretBlinkInterval):
2211
2212 2011-11-14  Jaehoon Jeong  <jh4u.jeong@samsung.com>
2213
2214         [CMAKE] Add the UseV8.cmake to WebCore.
2215         https://bugs.webkit.org/show_bug.cgi?id=72000
2216
2217         Reviewed by Daniel Bates.
2218
2219         Add the UseV8.cmake to WebCore to build bindings of V8 and
2220         generate JavaScript codes given IDL input.
2221
2222         * UseV8.cmake: Added.
2223
2224 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
2225
2226         [Qt] Remove the QStyle dependency in Qt's mobile theme
2227         https://bugs.webkit.org/show_bug.cgi?id=67773
2228
2229         This refactoring splits up RenderThemeQt with two
2230         subclasses, a QStyle-backed one, and a Mobile version
2231         that uses the old mobile theme for now.
2232
2233         QStyle availability is detected at compile time, and
2234         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
2235         environment variable.
2236
2237         Reviewed by Simon Hausmann.
2238
2239         Covered by the existing tests.
2240
2241         * Target.pri:
2242         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
2243         now lives within RenderThemeQtMobile.
2244         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
2245         * platform/qt/RenderThemeQStyle.cpp: Added.
2246         (WebCore::initStyleOption):
2247         (WebCore::RenderThemeQStyle::getStylePainter):
2248         (WebCore::StylePainterQStyle::StylePainterQStyle):
2249         (WebCore::StylePainterQStyle::init):
2250         (WebCore::RenderThemeQStyle::create):
2251         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
2252         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
2253         (WebCore::RenderThemeQStyle::fallbackStyle):
2254         (WebCore::RenderThemeQStyle::qStyle):
2255         (WebCore::RenderThemeQStyle::findFrameLineWidth):
2256         (WebCore::RenderThemeQStyle::inflateButtonRect):
2257         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
2258         (WebCore::RenderThemeQStyle::adjustButtonStyle):
2259         (WebCore::RenderThemeQStyle::setButtonPadding):
2260         (WebCore::RenderThemeQStyle::paintButton):
2261         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
2262         (WebCore::RenderThemeQStyle::paintTextField):
2263         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
2264         (WebCore::RenderThemeQStyle::paintTextArea):
2265         (WebCore::RenderThemeQStyle::setPopupPadding):
2266         (WebCore::RenderThemeQStyle::paintMenuList):
2267         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
2268         (WebCore::RenderThemeQStyle::paintMenuListButton):
2269         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
2270         (WebCore::RenderThemeQStyle::paintProgressBar):
2271         (WebCore::RenderThemeQStyle::paintSliderTrack):
2272         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
2273         (WebCore::RenderThemeQStyle::paintSliderThumb):
2274         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
2275         (WebCore::RenderThemeQStyle::paintSearchField):
2276         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
2277         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
2278         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
2279         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
2280         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
2281         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
2282         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
2283         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
2284         * platform/qt/RenderThemeQStyle.h: Added.
2285         (WebCore::StylePainterQStyle::isValid):
2286         (WebCore::StylePainterQStyle::drawPrimitive):
2287         (WebCore::StylePainterQStyle::drawControl):
2288         (WebCore::StylePainterQStyle::drawComplexControl):
2289         * platform/qt/RenderThemeQt.cpp:
2290         (WebCore::RenderThemeQt::RenderThemeQt):
2291         (WebCore::RenderThemeQt::isControlStyled):
2292         (WebCore::RenderThemeQt::inflateButtonRect):
2293         (WebCore::RenderThemeQt::adjustRepaintRect):
2294         (WebCore::RenderThemeQt::minimumMenuListSize):
2295         (WebCore::RenderThemeQt::adjustTextFieldStyle):
2296         (WebCore::RenderThemeQt::adjustMenuListStyle):
2297         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
2298         (WebCore::RenderThemeQt::adjustProgressBarStyle):
2299         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
2300         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
2301         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
2302         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
2303         (WebCore::RenderThemeQt::paintMediaMuteButton):
2304         (WebCore::RenderThemeQt::paintMediaPlayButton):
2305         (WebCore::RenderThemeQt::paintMediaCurrentTime):
2306         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2307         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
2308         (WebCore::RenderThemeQt::paintMediaSliderTrack):
2309         (WebCore::RenderThemeQt::paintMediaSliderThumb):
2310         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2311         (WebCore::RenderThemeQt::caretBlinkInterval):
2312         (WebCore::RenderThemeQt::fileListNameForWidth):
2313         (WebCore::StylePainter::StylePainter):
2314         (WebCore::StylePainter::init):
2315         (WebCore::StylePainter::~StylePainter):
2316         * platform/qt/RenderThemeQt.h:
2317         (WebCore::RenderThemeQt::useMobileTheme):
2318         (WebCore::StylePainter::isValid):
2319         * platform/qt/RenderThemeQtMobile.cpp: Added.
2320         (WebCore::drawRectangularControlBackground):
2321         (WebCore::RenderThemeQtMobile::getStylePainter):
2322         (WebCore::StylePainterMobile::StylePainterMobile):
2323         (WebCore::StylePainterMobile::drawChecker):
2324         (WebCore::StylePainterMobile::findChecker):
2325         (WebCore::StylePainterMobile::drawRadio):
2326         (WebCore::StylePainterMobile::findRadio):
2327         (WebCore::StylePainterMobile::drawMultipleComboButton):
2328         (WebCore::StylePainterMobile::drawSimpleComboButton):
2329         (WebCore::StylePainterMobile::getButtonImageSize):
2330         (WebCore::StylePainterMobile::findComboButton):
2331         (WebCore::StylePainterMobile::drawLineEdit):
2332         (WebCore::StylePainterMobile::drawCheckBox):
2333         (WebCore::StylePainterMobile::drawRadioButton):
2334         (WebCore::StylePainterMobile::drawPushButton):
2335         (WebCore::StylePainterMobile::drawComboBox):
2336         (WebCore::RenderThemeQtMobile::create):
2337         (WebCore::RenderTheme::themeForPage):
2338         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
2339         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
2340         (WebCore::RenderThemeQtMobile::isControlStyled):
2341         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
2342         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
2343         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
2344         (WebCore::RenderThemeQtMobile::setButtonPadding):
2345         (WebCore::RenderThemeQtMobile::paintButton):
2346         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
2347         (WebCore::RenderThemeQtMobile::paintTextField):
2348         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
2349         (WebCore::RenderThemeQtMobile::setPopupPadding):
2350         (WebCore::RenderThemeQtMobile::paintMenuList):
2351         (WebCore::RenderThemeQtMobile::paintMenuListButton):
2352         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
2353         (WebCore::RenderThemeQtMobile::paintProgressBar):
2354         (WebCore::RenderThemeQtMobile::paintSliderTrack):
2355         (WebCore::RenderThemeQtMobile::paintSliderThumb):
2356         (WebCore::RenderThemeQtMobile::checkMultiple):
2357         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
2358         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
2359         * platform/qt/RenderThemeQtMobile.h: Added.
2360         * platform/qt/ScrollbarThemeQt.cpp:
2361         (WebCore::ScrollbarTheme::nativeTheme):
2362         (WebCore::ScrollbarThemeQt::paint):
2363         (WebCore::ScrollbarThemeQt::scrollbarThickness):
2364         (WebCore::ScrollbarThemeQt::paintScrollCorner):
2365
2366 2011-11-14  Adam Barth  <abarth@webkit.org>
2367
2368         SecurityContext should track whether the SecurityOrigin has been initialized
2369         https://bugs.webkit.org/show_bug.cgi?id=72250
2370
2371         Reviewed by Eric Seidel.
2372
2373         This patch is another step towards https://bugs.webkit.org/show_bug.cgi?id=71745.
2374
2375         One of the things we use "empty" SecurityOrigins for is detecting
2376         whether a Document's SecurityOrigin has been initialized.  In this
2377         patch, we track that state directly on SecurityContext (which is a base
2378         class of Document), moving us closer to removing the concept of an
2379         empty SecurityOrigin.
2380
2381         * dom/Document.cpp:
2382         (WebCore::Document::initSecurityContext):
2383         * dom/SecurityContext.cpp:
2384         (WebCore::SecurityContext::SecurityContext):
2385         (WebCore::SecurityContext::setSecurityOrigin):
2386         * dom/SecurityContext.h:
2387         (WebCore::SecurityContext::didFailToInitializeSecurityOrigin):
2388         (WebCore::SecurityContext::haveInitializedSecurityOrigin):
2389
2390 2011-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2391
2392         Unreviewed. Fix make distcheck build.
2393
2394         * GNUmakefile.list.am: Add missing files.
2395
2396 2011-11-14  Joseph Pecoraro  <pecoraro@apple.com>
2397
2398         Web Inspector: Give HTML ContextMenu a more Native look
2399         https://bugs.webkit.org/show_bug.cgi?id=72207
2400
2401         Reviewed by Pavel Feldman.
2402
2403         * inspector/front-end/SoftContextMenu.js:
2404         (.WebInspector.SoftContextMenu.prototype._createMenuItem):
2405         Give the checkmark a class name so that it can be styled more
2406         with CSS instead of with JavaScript.
2407
2408         * inspector/front-end/inspector.css:
2409         (.soft-context-menu): tweak the border and shadow.
2410         (.soft-context-menu-item): tweak the font size and positioning.
2411         (.soft-context-menu-separator): tweak the whitespace.
2412         (.soft-context-menu-item-mouse-over): solid blue for non-mac platforms.
2413         (body.platform-mac .soft-context-menu-item-mouse-over): gradient for mac platforms.
2414         (.soft-context-menu-item-checkmark): gray color normally.
2415         (.soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark): white on hover.
2416
2417 2011-11-10  Yury Semikhatsky  <yurys@chromium.org>
2418
2419         Web Inspector: function remote objetct should provide access to function position in the script
2420         https://bugs.webkit.org/show_bug.cgi?id=71808
2421
2422         Added Debugger.getFunctionLocation command for resolving function location including
2423         start line, column and script id.
2424
2425         Reviewed by Pavel Feldman.
2426
2427         Test: inspector/debugger/function-location.html
2428
2429         * bindings/js/JSInjectedScriptHostCustom.cpp:
2430         (WebCore::JSInjectedScriptHost::functionLocation):
2431         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2432         (WebCore::V8InjectedScriptHost::functionLocationCallback):
2433         * inspector/InjectedScript.cpp:
2434         (WebCore::InjectedScript::getFunctionLocation):
2435         * inspector/InjectedScript.h:
2436         * inspector/InjectedScriptHost.idl:
2437         * inspector/InjectedScriptSource.js:
2438         (.):
2439         * inspector/Inspector.json:
2440         * inspector/InspectorDebuggerAgent.cpp:
2441         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
2442         * inspector/InspectorDebuggerAgent.h:
2443
2444 2011-11-14  Rakesh KN  <rakesh.kn@motorola.com>
2445
2446         Cannot select multiple options by mouse dragging in <select multiple="multiple" size="7"> list
2447         https://bugs.webkit.org/show_bug.cgi?id=70496
2448
2449         Reviewed by Kent Tamura.
2450
2451         Select Multiple options in a select element with a mouse drag when no. of options
2452         are less than the no. specified in size attribute.
2453         Other browsers(IE, Opera, Firefox) support this feature
2454
2455         Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html
2456
2457         * html/HTMLSelectElement.cpp:
2458         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2459         Handled mouse move event with Left button pressed. We select the options under mouse
2460         when mouse drag happens and the select element cannot autoscroll.
2461
2462 2011-11-14  Yury Semikhatsky  <yurys@chromium.org>
2463
2464         Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
2465         https://bugs.webkit.org/show_bug.cgi?id=72020
2466
2467         Collect information about dedicated workers even when inspector is closed. This
2468         way we can list all dedicated workers if the front-end opens later.
2469
2470         Reviewed by Pavel Feldman.
2471
2472         Test: http/tests/inspector-enabled/dedicated-workers-list.html
2473
2474         * inspector/InspectorInstrumentation.h:
2475         (WebCore::InspectorInstrumentation::didStartWorkerContext):
2476         * inspector/InspectorWorkerAgent.cpp:
2477         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2478         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
2479         (WebCore::InspectorWorkerAgent::setFrontend):
2480         (WebCore::InspectorWorkerAgent::restore):
2481         (WebCore::InspectorWorkerAgent::clearFrontend):
2482         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
2483         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
2484         (WebCore::InspectorWorkerAgent::workerContextTerminated):
2485         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
2486         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
2487         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
2488         * inspector/InspectorWorkerAgent.h:
2489
2490 2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
2491
2492         Build breaks with --no-javascript-debugger --no-inspector
2493         https://bugs.webkit.org/show_bug.cgi?id=72228
2494
2495         Reviewed by Simon Hausmann.
2496
2497         * workers/WorkerMessagingProxy.cpp:
2498         (WebCore::PostMessageToPageInspectorTask::performTask):
2499         (WebCore::WorkerMessagingProxy::connectToInspector):
2500         * workers/WorkerThread.cpp:
2501         (WebCore::WorkerThread::workerThread):
2502
2503 2011-11-14  Kentaro Hara  <haraken@chromium.org>
2504
2505         Remove all custom constructors of Events in V8
2506         https://bugs.webkit.org/show_bug.cgi?id=72074
2507
2508         Reviewed by Adam Barth.
2509
2510         V8 has [ConstructorTemplate=Event] IDL, which generates
2511         Event constructors. This patch removes all the custom constructors
2512         in V8EventConstructors.cpp and generates them using
2513         [ConstructorTemplate=Event] IDL.
2514
2515         Tests: fast/events/constructors/before-load-event-constructor.html
2516                fast/events/constructors/close-event-constructor.html
2517                fast/events/constructors/custom-event-constructor.html
2518                fast/events/constructors/error-event-constructor.html
2519                fast/events/constructors/event-constructors.html
2520                fast/events/constructors/hash-change-event-constructor.html
2521                fast/events/constructors/message-event-constructor.html
2522                fast/events/constructors/overflow-event-constructor.html
2523                fast/events/constructors/page-transition-event-constructor.html
2524                fast/events/constructors/pop-state-event-constructor.html
2525                fast/events/constructors/progress-event-constructor.html
2526                fast/events/constructors/track-event-constructor.html
2527                fast/events/constructors/webkit-animation-event-constructor.html
2528                fast/events/constructors/webkit-transition-event-constructor.html
2529
2530         * Target.pri: Removed V8EventConstructors.cpp.
2531         * WebCore.gypi: Ditto.
2532         * bindings/v8/custom/V8EventConstructors.cpp: Removed.
2533         * dom/BeforeLoadEvent.idl: Replaced [V8CustomConstructor] with [V8ConstructorTemplate=Event]. Added [InitializedByConstructor] IDL to attributes that can be initialized by the generated constructor.
2534         * dom/CustomEvent.idl: Ditto.
2535         * dom/ErrorEvent.idl: Ditto.
2536         * dom/HashChangeEvent.idl: Ditto.
2537         * dom/MessageEvent.idl: Ditto.
2538         * dom/OverflowEvent.idl: Ditto.
2539         * dom/PageTransitionEvent.idl: Ditto.
2540         * dom/PopStateEvent.idl: Ditto.
2541         * dom/ProgressEvent.idl: Ditto.
2542         * dom/WebKitAnimationEvent.idl: Ditto.
2543         * dom/WebKitTransitionEvent.idl: Ditto.
2544         * html/track/TrackEvent.idl: Ditto.
2545         * websockets/CloseEvent.idl: Ditto.
2546
2547 2011-11-13  Patrick Gansterer  <paroga@webkit.org>
2548
2549         [WX] Make FontPlatformData::m_size private
2550         https://bugs.webkit.org/show_bug.cgi?id=72214
2551
2552         Reviewed by Andreas Kling.
2553
2554         Also change the order of member variables to match
2555         the order in the constructor to fix many warnings.
2556
2557         * platform/graphics/wx/FontPlatformData.h:
2558
2559 2011-11-13  Adam Barth  <abarth@webkit.org>
2560
2561         Document::initSecurityOrigin should return earlier more often
2562         https://bugs.webkit.org/show_bug.cgi?id=72244
2563
2564         Reviewed by Eric Seidel.
2565
2566         This minor tweak was suggested by Darin to make the subsequent patches
2567         easier to read.
2568
2569         * dom/Document.cpp:
2570         (WebCore::Document::initSecurityContext):
2571
2572 2011-11-13  Adam Barth  <abarth@webkit.org>
2573
2574         SecurityPolicy should refer to isUnique rather than isEmpty
2575         https://bugs.webkit.org/show_bug.cgi?id=72242
2576
2577         Reviewed by Eric Seidel.
2578
2579         It doesn't make sense to tweak the security policy for unique origins
2580         because they're different every time.  Previously, this code checked
2581         for empty origins, which are technically a subset of unique origins.  I
2582         don't think it's possible to call this code in a way that can detect
2583         the difference, but we're eventually going to remove the isEmpty
2584         function.
2585
2586         * page/SecurityPolicy.cpp:
2587         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
2588         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
2589
2590 2011-11-13  Adam Barth  <abarth@webkit.org>
2591
2592         Move isSecureTransitionTo from SecurityOrigin to SecurityContext
2593         https://bugs.webkit.org/show_bug.cgi?id=72241
2594
2595         Reviewed by Eric Seidel.
2596
2597         This patch is a step towards breaking the patch for
2598         https://bugs.webkit.org/show_bug.cgi?id=71745 up into tiny,
2599         digestible pieces.
2600
2601         * dom/SecurityContext.cpp:
2602         (WebCore::SecurityContext::isSecureTransitionTo):
2603         * dom/SecurityContext.h:
2604         * loader/DocumentWriter.cpp:
2605         (WebCore::DocumentWriter::begin):
2606         * loader/FrameLoader.cpp:
2607         (WebCore::FrameLoader::stopLoading):
2608         * page/SecurityOrigin.cpp:
2609         * page/SecurityOrigin.h:
2610
2611 2011-11-13  Nat Duca  <nduca@chromium.org>
2612
2613         [chromium] LayerRendererChromium::initialize should fail when GaphicsContext3D::makeCurrent fails
2614         https://bugs.webkit.org/show_bug.cgi?id=72102
2615
2616         Reviewed by James Robinson.
2617
2618         * platform/graphics/chromium/LayerRendererChromium.cpp:
2619         (WebCore::LayerRendererChromium::initialize):
2620         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
2621         (WebCore::LayerRendererChromium::makeContextCurrent):
2622         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2623         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2624
2625 2011-11-11  Vincent Scheib  <scheib@chromium.org>
2626
2627         Mouse Lock: MouseEvent IDL
2628         https://bugs.webkit.org/show_bug.cgi?id=72158
2629
2630         Reviewed by Dimitri Glazkov.
2631
2632         Tests for movementX/Y pending mock mouse lock test infrastructure.
2633
2634         * dom/MouseEvent.idl:
2635         * dom/MouseRelatedEvent.h:
2636         (WebCore::MouseRelatedEvent::movementX):
2637         (WebCore::MouseRelatedEvent::movementY):
2638
2639 2011-11-13  Julien Chaffraix  <jchaffraix@webkit.org>
2640
2641         REGRESSION(99849): NULL-deref in updateLastMediaLine when parsing some media-queries
2642         https://bugs.webkit.org/show_bug.cgi?id=72222
2643
2644         Reviewed by Pavel Feldman.
2645
2646         Test: fast/media/update-media-query-css-parser.html
2647
2648         * css/CSSGrammar.y: Added a proper NULL-check.
2649
2650 2011-11-12  Vincent Scheib  <scheib@chromium.org>
2651
2652         Mouse Lock Navigator IDL
2653         https://bugs.webkit.org/show_bug.cgi?id=72150
2654
2655         Reviewed by Dimitri Glazkov.
2656
2657         Tests require mocking (similar to geolocation) that will be built after this.
2658
2659         * WebCore.gypi:
2660         * bindings/generic/RuntimeEnabledFeatures.h:
2661         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
2662         * page/MouseLockable.cpp: Added.
2663         (WebCore::MouseLockable::MouseLockable):
2664         (WebCore::MouseLockable::~MouseLockable):
2665         (WebCore::MouseLockable::webkitLock):
2666         (WebCore::MouseLockable::webkitUnlock):
2667         (WebCore::MouseLockable::webkitIsLocked):
2668         * page/MouseLockable.h: Added.
2669         (WebCore::MouseLockable::create):
2670         * page/MouseLockable.idl: Added.
2671         * page/Navigator.cpp:
2672         (WebCore::Navigator::webkitPointer):
2673         * page/Navigator.h:
2674         * page/Navigator.idl:
2675
2676 2011-11-11  Andreas Kling  <kling@webkit.org>
2677
2678         Only HTMLAllCollection needs stateful named item traversal.
2679         <http://webkit.org/b/71987>
2680
2681         Reviewed by Antti Koivisto.
2682
2683         After the ability to call collections (excluding document.all) was removed
2684         in <http://webkit.org/b/67579>, chunks of code remained in HTMLCollection
2685         and HTMLFormCollection that was only used for this purpose.
2686
2687         Restrict the nextNamedItem() mechanism to HTMLAllCollection, since it's no
2688         longer used by any of the other collections.
2689
2690         * html/HTMLCollection.h:
2691
2692             Moved nextNamedItem() to HTMLAllCollection (and made it non-virtual.)
2693             Promoted itemAfter() and checkForNameMatch() to protected methods so
2694             they can be called from HTMLAllCollection.
2695
2696         * html/HTMLAllCollection.h:
2697         * html/HTMLAllCollection.cpp:
2698         (WebCore::HTMLAllCollection::HTMLAllCollection):
2699         (WebCore::HTMLAllCollection::nextNamedItem):
2700         * html/HTMLCollection.cpp:
2701         (WebCore::HTMLCollection::HTMLCollection):
2702         (WebCore::HTMLCollection::namedItem):
2703         * html/HTMLFormCollection.cpp:
2704         (WebCore::HTMLFormCollection::namedItem):
2705         * html/HTMLFormCollection.h:
2706
2707 2011-11-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2708
2709         Update binding generator tests to use jsCast
2710         https://bugs.webkit.org/show_bug.cgi?id=72224
2711
2712         Reviewed by Geoffrey Garen.
2713
2714         Update the expected results for JS generator after r100006 added jsCast.
2715
2716         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2717         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
2718         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
2719
2720 2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2721
2722         Unreviewed, rolling out r100038.
2723         http://trac.webkit.org/changeset/100038
2724         https://bugs.webkit.org/show_bug.cgi?id=72225
2725
2726         It broke more than 500 layout tests on the Qt bots (Requested
2727         by Ossy_night on #webkit).
2728
2729         * platform/qt/ScrollbarThemeQt.h:
2730
2731 2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2732
2733         [Qt][Symbian] Remove support for WINSCW compiler
2734         https://bugs.webkit.org/show_bug.cgi?id=70178
2735
2736         Reviewed by Chang Shu.
2737
2738         No new tests as there is no new functionality.
2739
2740         * config.h: Revert r57076.
2741         * loader/cache/CachedResourceHandle.h: Revert r49017 and r49556.
2742         (WebCore::CachedResourceHandle::CachedResourceHandle):
2743         * rendering/style/RenderStyle.h: Revert r52733.
2744         (compareEqual):
2745         * bindings/scripts/CodeGeneratorJS.pm: Revert r45553.
2746         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
2747         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
2748         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2749         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
2750         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
2751         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2752
2753 2011-11-12  Anna Cavender  <annacc@chromium.org>
2754
2755         Add WebVTT parsing layout tests.  Patch also includes creating a TextTrackCueList
2756         in TextTrack::cues() and observing WebVTT chronological cue order.
2757         https://bugs.webkit.org/show_bug.cgi?id=72215
2758
2759         Reviewed by Eric Carlson.
2760
2761         Tests: media/track/track-webvtt-tc000-empty.html
2762                media/track/track-webvtt-tc001-utf8.html
2763                media/track/track-webvtt-tc002-bom.html
2764                media/track/track-webvtt-tc003-newlines.html
2765                media/track/track-webvtt-tc004-magic-header.html
2766                media/track/track-webvtt-tc005-header-comment.html
2767                media/track/track-webvtt-tc006-cue-identifiers.html
2768                media/track/track-webvtt-tc007-cue-no-id.html
2769                media/track/track-webvtt-tc008-timings-no-hours.html
2770                media/track/track-webvtt-tc009-timings-hour.html
2771                media/track/track-webvtt-tc010-no-timings.html
2772                media/track/track-webvtt-tc011-blank-lines.html
2773                media/track/track-webvtt-tc012-out-of-order.html
2774                media/track/track-webvtt-tc013-settings.html
2775                media/track/track-webvtt-tc014-alignment.html
2776                media/track/track-webvtt-tc015-positioning.html
2777                media/track/track-webvtt-tc016-align-positioning.html
2778                media/track/track-webvtt-tc017-line-position.html
2779                media/track/track-webvtt-tc018-align-text-line-position.html
2780                media/track/track-webvtt-tc019-cue-size.html
2781                media/track/track-webvtt-tc020-cue-size-align.html
2782                media/track/track-webvtt-tc021-valign.html
2783                media/track/track-webvtt-tc022-entities.html
2784                media/track/track-webvtt-tc023-markup.html
2785                media/track/track-webvtt-tc024-timestamp.html
2786                media/track/track-webvtt-tc025-class-markup.html
2787                media/track/track-webvtt-tc026-voice.html
2788                media/track/track-webvtt-tc027-empty-cue.html
2789                media/track/track-webvtt-tc028-unsupported-markup.html
2790
2791         * html/TextTrack.cpp:
2792         (WebCore::TextTrack::~TextTrack): Only call client if m_cues has been allocated.
2793         (WebCore::TextTrack::cues): Create a TextTrackCueList if we don't already have one.
2794         * html/TextTrack.h: The cues() function can no longer be const.
2795         * html/TextTrackCueList.cpp:
2796         (WebCore::TextTrackCueList::add): Only add the cue if the startTime comes after
2797             all other startTimes in the list.
2798
2799 2011-11-12  Nat Duca  <nduca@chromium.org>
2800
2801         Fixes to GraphicsContext3D::makeCurrent on gtk and mac
2802         https://bugs.webkit.org/show_bug.cgi?id=72218
2803
2804         Unreviewed. Forgot to handle corner cases. Thanks Nico!
2805
2806         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2807         (WebCore::GraphicsContext3D::makeContextCurrent):
2808         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2809         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2810         * platform/graphics/mac/GraphicsContext3DMac.mm:
2811         (WebCore::GraphicsContext3D::makeContextCurrent):
2812
2813 2011-11-12  Patrick Gansterer  <paroga@webkit.org>
2814
2815         Add stub implementation for SVGResources::filter()
2816         https://bugs.webkit.org/show_bug.cgi?id=72211
2817
2818         Reviewed by Dirk Schulze.
2819
2820         Add an empty implementation, which only returns 0 for !ENABLE(FILTERS)
2821         to reduce the #if ENABLE(FILTERS) complexity a bit.
2822
2823         * rendering/svg/RenderSVGContainer.cpp:
2824         (WebCore::RenderSVGContainer::selfWillPaint):
2825         * rendering/svg/RenderSVGRoot.cpp:
2826         (WebCore::RenderSVGRoot::selfWillPaint):
2827         * rendering/svg/SVGRenderSupport.cpp:
2828         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2829         * rendering/svg/SVGResources.h:
2830         (WebCore::SVGResources::filter):
2831         * rendering/svg/SVGResourcesCache.cpp:
2832         (WebCore::SVGResourcesCache::clientLayoutChanged):
2833         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
2834
2835 2011-11-12  Antti Koivisto  <antti@apple.com>
2836
2837         REGRESSION(r98542): Rendering error on Google maps
2838         https://bugs.webkit.org/show_bug.cgi?id=71996
2839
2840         Reviewed by Andreas Kling.
2841         
2842         r98542 exposed that StyleBoxData copy constructor and operator== are missing a field.
2843         
2844         Test reduction by David Barr.
2845
2846         Test: fast/css/vertical-align-length-copy-bug.html
2847
2848         * rendering/style/StyleBoxData.cpp:
2849         (WebCore::StyleBoxData::StyleBoxData):
2850         (WebCore::StyleBoxData::operator==):
2851
2852 2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2853
2854         Unreviewed, rolling out r100013.
2855         http://trac.webkit.org/changeset/100013
2856         https://bugs.webkit.org/show_bug.cgi?id=72210
2857
2858         It breaks all mac builds (Requested by WildFox on #webkit).
2859
2860         * html/HTMLAnchorElement.idl:
2861         * html/HTMLAreaElement.idl:
2862         * html/HTMLButtonElement.idl:
2863         * html/HTMLElement.idl:
2864         * html/HTMLInputElement.idl:
2865         * html/HTMLLabelElement.idl:
2866         * html/HTMLLegendElement.idl:
2867         * html/HTMLTextAreaElement.idl:
2868
2869 2011-11-12  Nikolas Zimmermann  <nzimmermann@rim.com>
2870
2871         Finish SVGLengthContext conversion in svg/
2872         https://bugs.webkit.org/show_bug.cgi?id=72105
2873
2874         Reviewed by Antti Koivisto.
2875
2876         Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
2877         Now that this process is finished, SVGLengthContext can be shared across renders,
2878         so that its possible to override the length context in a single place. This will
2879         be done in future patches.
2880
2881         Doesn't affect any tests yet.
2882
2883         * bindings/js/JSSVGLengthCustom.cpp:
2884         (WebCore::JSSVGLength::value):
2885         (WebCore::JSSVGLength::setValue):
2886         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2887         * bindings/scripts/CodeGeneratorObjC.pm:
2888         (GenerateImplementation):
2889         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2890         (WebCore::V8SVGLength::valueAccessorGetter):
2891         (WebCore::V8SVGLength::valueAccessorSetter):
2892         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2893         * css/CSSCursorImageValue.cpp:
2894         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2895         * rendering/svg/RenderSVGForeignObject.cpp:
2896         (WebCore::RenderSVGForeignObject::layout):
2897         * rendering/svg/RenderSVGImage.cpp:
2898         (WebCore::RenderSVGImage::updateFromElement):
2899         * rendering/svg/RenderSVGPath.cpp:
2900         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
2901         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
2902         * rendering/svg/RenderSVGResourceMarker.cpp:
2903         (WebCore::RenderSVGResourceMarker::referencePoint):
2904         (WebCore::RenderSVGResourceMarker::calcViewport):
2905         * rendering/svg/RenderSVGText.cpp:
2906         (WebCore::RenderSVGText::strokeBoundingBox):
2907         * rendering/svg/RenderSVGViewportContainer.cpp:
2908         (WebCore::RenderSVGViewportContainer::calcViewport):
2909         * rendering/svg/SVGRenderSupport.cpp:
2910         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
2911         * rendering/svg/SVGRenderTreeAsText.cpp:
2912         (WebCore::writeStyle):
2913         (WebCore::operator<<):
2914         * rendering/svg/SVGShadowTreeElements.cpp:
2915         (WebCore::SVGShadowTreeContainerElement::containerTranslation):
2916         * rendering/svg/SVGTextChunkBuilder.cpp:
2917         (WebCore::SVGTextChunkBuilder::addTextChunk):
2918         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2919         (WebCore::extractFloatValuesFromSVGLengthList):
2920         * rendering/svg/SVGTextLayoutEngine.cpp:
2921         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
2922         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
2923         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
2924         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
2925         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
2926         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
2927         * svg/SVGElement.h:
2928         * svg/SVGLengthContext.cpp:
2929         (WebCore::SVGLengthContext::determineViewport):
2930         * svg/SVGLengthContext.h:
2931         * svg/SVGSVGElement.cpp:
2932         (WebCore::SVGSVGElement::viewport):
2933         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2934         (WebCore::SVGSVGElement::currentViewBoxRect):
2935         * svg/SVGUseElement.cpp:
2936         (WebCore::SVGUseElement::toClipPath):
2937
2938 2011-11-12  Patrick Gansterer  <paroga@webkit.org>
2939
2940         Unreviewed build fix for !ENABLE(FILTERS) after r100036.
2941
2942         * rendering/svg/SVGRenderSupport.cpp:
2943         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2944
2945 2011-11-11  Patrick Gansterer  <paroga@webkit.org>
2946
2947         [WIN] Fix build without precompiled header.
2948         https://bugs.webkit.org/show_bug.cgi?id=72115
2949
2950         Unreviewed. Add missing includes to fix build without precompiled header.
2951
2952         * platform/ContextMenu.h:
2953         * platform/graphics/win/DIBPixelData.h:
2954         * platform/graphics/win/FontCustomPlatformData.h:
2955         * platform/network/cf/ResourceError.h:
2956         * platform/win/LanguageWin.cpp:
2957         * platform/win/LocalizedStringsWin.cpp:
2958         * platform/win/LoggingWin.cpp:
2959
2960 2011-11-11  Joseph Pecoraro  <pecoraro@apple.com>
2961
2962         Remove Duplicate Symbol Exports
2963         https://bugs.webkit.org/show_bug.cgi?id=72205
2964
2965         Reviewed by Dan Bernstein.
2966
2967         * WebCore.exp.in: Remove duplicate symbols listed.
2968         Each dup in this case was already always exported.
2969
2970 2011-11-11  Nico Weber  <thakis@chromium.org>
2971
2972         [chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
2973         https://bugs.webkit.org/show_bug.cgi?id=72146
2974
2975         Reviewed by Nate Chapin.
2976
2977         * WebCore.gyp/WebCore.gyp:
2978
2979 2011-11-11  Nat Duca  <nduca@chromium.org>
2980
2981         Since GraphicsContext3D::makeContextCurrent can fail, return bool.
2982
2983         https://bugs.webkit.org/show_bug.cgi?id=72101
2984
2985         Reviewed by Kenneth Russell.
2986
2987         * platform/graphics/GraphicsContext3D.h:
2988         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2989         (WebCore::GraphicsContext3D::makeContextCurrent):
2990         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2991         (WebCore::GraphicsContext3D::makeContextCurrent):
2992         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2993         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2994         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
2995         * platform/graphics/mac/GraphicsContext3DMac.mm:
2996         (WebCore::GraphicsContext3D::makeContextCurrent):
2997         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2998         (WebCore::GraphicsContext3D::makeContextCurrent):
2999
3000 2011-11-11  Ojan Vafai  <ojan@chromium.org>
3001
3002         Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
3003         https://bugs.webkit.org/show_bug.cgi?id=72203
3004         r99744 causes crash in Chromium's dom_perf test.
3005
3006         * rendering/RenderTable.cpp:
3007         (WebCore::RenderTable::splitColumn):
3008         (WebCore::RenderTable::appendColumn):
3009         * rendering/RenderTableSection.cpp:
3010         (WebCore::RenderTableSection::addCell):
3011         (WebCore::RenderTableSection::recalcCells):
3012         (WebCore::RenderTableSection::appendColumn):
3013
3014 2011-11-11  James Robinson  <jamesr@chromium.org>
3015
3016         [chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
3017         https://bugs.webkit.org/show_bug.cgi?id=72200
3018
3019         Reviewed by Kenneth Russell.
3020
3021         How did I get here I am not good with computers.
3022
3023         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3024         (WebCore::CCThreadProxy::scheduledActionCommit):
3025
3026 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
3027
3028         Fix a crash when an anonymous render block is in a continuation.
3029         https://bugs.webkit.org/show_bug.cgi?id=70994
3030
3031         Reviewed by Chris Fleizach.
3032
3033         Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
3034
3035         * accessibility/AccessibilityRenderObject.cpp:
3036         (WebCore::AccessibilityRenderObject::renderParentObject):
3037
3038 2011-11-11  Anna Cavender  <annacc@chromium.org>
3039
3040         Storage and retrieval of TextTrackCues during video playback, including
3041         cuechange, enter, and exit events.
3042         https://bugs.webkit.org/show_bug.cgi?id=70452
3043
3044         Reviewed by Eric Carlson.
3045
3046         Tests: media/track/track-cues-cuechange.html
3047                media/track/track-cues-enter-exit.html
3048                media/track/track-cues-seeking.html
3049
3050         Add cuechange, enter, and exit events and make TextTrack and
3051         TextTrackCue EventTargets:
3052         * dom/EventNames.h:
3053         * dom/EventTarget.h:
3054         * dom/EventTargetFactory.in:
3055
3056         * html/HTMLMediaElement.cpp:
3057         (WebCore::HTMLMediaElement::loadTimerFired):
3058             Use scheduleLoad() instead of configureTextTracks() to start an async load.
3059         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3060             Updates the list of currently active cues during playback.
3061         (WebCore::HTMLMediaElement::textTrackAddCues):
3062             Adds cues to cueTree.  Called when cues are discovered/loaded.
3063         (WebCore::HTMLMediaElement::textTrackRemoveCues):
3064             Removes cues from cueTree.  Called when cues and/or tracks die.
3065         (WebCore::HTMLMediaElement::textTrackAddCue):
3066             Adds a cue to cueTree.  Called when cues are discovered/loaded.
3067         (WebCore::HTMLMediaElement::textTrackRemoveCue):
3068             Removes a cue from cueTree.  Called when cues and/or tracks die.
3069
3070         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
3071             Update the active TextTrackCues when playbackProgressTimerFired.
3072         (WebCore::HTMLMediaElement::addTrack):
3073             Pass along a ScriptExecutionContext to TextTrack::create().
3074         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3075             Update the active TextTrackCues when the media player time changes.
3076         * html/HTMLMediaElement.h:
3077             Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
3078             during playback.
3079
3080         * html/HTMLTrackElement.cpp:
3081         (WebCore::HTMLTrackElement::ensureTrack):
3082             Pass along a ScriptExecutionContext needed for EventTarget interface.
3083         * html/LoadableTextTrack.cpp:
3084         (WebCore::LoadableTextTrack::LoadableTextTrack):
3085             Pass along a ScriptExecutionContext needed for EventTarget interface.
3086         (WebCore::LoadableTextTrack::fireCueChangeEvent):
3087             Fire a cue change event on this TextTrack's <track>
3088         * html/LoadableTextTrack.h:
3089         (WebCore::LoadableTextTrack::create):
3090             Pass along a ScriptExecutionContext needed for EventTarget interface.
3091         * html/TextTrack.cpp:
3092         (WebCore::TextTrack::TextTrack):
3093             Pass along a ScriptExecutionContext needed for EventTarget interface.
3094         (WebCore::TextTrack::cues):
3095         (WebCore::TextTrack::activeCues):
3096             Return a TextTrackCueList that represents the currently active cues.
3097         (WebCore::TextTrack::fireCueChangeEvent):
3098             Fires a cue change event.
3099         * html/TextTrack.h:
3100         (WebCore::TextTrack::create):
3101             Pass along a ScriptExecutionContext needed for EventTarget interface.
3102         * html/TextTrack.idl:
3103             Makes TextTrack extend EventTarget interface and add oncuechange.
3104         * html/TextTrackCue.cpp:
3105         (WebCore::TextTrackCue::TextTrackCue):
3106             TextTrackCue should extend EventTarget, not ActiveDOMObject.
3107         (WebCore::TextTrackCue::isActive):
3108         (WebCore::TextTrackCue::setIsActive):
3109             Dispatch an enter or exit event depending on active state and notify
3110             the corresponding track to fire a cuechange event.
3111
3112         The following are needed for EventTarget interface:
3113         (WebCore::TextTrackCue::interfaceName):
3114         (WebCore::TextTrackCue::scriptExecutionContext):
3115         (WebCore::TextTrackCue::eventTargetData):
3116         (WebCore::TextTrackCue::ensureEventTargetData):
3117         * html/TextTrackCue.h:
3118         (WebCore::TextTrackCue::refEventTarget):
3119         (WebCore::TextTrackCue::derefEventTarget):
3120
3121         * html/TextTrackCue.idl:
3122             Extend EventTarget and add onenter and onexit.
3123         * html/TextTrackCueList.cpp:
3124         (WebCore::TextTrackCueList::activeCues):
3125             Update and return the list of currently active cues.
3126         (WebCore::TextTrackCueList::clear):
3127             Clear the cues from list (needed to return same object each time).
3128         * html/TextTrackCueList.h:
3129
3130         The following are needed for EventTarget interface:
3131         * html/track/TrackBase.cpp:
3132         (WebCore::TrackBase::TrackBase):
3133         (WebCore::TrackBase::interfaceName):
3134         (WebCore::TrackBase::scriptExecutionContext):
3135         (WebCore::TrackBase::eventTargetData):
3136         (WebCore::TrackBase::ensureEventTargetData):
3137         * html/track/TrackBase.h:
3138         (WebCore::TrackBase::refEventTarget):
3139         (WebCore::TrackBase::derefEventTarget):
3140
3141 2011-11-11  David Reveman  <reveman@chromium.org>
3142
3143         [Chromium] Remove unused variable added by r99813.
3144         https://bugs.webkit.org/show_bug.cgi?id=72199
3145
3146         Reviewed by James Robinson.
3147
3148         * platform/graphics/chromium/TiledLayerChromium.cpp:
3149         (WebCore::TiledLayerChromium::prepareToUpdate):
3150
3151 2011-11-11  James Robinson  <jamesr@chromium.org>
3152
3153         Rollout http://trac.webkit.org/changeset/99844
3154         Solution is more complicated than the problem it was intended to solve.
3155
3156         * platform/graphics/chromium/LayerChromium.cpp:
3157         * platform/graphics/chromium/LayerChromium.h:
3158         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3159         * platform/graphics/chromium/cc/CCLayerImpl.h:
3160         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3161         (WebCore::CCLayerTreeHost::applyScrollAndScale):
3162         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3163         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3164         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3165         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3166         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
3167         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3168         (WebCore::CCThreadProxy::beginFrameAndCommit):
3169         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3170         * platform/graphics/chromium/cc/CCThreadProxy.h:
3171
3172 2011-11-11  Levi Weintraub  <leviw@chromium.org>
3173
3174         Revert Page to operate on integers
3175         https://bugs.webkit.org/show_bug.cgi?id=72185
3176
3177         Reviewed by Eric Seidel.
3178
3179         Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
3180         LayoutUnits in these classes, so we'll avoid doing so.
3181
3182         No new tests, no change in behavior.
3183
3184         * page/EventHandler.cpp:
3185         (WebCore::EventHandler::handleMousePressEvent):
3186         (WebCore::EventHandler::sendContextMenuEventForKey):
3187         (WebCore::EventHandler::dragHysteresisExceeded):
3188         (WebCore::EventHandler::handleDrag):
3189         * page/EventHandler.h:
3190         * page/Frame.cpp:
3191         (WebCore::Frame::documentAtPoint):
3192         * page/Frame.h:
3193         * page/FrameView.cpp:
3194         (WebCore::FrameView::create):
3195         (WebCore::FrameView::invalidateRect):
3196         (WebCore::FrameView::setFrameRect):
3197         (WebCore::FrameView::setContentsSize):
3198         (WebCore::FrameView::adjustViewSize):
3199         (WebCore::FrameView::repaintContentRectangle):
3200         (WebCore::FrameView::invalidateScrollbarRect):
3201         (WebCore::FrameView::getTickmarks):
3202         (WebCore::FrameView::windowResizerRect):
3203         (WebCore::FrameView::setVisibleScrollerThumbRect):
3204         (WebCore::FrameView::updateScrollCorner):
3205         (WebCore::FrameView::paintScrollCorner):
3206         (WebCore::FrameView::paintContents):
3207         (WebCore::FrameView::paintOverhangAreas):
3208         (WebCore::FrameView::convertFromRenderer):
3209         (WebCore::FrameView::convertToRenderer):
3210         (WebCore::FrameView::convertToContainingView):
3211         (WebCore::FrameView::convertFromContainingView):
3212         * page/FrameView.h:
3213         * page/Page.cpp:
3214         (WebCore::Page::setPageScaleFactor):
3215         * page/Page.h:
3216         * page/SpatialNavigation.cpp:
3217         (WebCore::scrollInDirection):
3218
3219 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
3220
3221         New iframe content may not be reflected in the ax tree.
3222         https://bugs.webkit.org/show_bug.cgi?id=72100
3223
3224         Reviewed by Chris Fleizach.
3225
3226         The core issue was that when childrenChanged was called on a
3227         web area from an iframe that was just detached, it wasn't calling
3228         childrenChanged on its parent scroll area, or that scroll area's
3229         parent iframe element. To fix this, now AccessibilityScrollView
3230         implements setNeedsToUpdateChildren and parentObjectIfExists,
3231         and childrenChanged calls setNeedsToUpdateChildren on every object
3232         in the parent chain, not just AccessibilityRenderObjects.
3233
3234         Test: accessibility/loading-iframe-updates-axtree.html
3235
3236         * accessibility/AXObjectCache.h:
3237         * accessibility/AccessibilityObject.h:
3238         (WebCore::AccessibilityObject::setNeedsToUpdateChildren):
3239         * accessibility/AccessibilityRenderObject.cpp:
3240         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
3241         (WebCore::AccessibilityRenderObject::childrenChanged):
3242         * accessibility/AccessibilityRenderObject.h:
3243         (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
3244         * accessibility/AccessibilityScrollView.cpp:
3245         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
3246         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
3247         (WebCore::AccessibilityScrollView::parentObject):
3248         (WebCore::AccessibilityScrollView::parentObjectIfExists):
3249         * accessibility/AccessibilityScrollView.h:
3250         (WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):
3251
3252 2011-11-11  Iain Merrick  <husky@google.com>
3253
3254         [chromium] Fix CCThreadProxy::setVisible
3255         https://bugs.webkit.org/show_bug.cgi?id=71903
3256
3257         The behavior is different depending on whether we're showing
3258         or hiding the compositor. This patch fixes both code paths.
3259
3260         Reviewed by James Robinson.
3261
3262         * platform/graphics/chromium/cc/CCCompletionEvent.h:
3263         (WebCore::CCCompletionEvent::CCCompletionEvent):
3264         (WebCore::CCCompletionEvent::~CCCompletionEvent):
3265         (WebCore::CCCompletionEvent::wait):
3266         (WebCore::CCCompletionEvent::signal):
3267         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3268         (WebCore::CCThreadProxy::setVisible):
3269
3270 2011-11-11  Iain Merrick  <husky@google.com>
3271
3272         [chromium] CCThreadProxy::finishAllRendering hangs if !visible
3273         https://bugs.webkit.org/show_bug.cgi?id=71920
3274
3275         Reviewed by James Robinson.
3276
3277         * platform/graphics/chromium/cc/CCScheduler.cpp:
3278         (WebCore::CCScheduler::setNeedsForcedRedraw):
3279         * platform/graphics/chromium/cc/CCScheduler.h:
3280         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3281         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
3282         (WebCore::CCSchedulerStateMachine::nextAction):
3283         (WebCore::CCSchedulerStateMachine::updateState):
3284         (WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
3285         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3286         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3287         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
3288         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
3289
3290 2011-11-11  John Knottenbelt  <jknotten@chromium.org>
3291
3292         [Chromium] Enable building without shared workers.
3293         https://bugs.webkit.org/show_bug.cgi?id=72122
3294
3295         Reviewed by Yury Semikhatsky.
3296
3297         * bindings/v8/WorkerScriptDebugServer.cpp:
3298         (WebCore::retrieveWorkerContext):
3299
3300 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
3301
3302         Crash in styleDidChange when changing a table cell's height.
3303         <http://webkit.org/b/72004>
3304
3305         Reviewed by Darin Adler.
3306
3307         Tests: fast/table/crash-table-cell-change-height.html
3308                fast/table/table-cell-change-height-with-needsCellRecalc-section.html
3309                fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
3310                fast/table/table-row-change-height-with-needsCellRecalc-section.html
3311
3312         r99212 removed our call to recalcCells when the logical height changed. This
3313         means that we could end up with a cells without having set its row() properly
3314         which would crash.
3315
3316         The change exposes the was-the-row-properly-set information so that we don't
3317         try to access a bogus index. This should work properly even if the section
3318         needs a cell recalc as the current section's row structure would still be
3319         accurate in this case.
3320
3321         * rendering/RenderTableCell.cpp:
3322         (WebCore::RenderTableCell::styleDidChange): Check that our row index
3323         was properly set before calling
3324
3325         * rendering/RenderTableCell.h:
3326         (WebCore::RenderTableCell::rowWasSet): Helper function to detect
3327         if we have set up our a row.
3328         (WebCore::RenderTableCell::row): Use the previous function in the
3329         ASSERT.
3330
3331 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
3332
3333         Implement legacy text check emulation in unified text check interface.
3334         https://bugs.webkit.org/show_bug.cgi?id=70299
3335
3336         Reviewed by Hajime Morita.
3337
3338         When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
3339         TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
3340
3341         This emulation can be used by setting the flag on.
3342         This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
3343
3344         Test: editing/spelling/spelling-unified-emulation.html
3345
3346         * editing/TextCheckingHelper.cpp:
3347         (WebCore::findBadGrammars): Added.
3348         (WebCore::findMisspellings): Added.
3349         (WebCore::checkTextOfParagraph):
3350           Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
3351         * testing/Internals.cpp:
3352         (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
3353         (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
3354         * testing/Internals.h:
3355         * testing/Internals.idl:
3356
3357 2011-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3358
3359         [CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
3360         https://bugs.webkit.org/show_bug.cgi?id=72092
3361
3362         Unreviewed. Fix build break when using curl.
3363
3364         ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
3365         when EFL port uses curl as network backend.
3366
3367         * PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.
3368
3369 2011-11-11  Emil A Eklund  <eae@chromium.org>
3370
3371         Switch remaining RenderBlock/Box methods to to new layout types
3372         https://bugs.webkit.org/show_bug.cgi?id=72075
3373
3374         Reviewed by Eric Seidel.
3375
3376         Move margins, floats and line layout block logic to layout abstraction.
3377
3378         No new tests.
3379
3380         * rendering/RenderBlockLineLayout.cpp:
3381         (WebCore::borderPaddingMarginStart):
3382         (WebCore::borderPaddingMarginEnd):
3383         (WebCore::inlineLogicalWidth):
3384         (WebCore::setStaticPositions):
3385         (WebCore::LineLayoutState::LineLayoutState):
3386         (WebCore::LineLayoutState::setRepaintRange):
3387         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
3388         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3389         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3390         (WebCore::RenderBlock::layoutInlineChildren):
3391         (WebCore::RenderBlock::checkFloatsInCleanLine):
3392         (WebCore::RenderBlock::determineStartPosition):
3393         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
3394         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3395         (WebCore::RenderBlock::addOverflowFromInlineChildren):
3396         (WebCore::RenderBlock::checkLinesForTextOverflow):
3397         (WebCore::RenderBlock::positionNewFloatOnLine):
3398         * rendering/RenderBox.cpp:
3399         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
3400         (WebCore::RenderBox::offsetFromContainer):
3401         (WebCore::RenderBox::positionLineBox):
3402         (WebCore::RenderBox::computeInlineDirectionMargins):
3403         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3404         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3405         * rendering/RenderBox.h:
3406         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3407
3408 2011-11-11  Antoine Labour  <piman@chromium.org>
3409
3410         [chromium] Add translation/scaling to WebExternalTextureLayer
3411         https://bugs.webkit.org/show_bug.cgi?id=72087
3412
3413         Reviewed by James Robinson.
3414
3415         Covered by WebLayerTest.
3416
3417         * platform/graphics/chromium/PluginLayerChromium.cpp:
3418         (WebCore::PluginLayerChromium::PluginLayerChromium):
3419         (WebCore::PluginLayerChromium::setUVRect):
3420         (WebCore::PluginLayerChromium::pushPropertiesTo):
3421         * platform/graphics/chromium/PluginLayerChromium.h:
3422         (WebCore::PluginLayerChromium::uvRect):
3423         * platform/graphics/chromium/ShaderChromium.cpp:
3424         (WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
3425         (WebCore::VertexShaderPosTexStretch::init):
3426         (WebCore::VertexShaderPosTexStretch::getShaderString):
3427         * platform/graphics/chromium/ShaderChromium.h:
3428         (WebCore::VertexShaderPosTexStretch::matrixLocation):
3429         (WebCore::VertexShaderPosTexStretch::offsetLocation):
3430         (WebCore::VertexShaderPosTexStretch::scaleLocation):
3431         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3432         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
3433         (WebCore::CCPluginLayerImpl::draw):
3434         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3435         (WebCore::CCPluginLayerImpl::setUVRect):
3436
3437 2011-11-11  Stephen Chenney  <schenney@chromium.org>
3438
3439         Null deref when no use element exists for SVG element instance
3440         https://bugs.webkit.org/show_bug.cgi?id=59136
3441
3442         Second attempt, with a fix to handle JS garbage collection.
3443
3444         Reviewed by Nikolas Zimmermann.
3445
3446         Test: svg/custom/element-instance-held-by-js-crash.svg
3447
3448         * svg/SVGElementInstance.cpp:
3449         (WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
3450           anything not yet cleared.
3451         (WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
3452           clears all the pointers it can, and removes the instance from the corresponding elements
3453           instance list.
3454         * svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
3455         * svg/SVGUseElement.cpp: 
3456         (WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.
3457
3458 2011-11-11  Florin Malita  <fmalita@google.com>
3459
3460         clipPath does not work on foreignObject
3461         https://bugs.webkit.org/show_bug.cgi?id=68251
3462
3463         Reviewed by Dirk Schulze.
3464
3465         Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
3466         (prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
3467         This also allows us to remove explicit transparency handling, since the helpers already cover it.
3468
3469         Tests: svg/foreignObject/clip.html
3470                svg/foreignObject/filter.html
3471                svg/foreignObject/mask.html
3472
3473         * rendering/svg/RenderSVGForeignObject.cpp:
3474         (WebCore::RenderSVGForeignObject::paint):
3475         * rendering/svg/SVGResources.cpp:
3476         (WebCore::clipperFilterMaskerTags):
3477
3478 2011-11-11  Adam Klein  <adamk@chromium.org>
3479
3480         Remove no-op StorageNamespace::unlock method
3481         https://bugs.webkit.org/show_bug.cgi?id=72181
3482
3483         Reviewed by Darin Adler.
3484
3485         The method was meant to support the localStorage mutex,
3486         but the approach of using a mutex for localStorage has never been
3487         implemented (and almost certainly won't be). Even if it were implemented,
3488         it's not being called at the right time, due to bugs in the V8 bindings'
3489         use of V8Proxy (see http://webkit.org/b/72063 for details).
3490
3491         If, in the future, some replacement for a mutex is used to synchronize
3492         localStorage access, it can easily be re-added to the (hopefully
3493         fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.
3494
3495         * bindings/v8/V8Proxy.cpp:
3496         (WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
3497         * page/Navigator.cpp:
3498         (WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
3499         * page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
3500         * storage/StorageNamespace.h:
3501         * storage/StorageNamespaceImpl.cpp:
3502         * storage/StorageNamespaceImpl.h:
3503
3504 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
3505
3506         [Qt][WK2] Make sure Scrollbars are in their own layer.
3507         https://bugs.webkit.org/show_bug.cgi?id=72064
3508
3509         Reviewed by Kenneth Rohde Christiansen.
3510
3511         Make sure we render our scrollbars in a separate layer.
3512
3513         No new tests : existing ones should cover.
3514
3515         * platform/qt/ScrollbarThemeQt.h:
3516         (WebCore::ScrollbarThemeQt::usesOverlayScrollbars):
3517
3518 2011-11-11  Joel Webber  <jgw@google.com>
3519
3520         Repaint broken when children of filtered SVG elements are updated
3521         https://bugs.webkit.org/show_bug.cgi?id=71733
3522
3523         Reviewed by Nikolas Zimmermann.
3524
3525         Test: svg/repaint/filter-child-repaint.svg
3526
3527         * rendering/svg/RenderSVGContainer.cpp:
3528         (WebCore::RenderSVGContainer::layout):
3529         * rendering/svg/RenderSVGRoot.cpp:
3530         (WebCore::RenderSVGRoot::layout):
3531         * rendering/svg/SVGRenderSupport.cpp:
3532         (WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):
3533
3534 2011-11-11  Timothy Hatcher  <timothy@apple.com>
3535
3536         Don't remove InspectorBackendStub.js in Release builds after it has been
3537         combined into inspector.js. Also remove any *.qrc file on Mac.
3538
3539         https://webkit.org/b/72186
3540
3541         Reviewed by Joseph Pecoraro.
3542
3543         * WebCore.xcodeproj/project.pbxproj:
3544
3545 2011-11-11  Jeff Timanus  <twiz@chromium.org>
3546
3547         [chromium] Patch that implementing the changes required to allow WebGL
3548         to share its backing store directly with the compositor.
3549         WebGL rendering contexts create and render to FBOs managed by a
3550         DrawingBuffer instance. All PlatformLayer lifetime management is
3551         performed by the DrawingBuffer.
3552         Changes are only relevant to Chromium ports. Functionality is
3553         unchanged for other ports.
3554         https://bugs.webkit.org/show_bug.cgi?id=53201
3555
3556         Reviewed by Stephen White.
3557
3558         * html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
3559         during initialization, and forward all framebuffer management calls to
3560         it.
3561         (WebCore::WebGLRenderingContext::create):
3562         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
3563         (WebCore::WebGLRenderingContext::initializeNewContext):
3564         (WebCore::WebGLRenderingContext::markContextChanged):
3565         (WebCore::WebGLRenderingContext::clearIfComposited):
3566         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3567         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
3568         (WebCore::WebGLRenderingContext::reshape):
3569         (WebCore::WebGLRenderingContext::drawingBufferWidth):
3570         (WebCore::WebGLRenderingContext::drawingBufferHeight):
3571         (WebCore::WebGLRenderingContext::bindFramebuffer):
3572         (WebCore::WebGLRenderingContext::copyTexImage2D):
3573         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
3574         (WebCore::WebGLRenderingContext::deleteFramebuffer):
3575         (WebCore::WebGLRenderingContext::disable):
3576         (WebCore::WebGLRenderingContext::enable):
3577         (WebCore::WebGLRenderingContext::readPixels):
3578         (WebCore::WebGLRenderingContext::platformLayer):
3579         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
3580         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
3581         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3582         * html/canvas/WebGLRenderingContext.h:
3583         * platform/graphics/GraphicsContext3D.cpp:
3584         * platform/graphics/GraphicsContext3D.h:  WebGLLayerChromium instances
3585         are no longer tracked by GraphicsContext3D. Callers can now pass a
3586         DrawingBuffer instance to provide access to the WebGLLayerChromium data.
3587         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3588         (WebCore::generateColorTexture):
3589         (WebCore::DrawingBuffer::DrawingBuffer):
3590         (WebCore::DrawingBuffer::initialize):
3591         (WebCore::DrawingBuffer::publishToPlatformLayer):
3592         (WebCore::DrawingBuffer::platformLayer):
3593         (WebCore::DrawingBuffer::platformColorBuffer):
3594         (WebCore::DrawingBuffer::framebuffer):
3595         (WebCore::DrawingBuffer::markContextChanged):
3596         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
3597         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3598         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
3599         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
3600         (WebCore::WebGLLayerChromium::drawsContent):
3601         (WebCore::WebGLLayerChromium::updateCompositorResources):
3602         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
3603         (WebCore::WebGLLayerChromium::contentChanged):
3604         (WebCore::WebGLLayerChromium::setDrawingBuffer):
3605         (WebCore::WebGLLayerChromium::context):
3606         * platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
3607         have a raw reference to their owning DrawingBuffer.  This reference is set to NULL on
3608         destruction of the DrawingBuffer.  This follows the old code, which had the WebGLLayerChromium
3609         refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
3610         GraphicsContext3D.
3611         (WebCore::WebGLLayerChromium::drawingBuffer):
3612         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3613         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3614         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3615         * platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
3616         central point between the GraphicsContext3D, WebGLRenderingContext, and
3617         WebGLLayerChromium classes.  GraphicsContext3D, and WebGLLayerChromium only
3618         depend on the DrawingBuffer interface.
3619         (WebCore::DrawingBuffer::create):
3620         (WebCore::DrawingBuffer::clear):
3621         (WebCore::DrawingBuffer::clearFramebuffer):
3622         (WebCore::DrawingBuffer::reset):
3623         (WebCore::DrawingBuffer::commit):
3624         (WebCore::DrawingBuffer::multisample):
3625         (WebCore::DrawingBuffer::paintRenderingResultsToImageData):
3626         (WebCore::DrawingBuffer::discardResources):
3627         * platform/graphics/gpu/DrawingBuffer.h:
3628         (WebCore::DrawingBuffer::setScissorEnabled):
3629         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3630         (WebCore::DrawingBuffer::DrawingBuffer):
3631         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
3632         (WebCore::DrawingBuffer::DrawingBuffer):
3633         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3634         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3635         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3636         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3637         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3638         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3639
3640 2011-11-11  Darin Adler  <darin@apple.com>
3641
3642         Remove all releaseRef implementations except for RetainPtr
3643         https://bugs.webkit.org/show_bug.cgi?id=71423
3644
3645         Reviewed by Julien Chaffraix.
3646
3647         * platform/win/COMPtr.h: Removed releaseRef.
3648
3649 2011-11-11  Darin Adler  <darin@apple.com>
3650
3651         * WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
3652         If an older Xcode downgrades this file and we have a risk of some kind of
3653         oscillating commit situation, please contact me so I know not to do this again.
3654
3655 2011-11-11  Ojan Vafai  <ojan@chromium.org>
3656
3657         Unreviewed, rolling out r99953.
3658         Caused 4 tests to hit an assert.
3659         https://bugs.webkit.org/show_bug.cgi?id=72163
3660
3661         * inspector/InspectorInstrumentation.h:
3662         (WebCore::InspectorInstrumentation::didStartWorkerContext):
3663         * inspector/InspectorWorkerAgent.cpp:
3664         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3665         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
3666         (WebCore::InspectorWorkerAgent::setFrontend):
3667         (WebCore::InspectorWorkerAgent::restore):
3668         (WebCore::InspectorWorkerAgent::clearFrontend):
3669         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
3670         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
3671         (WebCore::InspectorWorkerAgent::workerContextTerminated):
3672         * inspector/InspectorWorkerAgent.h:
3673
3674 2011-11-11  Vincent Scheib  <scheib@chromium.org>
3675
3676         Unreviewed, rolling out r100024.
3677         http://trac.webkit.org/changeset/100024
3678         https://bugs.webkit.org/show_bug.cgi?id=72158
3679
3680         Broke chromium build
3681
3682         * dom/MouseEvent.cpp:
3683         (WebCore::MouseEvent::initMouseEvent):
3684         (WebCore::MouseEventDispatchMediator::dispatchEvent):
3685         * dom/MouseEvent.h:
3686         * dom/MouseEvent.idl:
3687         * dom/MouseRelatedEvent.h:
3688
3689 2011-11-11  Vincent Scheib  <scheib@chromium.org>
3690
3691         Mouse Lock: MouseEvent IDL
3692         https://bugs.webkit.org/show_bug.cgi?id=72158
3693
3694         Reviewed by Dimitri Glazkov.
3695
3696         Tests for movementX/Y pending mock mouse lock test infrastructure.
3697
3698         * dom/MouseEvent.cpp:
3699         (WebCore::MouseEvent::initMouseEvent):
3700         (WebCore::MouseEventDispatchMediator::dispatchEvent):
3701         * dom/MouseEvent.h:
3702         * dom/MouseEvent.idl:
3703         * dom/MouseRelatedEvent.h:
3704         (WebCore::MouseRelatedEvent::movementX):
3705         (WebCore::MouseRelatedEvent::movementY):
3706
3707 2011-11-11  Beth Dakin  <bdakin@apple.com>
3708
3709         https://bugs.webkit.org/show_bug.cgi?id=72167
3710         REGRESSION: Scroll position not restored on back after scroll 
3711         -and corresponding-
3712         <rdar://problem/10410684>
3713
3714         Reviewed by Simon Fraser.
3715
3716         We can't just return early if we are not on an active page. 
3717         notifyPositionChanged() is called when a page is going into the page cache (and 
3718         therefore when not on an active page). We should not notify AppKit that the page 
3719         has scrolled in that case, but we still need to call 
3720         ScrollAnimator::notifyPositionChanged();. So this patch removes the early return, 
3721         and replaces it with a conditional around the relevant code.
3722         * platform/mac/ScrollAnimatorMac.mm:
3723         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
3724
3725 2011-11-11  Julien Chaffraix  <jchaffraix@codeaurora.org>, Zaheer Ahmad  <zahimad@codeaurora.org>, Joone Hur  <joone.hur@collabora.co.uk>, Tomasz Morawski  <t.morawski@samsung.com>
3726
3727         Added TileCairo and TiledBackingStoreBackendCairo files
3728         https://bugs.webkit.org/show_bug.cgi?id=71350
3729
3730         Reviewed by Martin Robinson.
3731
3732         Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
3733         library eg. EFL and Gtk WebKit port.
3734
3735         This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
3736         - Julien Chaffraix  <jchaffraix@codeaurora.org>
3737         - Zaheer Ahmad  <zahmad@codeaurora.org>
3738         - Joone Hur  <joone.hur@collabora.co.uk>
3739
3740         * platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
3741         (WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
3742         (WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
3743         * platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
3744         * platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
3745         (WebCore::TileCairo::TileCairo):
3746         (WebCore::TileCairo::~TileCairo):
3747         (WebCore::TileCairo::isDirty):
3748         (WebCore::TileCairo::isReadyToPaint):
3749         (WebCore::TileCairo::invalidate):
3750         (WebCore::TileCairo::updateBackBuffer):
3751         (WebCore::TileCairo::swapBackBufferToFront):
3752         (WebCore::TileCairo::paint):
3753         (WebCore::TileCairo::resize):
3754         * platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
3755         (WebCore::TileCairo::create):
3756         (WebCore::TileCairo::coordinate):
3757         (WebCore::TileCairo::rect):
3758         * platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
3759         TiledBackingStoreBackend methods.
3760         (WebCore::TiledBackingStoreBackend::createTile):
3761         (WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
3762         (WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
3763         exist or it is not ready to paint yet. The checkered surface is used here.
3764
3765 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
3766
3767         Remove unneeded frame check in FrameView::detachCustomScrollbars
3768         https://bugs.webkit.org/show_bug.cgi?id=71980
3769
3770         Reviewed by Anders Carlsson.
3771
3772         Change covered by the existing tests in scrollbars/.
3773
3774         * page/FrameView.cpp:
3775         (WebCore::FrameView::detachCustomScrollbars):
3776         Remove the leftover check that was forgotten by the different refactoring.
3777
3778 2011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
3779
3780         Access key should work on all elements.
3781         https://bugs.webkit.org/show_bug.cgi?id=71854
3782
3783         Reviewed by Adam Barth.
3784
3785         As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
3786         says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
3787         attribute idl file as [Reflect].
3788
3789         Test: fast/forms/access-key-for-all-elements.html
3790
3791         * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
3792         * html/HTMLAreaElement.idl: Ditto. 
3793         * html/HTMLButtonElement.idl: Ditto.
3794         * html/HTMLElement.idl: Added accessKey IDL attribute.
3795         * html/HTMLInputElement.idl: Ditto.
3796         * html/HTMLLabelElement.idl: Ditto.
3797         * html/HTMLLegendElement.idl: Ditto.
3798         * html/HTMLTextAreaElement.idl: Ditto.
3799
3800 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3801
3802         Add jsCast to replace static_cast
3803         https://bugs.webkit.org/show_bug.cgi?id=72071
3804
3805         Reviewed by Geoffrey Garen.
3806
3807         No new tests. 
3808
3809         Added new jsCast and changed all of the static_cast sites in functions that 
3810         are in the MethodTable to use jsCast instead.
3811
3812         * bindings/js/JSAttrCustom.cpp:
3813         (WebCore::JSAttr::visitChildren):
3814         * bindings/js/JSAudioContextCustom.cpp:
3815         (WebCore::JSAudioContext::visitChildren):
3816         * bindings/js/JSCSSRuleCustom.cpp:
3817         (WebCore::JSCSSRule::visitChildren):
3818         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3819         (WebCore::JSCSSStyleDeclaration::visitChildren):
3820         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3821         (WebCore::toHTMLCanvasStyle):
3822         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3823         (WebCore::JSCanvasRenderingContext::visitChildren):
3824         * bindings/js/JSDOMGlobalObject.cpp:
3825         (WebCore::JSDOMGlobalObject::visitChildren):
3826         * bindings/js/JSDOMStringMapCustom.cpp:
3827         (WebCore::JSDOMStringMap::getOwnPropertyNames):
3828         (WebCore::JSDOMStringMap::deleteProperty):
3829         * bindings/js/JSDOMWindowBase.cpp:
3830         (WebCore::JSDOMWindowBase::toThisObject):
3831         * bindings/js/JSDOMWindowCustom.cpp:
3832         (WebCore::JSDOMWindow::visitChildren):
3833         (WebCore::JSDOMWindow::getOwnPropertySlot):
3834         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3835         (WebCore::JSDOMWindow::put):
3836         (WebCore::JSDOMWindow::deleteProperty):
3837         (WebCore::JSDOMWindow::getPropertyNames):
3838         (WebCore::JSDOMWindow::getOwnPropertyNames):
3839         (WebCore::JSDOMWindow::defineGetter):
3840         (WebCore::JSDOMWindow::defineSetter):
3841         (WebCore::JSDOMWindow::defineOwnProperty):
3842         * bindings/js/JSDOMWindowShell.cpp:
3843         (WebCore::JSDOMWindowShell::className):
3844         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
3845         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
3846         (WebCore::JSDOMWindowShell::put):
3847         (WebCore::JSDOMWindowShell::putWithAttributes):
3848         (WebCore::JSDOMWindowShell::defineOwnProperty):
3849         (WebCore::JSDOMWindowShell::deleteProperty):
3850         (WebCore::JSDOMWindowShell::getPropertyNames):
3851         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
3852         (WebCore::JSDOMWindowShell::defineGetter):
3853         (WebCore::JSDOMWindowShell::defineSetter):
3854         * bindings/js/JSHTMLAppletElementCustom.cpp:
3855         (WebCore::JSHTMLAppletElement::getCallData):
3856         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3857         (WebCore::JSHTMLEmbedElement::getCallData):
3858         * bindings/js/JSHTMLObjectElementCustom.cpp:
3859         (WebCore::JSHTMLObjectElement::getCallData):
3860         * bindings/js/JSHistoryCustom.cpp:
3861         (WebCore::JSHistory::deleteProperty):
3862         (WebCore::JSHistory::getOwnPropertyNames):
3863         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3864         (WebCore::JSJavaScriptAudioNode::visitChildren):
3865         * bindings/js/JSLocationCustom.cpp:
3866         (WebCore::JSLocation::deleteProperty):
3867         (WebCore::JSLocation::getOwnPropertyNames):
3868         * bindings/js/JSMessageChannelCustom.cpp:
3869         (WebCore::JSMessageChannel::visitChildren):
3870         * bindings/js/JSMessagePortCustom.cpp:
3871         (WebCore::JSMessagePort::visitChildren):
3872         * bindings/js/JSNamedNodeMapCustom.cpp:
3873         (WebCore::JSNamedNodeMap::visitChildren):
3874         * bindings/js/JSNodeCustom.cpp:
3875         (WebCore::JSNode::visitChildren):
3876         * bindings/js/JSNodeFilterCustom.cpp:
3877         (WebCore::JSNodeFilter::visitChildren):
3878         * bindings/js/JSNodeIteratorCustom.cpp:
3879         (WebCore::JSNodeIterator::visitChildren):
3880         * bindings/js/JSSVGElementInstanceCustom.cpp:
3881         (WebCore::JSSVGElementInstance::visitChildren):
3882         * bindings/js/JSSharedWorkerCustom.cpp:
3883         (WebCore::JSSharedWorker::visitChildren):
3884         * bindings/js/JSStorageCustom.cpp:
3885         (WebCore::JSStorage::deleteProperty):
3886         (WebCore::JSStorage::getOwnPropertyNames):
3887         * bindings/js/JSStyleSheetCustom.cpp:
3888         (WebCore::JSStyleSheet::visitChildren):
3889         * bindings/js/JSTreeWalkerCustom.cpp:
3890         (WebCore::JSTreeWalker::visitChildren):
3891         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3892         (WebCore::JSWebGLRenderingContext::visitChildren):
3893         * bindings/js/JSWorkerContextCustom.cpp:
3894         (WebCore::JSWorkerContext::visitChildren):
3895         * bindings/js/JSXMLHttpRequestCustom.cpp:
3896         (WebCore::JSXMLHttpRequest::visitChildren):
3897         * bindings/js/JSXPathResultCustom.cpp:
3898         (WebCore::JSXPathResult::visitChildren):
3899         * bindings/scripts/CodeGeneratorJS.pm:
3900         (GenerateHeader):
3901         (GenerateImplementation):
3902         * bindings/scripts/test/JS/JSTestInterface.cpp:
3903         (WebCore::JSTestInterface::getOwnPropertySlot):
3904         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
3905         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3906         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
3907         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
3908         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
3909         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
3910         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3911         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
3912         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
3913         * bindings/scripts/test/JS/JSTestObj.cpp:
3914         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
3915         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
3916         (WebCore::JSTestObj::getOwnPropertySlot):
3917         (WebCore::JSTestObj::getOwnPropertyDescriptor):
3918         (WebCore::JSTestObj::put):
3919         (WebCore::JSTestObj::visitChildren):
3920         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3921         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3922         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
3923         * bridge/objc/objc_runtime.mm:
3924         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
3925         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
3926         * bridge/qt/qt_instance.cpp:
3927         (JSC::Bindings::QtRuntimeObject::visitChildren):
3928         * bridge/qt/qt_runtime.cpp:
3929         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
3930         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
3931         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
3932         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
3933         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
3934         * bridge/runtime_array.cpp:
3935         (JSC::RuntimeArray::getOwnPropertyNames):
3936         (JSC::RuntimeArray::getOwnPropertySlot):
3937         (JSC::RuntimeArray::getOwnPropertyDescriptor):
3938         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
3939         (JSC::RuntimeArray::put):
3940         (JSC::RuntimeArray::putByIndex):
3941         * bridge/runtime_method.cpp:
3942         (JSC::RuntimeMethod::getOwnPropertySlot):
3943         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
3944         * bridge/runtime_object.cpp:
3945         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
3946         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
3947         (JSC::Bindings::RuntimeObject::put):
3948         (JSC::Bindings::RuntimeObject::defaultValue):
3949         (JSC::Bindings::RuntimeObject::getCallData):
3950         (JSC::Bindings::RuntimeObject::getConstructData):
3951         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
3952
3953 2011-11-11  Vincent Scheib  <scheib@chromium.org>
3954
3955         Unreviewed, rolling out r99994.
3956         http://trac.webkit.org/changeset/99994
3957         https://bugs.webkit.org/show_bug.cgi?id=72150
3958
3959         Broke chromium windows build
3960
3961         * WebCore.gypi:
3962         * bindings/generic/RuntimeEnabledFeatures.h:
3963         (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
3964         (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
3965         (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
3966         * page/MouseLockable.cpp: Removed.
3967         * page/MouseLockable.h: Removed.
3968         * page/MouseLockable.idl: Removed.
3969         * page/Navigator.cpp:
3970         * page/Navigator.h:
3971         * page/Navigator.idl:
3972
3973 2011-11-11  Adam Klein  <adamk@chromium.org>
3974
3975         [v8] Remove unused V8Proxy::executingScript method
3976         https://bugs.webkit.org/show_bug.cgi?id=72160
3977
3978         Reviewed by Nate Chapin.
3979
3980         * bindings/v8/V8Proxy.cpp:
3981         * bindings/v8/V8Proxy.h:
3982
3983 2011-11-11  Brady Eidson  <beidson@apple.com>
3984
3985         Rubberstamped by Andy Estes
3986
3987         100,000!
3988         Congratulations WebKit, and here's to hundreds of thousands more!
3989         
3990         * ChangeLog: Point out revision 100,000.
3991
3992 2011-11-11  David Kilzer  <ddkilzer@apple.com>
3993
3994         <http://webkit.org/b/71921> Remove use of strcpy in KURL
3995
3996         Reviewed by Antti Koivisto.
3997
3998         * platform/KURL.cpp:
3999         (WebCore::KURL::init): Replace strcpy() with strncpy().
4000
4001 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
4002
4003         De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
4004         https://bugs.webkit.org/show_bug.cgi?id=72035
4005
4006         Reviewed by Geoffrey Garen.
4007
4008         No new tests.
4009
4010         * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
4011         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
4012         * bindings/js/JSDOMGlobalObject.h:
4013         * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
4014         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
4015         (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
4016         (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
4017         (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
4018         * bindings/js/JSDOMWindowBase.h:
4019
4020
4021 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
4022
4023         Unreviewed, rolling out r99869.
4024         http://trac.webkit.org/changeset/99869
4025         https://bugs.webkit.org/show_bug.cgi?id=72157
4026
4027         "Caused a ~400% perf regression on the Chromium intl1 page
4028         cyclers" (Requested by ojan on #webkit).
4029
4030         * dom/Document.cpp:
4031         (WebCore::Document::Document):
4032         (WebCore::Document::images):
4033         (WebCore::Document::applets):
4034         (WebCore::Document::embeds):
4035         (WebCore::Document::plugins):
4036         (WebCore::Document::objects):
4037         (WebCore::Document::scripts):
4038         (WebCore::Document::links):
4039         (WebCore::Document::forms):
4040         (WebCore::Document::anchors):
4041         * dom/Document.h:
4042         * html/CollectionType.h:
4043
4044 2011-11-11  Vincent Scheib  <scheib@chromium.org>
4045
4046         Mouse Lock Navigator IDL
4047         https://bugs.webkit.org/show_bug.cgi?id=72150
4048
4049         Reviewed by Dimitri Glazkov.
4050
4051         Tests require mocking (similar to geolocation) that will be built after this.
4052
4053         * WebCore.gypi:
4054         * bindings/generic/RuntimeEnabledFeatures.h:
4055         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
4056         * page/MouseLockable.cpp: Added.
4057         (WebCore::MouseLockable::MouseLockable):
4058         (WebCore::MouseLockable::~MouseLockable):
4059         (WebCore::MouseLockable::webkitLock):
4060         (WebCore::MouseLockable::webkitUnlock):
4061         (WebCore::MouseLockable::webkitIsLocked):
4062         * page/MouseLockable.h: Added.
4063         (WebCore::MouseLockable::create):
4064         * page/MouseLockable.idl: Added.
4065         * page/Navigator.cpp:
4066         (WebCore::Navigator::webkitPointer):
4067         * page/Navigator.h:
4068         * page/Navigator.idl:
4069
4070 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
4071
4072         De-virtualize JSGlobalObject::allowsAccessFrom
4073         https://bugs.webkit.org/show_bug.cgi?id=71969
4074
4075         Reviewed by Darin Adler.
4076
4077         No new tests.
4078
4079         Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
4080         JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
4081         than JSGlobalObject.
4082
4083         * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
4084         * bindings/objc/WebScriptObject.mm:
4085         (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
4086         order to call the allowsAccessFrom method.
4087