OSDN Git Service

b56a885a651f740329edd7a00b014c682be71647
[android-x86/external-webkit.git] / WebCore / ChangeLog
1 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
2
3         Reviewed by Kent Tamura.
4
5         M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
6         https://bugs.webkit.org/show_bug.cgi?id=51905
7
8         Calls unregisterFormElementWithFormAttribute() when 'form' attribute
9         is removed.
10
11         Tests: fast/forms/form-associated-element-crash.html
12                fast/forms/form-associated-element-crash2.html
13
14         * html/FormAssociatedElement.cpp:
15         (WebCore::FormAssociatedElement::formAttributeChanged):
16
17 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
18
19         Reviewed by Kent Tamura.
20
21         M_formElementsWithFormAttribute not cleared when Node is moved to another document.
22         https://bugs.webkit.org/show_bug.cgi?id=51418
23
24         Calls unregisterFormElementWithFormAttribute() when form associated elements
25         are moved to another document.
26
27         Test: fast/forms/change-form-element-document-crash.html
28
29         * html/FormAssociatedElement.cpp:
30         (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
31         * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
32         * html/HTMLFormControlElement.cpp:
33         (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
34         * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
35         * html/HTMLObjectElement.cpp:
36         (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
37         * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
38         * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
39
40 2011-01-11  Merge 75548 - BUGCR69275 - Abhishek Arya  <inferno@chromium.org>
41
42         Reviewed by Dimitri Glazkov.
43
44         RefPtr the FrameView to prevent scrollbar from getting deleted inside
45         its scroll event.
46         https://bugs.webkit.org/show_bug.cgi?id=52238
47
48         Test: scrollbars/scrollable-iframe-remove-crash.html
49
50         * page/DOMWindow.cpp:
51         (WebCore::DOMWindow::scrollTo):
52
53 2011-01-11  Abhishek Arya  <inferno@chromium.org>
54
55         Reviewed by Dimitri Glazkov.
56
57         RefPtr text node in setOuterText since calling appendData
58         on a text node can fire away dom event listener which might
59         remove the text node from underneath.
60         https://bugs.webkit.org/show_bug.cgi?id=52163
61
62         Test: fast/dom/text-node-append-data-remove-crash.html
63
64         * html/HTMLElement.cpp:
65         (WebCore::HTMLElement::setOuterText):
66
67 2010-12-07  Jeremy Orlow  <jorlow@chromium.org>
68
69         Reviewed by Steve Block.
70
71         IndexedDB returns the wrong exceptions
72         https://bugs.webkit.org/show_bug.cgi?id=50632
73
74         IndexedDB exceptions need to have an offset so they can
75         be distinguished from DOM exceptions.  We also need to
76         add strings for the various exceptions.  Lastly, make
77         IDBDatabaseException use the common exception base class.
78
79         * bindings/js/JSDOMBinding.cpp:
80         (WebCore::setDOMException):
81         * bindings/v8/V8Proxy.cpp:
82         (WebCore::V8Proxy::setDOMException):
83         * dom/ExceptionCode.cpp:
84         (WebCore::getExceptionCodeDescription):
85         * dom/ExceptionCode.h:
86         * storage/IDBDatabaseError.h:
87         (WebCore::IDBDatabaseError::code):
88         * storage/IDBDatabaseException.h:
89         (WebCore::IDBDatabaseException::create):
90         (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
91         (WebCore::IDBDatabaseException::IDBDatabaseException):
92         * storage/IDBDatabaseException.idl:
93
94 2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
95
96         Reviewed by Jeremy Orlow.
97
98         IndexedDB: Numeric keys are floats.
99         https://bugs.webkit.org/show_bug.cgi?id=50674
100
101         Use floating point to represent numeric keys,
102         add version meta data to the SQLite db,
103         and migrate object stores that use integers.
104
105         * bindings/v8/IDBBindingUtilities.cpp:
106         (WebCore::createIDBKeyFromValue):
107         * bindings/v8/custom/V8IDBKeyCustom.cpp:
108         (WebCore::toV8):
109         * storage/IDBFactoryBackendImpl.cpp:
110         (WebCore::createTables):
111         (WebCore::migrateDatabase):
112         (WebCore::IDBFactoryBackendImpl::open):
113         * storage/IDBKey.cpp:
114         (WebCore::IDBKey::IDBKey):
115         (WebCore::IDBKey::fromQuery):
116         (WebCore::IDBKey::bind):
117         (WebCore::IDBKey::bindWithNulls):
118         * storage/IDBKey.h:
119         (WebCore::IDBKey::create):
120         (WebCore::IDBKey::number):
121
122 2010-12-10  Martin Robinson  <mrobinson@igalia.com>
123
124         Reviewed by Xan Lopez.
125
126         [Gtk] style="font-family: courier" makes text disappear
127         https://bugs.webkit.org/show_bug.cgi?id=47452
128
129         Don't ever use fonts that do not have any of the three charmaps that
130         Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
131         a font that doesn't have one of these charmaps, use the next font in
132         the list.
133
134         Test: platform/gtk/fonts/font-with-no-valid-encoding.html
135
136         * platform/graphics/freetype/FontCacheFreeType.cpp:
137         (WebCore::FontCache::createFontPlatformData): Check whether the
138         font we selected has a valid Fontconfig charmap.
139         * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
140         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
141         (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
142         verifies that a font has a valid Fontconfig charmap.
143
144 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
145
146         Reviewed by Ojan Vafai.
147
148         Make DOM Mutation Events Asynchronous
149         https://bugs.webkit.org/show_bug.cgi?id=46936
150
151         Implemented DOM mutations events as scoped events. A scoped event is an event whose
152         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
153         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
154         on its constructor and destructor respectively.
155
156         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
157         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
158         however, events are queued in ScopedEventQueue and their dispatches are delayed until
159         the scoping level goes back to 0 (by the destruction of EventQueueScope).
160
161         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
162         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
163         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
164         of the events until the completion of each call of EditCommand::doApply.
165
166         Test: fast/events/mutation/execCommands.html
167
168         * Android.mk: Added ScopedEventQueue.cpp.
169         * CMakeLists.txt: Ditto.
170         * WebCore.pro: Ditto.
171         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
172         * WebCore.gypi:  Ditto.
173         * WebCore.vcproj/project.vcproj: Ditto.
174         * WebCore.xcodeproj/project.pbxproj: Ditto.
175         * dom/ContainerNode.cpp:
176         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
177         (WebCore::dispatchChildRemovalEvents): Ditto.
178         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
179         * dom/Element.cpp:
180         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
181         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
182         * dom/Node.cpp:
183         (WebCore::Node::dispatchScopedEvent): Added.
184         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
185         * dom/Node.h:
186         * dom/ScopedEventQueue.cpp: Added.
187         (WebCore::ScopedEventQueue::initialize): Added.
188         (WebCore::ScopedEventQueue::enqueueEvent): Added.
189         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
190         (WebCore::ScopedEventQueue::dispatchEvent): Added.
191         (WebCore::ScopedEventQueue::instance): Added.
192         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
193         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
194         * dom/ScopedEventQueue.h: Added.
195         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
196         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
197         (WebCore::EventQueueScope::EventQueueScope): Added.
198         (WebCore::EventQueueScope::~EventQueueScope): Added.
199         * editing/EditCommand.cpp:
200         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
201
202 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
203
204         Unreviewed, rolling out r73684.
205         http://trac.webkit.org/changeset/73684
206         https://bugs.webkit.org/show_bug.cgi?id=50801
207
208         "missing bug number" (Requested by rniwa on #webkit).
209
210         * Android.mk:
211         * CMakeLists.txt:
212         * GNUmakefile.am:
213         * WebCore.gypi:
214         * WebCore.pro:
215         * WebCore.vcproj/WebCore.vcproj:
216         * WebCore.xcodeproj/project.pbxproj:
217         * dom/ContainerNode.cpp:
218         (WebCore::dispatchChildInsertionEvents):
219         (WebCore::dispatchChildRemovalEvents):
220         * dom/DOMAllInOne.cpp:
221         * dom/Element.cpp:
222         (WebCore::Element::dispatchAttrRemovalEvent):
223         (WebCore::Element::dispatchAttrAdditionEvent):
224         * dom/Node.cpp:
225         (WebCore::Node::dispatchSubtreeModifiedEvent):
226         (WebCore::Node::dispatchUIEvent):
227         * dom/Node.h:
228         * dom/ScopedEventQueue.cpp: Removed.
229         * dom/ScopedEventQueue.h: Removed.
230         * editing/EditCommand.cpp:
231         (WebCore::EditCommand::apply):
232
233 2010-12-09  Qi Zhang  <qi.2.zhang@nokia.com>
234
235         Reviewed by Kenneth Rohde Christiansen.
236
237         [Qt] enable orientation flag when QtMobility available
238         https://bugs.webkit.org/show_bug.cgi?id=50781
239
240         When QtMobility available, enable orientation flag by default.
241
242         * features.pri:
243
244 2010-12-09  Kenichi Ishibashi  <bashi@google.com>
245
246         Reviewed by Kent Tamura.
247
248         Improve validation API support of <object> and <keygen>
249         https://bugs.webkit.org/show_bug.cgi?id=50663
250
251         Adds validation API to HTMLObjectElement class.
252         Makes HTMLKeygenElement::willValidate() return false.
253
254         Test: fast/forms/setCustomValidity-existence.html
255
256         * html/HTMLKeygenElement.h:
257         (WebCore::HTMLKeygenElement::willValidate): Added.
258         * html/HTMLObjectElement.h:
259         (WebCore::HTMLObjectElement::validationMessage): Added.
260         (WebCore::HTMLObjectElement::checkValidity): Added.
261         (WebCore::HTMLObjectElement::setCustomValidity): Added.
262         * html/HTMLObjectElement.idl: Added validation API properties.
263
264 2010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
265
266         Reviewed by Kent Tamura.
267
268         Make sure a non-zero value is used for tile-width to avoid a crash
269         https://bugs.webkit.org/show_bug.cgi?id=50341
270
271         The scaled tile width can be very small at times (e.g. with 'style: font 1
272         required'). So use a minimum width of 1 instead of using 0 (which leads to a
273         crash).
274
275         Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
276
277         * rendering/RenderThemeChromiumSkia.cpp:
278         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
279
280 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
281
282         Reviewed by Ojan Vafai.
283
284         Implemented DOM mutations events as scoped events. A scoped event is an event whose
285         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
286         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
287         on its constructor and destructor respectively.
288
289         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
290         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
291         however, events are queued in ScopedEventQueue and their dispatches are delayed until
292         the scoping level goes back to 0 (by the destruction of EventQueueScope).
293
294         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
295         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
296         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
297         of the events until the completion of each call of EditCommand::doApply.
298
299         Test: fast/events/mutation/execCommands.html
300
301         * Android.mk: Added ScopedEventQueue.cpp.
302         * CMakeLists.txt: Ditto.
303         * WebCore.pro: Ditto.
304         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
305         * WebCore.gypi:  Ditto.
306         * WebCore.vcproj/project.vcproj: Ditto.
307         * WebCore.xcodeproj/project.pbxproj: Ditto.
308         * dom/ContainerNode.cpp:
309         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
310         (WebCore::dispatchChildRemovalEvents): Ditto.
311         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
312         * dom/Element.cpp:
313         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
314         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
315         * dom/Node.cpp:
316         (WebCore::Node::dispatchScopedEvent): Added.
317         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
318         * dom/Node.h:
319         * dom/ScopedEventQueue.cpp: Added.
320         (WebCore::ScopedEventQueue::initialize): Added.
321         (WebCore::ScopedEventQueue::enqueueEvent): Added.
322         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
323         (WebCore::ScopedEventQueue::dispatchEvent): Added.
324         (WebCore::ScopedEventQueue::instance): Added.
325         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
326         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
327         * dom/ScopedEventQueue.h: Added.
328         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
329         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
330         (WebCore::EventQueueScope::EventQueueScope): Added.
331         (WebCore::EventQueueScope::~EventQueueScope): Added.
332         * editing/EditCommand.cpp:
333         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
334
335 2010-12-09  Sam Weinig  <sam@webkit.org>
336
337         Reviewed by Gavin Barraclough.
338
339         Fix scrolling with mouse wheel in WebKit2 views.  Once
340         we coalesce wheel events, we can re-enable this.
341
342         * platform/mac/ScrollAnimatorMac.mm:
343         (WebCore::ScrollAnimatorMac::scroll):
344
345 2010-12-09  Abhishek Arya  <inferno@chromium.org>
346
347         Reviewed by James Robinson.
348
349         For details element, ensure that if we ended up being inline that we set out replaced
350         flag so that we are treated like an inline block.
351         https://bugs.webkit.org/show_bug.cgi?id=50671
352
353         Test: fast/html/details-element-render-inline-crash.html
354
355         * rendering/RenderDetails.cpp:
356         (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
357         * rendering/RenderDetails.h: function definition.
358
359 2010-12-09  Jasmin Lapalme  <jlapalme@druide.com>
360
361         Reviewed by Alexey Proskuryakov.
362
363         Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
364         https://bugs.webkit.org/show_bug.cgi?id=50708
365
366         Test: fast/xsl/utf8-chunks.xml
367
368         * xml/XSLTProcessorLibxslt.cpp:
369         (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
370
371 2010-12-09  Vincent Scheib  <scheib@chromium.org>
372
373         Reviewed by James Robinson.
374
375         Clip update rectangle for Texture::updateSubRect to texture size
376         https://bugs.webkit.org/show_bug.cgi?id=49929
377
378         Test: fast/canvas/canvas-largedraws.html
379
380         * platform/graphics/gpu/Texture.cpp:
381         (WebCore::Texture::updateSubRect):
382
383 2010-12-09  Kenneth Russell  <kbr@google.com>
384
385         Unreviewed. Another speculative Gtk build fix after r73669. Add
386         needed derived sources to GNUmakefile.am.
387
388         * GNUmakefile.am:
389
390 2010-12-09  Kenneth Russell  <kbr@google.com>
391
392         Unreviewed. Speculative Gtk build fix after
393         https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
394         all of the WebGL classes' IDL files.
395
396         * CMakeLists.txt:
397
398 2010-12-09  Zhenyao Mo  <zmo@google.com>
399
400         Reviewed by Kenneth Russell.
401
402         Expose constructor functions for instanceof checks of WebGL objects
403         https://bugs.webkit.org/show_bug.cgi?id=36512
404
405         Test: fast/canvas/webgl/instanceof-test.html
406
407         * bindings/generic/RuntimeEnabledFeatures.h:
408         (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
409         (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
410         (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
411         (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
412         (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
413         (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
414         (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
415         (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
416         * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
417         * html/canvas/WebGLBuffer.idl: Ditto.
418         * html/canvas/WebGLFramebuffer.idl: Ditto.
419         * html/canvas/WebGLProgram.idl: Ditto.
420         * html/canvas/WebGLRenderbuffer.idl: Ditto.
421         * html/canvas/WebGLShader.idl: Ditto.
422         * html/canvas/WebGLTexture.idl: Ditto.
423         * html/canvas/WebGLUniformLocation.idl: Ditto.
424         * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
425
426 2010-12-09  Timothy Hatcher  <timothy@apple.com>
427
428         Export Color::white and Color::transparent.
429
430         Reviewed by Anders Carlsson.
431
432         * WebCore.exp.in:
433
434 2010-12-09  Sam Weinig  <sam@webkit.org>
435
436         Fix failing Mac tests.
437
438         * platform/mac/ScrollAnimatorMac.mm:
439         (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
440         AppleScrollAnimationEnabled is false.
441
442 2010-12-09  James Robinson  <jamesr@chromium.org>
443
444         Reviewed by Kenneth Russell.
445
446         [chromium] Compositor needs to manage its VRAM use
447         https://bugs.webkit.org/show_bug.cgi?id=49629
448
449         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
450         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
451         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
452         Video, and WebGL) and the root layer are still unmanaged.
453
454         The TextureManager works by providing tokens to callers that want to use a managed texture.
455         The token can be used to request a texture, see if the previously requested texture is still
456         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
457         texture is created the manager attempts to free up the least recently used textures until the
458         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
459         limit it will not return any new textures until some old textures are released.
460
461         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
462         previously requested texture is still available for use and reserve the LayerTexture's underlying
463         storage between the updateContentsIfDirty() and the draw() call.
464
465         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
466         updateContentsIfDirty().
467
468         Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
469                platform/chromium/compositing/lots-of-img-layers.html
470
471         * WebCore.gypi:
472         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
473         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
474         * platform/graphics/chromium/Canvas2DLayerChromium.h:
475         * platform/graphics/chromium/ContentLayerChromium.cpp:
476         (WebCore::ContentLayerChromium::cleanupResources):
477         (WebCore::ContentLayerChromium::updateContentsIfDirty):
478         (WebCore::ContentLayerChromium::updateTextureRect):
479         (WebCore::ContentLayerChromium::draw):
480         * platform/graphics/chromium/ContentLayerChromium.h:
481         * platform/graphics/chromium/ImageLayerChromium.cpp:
482         (WebCore::ImageLayerChromium::updateContentsIfDirty):
483         * platform/graphics/chromium/ImageLayerChromium.h:
484         * platform/graphics/chromium/LayerChromium.h:
485         (WebCore::LayerChromium::updateContentsIfDirty):
486         (WebCore::LayerChromium::draw):
487         * platform/graphics/chromium/LayerRendererChromium.cpp:
488         (WebCore::LayerRendererChromium::LayerRendererChromium):
489         (WebCore::LayerRendererChromium::useShader):
490         (WebCore::LayerRendererChromium::prepareToDrawLayers):
491         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
492         (WebCore::LayerRendererChromium::drawLayers):
493         (WebCore::LayerRendererChromium::getFramebufferPixels):
494         (WebCore::LayerRendererChromium::createLayerTexture):
495         (WebCore::LayerRendererChromium::deleteLayerTexture):
496         (WebCore::LayerRendererChromium::updateLayersRecursive):
497         (WebCore::LayerRendererChromium::useRenderSurface):
498         (WebCore::LayerRendererChromium::drawLayer):
499         (WebCore::LayerRendererChromium::setScissorToRect):
500         (WebCore::LayerRendererChromium::setDrawViewportRect):
501         (WebCore::LayerRendererChromium::initializeSharedObjects):
502         (WebCore::LayerRendererChromium::cleanupSharedObjects):
503         * platform/graphics/chromium/LayerRendererChromium.h:
504         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
505         (WebCore::LayerRendererChromium::textureManager):
506         * platform/graphics/chromium/LayerTexture.cpp: Added.
507         (WebCore::LayerTexture::LayerTexture):
508         (WebCore::LayerTexture::~LayerTexture):
509         (WebCore::LayerTexture::isValid):
510         (WebCore::LayerTexture::reserve):
511         (WebCore::LayerTexture::unreserve):
512         (WebCore::LayerTexture::bindTexture):
513         (WebCore::LayerTexture::framebufferTexture2D):
514         * platform/graphics/chromium/LayerTexture.h: Added.
515         (WebCore::LayerTexture::create):
516         * platform/graphics/chromium/PluginLayerChromium.cpp:
517         (WebCore::PluginLayerChromium::updateContentsIfDirty):
518         * platform/graphics/chromium/PluginLayerChromium.h:
519         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
520         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
521         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
522         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
523         (WebCore::RenderSurfaceChromium::cleanupResources):
524         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
525         (WebCore::RenderSurfaceChromium::draw):
526         * platform/graphics/chromium/RenderSurfaceChromium.h:
527         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
528         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
529         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
530         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
531         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
532         * platform/graphics/chromium/TextureManager.cpp: Added.
533         (WebCore::memoryUseBytes):
534         (WebCore::TextureManager::TextureManager):
535         (WebCore::TextureManager::getToken):
536         (WebCore::TextureManager::releaseToken):
537         (WebCore::TextureManager::hasTexture):
538         (WebCore::TextureManager::protectTexture):
539         (WebCore::TextureManager::unprotectTexture):
540         (WebCore::TextureManager::reduceMemoryToLimit):
541         (WebCore::TextureManager::addTexture):
542         (WebCore::TextureManager::removeTexture):
543         (WebCore::TextureManager::requestTexture):
544         * platform/graphics/chromium/TextureManager.h: Added.
545         (WebCore::TextureManager::create):
546         * platform/graphics/chromium/VideoLayerChromium.cpp:
547         (WebCore::VideoLayerChromium::updateContentsIfDirty):
548         * platform/graphics/chromium/VideoLayerChromium.h:
549         * platform/graphics/chromium/WebGLLayerChromium.cpp:
550         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
551         * platform/graphics/chromium/WebGLLayerChromium.h:
552
553 2010-12-09  Darin Adler  <darin@apple.com>
554
555         Reviewed by Sam Weinig.
556
557         Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
558         It's difficult to make correct security decisions based on Frame since a
559         Frame can navigate to a new document.
560
561         Fixes some test failures that I somehow missed before the last check-in.
562
563         * bindings/js/JSDOMWindowBase.cpp:
564         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
565         shell DOMWindow; not sure this one matters, but it's closer to the old
566         code before my last patch. Also pass the DOMWindow rather than the
567         frame to crossDomainAccessErrorMessage.
568
569         * bindings/js/JSDOMWindowCustom.cpp:
570         (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
571         to the DOMWindow::setLocation function.
572
573         * page/DOMWindow.cpp:
574         (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
575         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
576
577         * page/DOMWindow.h: Update new functions to take DOMWindow rather
578         than Frame.
579
580 2010-12-09  Sam Weinig  <sam@webkit.org>
581
582         Try and fix the mac build.
583
584         * WebCore.exp.in:
585
586 2010-12-09  Dan Bernstein  <mitz@apple.com>
587
588         Reviewed by Dave Hyatt.
589
590         Removed an unused variable.
591
592         * rendering/InlineFlowBox.cpp:
593         (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
594
595 2010-12-09  Darin Adler  <darin@apple.com>
596
597         Reviewed by Geoffrey Garen.
598
599         Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
600         https://bugs.webkit.org/show_bug.cgi?id=50640
601
602         * bindings/js/JSDOMBinding.cpp:
603         (WebCore::printErrorMessageForFrame): Removed body; just call through to
604         DOMWindow::printErrorMessage.
605
606         * bindings/js/JSDOMWindowBase.cpp:
607         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
608         just call through to DOMWindow::crossDomainAccessErrorMessage.
609
610         * bindings/js/JSDOMWindowCustom.cpp:
611         (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
612         firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
613         of the body and moved it into DOMWindow::setLocation.
614
615         * page/DOMWindow.cpp:
616         (WebCore::DOMWindow::setLocation): Added. Does all the same work that
617         JSDOMWindow::setLocation used to do, but in a way that's not specific
618         to JavaScript.
619         (WebCore::DOMWindow::printErrorMessage): Added.
620         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
621
622         * page/DOMWindow.h: Added setLocation, printErrorMessage, and
623         crossDomainAccessErrorMessage.
624
625 2010-12-09  Sam Weinig  <sam@webkit.org>
626
627         Reviewed by Dan Bernstein.
628
629         WebKit2 needs smooth scrolling support on the mac
630         <rdar://problem/8219402>
631
632         * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
633         * platform/mac/ScrollAnimatorMac.cpp: Removed.
634         * platform/mac/ScrollAnimatorMac.h:
635         * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
636         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
637         (-[ScrollAnimationHelperDelegate bounds]):
638         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
639         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
640         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
641         (-[ScrollAnimationHelperDelegate superview]):
642         (-[ScrollAnimationHelperDelegate documentView]):
643         (-[ScrollAnimationHelperDelegate window]):
644         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
645         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
646         (WebCore::ScrollAnimatorMac::scroll):
647         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
648         (WebCore::ScrollAnimatorMac::currentPosition):
649         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
650         Add implementation of ScrollAnimator for the Mac.
651
652 2010-12-09  Brady Eidson  <beidson@apple.com>
653
654         Reviewed by Anders Carlsson.
655
656         <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
657         WebKit2 ContextMenuClient support
658
659         Export some symbols and headers needed by WebKit2 Mac:
660         * WebCore.exp.in:
661         * WebCore.xcodeproj/project.pbxproj:
662
663 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
664
665         Unreviewed, rolling out r73635.
666         http://trac.webkit.org/changeset/73635
667         https://bugs.webkit.org/show_bug.cgi?id=50778
668
669         'Side-effects on 3 css tests needs closer review' (Requested
670         by mwenge on #webkit).
671
672         * platform/graphics/qt/ImageQt.cpp:
673         (loadResourcePixmap):
674         * platform/qt/RenderThemeQt.cpp:
675         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
676         (WebCore::RenderThemeQt::paintSearchField):
677         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
678         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
679         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
680         * platform/qt/RenderThemeQt.h:
681
682 2010-12-09  Robert Hogan  <robert@webkit.org>
683
684         Reviewed by Andreas Kling.
685
686         [Qt] Search input field doesn't have cancel button
687
688         Add a cancel button to the search field and make it customizable
689         by the client. For now, use the close dialog button associated
690         with the application's style as the default.
691
692         https://bugs.webkit.org/show_bug.cgi?id=42887
693
694         * platform/graphics/qt/ImageQt.cpp:
695         (loadResourcePixmap):
696         * platform/qt/RenderThemeQt.cpp:
697         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
698         (WebCore::RenderThemeQt::paintSearchField):
699         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
700         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
701         (WebCore::RenderThemeQt::convertToPaintingRect):
702         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
703         * platform/qt/RenderThemeQt.h:
704
705 2010-12-09  Yael Aharon  <yael.aharon@nokia.com>
706
707         Reviewed by Antonio Gomes.
708
709         Spatial Navigation: Crash when handling iframe of size 0.
710         https://bugs.webkit.org/show_bug.cgi?id=50730
711
712         if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
713         that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
714         thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
715         navigation algorithm.
716
717         Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
718
719         * page/FocusController.cpp:
720         (WebCore::updateFocusCandidateIfNeeded):
721
722 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
723
724         Unreviewed, rolling out r73616.
725         http://trac.webkit.org/changeset/73616
726         https://bugs.webkit.org/show_bug.cgi?id=50772
727
728         Breaks chromium win build (Requested by hwennborg on #webkit).
729
730         * bindings/v8/IDBBindingUtilities.cpp:
731         (WebCore::createIDBKeyFromValue):
732         * bindings/v8/custom/V8IDBKeyCustom.cpp:
733         (WebCore::toV8):
734         * storage/IDBFactoryBackendImpl.cpp:
735         (WebCore::createTables):
736         (WebCore::IDBFactoryBackendImpl::open):
737         * storage/IDBKey.cpp:
738         (WebCore::IDBKey::IDBKey):
739         (WebCore::IDBKey::fromQuery):
740         (WebCore::IDBKey::bind):
741         (WebCore::IDBKey::bindWithNulls):
742         * storage/IDBKey.h:
743         (WebCore::IDBKey::create):
744         (WebCore::IDBKey::number):
745
746 2010-12-09  Antonio Gomes  <agomes@rim.com>
747
748         Rubber stamped by by Gustavo Noronha Silva.
749
750         Buildfix for GTK+ with building with -no-video.
751
752         paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
753         but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
754         and RenderThemeGtk::paintSearchFieldCancelButton() methods.
755
756         * platform/gtk/RenderThemeGtk.cpp:
757         (WebCore::getMediaElementFromRenderObject):
758
759 2010-12-07  Antonio Gomes  <agomes@rim.com>
760
761         Reviewed by Daniel Bates.
762
763         Spatial Navigation: code clean up
764         https://bugs.webkit.org/show_bug.cgi?id=50666
765
766         Patch unifies two FocusCandidate constructors, making caller sites
767         simpler. Now the special handling HTMLAreaElement gets is done within
768         the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
769
770         No new tests needed.
771
772         * page/FocusController.cpp:
773         (WebCore::FocusController::findFocusCandidateInContainer):
774         * page/SpatialNavigation.cpp:
775         (WebCore::FocusCandidate::FocusCandidate):
776
777 2010-12-09  Philippe Normand  <pnormand@igalia.com>
778
779         Reviewed by Eric Carlson.
780
781         [GStreamer] disable fullscreen on MacOS Tiger and Leopard
782         https://bugs.webkit.org/show_bug.cgi?id=50748
783
784         Don't support fullscreen video on Tiger and Leopard, just like the
785         QTKit player.
786
787         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
788         (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
789
790 2010-12-06  Philippe Normand  <pnormand@igalia.com>
791
792         Reviewed by Martin Robinson.
793
794         [GTK] Support the Mozilla-style Fullscreen Javascript API
795         https://bugs.webkit.org/show_bug.cgi?id=50572
796
797         * GNUmakefile.am: enable the Javascript Fullscreen API feature if
798         it's been requested at configure time.
799
800 2010-12-09  Yong Li  <yoli@rim.com>
801
802         Reviewed by Darin Adler.
803
804         Check the return value of ImageBuffer::create()
805         to avoid crash when ImageBuffer::create() fails.
806         https://bugs.webkit.org/show_bug.cgi?id=50631
807
808         No new test because it relies on the platform implementation
809         of ImageBuffer. It is hard to make ImageBuffer::create() fail
810         in most ports.
811
812         * platform/graphics/GeneratedImage.cpp:
813         (WebCore::GeneratedImage::drawPattern):
814
815 2010-12-09  Maciej Stachowiak  <mjs@apple.com>
816
817         Reviewed by Dan Bernstein.
818
819         Implement "Use Selection for Find" in WebKit2
820         https://bugs.webkit.org/show_bug.cgi?id=50737
821         <rdar://problem/8564881>
822
823         Implement a TakeFindStringFromSelection editor command. This is
824         used solely to implement the "Use Selection for Find" menu command
825         on Mac, and is not made available to script. On WebKit2, it is
826         very convenient to reuse the editing machinery since this command
827         is very similar to Copy.
828
829         * editing/Editor.h:
830         * editing/EditorCommand.cpp:
831         (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
832         (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
833         (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
834         * editing/mac/EditorMac.mm:
835         (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
836         since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
837         document.
838         (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
839         to the special Find pasteboard.
840
841 2010-12-09  Abhishek Arya  <inferno@chromium.org>
842
843         Reviewed by Dimitri Glazkov.
844
845         As part of r73559, I added the referenceNode check to validate whether the root
846         node of the iterator matches the node which is getting moved to other document.
847         referenceNode is initialized to root, however can get moved using previousNode
848         and nextNode methods, so it is required to use root directly.
849         https://bugs.webkit.org/show_bug.cgi?id=50764
850
851         Test: fast/dom/node-iterator-reference-node-moved-crash.html
852
853         * dom/Document.cpp:
854         (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
855
856 2010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>
857
858         Reviewed by Darin Adler.
859
860         Provide a generic way to store shadowParent on a Node.
861         https://bugs.webkit.org/show_bug.cgi?id=50184
862
863         This patch makes TreeShared::m_parent act as either parentNode() or
864         shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
865
866         Refactoring, so no new tests. See performance result testing in bug.
867
868         * dom/Element.cpp:
869         (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
870         * dom/Node.cpp:
871         (WebCore::Node::shadowHost): Added.
872         (WebCore::Node::setShadowHost): Added.
873         (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
874         (WebCore::Node::isContentRichlyEditable): Ditto.
875         (WebCore::Node::nextRenderer): Ditto.
876         (WebCore::Node::virtualComputedStyle): Ditto.
877         (WebCore::Node::canStartSelection): Ditto.
878         (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
879         (WebCore::Node::getEventAncestors): Ditto.
880         (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
881         * dom/Node.h: Added an extra flag and adjusted bit counts.
882         (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
883         (WebCore::Node::parentNode): Made to recognize flag.
884         (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
885         (WebCore::Node::parentNodeGuaranteedHostFree): Added.
886         (WebCore::Node::shadowParentNode): Made non-virtual and const.
887         * editing/TextIterator.cpp:
888         (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
889         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
890         (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
891         (WebCore::setUpFullyClippedStack): Ditto.
892         (WebCore::TextIterator::advance): Ditto.
893         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
894         * page/DOMSelection.cpp:
895         (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
896         (WebCore::DOMSelection::focusNode): Ditto.
897         (WebCore::DOMSelection::baseNode): Ditto.
898         (WebCore::DOMSelection::extentNode): Ditto.
899         (WebCore::DOMSelection::getRangeAt): Ditto.
900         * rendering/MediaControlElements.cpp:
901         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
902             Changed to setShadowHost().
903         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
904         (WebCore::MediaControlShadowRootElement::detach): Added an override to
905             explicitly set shadowHost to 0. Otherwise, the element will leak.
906         * rendering/MediaControlElements.h: Added detach def, removed members that are
907             no longer needed.
908         * rendering/RenderSVGShadowTreeRootContainer.cpp:
909         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
910             Added explicit clearing of shadowHost to avoid leaking and crashes,
911             because SVG shadow DOM can be dynamically attached/detached, producing
912             stale nodes in over/out event handling.
913         * rendering/RenderSlider.cpp:
914         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
915         * rendering/RenderTextControlSingleLine.cpp:
916         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
917             Added explicit clearing of shadowHost and explicit destruction to
918             avoid out-of-order removal of children.
919         * rendering/RenderTreeAsText.cpp:
920         (WebCore::nodePosition): Simplified code.
921         * rendering/SVGShadowTreeElements.cpp:
922         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
923             setting of shadowHost.
924         (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
925         (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
926         * rendering/SVGShadowTreeElements.h: Added def, removed members that are
927              no longer needed.
928         * rendering/ShadowElement.cpp:
929         (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
930         * rendering/ShadowElement.h: Removed members that are no longer needed.
931         (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
932         (WebCore::ShadowElement::detach): Added.
933         * rendering/TextControlInnerElements.cpp:
934         (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
935             of shadowHost.
936         (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
937             isShadowNode().
938         (WebCore::TextControlInnerElement::detach): Added.
939         * rendering/TextControlInnerElements.h: Removed members that are no
940             longer needed.
941         * svg/SVGElement.cpp:
942         (WebCore::SVGElement::ownerSVGElement): Simplified code.
943         (WebCore::SVGElement::viewportElement): Ditto.
944         * svg/SVGLocatable.cpp:
945         (WebCore::SVGLocatable::computeCTM): Ditto.
946         * svg/SVGStyledElement.cpp:
947         (WebCore::SVGStyledElement::title): Ditto.
948         * svg/SVGUseElement.cpp:
949         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
950
951 2010-12-09  Brady Eidson  <beidson@apple.com>
952
953         Reviewed by Maciej Stachowiak.
954
955         <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
956         WebKit2 Authentication Support
957
958         * WebCore.exp.in:
959
960 2010-12-09  Peter Beverloo  <peter@lvp-media.com>
961
962         Reviewed by Maciej Stachowiak.
963
964         Default CSS definitions for the figure and figcaption elements.
965
966         Tests: fast/html/figcaption-element.html
967                fast/html/figure-element.html
968
969         * css/html.css:
970         (figure): The default figure-style equals a blockquote
971         (figcaption): A non-sectioning block-level element
972
973 2010-12-09  Yury Semikhatsky  <yurys@chromium.org>
974
975         Reviewed by Pavel Feldman.
976
977         Web Inspector: Console records for failed XHRs should contain call stack and request method
978         https://bugs.webkit.org/show_bug.cgi?id=50390
979
980         When inspector front-end is open we capture call stack at the place where request is sent and
981         pass the stack along with other request data. There is a new type of console messages which
982         is NetworkErrorMessageType, all messages of that type will have requestId field initialized
983         with the corresponding network request identifier so that later on when we need to display
984         that message in the front-end we could pull request data from the Network panel using
985         this identifier. If there are no data for given requestId message formatting falls back to
986         the old implementation which lacks such things as call stack, request method and exact
987         source location.
988
989         * inspector/ConsoleMessage.cpp:
990         (WebCore::ConsoleMessage::ConsoleMessage):
991         (WebCore::ConsoleMessage::addToFrontend):
992         (WebCore::ConsoleMessage::isEqual):
993         * inspector/ConsoleMessage.h:
994         * inspector/Inspector.idl:
995         * inspector/InspectorController.cpp:
996         (WebCore::InspectorController::didReceiveResponse):
997         (WebCore::InspectorController::didFailLoading):
998         * inspector/InspectorResourceAgent.cpp:
999         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1000         * inspector/front-end/ConsoleView.js:
1001         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
1002         (WebInspector.ConsoleMessage):
1003         (WebInspector.ConsoleMessage.prototype._formatMessage):
1004         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1005         (WebInspector.ConsoleMessage.prototype.toString):
1006         (WebInspector.ConsoleMessage.prototype.isEqual):
1007         * inspector/front-end/ResourceManager.js:
1008         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
1009         * inspector/front-end/inspector.js:
1010         (WebInspector.addConsoleMessage):
1011         * page/Console.h:
1012
1013 2010-12-09  Dai Mikurube  <dmikurube@google.com>
1014
1015         Reviewed by Kent Tamura.
1016
1017         Implement "required" attribute for select tags
1018         https://bugs.webkit.org/show_bug.cgi?id=50380
1019
1020         Test: fast/forms/select-live-pseudo-selectors.html
1021               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
1022
1023         * dom/SelectElement.cpp:
1024         (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
1025         (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
1026         * html/HTMLSelectElement.cpp:
1027         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
1028         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
1029         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
1030         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
1031         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
1032         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
1033         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
1034         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
1035         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
1036         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
1037         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
1038         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
1039         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
1040         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
1041         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
1042         (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
1043         * html/HTMLSelectElement.h:
1044         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
1045         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
1046         * html/ValidityState.cpp:
1047         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
1048         * wml/WMLSelectElement.h:
1049         (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
1050
1051 2010-12-07  Jeremy Orlow  <jorlow@chromium.org>
1052
1053         Reviewed by Steve Block.
1054
1055         IndexedDB returns the wrong exceptions
1056         https://bugs.webkit.org/show_bug.cgi?id=50632
1057
1058         IndexedDB exceptions need to have an offset so they can
1059         be distinguished from DOM exceptions.  We also need to
1060         add strings for the various exceptions.  Lastly, make
1061         IDBDatabaseException use the common exception base class.
1062
1063         * bindings/js/JSDOMBinding.cpp:
1064         (WebCore::setDOMException):
1065         * bindings/v8/V8Proxy.cpp:
1066         (WebCore::V8Proxy::setDOMException):
1067         * dom/ExceptionCode.cpp:
1068         (WebCore::getExceptionCodeDescription):
1069         * dom/ExceptionCode.h:
1070         * storage/IDBDatabaseError.h:
1071         (WebCore::IDBDatabaseError::code):
1072         * storage/IDBDatabaseException.h:
1073         (WebCore::IDBDatabaseException::create):
1074         (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
1075         (WebCore::IDBDatabaseException::IDBDatabaseException):
1076         * storage/IDBDatabaseException.idl:
1077
1078 2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1079
1080         Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
1081         GDK window size.
1082
1083         * plugins/gtk/gtk2xtbin.c:
1084         (gtk_xtbin_realize):
1085
1086 2010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>
1087
1088         Reviewed by Laszlo Gombos.
1089
1090         Use BUILDING_WEBKIT like other ports
1091         https://bugs.webkit.org/show_bug.cgi?id=50713
1092
1093         * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
1094
1095 2010-12-08  Erik Arvidsson  <arv@chromium.org>
1096
1097         Reviewed by Darin Adler.
1098
1099         Replace getAttribute().isNull() with fastHasAttribute()
1100         https://bugs.webkit.org/show_bug.cgi?id=50719
1101
1102         Covered by existing tests.
1103
1104         * dom/SelectElement.cpp:
1105         (WebCore::SelectElement::reset):
1106         * html/HTMLAppletElement.cpp:
1107         (WebCore::HTMLAppletElement::rendererIsNeeded):
1108         * html/HTMLCollection.cpp:
1109         (WebCore::HTMLCollection::itemAfter):
1110         * html/HTMLFormControlElement.cpp:
1111         (WebCore::HTMLFormControlElement::formNoValidate):
1112         * html/HTMLFormElement.cpp:
1113         (WebCore::HTMLFormElement::noValidate):
1114         * html/HTMLInputElement.cpp:
1115         (WebCore::HTMLInputElement::defaultChecked):
1116         (WebCore::HTMLInputElement::multiple):
1117         (WebCore::HTMLInputElement::webkitdirectory):
1118         * html/HTMLOptionElement.cpp:
1119         (WebCore::HTMLOptionElement::defaultSelected):
1120         * html/HTMLScriptElement.cpp:
1121         (WebCore::HTMLScriptElement::asyncAttributeValue):
1122         (WebCore::HTMLScriptElement::deferAttributeValue):
1123         * rendering/RenderFileUploadControl.cpp:
1124         (WebCore::RenderFileUploadControl::allowsMultipleFiles):
1125         (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
1126
1127 2010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
1128
1129         Reviewed by Martin Robinson.
1130
1131         Full page size flash plugins do not show in all situations
1132         https://bugs.webkit.org/show_bug.cgi?id=47742
1133
1134         This patch moves the plugin widget size allocation after the
1135         NPP_SetWindow is called with the effect that the resize of Flash
1136         content no longer result in grey flash. This seems logical since the
1137         widget tree cannot be fully constructed before the plugin receives
1138         the new container window.
1139
1140         Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
1141
1142         * plugins/gtk/PluginViewGtk.cpp:
1143         (WebCore::PluginView::setNPWindowIfNeeded):
1144
1145 2010-12-08  David Hyatt  <hyatt@apple.com>
1146
1147         Reviewed by Simon Fraser.
1148
1149         Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
1150         maximum position and not the vertical position.
1151
1152         * platform/ScrollView.cpp:
1153         (WebCore::ScrollView::wheelEvent):
1154
1155 2010-12-08  David Hyatt  <hyatt@apple.com>
1156
1157         Reviewed by Anders Carlsson.
1158
1159         https://bugs.webkit.org/show_bug.cgi?id=50576
1160
1161         REGRESSION in position of autocomplete popup on RTL page.
1162
1163         RTL static position computation did not subtract out the width of the enclosing box if the
1164         immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
1165         to be RTL when the document was RTL.
1166
1167         Added three new tests in fast/block/positioning.
1168
1169         * rendering/RenderBox.cpp:
1170         (WebCore::RenderBox::computePositionedLogicalWidth):
1171
1172 2010-12-08  Xiaomei Ji  <xji@chromium.org>
1173
1174         Reviewed by David Hyatt.
1175
1176         Fix backward mouse wheeling not working when scroll position is below 0.
1177         https://bugs.webkit.org/show_bug.cgi?id=50370
1178
1179         Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
1180                fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
1181
1182         * platform/ScrollView.cpp:
1183         (WebCore::ScrollView::wheelEvent):
1184
1185 2010-12-07  Alexey Marinichev  <amarinichev@chromium.org>
1186
1187         Reviewed by James Robinson.
1188
1189         [chromium] compositor lost context recovery fix
1190         https://bugs.webkit.org/show_bug.cgi?id=50614
1191
1192         To test, load a page that triggers the compositor, kill the GPU
1193         process and hover over a link to redraw and thus restart the GPU
1194         process.  Without this patch it will assert in
1195         ContentLayerChromium::updateTextureRect; with this patch it will not.
1196
1197         * platform/graphics/chromium/LayerChromium.cpp:
1198         (WebCore::LayerChromium::setNeedsDisplay):
1199
1200 2010-12-07  Chris Marrin  <cmarrin@apple.com>
1201
1202         Reviewed by Simon Fraser.
1203
1204         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1205         https://bugs.webkit.org/show_bug.cgi?id=49388
1206
1207         Added copy constructors and casting operators to go between 
1208         TransformationMatrix and CATransform3D. Also added a copy
1209         constructor to go from CGAffineTransform to TransformationMatrix.
1210         Used these new methods to clean up platform CA code. This will
1211         make it easier to port to Windows.
1212
1213         I also fixed a couple of build issues found when trying out a 
1214         Windows build.
1215
1216         * WebCore.xcodeproj/project.pbxproj:
1217         * platform/graphics/ca/GraphicsLayerCA.cpp:
1218         (WebCore::GraphicsLayerCA::ensureCloneLayers):
1219         (WebCore::GraphicsLayerCA::fetchCloneLayers):
1220         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1221         (PlatformCAAnimation::setFromValue):
1222         (PlatformCAAnimation::setToValue):
1223         (PlatformCAAnimation::setValues):
1224         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1225         (PlatformCALayer::transform):
1226         (PlatformCALayer::setTransform):
1227         (PlatformCALayer::sublayerTransform):
1228         (PlatformCALayer::setSublayerTransform):
1229         (PlatformCALayer::contentsTransform):
1230         (PlatformCALayer::setContentsTransform):
1231         * platform/graphics/cg/TransformationMatrixCG.cpp:
1232         (WebCore::TransformationMatrix::TransformationMatrix):
1233         * platform/graphics/transforms/TransformationMatrix.h:
1234
1235 2010-12-07  Anders Carlsson  <andersca@apple.com>
1236
1237         Fix the last clang++ build error.
1238
1239         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1240         (PlatformCALayer::animationForKey):
1241         Cast the returned animation to the correct type.
1242
1243 2010-12-07  Anders Carlsson  <andersca@apple.com>
1244
1245         Fix some clang++ build errors.
1246
1247         * platform/graphics/ca/GraphicsLayerCA.cpp:
1248         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1249         Remove unused variable.
1250
1251         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1252         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1253         Fix constness of pointers.
1254
1255 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1256
1257         Reviewed by Chris Marrin.
1258
1259         Fix the Color -> CGColorRef conversions for the debug colors
1260         used for compositing layers.
1261
1262         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1263         (PlatformCALayer::setBackgroundColor):
1264         (PlatformCALayer::setBorderColor):
1265
1266 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
1267
1268         Reviewed by John Sullivan.
1269
1270         Part of Layering Violation in ContextMenu
1271         https://bugs.webkit.org/show_bug.cgi?id=50586
1272         
1273         ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
1274         a ContextMenuItem, and calling through to the ContextMenuController to validate it
1275         and call a function when it was selected.
1276         
1277         It was a layering violation to have this class here, because ContextMenu can't know
1278         about ContextMenuController.
1279         
1280         This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
1281         and sets up the menu targets there.
1282
1283         No change in behavior, no new tests.
1284
1285         * WebCore.exp.in: Added function that needs to be exported.
1286         * platform/mac/ContextMenuMac.mm:
1287         (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
1288         (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
1289         (WebCore::ContextMenu::insertItem): Ditto.
1290
1291 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1292
1293         Reviewed by Dan Bernstein.
1294
1295         -webkit-transition Fails on Multiple text-shadow Shadows
1296         https://bugs.webkit.org/show_bug.cgi?id=42281
1297         
1298         When transitioning multiple shadows, the blend function for
1299         ShadowData dropped all but the first and last shadow because
1300         of a failure to append to the end of the list. Fixed.
1301
1302         Test: transitions/multiple-text-shadow-transition.html
1303
1304         * page/animation/AnimationBase.cpp:
1305         (WebCore::PropertyWrapperShadow::blend):
1306
1307 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1308
1309         Reviewed by Beth Dakin.
1310
1311         CSS animation doesn't work for border-radius
1312         https://bugs.webkit.org/show_bug.cgi?id=48340
1313         
1314         Include CSSPropertyBorderRadius in the list of shorthand
1315         properties, so that the individual border-radius properties
1316         get animated.
1317
1318         Test: transitions/border-radius-transition.html
1319
1320         * page/animation/AnimationBase.cpp:
1321         (WebCore::addShorthandProperties):
1322
1323 2010-12-07  Maciej Stachowiak  <mjs@apple.com>
1324
1325         Reviewed by Kent Tamura.
1326
1327         Implement HTML5 hidden attribute
1328         https://bugs.webkit.org/show_bug.cgi?id=40511
1329
1330         Test: fast/html/hidden-attr.html
1331
1332         * html/HTMLElement.cpp:
1333         (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
1334         (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
1335
1336 2010-12-07  Kenneth Russell  <kbr@google.com>
1337
1338         Reviewed by David Levin.
1339
1340         Fix compilation of core web audio files on Windows
1341         https://bugs.webkit.org/show_bug.cgi?id=50603
1342
1343         Changed a few constructs using C99 features of math.h to use
1344         wtf/MathExtras.h instead. Changed inline definitions of a couple of
1345         const static doubles in classes to out-of-line. Built Chrome with
1346         web audio enabled on Windows and Mac OS X to test these changes.
1347
1348         No new tests since audio API is not yet implemented.
1349
1350         * WebCore.gypi:
1351         * platform/audio/AudioResampler.cpp:
1352         * platform/audio/Biquad.cpp:
1353         (WebCore::Biquad::setLowpassParams):
1354         (WebCore::Biquad::setHighpassParams):
1355         (WebCore::Biquad::setLowShelfParams):
1356         * platform/audio/Cone.cpp:
1357         (WebCore::ConeEffect::gain):
1358         * platform/audio/EqualPowerPanner.cpp:
1359         (WebCore::EqualPowerPanner::pan):
1360         * platform/audio/FFTFrame.cpp:
1361         (WebCore::FFTFrame::interpolateFrequencyComponents):
1362         (WebCore::FFTFrame::extractAverageGroupDelay):
1363         (WebCore::FFTFrame::addConstantGroupDelay):
1364         * platform/audio/HRTFKernel.cpp:
1365         * platform/audio/HRTFPanner.cpp:
1366         * webaudio/AudioBufferSourceNode.cpp:
1367         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
1368         * webaudio/AudioPannerNode.cpp:
1369         (WebCore::AudioPannerNode::getAzimuthElevation):
1370         * webaudio/AudioParam.cpp: Added.
1371         (AudioParam::setValue):
1372         (AudioParam::smooth):
1373         * webaudio/AudioParam.h:
1374         * webaudio/RealtimeAnalyser.cpp:
1375
1376 2010-11-25  Philippe Normand  <pnormand@igalia.com>
1377
1378         Reviewed by Martin Robinson.
1379
1380         [GStreamer] faster elements linking
1381         https://bugs.webkit.org/show_bug.cgi?id=50067
1382
1383         Perform less checks during GStreamer elements linking if building
1384         against GStreamer >= 0.10.30.
1385
1386         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1387         (WebCore::GStreamerGWorld::enterFullscreen):
1388         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1389         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1390
1391 2010-12-07  Philippe Normand  <pnormand@igalia.com>
1392
1393         Reviewed by Gustavo Noronha Silva.
1394
1395         [GStreamer] ::buffered() should return multiple ranges in some cases
1396         https://bugs.webkit.org/show_bug.cgi?id=45101
1397
1398         Improved the ::buffered() method thanks to the new buffering query
1399         support that landed in GStreamer 0.10.31. The method now
1400         queries the media buffered-ranges on the pipeline and queue2
1401         handles it if it's buffering the media to disk.
1402
1403         The webkitwebsrc element also gained BYTES duration query
1404         support. This is needed in the rare cases where uridecodebin
1405         configures its queue before the HTTP server returns the media
1406         Content-Length.
1407
1408         Test: http/tests/media/video-buffered.html
1409
1410         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1411         (WebCore::MediaPlayerPrivateGStreamer::buffered):
1412         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1413         (webkit_web_src_init):
1414         (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
1415         if it's aware of the media content-length.
1416         * platform/gtk/RenderThemeGtk.cpp:
1417         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
1418         the second and next buffered ranges.
1419
1420 2010-12-07  Yael Aharon  <yael.aharon@nokia.com>
1421
1422         Reviewed by Antonio Gomes.
1423
1424         Spatial navigation not Working for Map and Area Tags
1425         https://bugs.webkit.org/show_bug.cgi?id=47142
1426
1427         Give area elements special treatment in spatial navigation algorithm by getting the
1428         rect of the area from the associated image. Since area elements are likely to overlap
1429         if they are not rects, or if authors are not careful, we flatten the rect of area elements.
1430
1431         Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
1432                fast/spatial-navigation/snav-imagemap-area-without-image.html
1433                fast/spatial-navigation/snav-imagemap-overlapped-areas.html
1434                fast/spatial-navigation/snav-imagemap-simple.html
1435
1436         * page/FocusController.cpp:
1437         (WebCore::FocusController::findFocusCandidateInContainer):
1438         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
1439         (WebCore::FocusController::advanceFocusDirectionally):
1440         * page/SpatialNavigation.cpp:
1441         (WebCore::FocusCandidate::FocusCandidate):
1442         (WebCore::virtualRectForDirection):
1443         (WebCore::virtualRectForAreaElementAndDirection):
1444         * page/SpatialNavigation.h:
1445         (WebCore::FocusCandidate::FocusCandidate):
1446
1447 2010-12-07  Darin Adler  <darin@apple.com>
1448
1449         Try to fix V8 build.
1450
1451         * bindings/generic/BindingDOMWindow.h:
1452         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
1453
1454 2010-12-07  Darin Adler  <darin@apple.com>
1455
1456         Another build fix.
1457
1458         * loader/CrossOriginAccessControl.cpp: Added a missing include.
1459
1460 2010-12-07  Darin Adler  <darin@apple.com>
1461
1462         Try to fix build.
1463
1464         * plugins/PluginView.cpp:
1465         (WebCore::PluginView::start): Pass security origin.
1466         (WebCore::PluginView::getURLNotify): Ditto.
1467         (WebCore::PluginView::getURL): Ditto.
1468         (WebCore::PluginView::handlePost): Ditto.
1469
1470 2010-12-06  Darin Adler  <darin@apple.com>
1471
1472         Reviewed by Sam Weinig.
1473
1474         Pass security origin to make local file decision correctly
1475         https://bugs.webkit.org/show_bug.cgi?id=48603
1476
1477         * bindings/generic/BindingDOMWindow.h:
1478         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
1479         (WebCore::BindingDOMWindow::open): Ditto.
1480         * bindings/generic/BindingFrame.h:
1481         (WebCore::BindingFrame::navigateIfAllowed): Ditto.
1482
1483         * bindings/js/JSDOMWindowCustom.cpp:
1484         (WebCore::JSDOMWindow::setLocation): Pass security origin.
1485         (WebCore::createWindow): Ditto.
1486         (WebCore::JSDOMWindow::open): Ditto.
1487
1488         * bindings/js/JSDocumentCustom.cpp:
1489         (WebCore::JSDocument::setLocation): Pass security origin.
1490
1491         * dom/Document.cpp:
1492         (WebCore::Document::processHttpEquiv): Pass security origin.
1493
1494         * inspector/InspectorController.cpp:
1495         (WebCore::InspectorController::openInInspectedWindow):
1496         Pass security origin.
1497
1498         * loader/FrameLoader.cpp:
1499         (WebCore::FrameLoader::changeLocation): Added a security origin
1500         argument, passed through to urlSelected.
1501         (WebCore::FrameLoader::urlSelected): Replaced the resource request
1502         and frame name arguments with a frame load request arguments in one
1503         overload, and changed the other overload to pass in the current
1504         frame's document for the security origin.
1505         (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
1506         check before the referrer computation because it no longer needs
1507         to look at the referrer. Replaced the call to canDisplay that
1508         used the target frame's security origin and the call to
1509         deprecatedCanDisplay with a single call to canDisplay that uses
1510         the requester security origin.
1511
1512         * loader/FrameLoader.h: Updated for argument changes above.
1513
1514         * loader/NavigationScheduler.cpp:
1515         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
1516         a security origin.
1517         (WebCore::ScheduledURLNavigation::fire): Pass the security origin
1518         in to FrameLoader::changeLocation.
1519         (WebCore::ScheduledURLNavigation::securityOrigin): Added.
1520         (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
1521         origin argument.
1522         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
1523         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
1524         (WebCore::ScheduledRefresh::fire): Pass the security origin in to
1525         FrameLoader::changeLocation.
1526         (WebCore::ScheduledFormSubmission::fire): Include the security
1527         origin when constructing form submission.
1528         (WebCore::NavigationScheduler::scheduleRedirect): Include the security
1529         origin when creating the scheduled navigation object.
1530         (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
1531         (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
1532
1533         * loader/NavigationScheduler.h: Added the security origin argument
1534         to scheduleLocationChange.
1535
1536         * loader/SubframeLoader.cpp:
1537         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
1538         origin when calling scheduleLocationChange.
1539         * loader/appcache/ApplicationCacheGroup.cpp:
1540         (WebCore::ApplicationCacheGroup::selectCache): Ditto.
1541
1542         * page/ContextMenuController.cpp:
1543         (WebCore::openNewWindow): Pass in the security origin.
1544         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
1545
1546         * page/FrameLoadRequest.h: Added a security origin called the requester
1547         to all FrameLoadRequest objects.
1548
1549         * page/XSSAuditor.cpp:
1550         (WebCore::XSSAuditor::findInRequest): Added the security origin.
1551
1552 2010-12-07  Yury Semikhatsky  <yurys@chromium.org>
1553
1554         Reviewed by Pavel Feldman.
1555
1556         Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
1557         https://bugs.webkit.org/show_bug.cgi?id=50627
1558
1559         * bindings/v8/ScriptDebugServer.cpp:
1560         (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
1561         not been initialized yet.
1562
1563 2010-12-07  Csaba Osztrogonác  <ossy@webkit.org>
1564
1565         Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
1566
1567         * page/animation/AnimationBase.cpp:
1568         (WebCore::addShorthandProperties):
1569
1570 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
1571
1572         Unreviewed, rolling out r73392.
1573         http://trac.webkit.org/changeset/73392
1574         https://bugs.webkit.org/show_bug.cgi?id=50489
1575
1576         This commit caused crashes on the GTK+ bots
1577
1578         * bindings/ScriptControllerBase.cpp:
1579         (WebCore::ScriptController::executeIfJavaScriptURL):
1580         * dom/Document.cpp:
1581         (WebCore::Document::Document):
1582         (WebCore::Document::close):
1583         (WebCore::Document::lastModified):
1584         (WebCore::Document::finishedParsing):
1585         (WebCore::Document::initSecurityContext):
1586         (WebCore::Document::updateURLForPushOrReplaceState):
1587         * dom/Document.h:
1588         * dom/ProcessingInstruction.cpp:
1589         (WebCore::ProcessingInstruction::checkStyleSheet):
1590         * dom/ScriptElement.cpp:
1591         (WebCore::ScriptElement::scriptCharset):
1592         * html/HTMLLinkElement.cpp:
1593         (WebCore::HTMLLinkElement::process):
1594         * html/MediaDocument.cpp:
1595         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1596         * html/PluginDocument.cpp:
1597         (WebCore::PluginDocumentParser::createDocumentStructure):
1598         * loader/DocumentLoader.cpp:
1599         (WebCore::DocumentLoader::DocumentLoader):
1600         (WebCore::DocumentLoader::finishedLoading):
1601         (WebCore::DocumentLoader::commitData):
1602         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1603         (WebCore::DocumentLoader::setFrame):
1604         * loader/DocumentLoader.h:
1605         * loader/DocumentWriter.cpp:
1606         (WebCore::DocumentWriter::begin):
1607         * loader/DocumentWriter.h:
1608         * loader/FrameLoader.cpp:
1609         (WebCore::FrameLoader::FrameLoader):
1610         (WebCore::FrameLoader::init):
1611         (WebCore::FrameLoader::clear):
1612         (WebCore::FrameLoader::receivedFirstData):
1613         (WebCore::FrameLoader::transitionToCommitted):
1614         (WebCore::FrameLoader::open):
1615         (WebCore::FrameLoader::finishedLoadingDocument):
1616         (WebCore::FrameLoader::addExtraFieldsToRequest):
1617         * loader/FrameLoader.h:
1618         (WebCore::FrameLoader::writer):
1619         * loader/cache/CachedResourceLoader.cpp:
1620         (WebCore::CachedResourceLoader::requestPreload):
1621         * platform/network/FormDataBuilder.cpp:
1622         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
1623         * svg/graphics/SVGImage.cpp:
1624         (WebCore::SVGImage::dataChanged):
1625
1626 2010-12-07  Patrick Gansterer  <paroga@webkit.org>
1627
1628         Reviewed by Andreas Kling.
1629
1630         [CMake] Remove WebKitGenerators
1631         https://bugs.webkit.org/show_bug.cgi?id=50445
1632
1633         Move remaining logic into main CMakeLists.txt.
1634
1635         * CMakeLists.txt:
1636
1637 2010-12-07  Justin Schuh  <jschuh@chromium.org>
1638
1639         Reviewed by Nikolas Zimmermann.
1640
1641         Clear old SVG cursor entry before adding a new one
1642         https://bugs.webkit.org/show_bug.cgi?id=50549
1643
1644         Test: svg/css/cursor-replace.svg
1645
1646         * css/CSSCursorImageValue.cpp:
1647         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1648         * svg/SVGCursorElement.cpp:
1649         (WebCore::SVGCursorElement::~SVGCursorElement):
1650         (WebCore::SVGCursorElement::removeClient):
1651         (WebCore::SVGCursorElement::removeReferencedElement):
1652         * svg/SVGCursorElement.h:
1653         * svg/SVGElement.cpp:
1654         (WebCore::SVGElement::setCursorElement):
1655         (WebCore::SVGElement::cursorElementRemoved):
1656         (WebCore::SVGElement::setCursorImageValue):
1657         (WebCore::SVGElement::cursorImageElementRemoved):
1658         * svg/SVGElement.h:
1659
1660 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
1661
1662         Reviewed by Kent Tamura.
1663
1664         Let HTMLObjectElement be a form associated element
1665         https://bugs.webkit.org/show_bug.cgi?id=48821
1666
1667         Introduces FormAssociatedElement class which would be a super class
1668         of form assocated elements. Some of member functions and variables of
1669         HTMLFormControlElement are migrated into this class.
1670         Following the HTML5 spec, HTMLFormControlElement class and
1671         HTMLObjectElement class are subclasses of it for now.
1672
1673         Test: fast/forms/form-collection-elements-order.html
1674
1675         * Android.mk: Added FormAssociatedElement.cpp
1676         * CMakeLists.txt: Ditto.
1677         * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
1678         * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
1679         * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
1680         * WebCore.pro: Ditto.
1681         * WebCore.vcproj/WebCore.vcproj: Ditto.
1682         * WebCore.xcodeproj/project.pbxproj: Ditto.
1683         * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
1684         * dom/Document.cpp:
1685         (WebCore::Document::registerFormElementWithFormAttribute): Modified to
1686         use FormAssociatedElement instead of HTMLFormControlElement
1687         (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
1688         (WebCore::Document::resetFormElementsOwner):
1689         * dom/Document.h: Ditto.
1690         * html/DOMFormData.cpp: Ditto.
1691         (WebCore::DOMFormData::DOMFormData):
1692         * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
1693         (WebCore::FormAssociatedElement::FormAssociatedElement):
1694         (WebCore::FormAssociatedElement::~FormAssociatedElement):
1695         (WebCore::FormAssociatedElement::validity):
1696         (WebCore::FormAssociatedElement::insertedIntoTree):
1697         (WebCore::FormAssociatedElement::removedFromTree):
1698         (WebCore::FormAssociatedElement::removeFromForm):
1699         (WebCore::FormAssociatedElement::resetFormOwner):
1700         (WebCore::FormAssociatedElement::formAttributeChanged):
1701         (WebCore::toHTMLElement):
1702         * html/FormAssociatedElement.h: Ditto.
1703         (WebCore::FormAssociatedElement::ref):
1704         (WebCore::FormAssociatedElement::deref):
1705         (WebCore::FormAssociatedElement::formDestroyed):
1706         (WebCore::FormAssociatedElement::setForm):
1707         * html/HTMLElement.h: Changed the access level of findFormAncestor().
1708         * html/HTMLFormCollection.cpp:
1709         (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
1710         instead of HTMLFormControlElement.
1711         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
1712         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
1713         * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
1714         hierarchy.
1715         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1716         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
1717         (WebCore::HTMLFormControlElement::insertedIntoTree):
1718         (WebCore::HTMLFormControlElement::removedFromTree):
1719         (WebCore::HTMLFormControlElement::supportsFocus):
1720         (WebCore::HTMLFormControlElement::checkValidity):
1721         (WebCore::HTMLFormControlElement::virtualForm):
1722         (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
1723         (WebCore::HTMLFormControlElement::attributeChanged):
1724         * html/HTMLFormControlElement.h: Ditto.
1725         (WebCore::HTMLFormControlElement::form):
1726         (WebCore::HTMLFormControlElement::disabled):
1727         (WebCore::HTMLFormControlElement::type):
1728         (WebCore::HTMLFormControlElement::refFormAssociatedElement):
1729         (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
1730         * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
1731         instead of HTMLFormControlElement.
1732         (WebCore::HTMLFormElement::submitImplicitly):
1733         (WebCore::HTMLFormElement::validateInteractively):
1734         (WebCore::HTMLFormElement::submit):
1735         (WebCore::HTMLFormElement::reset):
1736         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
1737         (WebCore::HTMLFormElement::formElementIndex):
1738         (WebCore::HTMLFormElement::registerFormElement):
1739         (WebCore::HTMLFormElement::removeFormElement):
1740         (WebCore::HTMLFormElement::defaultButton):
1741         (WebCore::HTMLFormElement::checkValidity):
1742         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
1743         (WebCore::HTMLFormElement::documentDidBecomeActive):
1744         * html/HTMLFormElement.h: Ditto.
1745         (WebCore::HTMLFormElement::associatedElements):
1746         * html/HTMLInputElement.cpp: Ditto.
1747         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1748         * html/HTMLObjectElement.cpp: Modified regarding with the change of class
1749         hierarchy.
1750         (WebCore::HTMLObjectElement::HTMLObjectElement):
1751         (WebCore::HTMLObjectElement::~HTMLObjectElement):
1752         (WebCore::HTMLObjectElement::create):
1753         (WebCore::HTMLObjectElement::attributeChanged):
1754         (WebCore::HTMLObjectElement::insertedIntoTree):
1755         (WebCore::HTMLObjectElement::removedFromTree):
1756         (WebCore::HTMLObjectElement::appendFormData):
1757         (WebCore::HTMLObjectElement::formControlName):
1758         * html/HTMLObjectElement.h: Ditto.
1759         (WebCore::HTMLObjectElement::form):
1760         (WebCore::HTMLObjectElement::isFormControlElement):
1761         (WebCore::HTMLObjectElement::isEnumeratable):
1762         (WebCore::HTMLObjectElement::refFormAssociatedElement):
1763         (WebCore::HTMLObjectElement::derefFormAssociatedElement):
1764         * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
1765         * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
1766         instead of HTMLFormControlElement.
1767         (WebCore::ValidationMessage::ValidationMessage):
1768         (WebCore::ValidationMessage::create):
1769         * html/ValidationMessage.h: Ditto.
1770         * html/ValidityState.cpp: Ditto.
1771         (WebCore::ValidityState::validationMessage):
1772         (WebCore::ValidityState::setCustomErrorMessage):
1773         (WebCore::ValidityState::valueMissing):
1774         (WebCore::ValidityState::typeMismatch):
1775         (WebCore::ValidityState::patternMismatch):
1776         (WebCore::ValidityState::tooLong):
1777         (WebCore::ValidityState::rangeUnderflow):
1778         (WebCore::ValidityState::rangeOverflow):
1779         (WebCore::ValidityState::stepMismatch):
1780         * html/ValidityState.h: Ditto.
1781         (WebCore::ValidityState::create):
1782         (WebCore::ValidityState::ValidityState):
1783         * loader/FormSubmission.cpp: Ditto.
1784         (WebCore::FormSubmission::create):
1785
1786 2010-12-06  Pavel Feldman  <pfeldman@chromium.org>
1787
1788         Not reviewed. Rolling out r72988 for breaking iframes.
1789
1790         * css/CSSImportRule.cpp:
1791         (WebCore::CSSImportRule::insertedIntoParent):
1792
1793 2010-12-06  Hironori Bono  <hbono@chromium.org>
1794
1795         Reviewed by David Levin.
1796
1797         [Chromium] Refactor FontCacheChromiumWin.cpp
1798         https://bugs.webkit.org/show_bug.cgi?id=50611
1799         
1800         This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
1801
1802         No new tests are added since this is a refactoring.
1803
1804         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1805         (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
1806         (WebCore::toGDIFontWeight): Moved to the beginning of the file.
1807         (WebCore::FillLogFont): Moved to the beginning of the file.
1808         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
1809         (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
1810         (WebCore::FontCache::platformInit): Moved after the static functions.
1811
1812 2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
1813
1814         Reviewed by Kenneth Russell.
1815
1816         Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
1817         https://bugs.webkit.org/show_bug.cgi?id=50364
1818
1819         No new tests since there is currently no way to force a context lost event.
1820
1821         * html/canvas/WebGLRenderingContext.cpp:
1822         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
1823         (WebCore::WebGLRenderingContext::create):
1824         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
1825         (WebCore::WebGLRenderingContext::isContextLost):
1826         (WebCore::WebGLRenderingContext::loseContext):
1827         (WebCore::WebGLRenderingContext::restoreContext):
1828         * html/canvas/WebGLRenderingContext.h:
1829         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
1830
1831 2010-12-06  David Hyatt  <hyatt@apple.com>
1832
1833         Reviewed by Simon Fraser.
1834
1835         https://bugs.webkit.org/show_bug.cgi?id=50593
1836         
1837         Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
1838         
1839         Just use the RenderView's document dimensions always.
1840
1841         * rendering/RenderBox.cpp:
1842         (WebCore::RenderBox::paintRootBoxDecorations):
1843
1844 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
1845
1846         Reviewed by Beth Dakin.
1847
1848         CSS animation doesn't work for border-radius
1849         https://bugs.webkit.org/show_bug.cgi?id=48340
1850         
1851         Include CSSPropertyBorderRadius in the list of shorthand
1852         properties, so that the individual border-radius properties
1853         get animated.
1854
1855         Test: transitions/border-radius-transition.html
1856
1857         * page/animation/AnimationBase.cpp:
1858         (WebCore::addShorthandProperties):
1859
1860 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
1861
1862         Reviewed by Tony Chang.
1863
1864         ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
1865         https://bugs.webkit.org/show_bug.cgi?id=49938
1866
1867         Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
1868         instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
1869         by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
1870         EditingStyle::extractAndRemoveBlockProperties.
1871
1872         No new tests are added since this is a refactoring.
1873
1874         * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
1875         * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
1876         (WebCore::CSSMutableStyleDeclaration::merge):
1877         * css/CSSMutableStyleDeclaration.h:
1878         * editing/ApplyStyleCommand.cpp:
1879         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
1880         (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
1881         * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
1882         (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
1883         * editing/CompositeEditCommand.cpp:
1884         (WebCore::CompositeEditCommand::applyStyle): Ditto.
1885         (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
1886         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
1887         * editing/CompositeEditCommand.h:
1888         * editing/DeleteSelectionCommand.cpp:
1889         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
1890         * editing/EditCommand.cpp:
1891         * editing/EditCommand.h:
1892         * editing/EditingStyle.cpp:
1893         (WebCore::EditingStyle::~EditingStyle): Added.
1894         (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
1895         (WebCore::EditingStyle::copy): Added.
1896         (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
1897         * editing/EditingStyle.h:
1898         * editing/Editor.cpp:
1899         (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
1900         (WebCore::Editor::applyParagraphStyle): Ditto.
1901         (WebCore::Editor::computeAndSetTypingStyle): Ditto.
1902         * editing/InsertLineBreakCommand.cpp:
1903         (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
1904         * editing/InsertParagraphSeparatorCommand.cpp:
1905         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
1906         * editing/InsertTextCommand.cpp:
1907         (WebCore::InsertTextCommand::input): Ditto.
1908         * editing/RemoveFormatCommand.cpp:
1909         (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
1910         * editing/ReplaceSelectionCommand.cpp:
1911         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
1912         * editing/SelectionController.cpp:
1913         (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
1914         * editing/SelectionController.h:
1915
1916 2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
1917
1918         Reviewed by Tony Chang.
1919
1920         Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
1921         https://bugs.webkit.org/show_bug.cgi?id=47300
1922
1923         The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
1924         contains more than one paragraphs even when the refNode is fully selected.
1925
1926         Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
1927         such a situation.
1928
1929         Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
1930         is not properly updated when the end of selection resides in the node split by
1931         rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
1932
1933         Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
1934
1935         * editing/ApplyBlockElementCommand.cpp:
1936         (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
1937         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
1938         m_endOfLastParagraph when the position points to the node split by this function.
1939         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
1940         * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
1941         * editing/FormatBlockCommand.cpp:
1942         (WebCore::FormatBlockCommand::formatRange): See above.
1943         * editing/FormatBlockCommand.h:
1944         * editing/IndentOutdentCommand.cpp:
1945         (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
1946         * editing/IndentOutdentCommand.h:
1947
1948 2010-12-03  Zhenyao Mo  <zmo@google.com>
1949
1950         Reviewed by Kenneth Russell.
1951
1952         Postpone gl delete* calls until shaders/programs are no longer attached
1953         https://bugs.webkit.org/show_bug.cgi?id=50501
1954
1955         * html/canvas/WebGLBuffer.cpp:
1956         (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
1957         * html/canvas/WebGLFramebuffer.cpp:
1958         (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
1959         * html/canvas/WebGLObject.cpp:
1960         (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
1961         * html/canvas/WebGLObject.h:
1962         (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
1963         (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
1964         (WebCore::WebGLObject::isDeleted): Make this public.
1965         * html/canvas/WebGLProgram.cpp:
1966         (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
1967         * html/canvas/WebGLRenderbuffer.cpp:
1968         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
1969         * html/canvas/WebGLRenderingContext.cpp:
1970         (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
1971         (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
1972         * html/canvas/WebGLShader.cpp:
1973         (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
1974         * html/canvas/WebGLTexture.cpp:
1975         (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
1976
1977 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
1978
1979         Yet unreviewed another Leopard build fix for r73380.
1980
1981         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1982         (PlatformCAAnimation::setKeyTimes):
1983         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1984         (PlatformCALayer::platformCALayer):
1985
1986 2010-12-06  Andy Estes  <aestes@apple.com>
1987
1988         Reviewed by Darin Adler.
1989
1990         Marquee elements do not stop animating when scrollAmount is set to 0.
1991         https://bugs.webkit.org/show_bug.cgi?id=50434
1992
1993         Test: fast/html/marquee-scrollamount.html
1994
1995         * rendering/RenderMarquee.cpp:
1996         (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
1997
1998 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
1999
2000         Unreviewed Leopard buildfix for r73380.
2001
2002         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2003         (PlatformCAAnimation::setTimingFunctions):
2004         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2005         (PlatformCALayer::PlatformCALayer):
2006
2007 2010-12-06  Philippe Normand  <pnormand@igalia.com>
2008
2009         Reviewed by Martin Robinson.
2010
2011         [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
2012         https://bugs.webkit.org/show_bug.cgi?id=44157
2013
2014         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2015         (webKitWebSrcNeedDataMainCb):
2016         (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
2017         with cross-platform ResourceHandle::setDefersLoading calls.
2018
2019 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2020
2021         Unreviewed Leopard build fix for r73388.
2022
2023         * accessibility/AccessibilitySlider.cpp:
2024         (WebCore::AccessibilitySlider::maxValueForRange):
2025         (WebCore::AccessibilitySlider::minValueForRange):
2026
2027 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2028
2029         Unreviewed build fix for Leopard after r73379.
2030
2031         * platform/graphics/cg/GraphicsContextCG.cpp:
2032         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2033
2034 2010-12-06  Nate Chapin  <japhet@chromium.org>
2035
2036         Reviewed by Adam Barth.
2037
2038         Make DocumentWriter a member of DocumentLoader
2039         instead of FrameLoader.
2040         https://bugs.webkit.org/show_bug.cgi?id=50489
2041
2042         Refactor, no new tests.
2043
2044         * bindings/ScriptControllerBase.cpp:
2045         (WebCore::ScriptController::executeIfJavaScriptURL):
2046         * dom/Document.cpp:
2047         (WebCore::Document::Document):
2048         (WebCore::Document::close):
2049         (WebCore::Document::lastModified):
2050         (WebCore::Document::finishedParsing):
2051         (WebCore::Document::initSecurityContext):
2052         (WebCore::Document::updateURLForPushOrReplaceState):
2053         * dom/Document.h:
2054         (WebCore::Document::setDocumentLoader):
2055         (WebCore::Document::loader):
2056         * dom/ProcessingInstruction.cpp:
2057         (WebCore::ProcessingInstruction::checkStyleSheet):
2058         * dom/ScriptElement.cpp:
2059         (WebCore::ScriptElement::scriptCharset):
2060         * html/HTMLLinkElement.cpp:
2061         (WebCore::HTMLLinkElement::process):
2062         * html/MediaDocument.cpp:
2063         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2064         * html/PluginDocument.cpp:
2065         (WebCore::PluginDocumentParser::createDocumentStructure):
2066         * loader/DocumentLoader.cpp:
2067         (WebCore::DocumentLoader::DocumentLoader):
2068         (WebCore::DocumentLoader::finishedLoading):
2069         (WebCore::DocumentLoader::commitData):
2070         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2071         (WebCore::DocumentLoader::setFrame):
2072         * loader/DocumentLoader.h:
2073         (WebCore::DocumentLoader::writer):
2074         * loader/DocumentWriter.h:
2075         (WebCore::DocumentWriter::setFrame):
2076         * loader/FrameLoader.cpp:
2077         (WebCore::FrameLoader::FrameLoader):
2078         (WebCore::FrameLoader::init):
2079         (WebCore::FrameLoader::clear):
2080         (WebCore::FrameLoader::receivedFirstData):
2081         (WebCore::FrameLoader::transitionToCommitted):
2082         (WebCore::FrameLoader::open):
2083         (WebCore::FrameLoader::finishedLoadingDocument):
2084         (WebCore::FrameLoader::addExtraFieldsToRequest):
2085         * loader/FrameLoader.h:
2086         (WebCore::FrameLoader::notifier):
2087         * loader/cache/CachedResourceLoader.cpp:
2088         (WebCore::CachedResourceLoader::requestPreload):
2089         * platform/network/FormDataBuilder.cpp:
2090         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
2091         * svg/graphics/SVGImage.cpp:
2092         (WebCore::SVGImage::dataChanged):
2093
2094 2010-12-06  Mark Rowe  <mrowe@apple.com>
2095
2096         Build fix.
2097
2098         * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
2099         That's just plain wrong.
2100
2101 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
2102
2103         Reviewed by Darin Adler.
2104
2105         HTML5 Slider does not work correctly with VoiceOver
2106         https://bugs.webkit.org/show_bug.cgi?id=50505
2107
2108         Address a few problems with the Mac implementation for the accessibility slider.
2109             1) The value indicator is not hit testable.
2110             2) The value indicator does not return an AXValue.
2111             3) In the slider, the min/max values are not correct when min/max attributes are not present.
2112             4) When you change the value with the keyboard, it doesn't send out the right notification.
2113             5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
2114  
2115         Test: platform/mac/accessibility/html-slider-indicator.html
2116
2117         * accessibility/AccessibilityObject.cpp:
2118         (WebCore::AccessibilityObject::getAttribute):
2119             Use fastGetAttribute on Element, instead of getAttribute.
2120         * accessibility/AccessibilityObject.h:
2121         (WebCore::AccessibilityObject::isInputSlider):
2122         * accessibility/AccessibilityRenderObject.cpp:
2123         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2124         * accessibility/AccessibilitySlider.cpp:
2125         (WebCore::AccessibilitySlider::doAccessibilityHitTest):
2126         (WebCore::AccessibilitySlider::maxValueForRange):
2127         (WebCore::AccessibilitySlider::minValueForRange):
2128         * accessibility/AccessibilitySlider.h:
2129         (WebCore::AccessibilitySlider::isInputSlider):
2130         * accessibility/mac/AccessibilityObjectWrapper.mm:
2131         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2132         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2133         * html/HTMLInputElement.cpp:
2134         (WebCore::HTMLInputElement::applyStep):
2135
2136 2010-12-06  David Hyatt  <hyatt@apple.com>
2137
2138         Reviewed by Simon Fraser.
2139
2140         Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
2141         O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
2142
2143         This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
2144         in the engine to cache all the information required to properly handle scrolling.
2145
2146         In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
2147         affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
2148         wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
2149         boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
2150         visual overflow rects.
2151
2152         In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
2153         is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
2154         been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
2155         work with writing modes.
2156
2157         In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
2158         Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
2159         A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
2160         a huge number of tests would change.
2161
2162         Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
2163
2164         * page/FrameView.cpp:
2165         (WebCore::FrameView::adjustViewSize):
2166         (WebCore::FrameView::forceLayoutForPagination):
2167         Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
2168         to account for writing modes.
2169
2170         * platform/graphics/IntRect.h:
2171         (WebCore::IntRect::shiftLeftEdgeTo):
2172         (WebCore::IntRect::shiftRightEdgeTo):
2173         (WebCore::IntRect::shiftTopEdgeTo):
2174         (WebCore::IntRect::shiftBottomEdgeTo):
2175         New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
2176
2177         * rendering/InlineBox.h:
2178         (WebCore::InlineBox::frameRect):
2179         frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
2180
2181         * rendering/InlineFlowBox.cpp:
2182         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2183         All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
2184         at once now in a single function: computeOverflow.
2185
2186         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2187         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2188         (WebCore::InlineFlowBox::addReplacedChildOverflow):
2189         Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
2190
2191         (WebCore::InlineFlowBox::computeOverflow):
2192         The new function that computes both horizontal and vertical overflow for a line box.
2193
2194         (WebCore::InlineFlowBox::setLayoutOverflow):
2195         (WebCore::InlineFlowBox::setVisualOverflow):
2196         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2197         New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
2198         and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
2199
2200         (WebCore::InlineFlowBox::nodeAtPoint):
2201         (WebCore::InlineFlowBox::paint):
2202         Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
2203         overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
2204
2205         * rendering/InlineFlowBox.h:
2206         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
2207         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
2208         Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
2209         converting to block coordinates at the end.
2210
2211         * rendering/RenderBlock.cpp:
2212         (WebCore::RenderBlock::layoutBlock):
2213         (WebCore::RenderBlock::addOverflowFromChildren):
2214         (WebCore::RenderBlock::computeOverflow):
2215         (WebCore::RenderBlock::addOverflowFromFloats):
2216         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
2217         Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
2218         method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
2219         propagate marker overflow up, and RenderTable adds in overflow from its sections.
2220
2221         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2222         (WebCore::RenderBlock::layoutPositionedObjects):
2223         When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
2224         callable method: computeOverflow, makes it possible for this to be done easily.
2225
2226         (WebCore::RenderBlock::paint):
2227         visible -> visual.
2228
2229         (WebCore::RenderBlock::addOverhangingFloats):
2230         The propagation of float overflow has changed substantially.  The basic rules are:
2231             (1) The float must be in our floating objects list to contribute to overflow.
2232             (2) The float must be a descendant to contribute to overflow.
2233             (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
2234                 so the float needs to be included in its overflow.
2235
2236         (WebCore::RenderBlock::nodeAtPoint):
2237         visible -> visual.
2238
2239         (WebCore::RenderBlock::layoutColumns):
2240         Remove column overflow computation from layoutColumns and move it to computeOverflow.
2241
2242         (WebCore::RenderBlock::adjustLinePositionForPagination):
2243         visible -> visual.
2244
2245         * rendering/RenderBlock.h:
2246         (WebCore::RenderBlock::scrollbarsChanged):
2247         Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
2248
2249         * rendering/RenderBlockLineLayout.cpp:
2250         (WebCore::RenderBlock::layoutInlineChildren):
2251         (WebCore::RenderBlock::determineStartPosition):
2252         (WebCore::RenderBlock::matchedEndLine):
2253         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2254         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
2255         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
2256         visible -> visual.
2257
2258         * rendering/RenderBox.cpp:
2259         (WebCore::RenderBox::scrollWidth):
2260         (WebCore::RenderBox::scrollHeight):
2261         Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
2262
2263         (WebCore::RenderBox::paintRootBoxDecorations):
2264         Use docLeft and docTop here, so that writing modes are handled.
2265
2266         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2267         visible -> visual.
2268
2269         (WebCore::RenderBox::addOverflowFromChild):
2270         (WebCore::RenderBox::addLayoutOverflow):
2271         (WebCore::RenderBox::addVisualOverflow):
2272         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
2273         (WebCore::RenderBox::visualOverflowRectForPropagation):
2274         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
2275         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2276         * rendering/RenderBox.h:
2277         The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
2278         for transforms, relative positioning and writing mode differences.
2279
2280         (WebCore::RenderBox::layoutOverflowRect):
2281         (WebCore::RenderBox::topLayoutOverflow):
2282         (WebCore::RenderBox::bottomLayoutOverflow):
2283         (WebCore::RenderBox::leftLayoutOverflow):
2284         (WebCore::RenderBox::rightLayoutOverflow):
2285         Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
2286
2287         (WebCore::RenderBox::clientLogicalBottom):
2288         New helper for obtaining the logical bottom of the client box.
2289
2290         (WebCore::RenderBox::clientBoxRect):
2291         New helper for obtaining the clientLeft/Top/Width/Height box.
2292
2293         * rendering/RenderBoxModelObject.h:
2294         (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
2295         Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
2296
2297         * rendering/RenderFlexibleBox.cpp:
2298         (WebCore::RenderFlexibleBox::layoutBlock):
2299         Changed flexible boxes to just call the base class computeOverflow method.
2300
2301         * rendering/RenderInline.cpp:
2302         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2303         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2304         visible -> visual.
2305
2306         * rendering/RenderInline.h:
2307         * rendering/RenderLayer.cpp:
2308         (WebCore::RenderLayer::updateLayerPosition):
2309         Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
2310         tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
2311         layers now.)
2312
2313         (WebCore::RenderLayer::overflowTop):
2314         (WebCore::RenderLayer::overflowBottom):
2315         (WebCore::RenderLayer::overflowLeft):
2316         (WebCore::RenderLayer::overflowRight):
2317         overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
2318         to set up the scroll area.
2319
2320         (WebCore::RenderLayer::computeScrollDimensions):
2321         Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
2322
2323         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2324         Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
2325         bottom works.
2326
2327         (WebCore::performOverlapTests):
2328         (WebCore::RenderLayer::paintLayer):
2329         Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
2330         of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
2331
2332         (WebCore::RenderLayer::hitTest):
2333         Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
2334         for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
2335         so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
2336
2337         (WebCore::RenderLayer::localBoundingBox):
2338         visible -> visual.
2339
2340         * rendering/RenderLayer.h:
2341         Added the new overflowTop/Left/Right/Bottom accessors.
2342
2343         * rendering/RenderLineBoxList.cpp:
2344         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2345         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2346         (WebCore::RenderLineBoxList::paint):
2347         (WebCore::RenderLineBoxList::hitTest):
2348         visible -> visual.
2349
2350         * rendering/RenderListItem.cpp:
2351         (WebCore::RenderListItem::addOverflowFromChildren):
2352         (WebCore::RenderListItem::positionListMarker):
2353         * rendering/RenderListItem.h:
2354         RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
2355
2356         * rendering/RenderListMarker.cpp:
2357         (WebCore::RenderListMarker::paint):
2358         visible -> visual.
2359
2360         * rendering/RenderMarquee.cpp:
2361         (WebCore::RenderMarquee::computePosition):
2362         Changed to use overflow functions instead of rightmost/lowestPosition.
2363
2364         * rendering/RenderMedia.cpp:
2365         * rendering/RenderMedia.h:
2366         Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
2367
2368         * rendering/RenderOverflow.h:
2369         (WebCore::RenderOverflow::RenderOverflow):
2370         (WebCore::RenderOverflow::setLayoutOverflow):
2371         (WebCore::RenderOverflow::setVisualOverflow):
2372         Add new setters for layout and visual overflow as rects.
2373
2374         * rendering/RenderReplaced.cpp:
2375         (WebCore::RenderReplaced::shouldPaint):
2376         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2377         visible -> visual.
2378
2379         * rendering/RenderRubyRun.cpp:
2380         (WebCore::RenderRubyRun::layout):
2381         Call computeOverflow to recompute our overflow information after we adjust the ruby.
2382
2383         * rendering/RenderTable.cpp:
2384         (WebCore::RenderTable::layout):
2385         (WebCore::RenderTable::addOverflowFromChildren):
2386         (WebCore::RenderTable::paint):
2387         * rendering/RenderTable.h:
2388         Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
2389
2390         * rendering/RenderTableCell.cpp:
2391         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2392         visible -> visual.
2393
2394         (WebCore::RenderTableCell::scrollbarsChanged):
2395         Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
2396         a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
2397         cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
2398         padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
2399
2400         * rendering/RenderTableCell.h:
2401         (WebCore::RenderTableCell::hasVisualOverflow):
2402         visible -> visual.
2403
2404         * rendering/RenderTableSection.cpp:
2405         (WebCore::RenderTableSection::layoutRows):
2406         * rendering/RenderTableSection.h:
2407         visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
2408
2409         * rendering/RenderTreeAsText.cpp:
2410         (WebCore::writeLayers):
2411         Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
2412         from failing.
2413
2414         * rendering/RenderView.cpp:
2415         (WebCore::RenderView::layout):
2416         (WebCore::RenderView::docTop):
2417         (WebCore::RenderView::docBottom):
2418         (WebCore::RenderView::docLeft):
2419         (WebCore::RenderView::docRight):
2420         * rendering/RenderView.h:
2421         (WebCore::RenderView::docHeight):
2422         (WebCore::RenderView::docWidth):
2423         RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
2424         are now the preferred way to query for the physical dimensions of a document.
2425
2426         * rendering/RootInlineBox.cpp:
2427         (WebCore::RootInlineBox::addHighlightOverflow):
2428         Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
2429
2430         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2431         Remove the computation of block direction overflow, since it now all happens at once after the line is built.
2432
2433         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2434         * rendering/RootInlineBox.h:
2435         Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
2436         in LTR if needed.
2437
2438 2010-12-06  Chris Marrin  <cmarrin@apple.com>
2439
2440         Reviewed by Simon Fraser.
2441
2442         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
2443         https://bugs.webkit.org/show_bug.cgi?id=49388
2444
2445         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
2446         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
2447         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
2448         platform neutral as long as implementations of those two classes are available. 
2449         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
2450         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
2451         to avoid confusion since both names were used to refer to the same thing. 
2452
2453         This patch is only for Mac. Windows implementation has not changed.
2454
2455         * WebCore.xcodeproj/project.pbxproj:
2456         * platform/graphics/GraphicsLayer.h:
2457         * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
2458         * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
2459         * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
2460         * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
2461         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
2462         (toCAMediaTimingFunction):
2463         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
2464         (PlatformCALayer::PlatformCALayer):
2465         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2466         * platform/graphics/chromium/GraphicsLayerChromium.h:
2467         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
2468         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
2469         * platform/graphics/mac/WebLayer.h:
2470         * platform/graphics/mac/WebLayer.mm:
2471         (-[WebLayer setNeedsDisplay]):
2472         (-[WebLayer setNeedsDisplayInRect:]):
2473         (-[WebLayer display]):
2474         (-[WebLayer drawInContext:]):
2475         * platform/graphics/mac/WebTiledLayer.h:
2476         * platform/graphics/mac/WebTiledLayer.mm:
2477         (-[WebTiledLayer setNeedsDisplay]):
2478         (-[WebTiledLayer setNeedsDisplayInRect:]):
2479         (-[WebTiledLayer display]):
2480         (-[WebTiledLayer drawInContext:]):
2481         * platform/graphics/qt/GraphicsLayerQt.cpp:
2482         (WebCore::GraphicsLayerQtImpl::flushChanges):
2483         * platform/graphics/qt/GraphicsLayerQt.h:
2484         * platform/graphics/win/GraphicsLayerCACF.cpp:
2485         * platform/graphics/win/GraphicsLayerCACF.h:
2486
2487 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
2488
2489         Reviewed by Dan Bernstein.
2490
2491         Font antialiasing (smoothing) changes when elements are rendered into compositing layers
2492         https://bugs.webkit.org/show_bug.cgi?id=23364
2493
2494         Text rendered by Core Graphics over a transparent background looks bad because of 
2495         font smoothing, so turn off smoothing when rendering text into compositing layers.
2496
2497         * platform/graphics/GraphicsContext.h:
2498         * platform/graphics/cg/GraphicsContextCG.cpp:
2499         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2500         * platform/graphics/mac/WebLayer.mm:
2501         (drawLayerContents):
2502
2503 2010-12-06  Patrick Gansterer  <paroga@webkit.org>
2504
2505         Reviewed by Andreas Kling.
2506
2507         [WINCE] Add build system
2508         https://bugs.webkit.org/show_bug.cgi?id=50522
2509
2510         * CMakeListsWinCE.txt: Added.
2511
2512 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
2513
2514         Reviewed by Oliver Hunt.
2515
2516         AX does not support HTML5 "required"
2517         https://bugs.webkit.org/show_bug.cgi?id=50507
2518
2519         Test: platform/mac/accessibility/html5-required-attribute.html
2520
2521         * accessibility/AccessibilityRenderObject.cpp:
2522         (WebCore::AccessibilityRenderObject::isRequired):
2523
2524 2010-12-06  Alejandro G. Castro  <alex@igalia.com>
2525
2526         Reviewed by Martin Robinson.
2527
2528         [GTK] using shadows leaks memory
2529         https://bugs.webkit.org/show_bug.cgi?id=50541
2530
2531         Fixed leaks in the shadow code.
2532         * platform/graphics/cairo/CairoUtilities.cpp:
2533         (WebCore::drawPatternToCairoContext): adoptRef instead of just
2534         getting a new reference.
2535         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2536         (WebCore::drawPathShadow): handle cairo_path_t with smart
2537         pointers.
2538
2539 2010-12-06  Yury Semikhatsky  <yurys@chromium.org>
2540
2541         Reviewed by Pavel Feldman.
2542
2543         [v8] Web Inspector: remove duplicate code for capturing stack trace
2544         https://bugs.webkit.org/show_bug.cgi?id=50461
2545
2546         No new tests. Covered with existing inspector tests.
2547
2548         * bindings/js/ScriptCallStackFactory.cpp:
2549         (WebCore::createScriptCallStack):
2550         * bindings/js/ScriptCallStackFactory.h:
2551         * bindings/v8/ScriptCallStackFactory.cpp:
2552         (WebCore::toScriptCallFrame):
2553         (WebCore::toScriptCallFramesVector):
2554         (WebCore::createScriptCallStack):
2555         * bindings/v8/ScriptCallStackFactory.h:
2556         * bindings/v8/V8ConsoleMessage.cpp:
2557         (WebCore::V8ConsoleMessage::handler):
2558         * inspector/ScriptCallFrame.cpp:
2559         (WebCore::ScriptCallFrame::ScriptCallFrame):
2560         (WebCore::ScriptCallFrame::isEqual):
2561         (WebCore::ScriptCallFrame::buildInspectorObject):
2562         * inspector/ScriptCallFrame.h:
2563         (WebCore::ScriptCallFrame::sourceURL):
2564         * inspector/ScriptCallStack.h:
2565         * inspector/TimelineRecordFactory.cpp:
2566         (WebCore::TimelineRecordFactory::createGenericRecord):
2567         * inspector/front-end/ConsoleView.js:
2568         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2569
2570 == Rolled over to ChangeLog-2010-12-06 ==