[wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-04  Robin Dunn  <robin@alldunn.com>
2
3         [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
4         https://bugs.webkit.org/show_bug.cgi?id=67577
5
6         Reviewed by Kevin Ollivier.
7
8         * platform/graphics/GlyphBuffer.h:
9         (WebCore::GlyphBuffer::glyphAt):
10         (WebCore::GlyphBuffer::add):
11         * platform/graphics/wx/GraphicsContextWx.cpp:
12         (WebCore::GraphicsContext::clipOut):
13         (WebCore::GraphicsContext::clipPath):
14         * platform/graphics/wx/PathWx.cpp:
15         (WebCore::Path::Path):
16         (WebCore::Path::clear):
17         * platform/graphics/wx/TransformationMatrixWx.cpp:
18         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
19         (WebCore::AffineTransform::operator wxGraphicsMatrix):
20         * platform/image-decoders/wx/ImageDecoderWx.cpp:
21         (WebCore::ImageFrame::asNewNativeImage):
22         * platform/wx/ContextMenuWx.cpp:
23         (ContextMenu::ContextMenu):
24         * platform/wx/LocalDC.h: Added.
25         (WebCore::LocalDC::LocalDC):
26         (WebCore::LocalDC::context):
27         (WebCore::LocalDC::~LocalDC):
28         * platform/wx/RenderThemeWx.cpp:
29         (WebCore::RenderThemeWx::paintButton):
30         (WebCore::RenderThemeWx::paintTextField):
31         (WebCore::RenderThemeWx::paintMenuList):
32         (WebCore::RenderThemeWx::paintMenuListButton):
33         * platform/wx/ScrollbarThemeWx.cpp:
34         (WebCore::ScrollbarThemeWx::paint):
35         * platform/wx/wxcode/cairo: Added.
36         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
37         (WebCore::pangoFontMap):
38         (WebCore::createPangoFontForFont):
39         (WebCore::createScaledFontForFont):
40         (WebCore::pango_font_get_glyph):
41         (WebCore::drawTextWithSpacing):
42         * platform/wx/wxcode/gdiplus: Added.
43         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
44         (dmin):
45         (dmax):
46         (DegToRad):
47         (RadToDeg):
48         (WebCore::drawTextWithSpacing):
49         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
50         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
51         * platform/wx/wxcode/win/scrollbar_render.cpp:
52         (GraphicsHDC::GraphicsHDC):
53         (GraphicsHDC::~GraphicsHDC):
54         (wxRenderer_DrawScrollbar):
55
56 2011-09-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
57
58         REGRESSION (r86268): Fix for qt_networkAccessAllowed()
59         https://bugs.webkit.org/show_bug.cgi?id=67570
60
61         Reviewed by Noam Rosenthal.
62
63         No new tests as this change only removes dead code.
64         Support for Qt 4.6 has  been removed a while back.
65
66         * WebCore.pri:
67         * WebCore.pro:
68         * features.pri:
69         * platform/network/NetworkStateNotifier.h:
70         * platform/network/qt/NetworkStateNotifierQt.cpp:
71
72 2011-09-03  Ryosuke Niwa  <rniwa@webkit.org>
73
74         REGRESSION(r94274): selection-change-closes-typing.html fails
75         https://bugs.webkit.org/show_bug.cgi?id=67377
76
77         Reviewed by Kent Tamura.
78
79         The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
80         change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
81         inserting text.
82
83         Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
84         function is only used to cancel composition but never to confirming composition and restoring selection.
85
86         Test: platform/mac/editing/input/selection-change-closes-typing-2.html
87
88         * editing/Editor.cpp:
89         (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
90         (WebCore::Editor::confirmComposition):
91
92 2011-09-03  Sam Weinig  <sam@webkit.org>
93
94         Add missing Event constructors to DOMWindow.idl
95         https://bugs.webkit.org/show_bug.cgi?id=67449
96
97         Reviewed by Anders Carlsson.
98
99         Covered by existing tests.
100
101         * page/DOMWindow.idl:
102
103 2011-08-27  Robert Hogan  <robert@webkit.org>
104
105         div align="center" rendering problem
106         https://bugs.webkit.org/show_bug.cgi?id=4860
107
108         Reviewed by David Hyatt.
109
110         When an inline element with absolute position was the sole or first child of a render block with
111         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
112         alignment if it was preceded by some text. The problem was that the element's render object
113         was getting skipped as leading white space, so it was not included in a normal line block in
114         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
115         which does not pay attention to alignment. Preceding the element with some text allowed the object
116         to get included in a Bidi run and so get a linebox which would get properly aligned.
117
118         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
119         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
120         Opera has the same bug as unpatched WebKit.
121
122         Tests: fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html
123                - Ensure positioned block elements inherit alignment.
124                fast/css/bug4860-absolute-inline-child-inherits-alignment.html
125                - Ensure positioned inline elements inherit alignment.
126                fast/inline/absolute-positioned-inline-in-centred-block.html
127                - Ensure positioned inline element that's the sole or first child of a rendered block
128                  obeys parents alignment.
129                fast/inline/absolute-positioned-block-in-centred-block.html
130                - As above, but a positioned block should not inherit alignment.
131
132         * rendering/RenderBlock.h:
133         * rendering/RenderBlockLineLayout.cpp:
134         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
135         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
136         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
137         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
138
139 2011-09-03  Andreas Kling  <kling@webkit.org>
140
141         Remove two unused functions from Element.
142         https://bugs.webkit.org/show_bug.cgi?id=67492
143
144         Reviewed by Benjamin Poulain.
145
146         Removed openTagStartToString() and setCStringAttribute() as they are
147         not called from anywhere.
148
149         * dom/Element.cpp:
150         * dom/Element.h:
151
152 2011-09-03  Andrew Wason  <rectalogic@rectalogic.com>
153
154         [Qt] Enable support for WebGL OES_standard_derivatives for Qt
155         https://bugs.webkit.org/show_bug.cgi?id=67430
156
157         Reviewed by Noam Rosenthal.
158
159         Tested using https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/oes-standard-derivatives.html
160
161         Enable existing support for OES_standard_derivatives for Qt.
162
163         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
164         (WebCore::Extensions3DOpenGL::ensureEnabled):
165         (WebCore::Extensions3DOpenGL::isEnabled):
166
167 2011-09-03  Yuta Kitamura  <yutak@chromium.org>
168
169         WebSocket: Send ArrayBuffer as WebSocket binary message
170         https://bugs.webkit.org/show_bug.cgi?id=67477
171
172         Reviewed by Kent Tamura.
173
174         Tests: http/tests/websocket/tests/hybi/send-arraybuffer.html
175                http/tests/websocket/tests/hybi/workers/send-arraybuffer.html
176                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
177
178         * bindings/js/JSWebSocketCustom.cpp:
179         (WebCore::JSWebSocket::send):
180         * bindings/v8/custom/V8WebSocketCustom.cpp:
181         (WebCore::V8WebSocket::sendCallback):
182         * websockets/ThreadableWebSocketChannel.h:
183         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
184         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
185         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
186         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
187         * websockets/ThreadableWebSocketChannelClientWrapper.h:
188         Rename "sent" to "sendRequestResult" to clarify the meaning. Messages from the script may not
189         be sent immediately, thus the return value of WebSocketChannel::send() indicates whether the
190         message has been queued successfully, rather than whether the message has been sent or not.
191         * websockets/WebSocket.cpp:
192         (WebCore::WebSocket::send):
193         Case of sending "[object ArrayBuffer]" is covered by an existing test
194         http/tests/websocket/tests/{hybi,hixie76}/send-object.html.
195         * websockets/WebSocket.h:
196         * websockets/WebSocket.idl:
197         * websockets/WebSocketChannel.cpp:
198         (WebCore::WebSocketChannel::send):
199         * websockets/WebSocketChannel.h:
200         * websockets/WorkerThreadableWebSocketChannel.cpp:
201         (WebCore::WorkerThreadableWebSocketChannel::send):
202         (WebCore::workerContextDidSend):
203         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
204         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
205         Construct an ArrayBuffer from the data on Vector<char>.
206         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
207         Copy the content into temporary buffer of Vector<char>, and send it to the main thread.
208         * websockets/WorkerThreadableWebSocketChannel.h:
209
210 2011-09-02  Kentaro Hara  <haraken@google.com>
211
212         Implement a CustomEvent constructor for V8
213         https://bugs.webkit.org/show_bug.cgi?id=67527
214
215         Reviewed by Sam Weinig.
216
217         Test: fast/events/constructors/custom-event-constructor.html
218
219         * bindings/v8/OptionsObject.h:
220         (WebCore::OptionsObject::getKeyValue): Returns ScriptValue corresponding to a given key.
221         * bindings/v8/custom/V8EventConstructors.cpp: Added the CustomEvent constructor.
222         * dom/CustomEvent.idl: Added a 'V8CustomConstructor' attribute.
223
224 2011-09-02  Adrienne Walker  <enne@google.com>
225
226         [chromium] Move updateLayers from LayerRendererChromium to CCLayerTreeHost
227         https://bugs.webkit.org/show_bug.cgi?id=67438
228
229         Reviewed by James Robinson.
230
231         Covered by existing tests.
232
233         Move functionality used by both CCLayerTreeHost and
234         LayerRendererChromium into CCLayerTreeHostCommon. Move update, paint,
235         and updateCompositorResource functions into CClayerTreeHost.
236
237         * WebCore.gypi:
238         * platform/graphics/chromium/LayerChromium.cpp:
239         (WebCore::sortLayers):
240         * platform/graphics/chromium/LayerChromium.h:
241         * platform/graphics/chromium/LayerRendererChromium.cpp:
242         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
243         (WebCore::LayerRendererChromium::drawLayers):
244         (WebCore::LayerRendererChromium::drawLayersInternal):
245         * platform/graphics/chromium/LayerRendererChromium.h:
246         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
247         (WebCore::sortLayers):
248         * platform/graphics/chromium/cc/CCLayerImpl.h:
249         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
250         (WebCore::CCLayerTreeHost::commitTo):
251         (WebCore::CCLayerTreeHost::updateLayers):
252         (WebCore::paintContentsIfDirty):
253         (WebCore::CCLayerTreeHost::paintLayerContents):
254         (WebCore::CCLayerTreeHost::updateCompositorResources):
255         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
256         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Added.
257         (WebCore::CCLayerTreeHostCommon::isScaleOrTranslation):
258         (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
259         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
260         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Added.
261         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
262         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
263         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
264         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
265         (WebCore::CCSingleThreadProxy::commitIfNeeded):
266
267 2011-09-02  Chris Marrin  <cmarrin@apple.com>
268
269         https://bugs.webkit.org/show_bug.cgi?id=67510
270         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
271
272         Reviewed by Simon Fraser.
273         
274         Do a null check in two places to avoid sending nulls to CACF ValueFunction API.
275
276         Test: animations/pause-crash.html
277
278         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
279         (PlatformCAAnimation::valueFunction):
280         (PlatformCAAnimation::setValueFunction):
281
282 2011-09-02  Bill Budge  <bbudge@chromium.org>
283
284         Add a 'didDownloadData' method to ResourceLoader, SubresourceLoader,
285         SubresourceLoaderClient, DocumentThreadableLoader, ResourceHandleClient,
286         and ThreadableLoaderClient for the Chromium port only, so we can pass
287         these notifications from our ResourceHandle implementation through the
288         WebCore loader framework.
289         https://bugs.webkit.org/show_bug.cgi?id=67229
290
291         Reviewed by Darin Fisher.
292
293         No new tests. Exposes no new functionality.
294
295         * WebCore.gypi:
296         * loader/DocumentThreadableLoader.h:
297         * loader/ResourceLoader.h:
298         * loader/SubresourceLoader.h:
299         * loader/SubresourceLoaderClient.h:
300         (WebCore::SubresourceLoaderClient::didDownloadData):
301         * loader/ThreadableLoaderClient.h:
302         (WebCore::ThreadableLoaderClient::didDownloadData):
303         * loader/ThreadableLoaderClientWrapper.h:
304         (WebCore::ThreadableLoaderClientWrapper::didDownloadData):
305         * loader/chromium: Added.
306         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Added.
307         (WebCore::DocumentThreadableLoader::didDownloadData):
308         * loader/chromium/ResourceLoaderChromium.cpp: Added.
309         (WebCore::ResourceLoader::didDownloadData):
310         * loader/chromium/SubresourceLoaderChromium.cpp: Added.
311         (WebCore::SubresourceLoader::didDownloadData):
312         * platform/network/ResourceHandleClient.h:
313         (WebCore::ResourceHandleClient::didDownloadData):
314
315 2011-09-02  Jeff Miller  <jeffm@apple.com>
316
317         Assert that PlatformCALayerWinInternal::displayCallback() is only called on the main thread
318         https://bugs.webkit.org/show_bug.cgi?id=67541
319
320         Reviewed by Simon Fraser.
321
322         No new tests, covered by existing media tests.
323
324         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
325         (PlatformCALayerWinInternal::displayCallback): Assert that is function is only called on the main thread.
326
327 2011-09-02  Julien Chaffraix  <jchaffraix@webkit.org>
328
329         Enable RenderLayer::updateLayerPosition's cachedOffset optimization for more cases
330         https://bugs.webkit.org/show_bug.cgi?id=66901
331
332         Reviewed by Simon Fraser.
333
334         Test: fast/layers/assert-RenderLayer-update-positions.html
335               Also covered by existing tests under the new ASSERT.
336
337         This change extends the range of callers making use of the cachedOffset optimization.
338
339         Most callers did not make use of cachedOffset as it did not work when called on a subtree.
340         This limitation is now gone thus we can enable it more widely.
341
342         The semantics of the optimization are changed a bit as we now return if it is enabled whereas
343         the old code would check if it was *disabled*. Also there were some renames done to match more
344         closely what was going on (s/cachedOffset/offsetFromRoot/ and s/cachedOffsetDisabled/hasLayerOffset/).
345
346         Note that this is an optimistic optimization: if cachedOffset is not used, then we have
347         done at least an extra traversal up to the root. I have found it to be a wash on file
348         cycler (alexa) but to be a nice improvement (~20%) on some table benchmarks (modifying
349         a cell, scrolling).
350
351         * page/FrameView.cpp:
352         (WebCore::FrameView::layout): Extended the use of cachedOffset to subtree layouts.
353         * rendering/RenderBoxModelObject.cpp:
354         (WebCore::RenderBoxModelObject::styleDidChange): Forbid the use cachedOffset in this
355         case as we have only a single layer to update.
356
357         * rendering/RenderLayer.cpp:
358         (WebCore::RenderLayer::computeOffsetFromRoot): Added this function to get the offset from the root
359         layer at a certain point in the RenderLayer's tree. It gets the root layer's checking if no layer
360         in between would prevent convertToLayerCoords to work and return the position relative to
361         this layer.
362
363         (WebCore::RenderLayer::updateLayerPositions): Added a new ASSERT to make sure our cachedOffset
364         is always fine. Also added a comment about calling convertToLayerCoords.
365
366         (WebCore::RenderLayer::removeOnlyThisLayer): Added cachedOffset here too as we may have to
367         update several layers. We save the offset prior to being removed from the hierarchy for
368         correctness.
369
370         (WebCore::RenderLayer::paintChildLayerIntoColumns): Added a comment here about calling convertToLayerCoords.
371
372         * rendering/RenderLayer.h: Swapped the argument in updateLayerPositions to make
373         cachedOffset a mandatory field. Patched all the callers.
374
375         (WebCore::RenderLayer::canUseConvertToLayerCoords): Added this helper method to know when a
376         renderer prevents convertToLayerCoords from working. Added some FIXME around suspicious use
377         of convertToLayerCoords.
378
379 2011-08-30  Matthew Delaney  <mdelaney@apple.com>
380
381         Read out of bounds in sUnpremultiplyData_RGBA8888 / ImageBufferData::getData
382         https://bugs.webkit.org/show_bug.cgi?id=65352
383
384         Reviewed by Simon Fraser.
385
386         New test: fast/canvas/canvas-getImageData-large-crash.html
387
388         This patch prevents overflows from happening in getImageData, createImageData, and canvas creation
389         calls that specify widths and heights that end up overflowing the ints that we store those values in
390         as well as derived values such as area and maxX / maxY of the bounding rects involved. Overflow of integer
391         arithmetic is detected via the use of the new Checked type that was introduced in r94207.
392
393         * html/HTMLCanvasElement.cpp:
394         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed dependency on ints, using FloatRects/Sizes instead.
395         (WebCore::HTMLCanvasElement::createImageBuffer): Moved the check for max canvas area and dimensions here.
396           Added in check that prevents us from having canvases of sizes that will cause overflows.
397         (WebCore::HTMLCanvasElement::baseTransform): Updated use of convertLogicalToDevice.
398         * html/HTMLCanvasElement.h: Updated method signatures.
399         * html/canvas/CanvasRenderingContext2D.cpp:
400         (WebCore::createEmptyImageData): Added in check to prevent creating ImageData objects that will cause overflow when computing their size.
401         (WebCore::CanvasRenderingContext2D::createImageData): Avoid creating ImageData objects of size that will overflow later.
402         (WebCore::CanvasRenderingContext2D::getImageData): Added in check to prevent trying to get ImageData objects that will cause overflow when computing their size.
403         * platform/graphics/FloatRect.cpp:
404         (WebCore::FloatRect::isExpressibleAsIntRect): New method that tests whether a FloatRect can become an IntRect without overflow or having to be clamped.
405         * platform/graphics/FloatRect.h:
406         * platform/graphics/FloatSize.cpp:
407         (WebCore::FloatSize::isExpressibleAsIntSize): Same as FloatRect, but for FloatSize->IntSize.
408         * platform/graphics/FloatSize.h:
409         * platform/graphics/cg/ImageBufferCG.cpp: Added check for overflow.
410         (WebCore::ImageBuffer::ImageBuffer):
411
412 2011-09-02  Dan Bernstein  <mitz@apple.com>
413
414         <rdar://problem/9755843> anonymous RenderMathMLOperator sets itself as the renderer of its parent mfenced node
415
416         Reviewed by Darin Adler.
417
418         Test: mathml/operator-hijacks-fenced-node.xhtml
419
420         * rendering/mathml/RenderMathMLOperator.cpp:
421         (WebCore::RenderMathMLOperator::updateFromElement): Rather than unconditionally setting the
422         node’s renderer to this, just restore it to whatever it was before calling destroyLeftoverChildren().
423
424 2011-09-02  Mark Hahnenberg  <mhahnenberg@apple.com>
425
426         Incorporate newer, faster dtoa library
427         https://bugs.webkit.org/show_bug.cgi?id=66346
428
429         Reviewed by Oliver Hunt.
430
431         No new tests.
432
433         Added new dtoa library at http://code.google.com/p/double-conversion/.
434         Replaced old call to dtoa.  The new library is much faster than the old one.
435         We still use the old dtoa for some stuff in WebCore as well as the old strtod, 
436         but we can phase these out eventually as well.
437
438         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Added.
439         * WebCore.vcproj/copyForwardingHeaders.cmd:
440         * css/CSSPrimitiveValue.cpp:
441         (WebCore::formatNumber):
442         * html/parser/HTMLParserIdioms.cpp:
443         (WebCore::serializeForNumberType):
444         * inspector/InspectorValues.cpp:
445         (WebCore::InspectorBasicValue::writeJSON):
446         * platform/graphics/Color.cpp:
447         (WebCore::Color::serialized):
448
449 2011-09-02  Nat Duca  <nduca@chromium.org>
450
451         [chromium] Check for null context when reinitializing compositor
452         https://bugs.webkit.org/show_bug.cgi?id=67507
453
454         Reviewed by James Robinson.
455
456         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
457         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
458
459 2011-09-02  Sam Weinig  <sam@webkit.org>
460
461         Remove BeforeProcessEvent, it was never meant to be
462         https://bugs.webkit.org/show_bug.cgi?id=67493
463
464         Reviewed by Anders Carlsson.
465
466         BeforeProcessEvent was added, never hooked up, and never removed.
467         Now it is being removed.
468
469         * CodeGenerators.pri:
470         * DerivedSources.make:
471         * GNUmakefile.list.am:
472         * WebCore.gypi:
473         * WebCore.pro:
474         * WebCore.vcproj/WebCore.vcproj:
475         * WebCore.xcodeproj/project.pbxproj:
476         * dom/BeforeProcessEvent.cpp: Removed.
477         * dom/BeforeProcessEvent.h: Removed.
478         * dom/BeforeProcessEvent.idl: Removed.
479         * dom/DOMAllInOne.cpp:
480         * dom/Document.cpp:
481         (WebCore::Document::addListenerTypeIfNeeded):
482         * dom/Document.h:
483         * dom/EventNames.h:
484         * html/HTMLAttributeNames.in:
485         * html/HTMLScriptElement.cpp:
486         (WebCore::HTMLScriptElement::parseMappedAttribute):
487         * html/HTMLStyleElement.cpp:
488         (WebCore::HTMLStyleElement::parseMappedAttribute):
489
490 2011-09-02  Adrienne Walker  <enne@google.com>
491
492         [chromium] Remove LayerRendererChromium references from the LayerChromium tree
493         https://bugs.webkit.org/show_bug.cgi?id=66430
494
495         Reviewed by James Robinson.
496
497         Covered by existing tests.
498
499         Replace references to LayerRendererChromium in the LayerChromium tree
500         with references to LayerTreeHost. The LayerRendererChromium property
501         is no longer synced and instead is set recursively on the CCLayerImpl
502         tree during commit.
503
504         WebGLLayerChromium's paintRenderedResultsToCanvas function is
505         temporarily turned off for threaded compositing because it needs
506         access to the compositor context.
507
508         Previously, changing the layer renderer on a layer called cleanup
509         resources on that layer.  Now, call that explicitly clean up all
510         resources explicitly from the proxy when the layer renderer gets
511         created. This cleans up all of the ManagedTexture objects which may be
512         hanging onto stale GraphicsContext3D pointers.
513
514         * platform/graphics/chromium/LayerChromium.cpp:
515         (WebCore::LayerChromium::cleanupResourcesRecursive):
516         (WebCore::LayerChromium::setLayerTreeHost):
517         (WebCore::LayerChromium::pushPropertiesTo):
518         * platform/graphics/chromium/LayerChromium.h:
519         (WebCore::LayerChromium::layerTreeHost):
520         * platform/graphics/chromium/LayerRendererChromium.cpp:
521         (WebCore::LayerRendererChromium::drawLayers):
522         (WebCore::LayerRendererChromium::paintLayerContents):
523         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
524         * platform/graphics/chromium/RenderSurfaceChromium.h:
525         * platform/graphics/chromium/TiledLayerChromium.cpp:
526         (WebCore::TiledLayerChromium::TiledLayerChromium):
527         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
528         (WebCore::TiledLayerChromium::setLayerTreeHost):
529         (WebCore::TiledLayerChromium::textureManager):
530         * platform/graphics/chromium/TiledLayerChromium.h:
531         * platform/graphics/chromium/VideoLayerChromium.cpp:
532         (WebCore::VideoLayerChromium::VideoLayerChromium):
533         (WebCore::VideoLayerChromium::cleanupResources):
534         (WebCore::VideoLayerChromium::setLayerTreeHost):
535         (WebCore::VideoLayerChromium::reserveTextures):
536         * platform/graphics/chromium/VideoLayerChromium.h:
537         * platform/graphics/chromium/WebGLLayerChromium.cpp:
538         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
539         (WebCore::WebGLLayerChromium::setTextureUpdated):
540         (WebCore::WebGLLayerChromium::layerRendererContext):
541         * platform/graphics/chromium/WebGLLayerChromium.h:
542         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
543         (WebCore::CCLayerImpl::setLayerRendererRecursive):
544         * platform/graphics/chromium/cc/CCLayerImpl.h:
545         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
546         (WebCore::CCLayerTreeHost::commitTo):
547         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
548         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
549         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
550
551 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
552
553         Build fix.
554
555         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
556         Can't use BUILDING_ON_SNOW_LEOPARD without defined() when not on Snow Leopard.
557
558 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
559
560         Unreviewed, rolling out r94421.
561         http://trac.webkit.org/changeset/94421
562         https://bugs.webkit.org/show_bug.cgi?id=67496
563
564         Broke a number of tests on Chromium builders (including the
565         "cr-linux" EWS bot) (Requested by apavlov on #webkit).
566
567         * accessibility/AXObjectCache.cpp:
568         (WebCore::nodeHasRole):
569         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
570         (webkit_accessible_get_name):
571         * dom/Document.cpp:
572         (WebCore::Document::buildAccessKeyMap):
573         (WebCore::Document::recalcStyleSelector):
574         * dom/Element.cpp:
575         (WebCore::Element::baseURI):
576         (WebCore::Element::formatForDebugger):
577         (WebCore::Element::spellcheckAttributeState):
578         * dom/NameNodeList.cpp:
579         (WebCore::NameNodeList::nodeMatches):
580         * editing/ApplyStyleCommand.cpp:
581         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
582         * editing/SplitElementCommand.cpp:
583         (WebCore::SplitElementCommand::doUnapply):
584         * editing/markup.cpp:
585         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
586         (WebCore::createMarkup):
587         * html/HTMLAnchorElement.cpp:
588         (WebCore::HTMLAnchorElement::draggable):
589         (WebCore::HTMLAnchorElement::href):
590         (WebCore::HTMLAnchorElement::name):
591         (WebCore::HTMLAnchorElement::target):
592         (WebCore::HTMLAnchorElement::sendPings):
593         (WebCore::HTMLAnchorElement::handleClick):
594         * html/HTMLAppletElement.cpp:
595         (WebCore::HTMLAppletElement::createRenderer):
596         * html/HTMLAreaElement.cpp:
597         (WebCore::HTMLAreaElement::target):
598         * html/HTMLBodyElement.cpp:
599         (WebCore::HTMLBodyElement::aLink):
600         (WebCore::HTMLBodyElement::bgColor):
601         (WebCore::HTMLBodyElement::link):
602         (WebCore::HTMLBodyElement::text):
603         (WebCore::HTMLBodyElement::vLink):
604         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
605         * html/HTMLButtonElement.cpp:
606         (WebCore::HTMLButtonElement::value):
607         * html/HTMLCanvasElement.cpp:
608         (WebCore::HTMLCanvasElement::reset):
609         * html/HTMLCollection.cpp:
610         (WebCore::HTMLCollection::checkForNameMatch):
611         (WebCore::HTMLCollection::updateNameCache):
612         * html/HTMLDocument.cpp:
613         (WebCore::HTMLDocument::dir):
614         * html/HTMLElement.cpp:
615         (WebCore::HTMLElement::parseMappedAttribute):
616         (WebCore::HTMLElement::draggable):
617         (WebCore::HTMLElement::title):
618         (WebCore::setHasDirAutoFlagRecursively):
619         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
620         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
621         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
622         * html/HTMLEmbedElement.cpp:
623         (WebCore::HTMLEmbedElement::updateWidget):
624         (WebCore::HTMLEmbedElement::insertedIntoDocument):
625         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
626         * html/HTMLFormCollection.cpp:
627         (WebCore::HTMLFormCollection::getNamedFormItem):
628         (WebCore::HTMLFormCollection::updateNameCache):
629         * html/HTMLFormControlElement.cpp:
630         (WebCore::HTMLFormControlElement::autofocus):
631         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
632         * html/HTMLFormElement.cpp:
633         (WebCore::HTMLFormElement::name):
634         (WebCore::HTMLFormElement::action):
635         (WebCore::HTMLFormElement::method):
636         (WebCore::HTMLFormElement::target):
637         * html/HTMLFrameElement.cpp:
638         (WebCore::HTMLFrameElement::noResize):
639         * html/HTMLFrameElementBase.cpp:
640         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
641         (WebCore::HTMLFrameElementBase::location):
642         (WebCore::HTMLFrameElementBase::allowFullScreen):
643         * html/HTMLHtmlElement.cpp:
644         (WebCore::HTMLHtmlElement::insertedByParser):
645         * html/HTMLImageElement.cpp:
646         (WebCore::HTMLImageElement::altText):
647         (WebCore::HTMLImageElement::width):
648         (WebCore::HTMLImageElement::height):
649         (WebCore::HTMLImageElement::alt):
650         (WebCore::HTMLImageElement::draggable):
651         (WebCore::HTMLImageElement::src):
652         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
653         * html/HTMLInputElement.cpp:
654         (WebCore::HTMLInputElement::finishParsingChildren):
655         (WebCore::HTMLInputElement::altText):
656         (WebCore::HTMLInputElement::reset):
657         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
658         (WebCore::HTMLInputElement::isSpeechEnabled):
659         * html/HTMLLabelElement.cpp:
660         (WebCore::HTMLLabelElement::control):
661         * html/HTMLLinkElement.cpp:
662         (WebCore::HTMLLinkElement::process):
663         (WebCore::HTMLLinkElement::href):
664         (WebCore::HTMLLinkElement::rel):
665         (WebCore::HTMLLinkElement::target):
666         (WebCore::HTMLLinkElement::type):
667         * html/HTMLMapElement.cpp:
668         (WebCore::HTMLMapElement::imageElement):
669         * html/HTMLMediaElement.cpp:
670         (WebCore::HTMLMediaElement::attributeChanged):
671         (WebCore::HTMLMediaElement::insertedIntoDocument):
672         * html/HTMLMetaElement.cpp:
673         (WebCore::HTMLMetaElement::content):
674         (WebCore::HTMLMetaElement::httpEquiv):
675         (WebCore::HTMLMetaElement::name):
676         * html/HTMLMeterElement.cpp:
677         (WebCore::HTMLMeterElement::min):
678         (WebCore::HTMLMeterElement::max):
679         (WebCore::HTMLMeterElement::value):
680         (WebCore::HTMLMeterElement::low):
681         (WebCore::HTMLMeterElement::high):
682         (WebCore::HTMLMeterElement::optimum):
683         * html/HTMLNameCollection.cpp:
684         (WebCore::HTMLNameCollection::itemAfter):
685         * html/HTMLObjectElement.cpp:
686         (WebCore::HTMLObjectElement::updateWidget):
687         (WebCore::HTMLObjectElement::containsJavaApplet):
688         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
689         * html/HTMLOptGroupElement.cpp:
690         (WebCore::HTMLOptGroupElement::groupLabelText):
691         * html/HTMLProgressElement.cpp:
692         (WebCore::HTMLProgressElement::max):
693         * html/HTMLScriptElement.cpp:
694         (WebCore::HTMLScriptElement::sourceAttributeValue):
695         (WebCore::HTMLScriptElement::charsetAttributeValue):
696         (WebCore::HTMLScriptElement::typeAttributeValue):
697         (WebCore::HTMLScriptElement::languageAttributeValue):
698         (WebCore::HTMLScriptElement::forAttributeValue):
699         (WebCore::HTMLScriptElement::eventAttributeValue):
700         * html/HTMLSourceElement.cpp:
701         (WebCore::HTMLSourceElement::media):
702         (WebCore::HTMLSourceElement::type):
703         * html/HTMLStyleElement.cpp:
704         (WebCore::HTMLStyleElement::media):
705         (WebCore::HTMLStyleElement::type):
706         * html/HTMLTableCellElement.cpp:
707         (WebCore::HTMLTableCellElement::abbr):
708         (WebCore::HTMLTableCellElement::axis):
709         (WebCore::HTMLTableCellElement::headers):
710         (WebCore::HTMLTableCellElement::scope):
711         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
712         * html/HTMLTableColElement.cpp:
713         (WebCore::HTMLTableColElement::width):
714         * html/HTMLTableElement.cpp:
715         (WebCore::HTMLTableElement::rules):
716         (WebCore::HTMLTableElement::summary):
717         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
718         * html/HTMLTableSectionElement.cpp:
719         (WebCore::HTMLTableSectionElement::align):
720         (WebCore::HTMLTableSectionElement::ch):
721         (WebCore::HTMLTableSectionElement::chOff):
722         (WebCore::HTMLTableSectionElement::vAlign):
723         * html/HTMLTextAreaElement.cpp:
724         (WebCore::HTMLTextAreaElement::maxLength):
725         * html/HTMLTextFormControlElement.cpp:
726         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
727         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
728         * html/HTMLTrackElement.cpp:
729         (WebCore::HTMLTrackElement::src):
730         (WebCore::HTMLTrackElement::kind):
731         (WebCore::HTMLTrackElement::srclang):
732         (WebCore::HTMLTrackElement::label):
733         (WebCore::HTMLTrackElement::isDefault):
734         (WebCore::HTMLTrackElement::load):
735         * html/HTMLVideoElement.cpp:
736         (WebCore::HTMLVideoElement::width):
737         (WebCore::HTMLVideoElement::height):
738         * html/StepRange.cpp:
739         (WebCore::StepRange::StepRange):
740         * html/shadow/TextControlInnerElements.cpp:
741         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
742         * inspector/InspectorPageAgent.cpp:
743         (WebCore::InspectorPageAgent::buildObjectForFrame):
744         * loader/FormSubmission.cpp:
745         (WebCore::FormSubmission::create):
746         * loader/ImageLoader.cpp:
747         (WebCore::ImageLoader::updateFromElement):
748         * page/Frame.cpp:
749         (WebCore::Frame::matchLabelsAgainstElement):
750         * page/PageSerializer.cpp:
751         (WebCore::PageSerializer::serializeFrame):
752         * page/mac/FrameMac.mm:
753         (WebCore::Frame::matchLabelsAgainstElement):
754         * platform/chromium/ClipboardChromium.cpp:
755         (WebCore::writeImageToDataObject):
756         * platform/chromium/PasteboardChromium.cpp:
757         (WebCore::Pasteboard::writeImage):
758         * platform/gtk/PasteboardGtk.cpp:
759         (WebCore::getURLForImageNode):
760         * platform/mac/HTMLConverter.mm:
761         (fileWrapperForElement):
762         * platform/win/ClipboardWin.cpp:
763         (WebCore::writeImageToDataObject):
764         (WebCore::ClipboardWin::declareAndWriteDragImage):
765         * rendering/HitTestResult.cpp:
766         (WebCore::HitTestResult::altDisplayString):
767         (WebCore::HitTestResult::absoluteImageURL):
768         (WebCore::HitTestResult::absoluteLinkURL):
769         * rendering/RenderDetails.cpp:
770         (WebCore::RenderDetails::isOpen):
771         * rendering/RenderMenuList.cpp:
772         (WebCore::RenderMenuList::itemAccessibilityText):
773         * rendering/RenderObject.cpp:
774         (WebCore::RenderObject::addPDFURLRect):
775         * rendering/RenderTableCell.cpp:
776         (WebCore::RenderTableCell::computePreferredLogicalWidths):
777         * rendering/RenderTextControlSingleLine.cpp:
778         (WebCore::RenderTextControlSingleLine::autosaveName):
779         * rendering/RenderVideo.cpp:
780         (WebCore::RenderVideo::calculateIntrinsicSize):
781         * rendering/mathml/RenderMathMLFenced.cpp:
782         (WebCore::RenderMathMLFenced::updateFromElement):
783         * rendering/mathml/RenderMathMLFraction.cpp:
784         (WebCore::RenderMathMLFraction::updateFromElement):
785         * rendering/mathml/RenderMathMLOperator.cpp:
786         (WebCore::RenderMathMLOperator::updateFromElement):
787         * svg/SVGFontData.cpp:
788         (WebCore::SVGFontData::applySVGGlyphSelection):
789
790 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
791
792         REGRESSION (r94093): Private browsing doesn't start with a clean state on Snow Leopard
793         https://bugs.webkit.org/show_bug.cgi?id=67356
794
795         Reviewed by Darin Adler.
796
797         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
798         Don't enable old-style private browsing when using sessions - it would take precedence over
799         session cookie storage on Snow Leopard.
800
801 2011-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
802
803         BORDER attribute percent with the input image tag not working.
804         https://bugs.webkit.org/show_bug.cgi?id=66467
805
806         Reviewed by Simon Fraser.
807
808         This patch fixes 2 issues regarding the border attribute of an input image element.
809         1. The border attribute, if specified, is now taken into account and the border of the input image element is displayed.
810         2. If the border attribute contains percent, the border is displayed.
811         The value of the border attribute for input image element is now parsed according to the rules for parsing non-negative integers.
812         This implies that when percent is specified in the border attribute, parsing takes place and the percent is ignored.
813         If after parsing, the value of the border is greater than zero, the border of the input image element is displayed.
814
815         * html/HTMLElement.cpp:
816         (WebCore::parseBorderWidthAttribute):
817         (WebCore::HTMLElement::applyBorderAttribute):
818         * html/HTMLElement.h:
819         * html/HTMLImageElement.cpp:
820         (WebCore::HTMLImageElement::parseMappedAttribute):
821         * html/HTMLInputElement.cpp:
822         (WebCore::HTMLInputElement::parseMappedAttribute):
823         * html/HTMLObjectElement.cpp:
824         (WebCore::HTMLObjectElement::parseMappedAttribute):
825
826 2011-09-02  Kentaro Hara  <haraken@google.com>
827
828         Implement the Event constructor for V8.
829         https://bugs.webkit.org/show_bug.cgi?id=66756
830
831         Reviewed by Adam Barth.
832
833         The spec of the Event constructor is here:
834         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor
835         This patch implements the Event constructor for V8 in V8EventConstructors.cpp,
836         similar to the implementation for JSC in JSEventConstructors.cpp.
837
838         * WebCore.gypi: Added V8EventConstructors.cpp.
839         * WebCore.pro: Ditto.
840         * bindings/scripts/CodeGeneratorV8.pm:
841         * bindings/v8/OptionsObject.cpp:
842         (WebCore::OptionsObject::getKeyDouble): Returns a value of type double corresponding to a given key.
843         * bindings/v8/OptionsObject.h:
844         (WebCore::OptionsObject::getKeyValue): Returns a value corresponding to a given key.
845         * bindings/v8/custom/V8EventConstructors.cpp: Added.
846         (WebCore::constructV8Event): AllowAllocation::current() means that a DOM object created by WebCore is going to be just wrapped into a V8 object. In this case, we skip the code of constructorCallback().
847         * dom/Event.idl: Added |V8CustomConstructor|.
848
849 2011-09-02  Anton Muhin  <antonm@chromium.org>
850
851         [v8] Use size_t instead of unsigned when iterating over Vector in V8DOMStringMap
852         https://bugs.webkit.org/show_bug.cgi?id=67484
853
854         Reviewed by Yury Semikhatsky.
855
856         No new tests, minor cleanup.
857
858         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
859         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
860
861 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
862
863         Unreviewed, rolling out r94404.
864         http://trac.webkit.org/changeset/94404
865         https://bugs.webkit.org/show_bug.cgi?id=67490
866
867         "Patch is wrong, new API needs two reviewers, we are already
868         working on how to add notifications elsewhere" (Requested by
869         xan_ on #webkit).
870
871         * bindings/gobject/GNUmakefile.am:
872
873 2011-09-02  Andreas Kling  <kling@webkit.org>
874
875         Use fastGetAttribute() and fastHasAttribute() where appropriate.
876         https://bugs.webkit.org/show_bug.cgi?id=67394
877
878         Reviewed by Darin Adler.
879
880         Change call sites that don't check the "style" or SVG animatable
881         attributes to use fastGetAttribute()/fastHasAttribute() instead
882         of getAttribute()/hasAttribute().
883
884         No new tests, this is a minor performance optimization.
885
886         * accessibility/AXObjectCache.cpp:
887         (WebCore::nodeHasRole):
888         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
889         (webkit_accessible_get_name):
890         * dom/Document.cpp:
891         (WebCore::Document::buildAccessKeyMap):
892         (WebCore::Document::recalcStyleSelector):
893         * dom/Element.cpp:
894         (WebCore::Element::baseURI):
895         (WebCore::Element::formatForDebugger):
896         (WebCore::Element::spellcheckAttributeState):
897         * dom/NameNodeList.cpp:
898         (WebCore::NameNodeList::nodeMatches):
899         * editing/ApplyStyleCommand.cpp:
900         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
901         * editing/SplitElementCommand.cpp:
902         (WebCore::SplitElementCommand::doUnapply):
903         * editing/markup.cpp:
904         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
905         (WebCore::createMarkup):
906         * html/HTMLAnchorElement.cpp:
907         (WebCore::HTMLAnchorElement::draggable):
908         (WebCore::HTMLAnchorElement::href):
909         (WebCore::HTMLAnchorElement::name):
910         (WebCore::HTMLAnchorElement::target):
911         (WebCore::HTMLAnchorElement::sendPings):
912         (WebCore::HTMLAnchorElement::handleClick):
913         * html/HTMLAppletElement.cpp:
914         (WebCore::HTMLAppletElement::createRenderer):
915         * html/HTMLAreaElement.cpp:
916         (WebCore::HTMLAreaElement::target):
917         * html/HTMLBodyElement.cpp:
918         (WebCore::HTMLBodyElement::aLink):
919         (WebCore::HTMLBodyElement::bgColor):
920         (WebCore::HTMLBodyElement::link):
921         (WebCore::HTMLBodyElement::text):
922         (WebCore::HTMLBodyElement::vLink):
923         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
924         * html/HTMLButtonElement.cpp:
925         (WebCore::HTMLButtonElement::value):
926         * html/HTMLCanvasElement.cpp:
927         (WebCore::HTMLCanvasElement::reset):
928         * html/HTMLCollection.cpp:
929         (WebCore::HTMLCollection::checkForNameMatch):
930         (WebCore::HTMLCollection::updateNameCache):
931         * html/HTMLDocument.cpp:
932         (WebCore::HTMLDocument::dir):
933         * html/HTMLElement.cpp:
934         (WebCore::HTMLElement::parseMappedAttribute):
935         (WebCore::HTMLElement::draggable):
936         (WebCore::HTMLElement::title):
937         (WebCore::setHasDirAutoFlagRecursively):
938         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
939         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
940         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
941         * html/HTMLEmbedElement.cpp:
942         (WebCore::HTMLEmbedElement::updateWidget):
943         (WebCore::HTMLEmbedElement::insertedIntoDocument):
944         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
945         * html/HTMLFormCollection.cpp:
946         (WebCore::HTMLFormCollection::getNamedFormItem):
947         (WebCore::HTMLFormCollection::updateNameCache):
948         * html/HTMLFormControlElement.cpp:
949         (WebCore::HTMLFormControlElement::autofocus):
950         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
951         * html/HTMLFormElement.cpp:
952         (WebCore::HTMLFormElement::name):
953         (WebCore::HTMLFormElement::action):
954         (WebCore::HTMLFormElement::method):
955         (WebCore::HTMLFormElement::target):
956         * html/HTMLFrameElement.cpp:
957         (WebCore::HTMLFrameElement::noResize):
958         * html/HTMLFrameElementBase.cpp:
959         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
960         (WebCore::HTMLFrameElementBase::location):
961         (WebCore::HTMLFrameElementBase::allowFullScreen):
962         * html/HTMLHtmlElement.cpp:
963         (WebCore::HTMLHtmlElement::insertedByParser):
964         * html/HTMLImageElement.cpp:
965         (WebCore::HTMLImageElement::altText):
966         (WebCore::HTMLImageElement::width):
967         (WebCore::HTMLImageElement::height):
968         (WebCore::HTMLImageElement::alt):
969         (WebCore::HTMLImageElement::draggable):
970         (WebCore::HTMLImageElement::src):
971         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
972         * html/HTMLInputElement.cpp:
973         (WebCore::HTMLInputElement::finishParsingChildren):
974         (WebCore::HTMLInputElement::altText):
975         (WebCore::HTMLInputElement::reset):
976         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
977         (WebCore::HTMLInputElement::isSpeechEnabled):
978         * html/HTMLLabelElement.cpp:
979         (WebCore::HTMLLabelElement::control):
980         * html/HTMLLinkElement.cpp:
981         (WebCore::HTMLLinkElement::process):
982         (WebCore::HTMLLinkElement::href):
983         (WebCore::HTMLLinkElement::rel):
984         (WebCore::HTMLLinkElement::target):
985         (WebCore::HTMLLinkElement::type):
986         * html/HTMLMapElement.cpp:
987         (WebCore::HTMLMapElement::imageElement):
988         * html/HTMLMediaElement.cpp:
989         (WebCore::HTMLMediaElement::attributeChanged):
990         (WebCore::HTMLMediaElement::insertedIntoDocument):
991         * html/HTMLMetaElement.cpp:
992         (WebCore::HTMLMetaElement::content):
993         (WebCore::HTMLMetaElement::httpEquiv):
994         (WebCore::HTMLMetaElement::name):
995         * html/HTMLMeterElement.cpp:
996         (WebCore::HTMLMeterElement::min):
997         (WebCore::HTMLMeterElement::max):
998         (WebCore::HTMLMeterElement::value):
999         (WebCore::HTMLMeterElement::low):
1000         (WebCore::HTMLMeterElement::high):
1001         (WebCore::HTMLMeterElement::optimum):
1002         * html/HTMLNameCollection.cpp:
1003         (WebCore::HTMLNameCollection::itemAfter):
1004         * html/HTMLObjectElement.cpp:
1005         (WebCore::HTMLObjectElement::updateWidget):
1006         (WebCore::HTMLObjectElement::containsJavaApplet):
1007         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
1008         * html/HTMLOptGroupElement.cpp:
1009         (WebCore::HTMLOptGroupElement::groupLabelText):
1010         * html/HTMLProgressElement.cpp:
1011         (WebCore::HTMLProgressElement::max):
1012         * html/HTMLScriptElement.cpp:
1013         (WebCore::HTMLScriptElement::sourceAttributeValue):
1014         (WebCore::HTMLScriptElement::charsetAttributeValue):
1015         (WebCore::HTMLScriptElement::typeAttributeValue):
1016         (WebCore::HTMLScriptElement::languageAttributeValue):
1017         (WebCore::HTMLScriptElement::forAttributeValue):
1018         (WebCore::HTMLScriptElement::eventAttributeValue):
1019         * html/HTMLSourceElement.cpp:
1020         (WebCore::HTMLSourceElement::media):
1021         (WebCore::HTMLSourceElement::type):
1022         * html/HTMLStyleElement.cpp:
1023         (WebCore::HTMLStyleElement::media):
1024         (WebCore::HTMLStyleElement::type):
1025         * html/HTMLTableCellElement.cpp:
1026         (WebCore::HTMLTableCellElement::abbr):
1027         (WebCore::HTMLTableCellElement::axis):
1028         (WebCore::HTMLTableCellElement::headers):
1029         (WebCore::HTMLTableCellElement::scope):
1030         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
1031         * html/HTMLTableColElement.cpp:
1032         (WebCore::HTMLTableColElement::width):
1033         * html/HTMLTableElement.cpp:
1034         (WebCore::HTMLTableElement::rules):
1035         (WebCore::HTMLTableElement::summary):
1036         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
1037         * html/HTMLTableSectionElement.cpp:
1038         (WebCore::HTMLTableSectionElement::align):
1039         (WebCore::HTMLTableSectionElement::ch):
1040         (WebCore::HTMLTableSectionElement::chOff):
1041         (WebCore::HTMLTableSectionElement::vAlign):
1042         * html/HTMLTextAreaElement.cpp:
1043         (WebCore::HTMLTextAreaElement::maxLength):
1044         * html/HTMLTextFormControlElement.cpp:
1045         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
1046         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
1047         * html/HTMLTrackElement.cpp:
1048         (WebCore::HTMLTrackElement::src):
1049         (WebCore::HTMLTrackElement::kind):
1050         (WebCore::HTMLTrackElement::srclang):
1051         (WebCore::HTMLTrackElement::label):
1052         (WebCore::HTMLTrackElement::isDefault):
1053         (WebCore::HTMLTrackElement::load):
1054         * html/HTMLVideoElement.cpp:
1055         (WebCore::HTMLVideoElement::width):
1056         (WebCore::HTMLVideoElement::height):
1057         * html/StepRange.cpp:
1058         (WebCore::StepRange::StepRange):
1059         * html/shadow/TextControlInnerElements.cpp:
1060         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1061         * inspector/InspectorPageAgent.cpp:
1062         (WebCore::InspectorPageAgent::buildObjectForFrame):
1063         * loader/FormSubmission.cpp:
1064         (WebCore::FormSubmission::create):
1065         * loader/ImageLoader.cpp:
1066         (WebCore::ImageLoader::updateFromElement):
1067         * page/Frame.cpp:
1068         (WebCore::Frame::matchLabelsAgainstElement):
1069         * page/PageSerializer.cpp:
1070         (WebCore::PageSerializer::serializeFrame):
1071         * page/mac/FrameMac.mm:
1072         (WebCore::Frame::matchLabelsAgainstElement):
1073         * platform/chromium/ClipboardChromium.cpp:
1074         (WebCore::writeImageToDataObject):
1075         * platform/chromium/PasteboardChromium.cpp:
1076         (WebCore::Pasteboard::writeImage):
1077         * platform/gtk/PasteboardGtk.cpp:
1078         (WebCore::getURLForImageNode):
1079         * platform/mac/HTMLConverter.mm:
1080         (fileWrapperForElement):
1081         * platform/win/ClipboardWin.cpp:
1082         (WebCore::writeImageToDataObject):
1083         (WebCore::ClipboardWin::declareAndWriteDragImage):
1084         * rendering/HitTestResult.cpp:
1085         (WebCore::HitTestResult::altDisplayString):
1086         (WebCore::HitTestResult::absoluteImageURL):
1087         (WebCore::HitTestResult::absoluteLinkURL):
1088         * rendering/RenderDetails.cpp:
1089         (WebCore::RenderDetails::isOpen):
1090         * rendering/RenderMenuList.cpp:
1091         (WebCore::RenderMenuList::itemAccessibilityText):
1092         * rendering/RenderObject.cpp:
1093         (WebCore::RenderObject::addPDFURLRect):
1094         * rendering/RenderTableCell.cpp:
1095         (WebCore::RenderTableCell::computePreferredLogicalWidths):
1096         * rendering/RenderTextControlSingleLine.cpp:
1097         (WebCore::RenderTextControlSingleLine::autosaveName):
1098         * rendering/RenderVideo.cpp:
1099         (WebCore::RenderVideo::calculateIntrinsicSize):
1100         * rendering/mathml/RenderMathMLFenced.cpp:
1101         (WebCore::RenderMathMLFenced::updateFromElement):
1102         * rendering/mathml/RenderMathMLFraction.cpp:
1103         (WebCore::RenderMathMLFraction::updateFromElement):
1104         * rendering/mathml/RenderMathMLOperator.cpp:
1105         (WebCore::RenderMathMLOperator::updateFromElement):
1106         * svg/SVGFontData.cpp:
1107         (WebCore::SVGFontData::applySVGGlyphSelection):
1108
1109 2011-09-01  David Hyatt  <hyatt@apple.com>
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=67431
1112         
1113         Implement border-image-repeat. Similar to how border-image-slice was implemented, the parsing of the two
1114         repeat values has been moved into separate functions. The value is represented as a Pair (similar to how we
1115         handle border radius).
1116
1117         Reviewed by Beth Dakin.
1118
1119         Added fast/borders/border-image-repeat.html.
1120
1121         * css/CSSBorderImageValue.cpp:
1122         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1123         (WebCore::CSSBorderImageValue::cssText):
1124         * css/CSSBorderImageValue.h:
1125         (WebCore::CSSBorderImageValue::create):
1126         Modified the CSSBorderImageValue (you're living on borrowed time, my friend!) to have a CSSValue that
1127         contains a Pair.
1128
1129         * css/CSSComputedStyleDeclaration.cpp:
1130         (WebCore::valueForRepeatRule):
1131         (WebCore::valueForNinePieceImageRepeat):
1132         (WebCore::valueForNinePieceImage):
1133         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1134         Add support for the new properties. Break out the value retrieval for the image repeat rules into its
1135         own function, valueForNinePieceImageRepeat.
1136
1137         * css/CSSParser.cpp:
1138         (WebCore::CSSParser::parseValue):
1139         (WebCore::BorderImageParseContext::BorderImageParseContext):
1140         (WebCore::BorderImageParseContext::allowRepeat):
1141         (WebCore::BorderImageParseContext::commitSlice):
1142         (WebCore::BorderImageParseContext::commitSlash):
1143         (WebCore::BorderImageParseContext::commitWidth):
1144         (WebCore::BorderImageParseContext::commitRepeat):
1145         (WebCore::BorderImageParseContext::commitBorderImage):
1146         (WebCore::CSSParser::parseBorderImage):
1147         Modified the parsing of border image to call into parseBorderImageRepeat for the repeat values.
1148
1149         (WebCore::isBorderImageRepeatKeyword):
1150         (WebCore::CSSParser::parseBorderImageRepeat):
1151         The new parsing code for border-image-repeat is here. It will build up a CSSValue containing a Pair and
1152         return the result.
1153
1154         * css/CSSParser.h:
1155         * css/CSSPropertyNames.in:
1156         Add the new properties.
1157
1158         * css/CSSStyleSelector.cpp:
1159         (WebCore::CSSStyleSelector::applyProperty):
1160         (WebCore::CSSStyleSelector::mapNinePieceImage):
1161         (WebCore::CSSStyleSelector::mapNinePieceImageRepeat):
1162         * css/CSSStyleSelector.h:
1163         The mapping into the front end is done the same way as border-image-slice. Factor out the image repeat rules
1164         portion into mapNinePieceImageRepeat.
1165
1166         * platform/graphics/Image.cpp:
1167         (WebCore::Image::drawTiled):
1168         * platform/graphics/Image.h:
1169         Add the new 'space' value as a valid image tiling rule. It's not yet supported and, like the 'round' value,
1170         is just mapped to 'repeat' for now.
1171         
1172         * rendering/style/NinePieceImage.h:
1173         (WebCore::NinePieceImage::copyRepeatFrom):
1174         Helper for copying only the repeat rules from another NinePieceImage.
1175
1176 2011-09-02  Jarred Nicholls  <jarred@sencha.com>
1177
1178         [Qt] number input not rendering spin buttons properly in RTL direction
1179         https://bugs.webkit.org/show_bug.cgi?id=67445
1180         
1181         Properly render Qt's number input with RTL direction, and fix Plastique styling.
1182
1183         Reviewed by Andreas Kling.
1184
1185         * platform/qt/RenderThemeQt.cpp:
1186         (WebCore::RenderThemeQt::paintInnerSpinButton):
1187
1188 2011-09-02  Arko Saha  <nghq36@motorola.com>
1189
1190         Resetting media controls when the src is changed from a valid url to an
1191         invalid url.
1192         https://bugs.webkit.org/show_bug.cgi?id=64880
1193
1194         Reviewed by Eric Carlson.
1195
1196         Test: media/media-controls-invalid-url.html
1197
1198         * html/HTMLMediaElement.cpp:
1199         (WebCore::HTMLMediaElement::mediaLoadingFailed):
1200
1201 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1202
1203         Web Inspector: Make it more clear when requests are loaded from cache on network panel.
1204         https://bugs.webkit.org/show_bug.cgi?id=67396
1205
1206         Reviewed by Pavel Feldman.
1207
1208         * inspector/front-end/NetworkPanel.js:
1209         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
1210         * inspector/front-end/ResourceHeadersView.js:
1211         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
1212         * inspector/front-end/networkPanel.css:
1213         (.resource-headers-view .outline-disclosure li .status-from-cache):
1214
1215 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1216
1217         Web Inspector: Should remove resource highlight on sort/filter in network panel.
1218         https://bugs.webkit.org/show_bug.cgi?id=67411
1219
1220         Reviewed by Pavel Feldman.
1221
1222         * inspector/front-end/NetworkPanel.js:
1223         (WebInspector.NetworkLogView.prototype._sortItems):
1224         (WebInspector.NetworkLogView.prototype._sortByTimeline):
1225         (WebInspector.NetworkLogView.prototype._updateFilter):
1226
1227 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
1228
1229         Web Inspector: Network: jump to initiator's record in case of redirect
1230         https://bugs.webkit.org/show_bug.cgi?id=67367
1231
1232         Reviewed by Pavel Feldman.
1233
1234         * English.lproj/localizedStrings.js:
1235         * inspector/front-end/NetworkManager.js:
1236         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1237         * inspector/front-end/NetworkPanel.js:
1238         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
1239         * inspector/front-end/Resource.js:
1240         (WebInspector.Resource.prototype.get redirectSource):
1241         (WebInspector.Resource.prototype.set redirectSource):
1242
1243 2011-09-02  Antti Koivisto  <antti@apple.com>
1244
1245         De-virtualize recalcStyle()
1246         https://bugs.webkit.org/show_bug.cgi?id=67378
1247
1248         Reviewed by Dimitri Glazkov.
1249
1250         Element::recalcStyle() does not need to be virtual, there are very few legit overrides. This will
1251         also make it possible to de-recursify it later.
1252         
1253         Added willRecalcStyle()/didRecalcStyle() virtual function for subclasses that need custom style recalc.
1254         These are only invoked if hasCustomWillOrDidRecalcStyle() bit is set.
1255
1256         * dom/Document.cpp:
1257         (WebCore::Document::recalcStyle):
1258         * dom/Document.h:
1259         * dom/Element.cpp:
1260         (WebCore::Element::recalcStyle):
1261         * dom/Element.h:
1262         (WebCore::Element::willRecalcStyle):
1263         (WebCore::Element::didRecalcStyle):
1264         * dom/Node.h:
1265         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
1266         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
1267         * dom/ShadowRoot.cpp:
1268         (WebCore::ShadowRoot::recalcShadowTreeStyle):
1269         * dom/ShadowRoot.h:
1270         * dom/Text.cpp:
1271         (WebCore::Text::recalcTextStyle):
1272         * dom/Text.h:
1273         * html/HTMLFormControlElement.cpp:
1274         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1275         (WebCore::HTMLFormControlElement::didRecalcStyle):
1276         * html/HTMLFormControlElement.h:
1277         * html/HTMLFrameSetElement.cpp:
1278         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
1279         (WebCore::HTMLFrameSetElement::willRecalcStyle):
1280         * html/HTMLFrameSetElement.h:
1281         * html/HTMLMediaElement.cpp:
1282         (WebCore::HTMLMediaElement::HTMLMediaElement):
1283         (WebCore::HTMLMediaElement::didRecalcStyle):
1284         * html/HTMLMediaElement.h:
1285         * html/HTMLNoScriptElement.cpp:
1286         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
1287         (WebCore::HTMLNoScriptElement::willRecalcStyle):
1288         * html/HTMLNoScriptElement.h:
1289         * html/HTMLPlugInImageElement.cpp:
1290         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1291         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
1292         * html/HTMLPlugInImageElement.h:
1293         * html/HTMLSelectElement.cpp:
1294         * html/HTMLSelectElement.h:
1295         * svg/SVGTRefElement.cpp:
1296         (WebCore::SVGTRefElement::SVGTRefElement):
1297         (WebCore::SVGShadowText::willRecalcStyle):
1298         * svg/SVGUseElement.cpp:
1299         (WebCore::SVGUseElement::SVGUseElement):
1300         (WebCore::SVGUseElement::willRecalcStyle):
1301         (WebCore::SVGUseElement::didRecalcStyle):
1302         * svg/SVGUseElement.h:
1303
1304 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
1305
1306         WebSocket: Send Blob as WebSocket binary message
1307         https://bugs.webkit.org/show_bug.cgi?id=67465
1308
1309         Reviewed by Kent Tamura.
1310
1311         Re-lands r94399 with a fix for Leopard builds.
1312
1313         * bindings/js/JSWebSocketCustom.cpp:
1314         (WebCore::JSWebSocket::send):
1315         * bindings/v8/custom/V8WebSocketCustom.cpp:
1316         (WebCore::V8WebSocket::sendCallback):
1317         * websockets/ThreadableWebSocketChannel.h:
1318         * websockets/WebSocket.cpp:
1319         (WebCore::WebSocket::send):
1320         * websockets/WebSocket.h:
1321         * websockets/WebSocket.idl:
1322         * websockets/WebSocketChannel.cpp:
1323         (WebCore::WebSocketChannel::send):
1324         * websockets/WebSocketChannel.h:
1325         * websockets/WorkerThreadableWebSocketChannel.cpp:
1326         (WebCore::WorkerThreadableWebSocketChannel::send):
1327         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
1328         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
1329         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
1330         * websockets/WorkerThreadableWebSocketChannel.h:
1331
1332 2011-09-02  Patrick Gansterer  <paroga@webkit.org>
1333
1334         [GTK] Generate gobject bindings for Notification and NotificationCenter
1335         https://bugs.webkit.org/show_bug.cgi?id=67380
1336
1337         Reviewed by Philippe Normand.
1338
1339         * bindings/gobject/GNUmakefile.am:
1340
1341 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
1342
1343         [chromium] editing/selection/regional-indicators.html timing out on Linux
1344         https://bugs.webkit.org/show_bug.cgi?id=66510
1345
1346         Reviewed by Kent Tamura.
1347
1348         Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
1349
1350         No new tests. editing/selection/regional-indicators.html should pass with this patch.
1351
1352         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1353         (WebCore::ComplexTextController::nextScriptRun): Used SurrogatePairAwareTextIterator to split run.
1354         (WebCore::surrogatePairAwareFirstCharacter): Added.
1355         (WebCore::ComplexTextController::setupFontForScriptRun): Used surrogatePairAwareFirstCharacter() to get appropriate FontData.
1356
1357 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1358
1359         Unreviewed, rolling out r94399.
1360         http://trac.webkit.org/changeset/94399
1361         https://bugs.webkit.org/show_bug.cgi?id=67471
1362
1363         Broke Leopard build (Requested by yutak on #webkit).
1364
1365         * bindings/js/JSWebSocketCustom.cpp:
1366         * bindings/v8/custom/V8WebSocketCustom.cpp:
1367         * websockets/ThreadableWebSocketChannel.h:
1368         * websockets/WebSocket.cpp:
1369         * websockets/WebSocket.h:
1370         * websockets/WebSocket.idl:
1371         * websockets/WebSocketChannel.cpp:
1372         (WebCore::WebSocketChannel::send):
1373         * websockets/WebSocketChannel.h:
1374         * websockets/WorkerThreadableWebSocketChannel.cpp:
1375         * websockets/WorkerThreadableWebSocketChannel.h:
1376
1377 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1378
1379         Unreviewed, rolling out r94393.
1380         http://trac.webkit.org/changeset/94393
1381         https://bugs.webkit.org/show_bug.cgi?id=67470
1382
1383         It broke Qt-SL build (Requested by ossy on #webkit).
1384
1385         * WebCore.pro:
1386
1387 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
1388
1389         [Chromium] Webfonts display bold in Windows
1390         https://bugs.webkit.org/show_bug.cgi?id=67387
1391
1392         Uses font's default weight for webfonts by setting FW_DONTCARE.
1393
1394         Reviewed by Kent Tamura.
1395
1396         No new tests. We don't have fonts to test this change.
1397
1398         * platform/graphics/skia/FontCustomPlatformData.cpp:
1399         (WebCore::FontCustomPlatformData::fontPlatformData): Sets FW_DONTCARE to use default font weight.
1400
1401 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
1402
1403         WebSocket: Send Blob as WebSocket binary message
1404         https://bugs.webkit.org/show_bug.cgi?id=67465
1405
1406         Reviewed by Kent Tamura.
1407
1408         Tests: http/tests/websocket/tests/hixie76/send-empty.html
1409                http/tests/websocket/tests/hixie76/send-object.html
1410                http/tests/websocket/tests/hybi/send-blob.html
1411                http/tests/websocket/tests/hybi/send-empty.html
1412                http/tests/websocket/tests/hybi/send-file-blob-fail.html
1413                http/tests/websocket/tests/hybi/send-file-blob.html
1414                http/tests/websocket/tests/hybi/workers/send-blob.html
1415                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
1416
1417         * bindings/js/JSWebSocketCustom.cpp:
1418         (WebCore::JSWebSocket::send):
1419         * bindings/v8/custom/V8WebSocketCustom.cpp:
1420         (WebCore::V8WebSocket::sendCallback):
1421         * websockets/ThreadableWebSocketChannel.h:
1422         * websockets/WebSocket.cpp:
1423         (WebCore::WebSocket::send):
1424         * websockets/WebSocket.h:
1425         * websockets/WebSocket.idl:
1426         Fixing code generator did not sound easy, because there are some classes depending on
1427         broken behavior of current code generator (one such example is CanvasRenderingContext2D).
1428         As a temporary workaround, new custom handlers for send() are added.
1429         * websockets/WebSocketChannel.cpp:
1430         (WebCore::WebSocketChannel::send):
1431         * websockets/WebSocketChannel.h:
1432         * websockets/WorkerThreadableWebSocketChannel.cpp:
1433         (WebCore::WorkerThreadableWebSocketChannel::send):
1434         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
1435         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
1436         A Blob can be deserialized from url, type and size.
1437         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
1438         KURL, String and long long (corresponding to url, type and size, respectively) can be passed
1439         safely across threads.
1440         * websockets/WorkerThreadableWebSocketChannel.h:
1441
1442 2011-09-02  Philippe Normand  <pnormand@igalia.com>
1443
1444         [WebAudio] Undeclared dependency to VIDEO
1445         https://bugs.webkit.org/show_bug.cgi?id=66893
1446
1447         Reviewed by Kenneth Russell.
1448
1449         Build MediaAudioSourceNode only if VIDEO is enabled
1450
1451         * webaudio/AudioContext.cpp:
1452         * webaudio/AudioContext.h:
1453         * webaudio/AudioContext.idl:
1454         * webaudio/MediaElementAudioSourceNode.cpp:
1455         * webaudio/MediaElementAudioSourceNode.h:
1456         * webaudio/MediaElementAudioSourceNode.idl:
1457
1458 2011-09-02  Csaba Osztrogonác  <ossy@webkit.org>
1459
1460         [Qt][WK2] Unreviewed speculative buildfix.
1461
1462         * WebCore.pro: Add platform/graphics/GlyphPageTreeNode.cpp to SOURCES.
1463
1464 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1465
1466         Unreviewed, rolling out r94389.
1467         http://trac.webkit.org/changeset/94389
1468         https://bugs.webkit.org/show_bug.cgi?id=67468
1469
1470         breaks mac build (Requested by philn-tp on #webkit).
1471
1472         * webaudio/AudioContext.cpp:
1473         (WebCore::AudioContext::createMediaElementSource):
1474         * webaudio/AudioContext.h:
1475         * webaudio/AudioContext.idl:
1476         * webaudio/MediaElementAudioSourceNode.cpp:
1477         * webaudio/MediaElementAudioSourceNode.h:
1478         * webaudio/MediaElementAudioSourceNode.idl:
1479
1480 2011-09-02  Kentaro Hara  <haraken@google.com>
1481
1482         Generate an EventSource constructor of V8 using the IDL 'Constructor' extended attribute
1483         https://bugs.webkit.org/show_bug.cgi?id=67459
1484
1485         Reviewed by Adam Barth.
1486
1487         Tests: fast/eventsource/eventsource-constructor.html
1488                fast/eventsource/eventsource-attribute-listeners.html
1489
1490         * WebCore.gypi: Removed V8EventSourceConstructor.cpp.
1491         * WebCore.pro: Removed V8EventSourceConstructor.cpp.
1492         * bindings/v8/custom/V8EventSourceConstructor.cpp: Removed.
1493         * page/EventSource.idl: Added the 'Constructor' extended attribute.
1494
1495 2011-09-02  Philippe Normand  <pnormand@igalia.com>
1496
1497         [WebAudio] Undeclared dependency to VIDEO
1498         https://bugs.webkit.org/show_bug.cgi?id=66893
1499
1500         Reviewed by Kenneth Russell.
1501
1502         Build MediaAudioSourceNode only if VIDEO is enabled
1503
1504         * webaudio/AudioContext.cpp:
1505         * webaudio/AudioContext.h:
1506         * webaudio/AudioContext.idl:
1507         * webaudio/MediaElementAudioSourceNode.cpp:
1508         * webaudio/MediaElementAudioSourceNode.h:
1509         * webaudio/MediaElementAudioSourceNode.idl:
1510
1511 2011-09-01  Takashi Toyoshima  <toyoshim@chromium.org>
1512
1513         [WebSocket] Implement WebSocket::close() code and reason handling.
1514         https://bugs.webkit.org/show_bug.cgi?id=66925
1515
1516         Reviewed by Kent Tamura.
1517
1518         Tests: http/tests/websocket/tests/hybi/close.html
1519                http/tests/websocket/tests/hybi/workers/close.html
1520
1521         * bindings/js/JSWebSocketCustom.cpp:
1522         (WebCore::JSWebSocket::close):
1523         * bindings/v8/custom/V8WebSocketCustom.cpp:
1524         (WebCore::V8WebSocket::closeCallback):
1525         Add custom bridge for WebSocket::close().
1526         * websockets/ThreadableWebSocketChannel.h:
1527         * websockets/WebSocket.cpp:
1528         (WebCore::WebSocket::close):
1529         * websockets/WebSocket.h:
1530         * websockets/WebSocket.idl:
1531         * websockets/WebSocketChannel.cpp:
1532         (WebCore::WebSocketChannel::close):
1533         Add code and reason arguments handling.
1534         (WebCore::WebSocketChannel::startClosingHandshake):
1535         Send a close frame without code and reason on server initiated closing handshakes.
1536         (WebCore::WebSocketChannel::processFrame):
1537         (WebCore::WebSocketChannel::processFrameHixie76):
1538         * websockets/WebSocketChannel.h:
1539         * websockets/WorkerThreadableWebSocketChannel.cpp:
1540         (WebCore::WorkerThreadableWebSocketChannel::close):
1541         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
1542         (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
1543         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
1544         * websockets/WorkerThreadableWebSocketChannel.h:
1545         Add code and reason arguments handling.
1546
1547 2011-09-01  Mark Rowe  <mrowe@apple.com>
1548
1549         Fix the build by adding some more missing return types.
1550
1551         * page/mac/WebCoreViewFactory.m:
1552         (-[WebCoreViewFactory init]):
1553
1554 2011-09-01  Michael Nordman  <michaeln@google.com>
1555
1556         [Chromium] Fix a crashing bug due to raciness around SQL database shutdown.
1557         https://bugs.webkit.org/show_bug.cgi?id=67457
1558
1559         The removeOpenDatabase() method can get called multiple times.
1560         Subsequent calls to it should be harmeless instead of cause a crash.
1561
1562         Reviewed by David Levin.
1563
1564         * storage/chromium/DatabaseTrackerChromium.cpp:
1565         (WebCore::DatabaseTracker::removeOpenDatabase):
1566
1567 2011-09-01  Kent Tamura  <tkent@chromium.org>
1568
1569         The filename text color of a file upload control should be inherited.
1570         https://bugs.webkit.org/show_bug.cgi?id=67368
1571
1572         Reviewed by Darin Adler.
1573
1574         * css/html.css:
1575         (input[type="file"]):
1576         Add 'color: inherit'.
1577         The declaration for 'input' contains 'color: initial;'. So a file
1578         upload control has had black foreground color unless it has been
1579         specified 'color' property explicitly.
1580         Because a file upload control uses inherited background color, the
1581         foreground color also should be inherited.
1582
1583 2011-09-01  Kentaro Hara  <haraken@google.com>
1584
1585         Generate a Worker constructor of V8 using the IDL 'Constructor' extended attribute
1586         https://bugs.webkit.org/show_bug.cgi?id=67447
1587
1588         Reviewed by Dimitri Glazkov.
1589
1590         Test: fast/workers/worker-constructor.html
1591               fast/workers/worker-event-listener.html
1592
1593         * bindings/v8/custom/V8WorkerCustom.cpp: Removed constructorCallback().
1594         * workers/Worker.idl: Added the 'Constructor' extended attribute.
1595
1596 2011-09-01  Kentaro Hara  <haraken@google.com>
1597
1598         Generate a FileReader constructor of V8 using the IDL 'Constructor' extended attribute
1599         https://bugs.webkit.org/show_bug.cgi?id=67412
1600
1601         Reviewed by Adam Barth.
1602
1603         Test: fast/files/blob-slice-test.html
1604               fast/files/file-reader-abort.html
1605
1606         * bindings/v8/custom/V8FileReaderCustom.cpp: Removed constructorCallback().
1607         * fileapi/FileReader.idl: Added the 'Constructor' extended attribute.
1608
1609 2011-09-01  Robert Kroeger  <rjkroege@chromium.org>
1610
1611        [chromium] Code cleanup FIXME in Chromium recognizer
1612         https://bugs.webkit.org/show_bug.cgi?id=67448
1613
1614         Reviewed by Adam Barth.
1615
1616         * page/EventHandler.cpp:
1617         (WebCore::EventHandler::handleGestureEvent):
1618         Fixed a bug noticed by a benjaminp while reviewing a different
1619         ndonned patch where global positions were not being set correctly
1620         on gesture-driven mouse wheel events.
1621         * platform/chromium/GestureRecognizerChromium.cpp:
1622         Changed static per-edge functions into methods and improves
1623         encapsulation. No new functionality is present.
1624         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
1625         (WebCore::GestureRecognizerChromium::reset):
1626         (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
1627         (WebCore::GestureRecognizerChromium::addEdgeFunction):
1628         (WebCore::GestureRecognizerChromium::isInClickTimeWindow):
1629         (WebCore::GestureRecognizerChromium::isInsideManhattanSquare):
1630         (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
1631         (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
1632         (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
1633         (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
1634         (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
1635         (WebCore::GestureRecognizerChromium::updateValues):
1636         (WebCore::GestureRecognizerChromium::signature):
1637         (WebCore::GestureRecognizerChromium::touchDown):
1638         (WebCore::GestureRecognizerChromium::scrollEnd):
1639         (WebCore::GestureRecognizerChromium::noGesture):
1640         (WebCore::GestureRecognizerChromium::click):
1641         (WebCore::GestureRecognizerChromium::isClickOrScroll):
1642         (WebCore::GestureRecognizerChromium::inScroll):
1643         * platform/chromium/GestureRecognizerChromium.h:
1644         (WebCore::GestureRecognizerChromium::setState):
1645
1646 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
1647
1648         Move LayoutRepainter to its own class
1649         https://bugs.webkit.org/show_bug.cgi?id=66255
1650
1651         Reviewed by Hajime Morita.
1652
1653         No new tests, code movement only.
1654
1655         * rendering/RenderObject.h: Moved code from here ...
1656         * rendering/LayoutRepainter.cpp: Added.
1657         (WebCore::LayoutRepainter::LayoutRepainter):
1658         (WebCore::LayoutRepainter::repaintAfterLayout):
1659         * rendering/LayoutRepainter.h: Added.
1660         (WebCore::LayoutRepainter::checkForRepaint):
1661         ... to those 2 files.
1662
1663         * CMakeLists.txt:
1664         * GNUmakefile.list.am:
1665         * WebCore.gypi:
1666         * WebCore.pro:
1667         * WebCore.vcproj/WebCore.vcproj:
1668         * WebCore.xcodeproj/project.pbxproj:
1669         Updated our build systems.
1670
1671         * rendering/RenderingAllInOne.cpp:
1672         Needed for the Windows bot.
1673
1674         * rendering/RenderBlock.cpp:
1675         * rendering/RenderDeprecatedFlexibleBox.cpp:
1676         * rendering/RenderReplaced.cpp:
1677         * rendering/RenderTable.cpp:
1678         * rendering/svg/RenderSVGContainer.cpp:
1679         * rendering/svg/RenderSVGForeignObject.cpp:
1680         * rendering/svg/RenderSVGImage.cpp:
1681         * rendering/svg/RenderSVGPath.cpp:
1682         * rendering/svg/RenderSVGRoot.cpp:
1683         * rendering/svg/RenderSVGText.cpp:
1684         Added #include "LayoutRepainter".
1685
1686 2011-09-01  Ada Chan  <adachan@apple.com>
1687
1688         Cleanup refactoring for https://bugs.webkit.org/show_bug.cgi?id=67160
1689
1690         Don't ifdef out the data member xslStyleSheets in MemoryCache::Statistics to cut down 
1691         the ifdefs in getWebCoreMemoryCacheStatistics() in WebKit2/WebProcess/WebProcess.cpp.
1692
1693         Reviewed by Darin Adler.
1694
1695         No new tests required.  Just small code refactoring.
1696
1697         * loader/cache/MemoryCache.h:
1698
1699 2011-09-01  Julien Chaffraix  <jchaffraix@webkit.org>
1700
1701         REGRESSION (r84327-r84329): CSS stylesheets fail to load on www.flagstar.com login page
1702         https://bugs.webkit.org/show_bug.cgi?id=65140
1703
1704         Reviewed by Darin Adler.
1705
1706         Tests: fast/css/stylesheet-enable-first-alternate-link.html
1707                fast/css/stylesheet-enable-first-alternate-on-load-link.html
1708                fast/css/stylesheet-enable-first-alternate-on-load-sheet.html
1709                fast/css/stylesheet-enable-second-alternate-link.html
1710                fast/css/stylesheet-enable-second-alternate-on-load-link.html
1711                fast/css/stylesheet-enable-second-alternate-on-load-sheet.html
1712                http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html
1713                http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html
1714
1715         This patch basically reverts 88479 and 84329 while keeping the tests
1716         we developped during the implementation.
1717
1718         Following discussion, it looks like HTML5 will need to be amended.
1719         In the meantime, we will just revert the changes so that we can come
1720         up with a better change.
1721
1722         * dom/Document.cpp:
1723         (WebCore::Document::recalcStyleSelector):
1724         * html/HTMLLinkElement.cpp:
1725         (WebCore::HTMLLinkElement::HTMLLinkElement):
1726         (WebCore::HTMLLinkElement::setDisabledState):
1727         (WebCore::HTMLLinkElement::parseMappedAttribute):
1728         (WebCore::HTMLLinkElement::process):
1729         Revert those method to their original content.
1730
1731         * html/HTMLLinkElement.h:
1732         (WebCore::HTMLLinkElement::isDisabled):
1733         (WebCore::HTMLLinkElement::isEnabledViaScript):
1734         (WebCore::HTMLLinkElement::isAlternate):
1735         Re-introduced the DisabledState enum.
1736
1737         * html/HTMLLinkElement.idl: |disabled| is Reflect'ed again.
1738
1739 2011-09-01  Dan Bernstein  <mitz@apple.com>
1740
1741         Fix layout test regressions from r94352.
1742
1743         Reviewed by Anders Carlsson.
1744
1745         * platform/graphics/mac/FontCacheMac.mm:
1746         (WebCore::FontCache::getFontDataForCharacters): In the custom font case (that is, when there is
1747         not base NSFont) always get and use the best variation.
1748
1749 2011-09-01  Ryosuke Niwa  <rniwa@webkit.org>
1750
1751         Revert r94355 because it caused bunch of builds to break.
1752
1753         * page/DOMWindow.idl:
1754
1755 2011-09-01  Mark Rowe  <mrowe@apple.com>
1756
1757         <rdar://problem/10063411> WebScriptObject.h declares an Objective-C method without a return type.
1758
1759         Rubber-stamped by Anders Carlsson.
1760
1761         * bridge/objc/WebScriptObject.h:
1762
1763 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
1764
1765         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
1766         https://bugs.webkit.org/show_bug.cgi?id=67174
1767
1768         Reviewed by Oliver Hunt.
1769
1770         No new tests.
1771
1772         Completed the fourth level of the refactoring to add finishCreation() 
1773         methods to all classes within the JSCell hierarchy with non-trivial 
1774         constructor bodies.
1775
1776         This primarily consists of pushing the calls to finishCreation() down 
1777         into the constructors of the subclasses of the second level of the hierarchy 
1778         as well as pulling the finishCreation() calls out into the class's corresponding
1779         create() method if it has one.  Doing both simultaneously allows us to 
1780         maintain the invariant that the finishCreation() method chain is called exactly 
1781         once during the creation of an object, since calling it any other number of 
1782         times (0, 2, or more) will cause an assertion failure.
1783
1784         * bindings/js/JSDOMWindowShell.cpp:
1785         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1786         (WebCore::JSDOMWindowShell::create):
1787         * bindings/js/JSDOMWindowShell.h:
1788         * bindings/js/JSDOMWrapper.h:
1789         (WebCore::JSDOMWrapper::JSDOMWrapper):
1790         * bindings/js/ScriptController.cpp:
1791         (WebCore::ScriptController::createWindowShell):
1792         * bindings/scripts/CodeGeneratorJS.pm:
1793         (GenerateHeader):
1794         * bindings/scripts/test/JS/JSTestInterface.h:
1795         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1796         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1797         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
1798         * bindings/scripts/test/JS/JSTestObj.h:
1799         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1800         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1801         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
1802         * bridge/objc/objc_runtime.h:
1803         * bridge/objc/objc_runtime.mm:
1804         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1805         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
1806         * bridge/runtime_array.cpp:
1807         (JSC::RuntimeArray::RuntimeArray):
1808         (JSC::RuntimeArray::finishCreation):
1809         * bridge/runtime_array.h:
1810         * bridge/runtime_object.cpp:
1811         (JSC::Bindings::RuntimeObject::RuntimeObject):
1812         (JSC::Bindings::RuntimeObject::finishCreation):
1813         * bridge/runtime_object.h:
1814
1815 2011-08-31  Adrienne Walker  <enne@google.com>
1816
1817         [chromium] Remove unsafe raw GraphicsContext3D pointer from ProgramBinding
1818         https://bugs.webkit.org/show_bug.cgi?id=67003
1819
1820         Reviewed by James Robinson.
1821
1822         ProgramBinding now takes an explicit cleanup call to destroy its
1823         resources. This will assert if it is not called and will leak no
1824         longer potentially dereference a dead pointer.
1825
1826         * platform/graphics/chromium/LayerRendererChromium.cpp:
1827         (WebCore::LayerRendererChromium::borderProgram):
1828         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
1829         (WebCore::LayerRendererChromium::renderSurfaceProgram):
1830         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
1831         (WebCore::LayerRendererChromium::tilerProgram):
1832         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
1833         (WebCore::LayerRendererChromium::tilerProgramAA):
1834         (WebCore::LayerRendererChromium::tilerProgramSwizzleAA):
1835         (WebCore::LayerRendererChromium::canvasLayerProgram):
1836         (WebCore::LayerRendererChromium::pluginLayerProgram):
1837         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
1838         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
1839         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1840         * platform/graphics/chromium/ProgramBinding.cpp:
1841         (WebCore::ProgramBindingBase::ProgramBindingBase):
1842         (WebCore::ProgramBindingBase::~ProgramBindingBase):
1843         (WebCore::ProgramBindingBase::init):
1844         (WebCore::ProgramBindingBase::cleanup):
1845         (WebCore::ProgramBindingBase::loadShader):
1846         (WebCore::ProgramBindingBase::createShaderProgram):
1847         * platform/graphics/chromium/ProgramBinding.h:
1848         (WebCore::ProgramBinding::ProgramBinding):
1849         (WebCore::ProgramBinding::initialize):
1850
1851 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
1852
1853         Don't include unnecessary headers in V8 bindings
1854         https://bugs.webkit.org/show_bug.cgi?id=67435
1855
1856         Reviewed by Darin Adler.
1857
1858         When an IDL attribue is Conditonal the corresponding headers
1859         need to be surrounded with the correct #if ENABLE().
1860
1861         * bindings/scripts/CodeGeneratorV8.pm:
1862         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1863         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1864         * bindings/scripts/test/JS/JSTestObj.cpp:
1865         * bindings/scripts/test/JS/JSTestObj.h:
1866         * bindings/scripts/test/ObjC/DOMTestObj.h:
1867         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1868         * bindings/scripts/test/TestObj.idl:
1869         * bindings/scripts/test/V8/V8TestObj.cpp:
1870
1871 2011-09-01  Pratik Solanki  <psolanki@apple.com>
1872
1873         Rename CFNETWORK_DATA_ARRAY_CALLBACK to NETWORK_CFDATA_ARRAY_CALLBACK
1874         https://bugs.webkit.org/show_bug.cgi?id=67348
1875
1876         Reviewed by Alexey Proskuryakov.
1877
1878         * loader/ResourceLoader.h:
1879         * loader/SubresourceLoader.h:
1880         * loader/cf/SubresourceLoaderCF.cpp:
1881         * loader/mac/ResourceLoaderMac.mm:
1882         * platform/SharedBuffer.cpp:
1883         (WebCore::SharedBuffer::clear):
1884         (WebCore::SharedBuffer::buffer):
1885         * platform/SharedBuffer.h:
1886         * platform/cf/SharedBufferCF.cpp:
1887         * platform/network/ResourceHandle.h:
1888         * platform/network/ResourceHandleClient.h:
1889         * platform/network/cf/ResourceHandleCFNet.cpp:
1890         (WebCore::ResourceHandle::createCFURLConnection):
1891         * platform/network/mac/ResourceHandleMac.mm:
1892
1893 2011-09-01  Kentaro Hara  <haraken@google.com>
1894
1895         TypeError should be thrown when a constructor is called as a normal function.
1896         https://bugs.webkit.org/show_bug.cgi?id=67381
1897
1898         Reviewed by Darin Adler.
1899
1900         The spec is here: http://www.w3.org/TR/WebIDL/#es-interface-call
1901         For example, "Image()" or "XMLHttpRequest()" should throw TypeError.
1902
1903         Test: fast/dom/call-a-constructor-as-a-function.html
1904
1905         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1906         (WebCore::V8ArrayBuffer::constructorCallback): Throws TypeError if args.IsConstructCall() is false.
1907         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1908         (WebCore::constructWebGLArray): Ditto.
1909         * bindings/v8/custom/V8AudioContextCustom.cpp:
1910         (WebCore::V8AudioContext::constructorCallback): Ditto.
1911         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1912         (WebCore::V8DOMFormData::constructorCallback): Ditto.
1913         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1914         (WebCore::v8HTMLAudioElementConstructorCallback): Ditto.
1915         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1916         (WebCore::v8HTMLImageElementConstructorCallback): Ditto.
1917         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1918         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
1919         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1920         (WebCore::V8MessageChannel::constructorCallback): Ditto.
1921         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
1922         (WebCore::V8SharedWorker::constructorCallback): Ditto.
1923         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1924         (WebCore::V8WebKitCSSMatrix::constructorCallback): Ditto.
1925         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1926         (WebCore::V8WebKitPoint::constructorCallback): Ditto.
1927         * bindings/v8/custom/V8WebSocketCustom.cpp:
1928         (WebCore::V8WebSocket::constructorCallback): Ditto.
1929         * bindings/v8/custom/V8WorkerCustom.cpp:
1930         (WebCore::V8Worker::constructorCallback): Ditto.
1931
1932 2011-08-31  Adrienne Walker  <enne@google.com>
1933
1934         [chromium] TextureManager overestimates the size of non-RGBA texture formats
1935         https://bugs.webkit.org/show_bug.cgi?id=66917
1936
1937         Reviewed by James Robinson.
1938
1939         Use GraphicsContext3D to determine the size of a given texture format.
1940         Also, make TextureManager use more GraphicsContext3D types.
1941
1942         * platform/graphics/GraphicsContext3D.h:
1943         * platform/graphics/chromium/TextureManager.cpp:
1944         (WebCore::memoryUseBytes):
1945         * platform/graphics/chromium/TextureManager.h:
1946
1947 2011-09-01  Sam Weinig  <sam@webkit.org>
1948
1949         Add missing Event constructors to DOMWindow.idl
1950         https://bugs.webkit.org/show_bug.cgi?id=67449
1951
1952         Reviewed by Anders Carlsson.
1953
1954         Covered by existing tests.
1955
1956         * page/DOMWindow.idl:
1957
1958 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
1959
1960         Consider Conditional attribute in CodeGenerator for methods
1961         https://bugs.webkit.org/show_bug.cgi?id=67409
1962
1963         Reviewed by Darin Adler.
1964
1965         This change adds appropriate #if ENABLE() lines for the preprocessor around the
1966         generated functions depending on the Conditional attribute in the IDL file.
1967
1968         * bindings/scripts/CodeGeneratorCPP.pm:
1969         (GenerateImplementation):
1970         * bindings/scripts/CodeGeneratorJS.pm:
1971         (GenerateImplementation):
1972         * bindings/scripts/CodeGeneratorObjC.pm:
1973         (GenerateImplementation):
1974         * bindings/scripts/CodeGeneratorV8.pm:
1975         (GenerateImplementation):
1976         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1977         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1978         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1979         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1980         * bindings/scripts/test/JS/JSTestObj.cpp:
1981         * bindings/scripts/test/JS/JSTestObj.h:
1982         * bindings/scripts/test/ObjC/DOMTestObj.h:
1983         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1984         * bindings/scripts/test/TestObj.idl:
1985         * bindings/scripts/test/V8/V8TestObj.cpp:
1986
1987 2011-08-29  Nat Duca  <nduca@chromium.org>
1988
1989         [chromium] Introduce CCSingleThreadProxy in order to move LayerRenderer to CCLayerTreeHostImpl
1990         https://bugs.webkit.org/show_bug.cgi?id=66807
1991
1992         Reviewed by James Robinson.
1993
1994         * WebCore.gypi:
1995         * platform/graphics/chromium/ContentLayerChromium.cpp:
1996         (WebCore::ContentLayerChromium::createTextureUpdater):
1997         * platform/graphics/chromium/ImageLayerChromium.cpp:
1998         (WebCore::ImageLayerChromium::createTextureUpdater):
1999         * platform/graphics/chromium/LayerChromium.cpp:
2000         (WebCore::LayerChromium::setLayerRendererRecursive):
2001         * platform/graphics/chromium/LayerChromium.h:
2002         * platform/graphics/chromium/LayerRendererChromium.cpp:
2003         (WebCore::LayerRendererChromium::create):
2004         (WebCore::LayerRendererChromium::LayerRendererChromium):
2005         (WebCore::LayerRendererChromium::initialize):
2006         (WebCore::LayerRendererChromium::close):
2007         (WebCore::LayerRendererChromium::updateLayers):
2008         (WebCore::LayerRendererChromium::drawLayers):
2009         (WebCore::LayerRendererChromium::drawLayersInternal):
2010         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
2011         (WebCore::LayerRendererChromium::isContextLost):
2012         * platform/graphics/chromium/LayerRendererChromium.h:
2013         (WebCore::LayerRendererChromium::capabilities):
2014         (WebCore::LayerRendererChromium::rootLayerImpl):
2015         (WebCore::LayerRendererChromium::contextSupportsMapSub):
2016         (WebCore::LayerRendererChromium::viewportSize):
2017         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2018         * platform/graphics/chromium/TiledLayerChromium.cpp:
2019         (WebCore::TiledLayerChromium::setLayerTreeHost):
2020         * platform/graphics/chromium/VideoLayerChromium.cpp:
2021         (WebCore::VideoLayerChromium::reserveTextures):
2022         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2023         (WebCore::CCCanvasLayerImpl::draw):
2024         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2025         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2026         (WebCore::CCLayerTreeHost::initialize):
2027         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2028         (WebCore::CCLayerTreeHost::animateAndLayout):
2029         (WebCore::CCLayerTreeHost::preCommit):
2030         (WebCore::CCLayerTreeHost::commitTo):
2031         (WebCore::CCLayerTreeHost::createCompositorThread):
2032         (WebCore::CCLayerTreeHost::createLayerTreeHostContext3D):
2033         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
2034         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2035         (WebCore::CCLayerTreeHost::scheduleComposite):
2036         (WebCore::CCLayerTreeHost::context):
2037         (WebCore::CCLayerTreeHost::compositeAndReadback):
2038         (WebCore::CCLayerTreeHost::finishAllRendering):
2039         (WebCore::CCLayerTreeHost::layerRendererCapabilities):
2040         (WebCore::CCLayerTreeHost::setRootLayer):
2041         (WebCore::CCLayerTreeHost::skiaContext):
2042         (WebCore::CCLayerTreeHost::setViewport):
2043         (WebCore::CCLayerTreeHost::setVisible):
2044         (WebCore::CCLayerTreeHost::loseCompositorContext):
2045         (WebCore::CCLayerTreeHost::contentsTextureManager):
2046         (WebCore::CCLayerTreeHost::composite):
2047         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2048         (WebCore::CCSettings::CCSettings):
2049         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2050         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
2051         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2052         (WebCore::CCLayerTreeHostImpl::create):
2053         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2054         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2055         (WebCore::CCLayerTreeHostImpl::commitComplete):
2056         (WebCore::CCLayerTreeHostImpl::context):
2057         (WebCore::CCLayerTreeHostImpl::drawLayers):
2058         (WebCore::CCLayerTreeHostImpl::finishAllRendering):
2059         (WebCore::CCLayerTreeHostImpl::isContextLost):
2060         (WebCore::CCLayerTreeHostImpl::layerRendererCapabilities):
2061         (WebCore::CCLayerTreeHostImpl::present):
2062         (WebCore::CCLayerTreeHostImpl::readback):
2063         (WebCore::CCLayerTreeHostImpl::setRootLayer):
2064         (WebCore::CCLayerTreeHostImpl::setVisible):
2065         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2066         (WebCore::CCLayerTreeHostImpl::updateLayers):
2067         (WebCore::CCLayerTreeHostImpl::setViewport):
2068         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2069         (WebCore::CCLayerTreeHostImpl::layerRenderer):
2070         (WebCore::CCLayerTreeHostImpl::rootLayer):
2071         (WebCore::CCLayerTreeHostImpl::viewportSize):
2072         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
2073         * platform/graphics/chromium/cc/CCMainThreadTask.h:
2074         (WebCore::MainThreadTask4::create):
2075         (WebCore::MainThreadTask4::MainThreadTask4):
2076         (WebCore::MainThreadTask4::performTask):
2077         (WebCore::MainThreadTask5::create):
2078         (WebCore::MainThreadTask5::MainThreadTask5):
2079         (WebCore::MainThreadTask5::performTask):
2080         (WebCore::createMainThreadTask):
2081         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2082         (WebCore::CCPluginLayerImpl::draw):
2083         * platform/graphics/chromium/cc/CCProxy.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp.
2084         (WebCore::CCProxy::isMainThread):
2085         (WebCore::CCProxy::isImplThread):
2086         (WebCore::CCProxy::setImplThread):
2087         * platform/graphics/chromium/cc/CCProxy.h: Added.
2088         (WebCore::CCProxy::~CCProxy):
2089         (WebCore::CCProxy::CCProxy):
2090         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: Added.
2091         (WebCore::ScopedSetImplThread::ScopedSetImplThread):
2092         (WebCore::ScopedSetImplThread::~ScopedSetImplThread):
2093         (WebCore::CCSingleThreadProxy::create):
2094         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2095         (WebCore::CCSingleThreadProxy::start):
2096         (WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
2097         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2098         (WebCore::CCSingleThreadProxy::context):
2099         (WebCore::CCSingleThreadProxy::finishAllRendering):
2100         (WebCore::CCSingleThreadProxy::isStarted):
2101         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
2102         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
2103         (WebCore::CCSingleThreadProxy::loseCompositorContext):
2104         (WebCore::CCSingleThreadProxy::setNeedsCommitAndRedraw):
2105         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2106         (WebCore::CCSingleThreadProxy::stop):
2107         (WebCore::CCSingleThreadProxy::skiaContext):
2108         (WebCore::CCSingleThreadProxy::contentsTextureManager):
2109         (WebCore::CCSingleThreadProxy::compositeImmediately):
2110         (WebCore::CCSingleThreadProxy::compositeIfNeeded):
2111         (WebCore::CCSingleThreadProxy::doComposite):
2112         * platform/graphics/chromium/cc/CCSingleThreadProxy.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
2113         * platform/graphics/chromium/cc/CCThreadProxy.cpp: Added.
2114         (WebCore::CCThreadProxy::create):
2115         (WebCore::CCThreadProxy::CCThreadProxy):
2116         (WebCore::CCThreadProxy::~CCThreadProxy):
2117         (WebCore::CCThreadProxy::compositeAndReadback):
2118         (WebCore::CCThreadProxy::context):
2119         (WebCore::CCThreadProxy::finishAllRendering):
2120         (WebCore::CCThreadProxy::isStarted):
2121         (WebCore::CCThreadProxy::initializeLayerRenderer):
2122         (WebCore::CCThreadProxy::layerRendererCapabilities):
2123         (WebCore::CCThreadProxy::loseCompositorContext):
2124         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2125         (WebCore::CCThreadProxy::setNeedsRedraw):
2126         (WebCore::CCThreadProxy::start):
2127         (WebCore::CCThreadProxy::stop):
2128         (WebCore::CCThreadProxy::skiaContext):
2129         (WebCore::CCThreadProxy::contentsTextureManager):
2130         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2131         (WebCore::CCThreadProxy::beginFrameAndCommit):
2132         (WebCore::CCThreadProxy::commitOnCCThread):
2133         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2134         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2135         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2136         (WebCore::CCThreadProxy::initializeImplOnCCThread):
2137         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
2138         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
2139         * platform/graphics/chromium/cc/CCThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h.
2140         * platform/graphics/chromium/cc/CCThreadTask.h:
2141         (WebCore::CCThreadTask5::create):
2142         (WebCore::CCThreadTask5::CCThreadTask5):
2143         (WebCore::CCThreadTask5::performTask):
2144         (WebCore::createCCThreadTask):
2145         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2146         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2147         (WebCore::CCVideoLayerImpl::draw):
2148
2149 2011-09-01  Dan Bernstein  <mitz@apple.com>
2150
2151         <rdar://problem/9528843> STIX glyphs not rendered on this stackoverflow answer
2152         https://bugs.webkit.org/show_bug.cgi?id=67444
2153
2154         Reviewed by Darin Adler.
2155
2156         Test: fast/text/fallback-traits-fixup.html
2157
2158         After obtaining STIX Regular as a fallback font for some characters, getFontDataForCharacters()
2159         proceeded to ask for a font from the same family having the desired traits and weight (because
2160         wkGetFontInLanguageForRange() does not preserve traits and weight). The returned font was different
2161         and happened to not contain the desired character.
2162
2163         * platform/graphics/mac/FontCacheMac.mm:
2164         (WebCore::FontCache::getFontDataForCharacters): Only ask for a family member with the desired
2165         traits and weight if the substitute font does not already have them, and only use the returned
2166         member if it actually contains the desired character.
2167
2168 2011-09-01  Kentaro Hara  <haraken@google.com>
2169
2170         Generate an XSLTProcessor constructor of V8 using the IDL 'Constructor' extended attribute
2171         https://bugs.webkit.org/show_bug.cgi?id=67414
2172
2173         Reviewed by Dimitri Glazkov.
2174
2175         Test: fast/dom/Window/custom-constructors.html
2176               fast/xsl/default-html.html
2177
2178         * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Removed constructorCallback().
2179         * xml/XSLTProcessor.idl: Added the 'Constructor' extended attribute.
2180
2181 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
2182
2183         HTMLMediaElement should use fastHasAttribute instead of hasAttribute
2184         https://bugs.webkit.org/show_bug.cgi?id=67421
2185
2186         Reviewed by Simon Fraser.
2187
2188         Use fastHasAttribute instead of hasAttribute because it is faster, and HTMLMediaElement
2189         doesn't ever need to check style or SVG animated attributes.
2190
2191         No new tests required, this is just an optimization.
2192
2193         * html/HTMLMediaElement.cpp:
2194         (WebCore::HTMLMediaElement::selectMediaResource): hasAttribute -> fastHasAttribute.
2195         (WebCore::HTMLMediaElement::loadResource): Ditto.
2196         (WebCore::HTMLMediaElement::autoplay): Ditto.
2197         (WebCore::HTMLMediaElement::loop): Ditto.
2198         (WebCore::HTMLMediaElement::controls): Ditto.
2199         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
2200         (WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
2201
2202 2011-09-01  Dominic Mazzoni  <dmazzoni@google.com>
2203
2204         Add API functions to enable starting and stopping speech input,
2205         and checking the current speech input state.
2206         https://bugs.webkit.org/show_bug.cgi?id=60170
2207
2208         Reviewed by Dimitri Glazkov.
2209
2210         Test: fast/speech/input-text-speechstart.html
2211
2212         * html/shadow/TextControlInnerElements.cpp:
2213         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2214         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2215         (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
2216         * html/shadow/TextControlInnerElements.h:
2217         * rendering/RenderTextControlSingleLine.cpp:
2218         (WebCore::RenderTextControlSingleLine::speechButtonElement):
2219         * rendering/RenderTextControlSingleLine.h:
2220
2221 2011-09-01  Tim Horton  <timothy_horton@apple.com>
2222
2223         REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape
2224         https://bugs.webkit.org/show_bug.cgi?id=53055
2225         <rdar://problem/8910917>
2226
2227         Reviewed by Simon Fraser.
2228
2229         Make use of wkCGPatternCreateWithImageAndTransform
2230         when tiling patterns in both directions. This helps to avoid
2231         pixel-cracking along pattern tiling boundaries.
2232
2233         Ignore 2D rotation when computing the size of a pattern's tile image,
2234         as it artificially inflates the size of the tile, which can cause
2235         pixel-cracking.
2236
2237         Test: svg/custom/pattern-rotate-gaps.svg
2238
2239         * platform/graphics/cg/PatternCG.cpp:
2240         (WebCore::Pattern::createPlatformPattern):
2241         * rendering/svg/RenderSVGResourcePattern.cpp:
2242         * rendering/svg/SVGImageBufferTools.cpp:
2243         (WebCore::SVGImageBufferTools::roundedImageBufferSize):
2244         * rendering/svg/SVGImageBufferTools.h:
2245
2246 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
2247
2248         Unreviewed, rolling out r94284.
2249         http://trac.webkit.org/changeset/94284
2250         https://bugs.webkit.org/show_bug.cgi?id=65050
2251
2252         Broke building without SVG enabled on Chromium.
2253
2254         * page/DOMWindow.idl:
2255
2256 2011-09-01  Alexey Proskuryakov  <ap@apple.com>
2257
2258         REGRESSION (r93247): 2 http/tests/misc tests failing on SnowLeopard Intel Release (Tests)
2259         https://bugs.webkit.org/show_bug.cgi?id=67374
2260
2261         Reviewed by Simon Fraser.
2262
2263         * platform/network/cf/ResourceHandleCFNet.cpp:
2264         (WebCore::applyBasicAuthorizationHeader):
2265         * platform/network/mac/ResourceHandleMac.mm:
2266         (WebCore::applyBasicAuthorizationHeader):
2267         Some versions of CFNetwork carry along an Authorization header, some don't. We shouldn't
2268         repeat its value twice, this is not one of those headers that allow comma separated lists
2269         of values.
2270
2271 2011-09-01  Noel Gordon  <noel.gordon@gmail.com>
2272
2273         [chromium] Move ImageBuffer::platformLayer()
2274         https://bugs.webkit.org/show_bug.cgi?id=67372
2275
2276         Reviewed by Kenneth Russell.
2277
2278         No new tests: refactoring only, covered by existting tests.
2279
2280         * platform/graphics/skia/ImageBufferSkia.cpp:
2281         (WebCore::ImageBuffer::platformLayer):  Move it away from the toDataURL code.
2282
2283 2011-09-01  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
2284
2285         Focus ring is rendered incorrectly for a block with -webkit-writing-mode
2286         https://bugs.webkit.org/show_bug.cgi?id=62915
2287
2288         Reviewed by Simon Fraser.
2289
2290         RenderBlock::addFocusRingRects() should consider physical box position and
2291         dimension instead of logical values for focus ring rects calculation.
2292
2293         Test: fast/css/focus-ring-multiline-writingmode-vertical.html
2294
2295         * rendering/RenderBlock.cpp:
2296         (WebCore::RenderBlock::addFocusRingRects):
2297
2298 2011-09-01  Philippe Normand  <pnormand@igalia.com>
2299
2300         Unreviewed, GTK build fix after r94299.
2301
2302         * GNUmakefile.list.am:
2303
2304 2011-09-01  Brian Salomon  <bsalomon@google.com>
2305
2306         [Chromium/Skia] Use GraphicsContext3D::grContext() to create GrContext for accelerated drawing
2307         https://bugs.webkit.org/show_bug.cgi?id=67419
2308
2309         Reviewed by James Robinson.
2310
2311         Accelerated drawing is not enabled in layout tests. However, once it is this change will be tested by every test.
2312
2313         * platform/graphics/chromium/ContentLayerChromium.cpp:
2314         (WebCore::ContentLayerChromium::createTextureUpdater):
2315         * platform/graphics/chromium/LayerRendererChromium.cpp:
2316         (WebCore::contextSupportsAcceleratedPainting):
2317         (WebCore::LayerRendererChromium::initialize):
2318         * platform/graphics/chromium/LayerRendererChromium.h:
2319         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2320         (WebCore::LayerTextureUpdaterSkPicture::create):
2321         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
2322         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
2323         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
2324         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2325
2326 2011-09-01  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
2327
2328         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
2329         https://bugs.webkit.org/show_bug.cgi?id=67172
2330
2331         Build fix, completing rename for GTK file.
2332
2333         Reviewed by Chris Marrin.
2334
2335         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.cpp.
2336         (sharedDisplay):
2337         (WebCore::activeGraphicsContexts):
2338         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
2339         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
2340         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
2341         (WebCore::GraphicsContext3DPrivate::create):
2342         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
2343         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
2344         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2345         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2346         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2347
2348 2011-09-01  Simon Fraser  <simon.fraser@apple.com>
2349
2350         REGRESSION (r94259): Two tests doing hit testing were broken by this change.
2351         https://bugs.webkit.org/show_bug.cgi?id=67353
2352
2353         Reviewed by Chris Marrin.
2354
2355         Fix a regression from r94259; that change missed a fix in RenderView,
2356         which affects coordinate transforms in position:fixed elements.
2357         
2358         This fixes these tests:
2359             fast/events/document-elementFromPoint.html
2360             fast/events/offsetX-offsetY.html
2361             plugins/mouse-events-fixedpos.html
2362
2363         * rendering/RenderView.cpp:
2364         (WebCore::RenderView::mapAbsoluteToLocalPoint):
2365
2366 2011-09-01  Tony Gentilcore  <tonyg@chromium.org>
2367
2368         [chromium] Fonts returned by FontCache::getFontDataForCharacters() are never released
2369         https://bugs.webkit.org/show_bug.cgi?id=66673
2370
2371         Reviewed by James Robinson.
2372
2373         This was fixed for other ports in http://trac.webkit.org/changeset/88260.
2374         However, it was missed in FontCacheLinux likely due to similar param in the nested call to getCachedFontPlatformData().
2375
2376         No new tests because no directly observable change in behavior.
2377
2378         * platform/graphics/chromium/FontCacheLinux.cpp:
2379         (WebCore::FontCache::getFontDataForCharacters):
2380
2381 2011-08-31  Mikhail Naganov  <mnaganov@chromium.org>
2382
2383         Web Inspector: [Chromium] Perform a more effective JS GC
2384         https://bugs.webkit.org/show_bug.cgi?id=67304
2385
2386         Reviewed by Pavel Feldman.
2387
2388         * bindings/v8/ScriptProfiler.cpp:
2389         (WebCore::ScriptProfiler::collectGarbage):
2390
2391 2011-09-01  Sam Weinig  <sam@webkit.org>
2392
2393         WebGLContextEvent should have its own JS wrapper
2394         https://bugs.webkit.org/show_bug.cgi?id=67352
2395
2396         Reviewed by Anders Carlsson.
2397
2398         The WebGLContextEvent was missing a proper JS wrapper, and thus
2399         anyone using one in an EventListener was actually just getting
2400         a plain old Event. Rectify this by generating the wrapper and 
2401         wrapping it on creating.
2402
2403         Test: fast/canvas/webgl/WebGLContextEvent.html
2404
2405         * CodeGenerators.pri:
2406         Add WebGLContextEvent.idl
2407
2408         * DerivedSources.make:
2409         Add WebGLContextEvent and sort.
2410
2411         * WebCore.xcodeproj/project.pbxproj:
2412         Add generated JSWebGLContextEvent.h/cpp.
2413
2414         * bindings/js/JSEventCustom.cpp:
2415         (WebCore::toJS):
2416         Wrap WebGLContextEvents as JSWebGLContextEvents.
2417
2418         * dom/Event.cpp:
2419         (WebCore::Event::isWebGLContextEvent):
2420         * dom/Event.h:
2421         * html/canvas/WebGLContextEvent.cpp:
2422         (WebCore::WebGLContextEvent::isWebGLContextEvent):
2423         * html/canvas/WebGLContextEvent.h:
2424         Add predicate for WebGLContextEvent.
2425
2426 2011-09-01  Eric Carlson  <eric.carlson@apple.com>
2427
2428         Add 'muted' content attribute to HTMLMediaElement
2429         https://bugs.webkit.org/show_bug.cgi?id=58369
2430
2431         Reviewed by Darin Adler.
2432
2433         Test: media/video-defaultmuted.html
2434
2435         * html/HTMLAttributeNames.in: Add muted.
2436         * html/HTMLMediaElement.cpp:
2437         (WebCore::HTMLMediaElement::loadResource): Deal with the 'muted' attribute.
2438         * html/HTMLMediaElement.idl: Add defaultMuted.
2439
2440 2011-09-01  Tim Horton  <timothy_horton@apple.com>
2441
2442         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
2443         https://bugs.webkit.org/show_bug.cgi?id=53055
2444         <rdar://problem/8910917>
2445
2446         Reviewed by Simon Fraser.
2447
2448         Introduce wkCGPatternCreateWithImageAndTransform.
2449
2450         * WebCore.exp.in:
2451         * platform/mac/WebCoreSystemInterface.h:
2452         * platform/mac/WebCoreSystemInterface.mm:
2453
2454 2011-08-30  Adrienne Walker  <enne@google.com>
2455
2456         [chromium] Fix scissor rects on clipped nested iframes
2457         https://bugs.webkit.org/show_bug.cgi?id=67221
2458
2459         Reviewed by James Robinson.
2460
2461         Layers that mask to bounds (like iframes) weren't being properly
2462         clipped if their parent scissor rect was empty. This case happens
2463         when a parent iframe is clipped. Fixed by propagating the empty
2464         scissor rect to child layers rather than ignoring it.
2465
2466         Test: compositing/iframes/nested-composited-iframe.html
2467
2468         * platform/graphics/chromium/LayerRendererChromium.cpp:
2469
2470 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
2471
2472         Web Inspector: close dedicated worker inspectors when page inspector is closing
2473         https://bugs.webkit.org/show_bug.cgi?id=67366
2474
2475         Close all dedicated worker inspector windows when page inspector is closing.
2476
2477         Reviewed by Pavel Feldman.
2478
2479         * inspector/front-end/WorkerManager.js:
2480         (WebInspector.WorkerManager.prototype._openInspectorWindow):
2481         (WebInspector.WorkerManager.prototype._pageInspectorClosing):
2482         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
2483         * inspector/front-end/inspector.js:
2484         (WebInspector.close):
2485
2486 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
2487
2488         [Chromium] Web Inspector: dedicated worker inspection is broken
2489         https://bugs.webkit.org/show_bug.cgi?id=67279
2490
2491         Provide transport for inspector messages between Page and DedicatedWorker inspectors
2492         in case of in-process workers.
2493
2494         Reviewed by Pavel Feldman.
2495
2496         * inspector/CodeGeneratorInspector.pm: sendMessageObjectToBackend should accept message
2497         object which is ready for sending to backend. This method is overriden in WorkerManager
2498         for dedicated workers and we don't want to replicate request id assignment there.
2499         * workers/WorkerMessagingProxy.cpp:
2500         (WebCore::PostMessageToPageInspectorTask::create):
2501         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
2502         (WebCore::PostMessageToPageInspectorTask::performTask):
2503         (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
2504         (WebCore::connectToWorkerContextInspectorTask):
2505         (WebCore::WorkerMessagingProxy::connectToInspector):
2506         (WebCore::disconnectFromWorkerContextInspectorTask):
2507         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
2508         (WebCore::dispatchOnInspectorBackendTask):
2509         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2510         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2511         * workers/WorkerMessagingProxy.h:
2512
2513 2011-09-01  Csaba Osztrogonác  <ossy@webkit.org>
2514
2515         [CSS3 Backgrounds and Borders] Implement border-image-slice
2516         https://bugs.webkit.org/show_bug.cgi?id=67321
2517
2518         * WebCore.pro: Unreviewed buildfix after Dave "scattered" Hyatt (r94299).
2519
2520 2011-09-01  Ned Holbrook  <nholbrook@apple.com>
2521
2522         Typesetting features need not force complex for single-character runs
2523         https://bugs.webkit.org/show_bug.cgi?id=66498
2524
2525         Typesetting features have no effect on a solitary character, so they shouldn't enable complex layout
2526         unless multiple characters are present.
2527
2528         Reviewed by Dan Bernstein.
2529
2530         No new tests, this is merely a performance optimization.
2531
2532         * platform/graphics/Font.cpp:
2533         (WebCore::Font::codePath): typesettingFeatures() only forces Complex for multiple-character runs.
2534
2535 2011-08-31  Jeff Miller  <jeffm@apple.com>
2536
2537         Defer creating AVPlayer and AVPlayerItem in MediaPlayerPrivateAVFoundation::setPreload()
2538         https://bugs.webkit.org/show_bug.cgi?id=66253
2539
2540         Reviewed by Jon Honeycutt.
2541
2542         No new tests, should be covered by existing media tests.
2543
2544         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2545         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Use the same code on Mac and Windows to only create the AVPlayer and AVPlayerItem when needed.
2546
2547         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2548         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Assign any existing AVPlayerItem to the new AVPlayer.
2549         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Allow creation of the AVPlayerItem before the AVPlayer.
2550
2551 2011-08-31  David Hyatt  <hyatt@apple.com>
2552
2553         https://bugs.webkit.org/show_bug.cgi?id=67321
2554
2555         Implement border-image-slice. This will eventually be a component of the new border-image shorthand
2556         property. It holds the cuts that you make into the border image along with a new optional "fill"
2557         keyword that indicates whether or not the center should be filled with the middle slice of the image.
2558         
2559         By default -webkit-border-image has always filled, but this does not match the specification. To preserve
2560         backwards compatibility, -webkit-border-image will continue to fill by default, but this does slightly affect
2561         computed style results, since the "fill" keyword will now be included in property dumps.
2562
2563         Reviewed by Beth Dakin.
2564
2565         Added fast/borders/border-image-slices.html.
2566
2567         * CMakeLists.txt:
2568         * WebCore.gypi:
2569         * WebCore.pro:
2570         * WebCore.vcproj/WebCore.vcproj:
2571         * WebCore.xcodeproj/project.pbxproj:
2572         * css/CSSBorderImageSliceValue.cpp: Added.
2573         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
2574         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
2575         (WebCore::CSSBorderImageSliceValue::cssText):
2576         * css/CSSBorderImageSliceValue.h: Added.
2577         (WebCore::CSSBorderImageSliceValue::create):
2578         (WebCore::CSSBorderImageSliceValue::isBorderImageSliceValue):
2579         Add a new CSSBorderImageSliceValue that holds both the four slices (as a CSS rect) and the
2580         fill keyword (as a boolean). Note that the cssText() dumping of the slices has been refined
2581         to be smarter, and it will no longer dump repeating values.
2582
2583         * css/CSSBorderImageValue.cpp:
2584         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
2585         (WebCore::CSSBorderImageValue::cssText):
2586         * css/CSSBorderImageValue.h:
2587         (WebCore::CSSBorderImageValue::create):
2588         CSSBorderImageValue now owns a CSSBorderImageSliceValue instead of just a CSS rect.
2589
2590         * css/CSSComputedStyleDeclaration.cpp:
2591         (WebCore::valueForNinePieceImageSlice):
2592         (WebCore::valueForNinePieceImage):
2593         Add a new method, valueForNinePieceImageSlice, for getting the slices plus the fill value
2594         from the NinePieceImage and putting it into a CSSBorderImageSliceValue. This method is now used by
2595         valueForNinePieceImage to get the CSSBorderImageSliceValue that is part of the overall
2596         CSSBorderImageValue.
2597     
2598         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2599         Adding support for the new properties: border-image-slice and -webkit-mask-box-image-slice.
2600
2601         * css/CSSParser.cpp:
2602         (WebCore::CSSParser::parseValue):
2603         (WebCore::BorderImageParseContext::BorderImageParseContext):
2604         (WebCore::BorderImageParseContext::allowBreak):
2605         (WebCore::BorderImageParseContext::commitImage):
2606         (WebCore::BorderImageParseContext::commitSlice):
2607         (WebCore::BorderImageParseContext::commitSlash):
2608         (WebCore::BorderImageParseContext::commitBorderImage):
2609         (WebCore::CSSParser::parseBorderImage):
2610         Modify parseBorderImage to no longer parse the slices itself. Instead it farms out the parsing
2611         to parseBorderImageSlice.
2612
2613         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2614         (WebCore::BorderImageSliceParseContext::allowNumber):
2615         (WebCore::BorderImageSliceParseContext::allowFill):
2616         (WebCore::BorderImageSliceParseContext::allowFinalCommit):
2617         (WebCore::BorderImageSliceParseContext::top):
2618         (WebCore::BorderImageSliceParseContext::commitNumber):
2619         (WebCore::BorderImageSliceParseContext::commitFill):
2620         (WebCore::BorderImageSliceParseContext::setAllowFinalCommit):
2621         (WebCore::BorderImageSliceParseContext::setTop):
2622         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2623         (WebCore::CSSParser::parseBorderImageSlice):
2624         Slice parsing has now been broken out so that it can be parsed as a single property. In addition
2625         support for the "fill" keyword has been added to control image filling.
2626
2627         * css/CSSParser.h:
2628         Modified to add the new parseBorderImageSlice method.
2629
2630         * css/CSSPropertyNames.in:
2631         Add the new properties: border-image-slice and -webkit-mask-box-image-slice.
2632
2633         * css/CSSStyleSelector.cpp:
2634         (WebCore::CSSStyleSelector::applyProperty):
2635         (WebCore::CSSStyleSelector::mapNinePieceImage):
2636         Rework mapNinePieceImage to call mapNinePieceImageSlice so that the mapping can be done just for
2637         the slices.
2638
2639         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
2640         A new method that handles mapping just the slices into the front-end NinePieceImage.
2641
2642         (WebCore::CSSStyleSelector::loadPendingImages):
2643         Modified to ensure the fill value is preserved when box-reflect makes a new NinePieceImage.
2644
2645         * css/CSSStyleSelector.h:
2646         Added the new mapNinePieceImageSlice method.
2647
2648         * css/CSSValue.h:
2649         (WebCore::CSSValue::isBorderImageSliceValue):
2650         Virtual function for identifying border image slice values.
2651
2652         * rendering/RenderBoxModelObject.cpp:
2653         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2654         The painting of the nine piece image has been modified to match the specification. The "fill"
2655         keyword controls whether or not the middle is painted.
2656
2657         * rendering/style/NinePieceImage.cpp:
2658         (WebCore::NinePieceImage::operator==):
2659         The fill keyword has to be checked now for equality.
2660
2661         * rendering/style/NinePieceImage.h:
2662         (WebCore::NinePieceImage::NinePieceImage):
2663         (WebCore::NinePieceImage::fill):
2664         (WebCore::NinePieceImage::setFill):
2665         Added the fill keyword to the front end NinePieceImage.
2666
2667         (WebCore::NinePieceImage::copySlicesFrom):
2668         Added a helper to copy only the slices over from another NinePieceImage. Used when inheriting
2669         the border-image-slice property from a parent style.
2670
2671 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
2672
2673         Web Inspector: Decode query/form parameters names as well as values.
2674         https://bugs.webkit.org/show_bug.cgi?id=67393
2675
2676         Reviewed by Yury Semikhatsky.
2677
2678         * inspector/front-end/ResourceHeadersView.js:
2679         (WebInspector.ResourceHeadersView.prototype._decodeURIComponent):
2680         (WebInspector.ResourceHeadersView.prototype._refreshParms):
2681
2682 2011-08-31  Pavel Podivilov  <podivilov@chromium.org>
2683
2684         Web Inspector: remove PresentationBreakpoint class.
2685         https://bugs.webkit.org/show_bug.cgi?id=67275
2686
2687         Reviewed by Yury Semikhatsky.
2688
2689         * inspector/front-end/BreakpointsSidebarPane.js:
2690         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
2691         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
2692         * inspector/front-end/DebuggerPresentationModel.js:
2693         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2694         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2695
2696 2011-08-31  Steve Block  <steveblock@google.com>
2697
2698         Clean up all mentions of Android in comments
2699         https://bugs.webkit.org/show_bug.cgi?id=67303
2700
2701         Also removes some superfluous guards and methods added for Android.
2702
2703         Reviewed by Darin Adler.
2704
2705         No new tests, removing dead code only.
2706
2707         * WebCorePrefix.h:
2708           Chromium uses this file only on Mac, so these Android guards are no
2709           longer required.
2710         * bindings/v8/NPV8Object.cpp:
2711         * bindings/v8/NPV8Object.h:
2712           Including npruntime.h for non-Chromium ports was added in
2713           http://trac.webkit.org/changeset/53634 for Android. However, this
2714           file is included in WebCore.pro, so leaving the guard in place.
2715         * bindings/v8/ScriptCachedFrameData.h:
2716           This code was added for Android in
2717           http://trac.webkit.org/changeset/56716 but is now also used by QT. The
2718           comment should have been removed in
2719           http://trac.webkit.org/changeset/93573.
2720         * dom/Document.cpp:
2721         (WebCore::Document::Document):
2722         (WebCore::Document::isLayoutTimerActive):
2723         (WebCore::Document::minimumLayoutDelay):
2724         * dom/Document.h:
2725           This method was added for Android in
2726           http://trac.webkit.org/changeset/52919 and modified in
2727           http://trac.webkit.org/changeset/79775. It is no longer needed.
2728
2729 2011-09-01  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
2730
2731         [Qt] Build dependency problems
2732         https://bugs.webkit.org/show_bug.cgi?id=38054
2733
2734         Make clean build after the defines are changed.
2735
2736         Reviewed by Csaba Osztrogonác.
2737
2738         * features.pri:
2739
2740 2011-09-01  Vsevolod Vlasov  <vsevik@chromium.org>
2741
2742         Web Inspector: Network error messages in console should link to the respective request in network panel if there is one.
2743         https://bugs.webkit.org/show_bug.cgi?id=65550
2744
2745         Reviewed by Yury Semikhatsky.
2746
2747         * inspector/front-end/ConsoleMessage.js:
2748         (WebInspector.ConsoleMessage.prototype._formatMessage):
2749         * inspector/front-end/NetworkPanel.js:
2750         (WebInspector.NetworkLogView.prototype.refresh):
2751         (WebInspector.NetworkLogView.prototype.switchToBriefView):
2752         (WebInspector.NetworkLogView.prototype.searchCanceled):
2753         (WebInspector.NetworkLogView.prototype.revealAndHighlightResource):
2754         (WebInspector.NetworkLogView.prototype._removeAllNodeHighlights):
2755         (WebInspector.NetworkLogView.prototype._highlightNode):
2756         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
2757         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
2758         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
2759         * inspector/front-end/networkLogView.css:
2760         (.network-log-grid tr.highlighted-row):
2761         (from):
2762         (to):
2763
2764 2011-09-01  Patrick Gansterer  <paroga@webkit.org>
2765
2766         Replace preprocessor statements in DOMWindow.idl with Conditional attribute
2767         https://bugs.webkit.org/show_bug.cgi?id=65050
2768
2769         Reviewed by Brent Fulgham.
2770
2771         Many attributes use the [Conditional=XXX] syntax already.
2772         Unify the declaration of conditional attributes of DOMWindow
2773         with the corresponding Conditional attribute.
2774         This reduces the need of the preprocessor which is the
2775         the source of much pain on native windows.
2776
2777         * page/DOMWindow.idl:
2778
2779 2011-09-01  Yuta Kitamura  <yutak@chromium.org>
2780
2781         WebSocket: Fix bufferedAmount after WebSocket is closed
2782         https://bugs.webkit.org/show_bug.cgi?id=67363
2783
2784         Reviewed by Kent Tamura.
2785
2786         Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
2787
2788         * websockets/WebSocket.cpp:
2789         (WebCore::WebSocket::send):
2790         (WebCore::WebSocket::getFramingOverhead):
2791         * websockets/WebSocket.h:
2792
2793 2011-09-01  Keishi Hattori  <keishi@webkit.org>
2794
2795         Rename colorSelected to didChooseColor
2796         https://bugs.webkit.org/show_bug.cgi?id=67271
2797
2798         Reviewed by Kent Tamura.
2799
2800         * WebCore.exp.in:
2801         * html/ColorInputType.cpp:
2802         (WebCore::ColorInputType::didChooseColor): Renamed colorSelected to didChooseColor so it follows common naming practice.
2803         * html/ColorInputType.h:
2804         * platform/ColorChooser.cpp:
2805         (WebCore::ColorChooser::didChooseColor): Renamed.
2806         * platform/ColorChooser.h:
2807
2808 2011-09-01  Adam Barth  <abarth@webkit.org>
2809
2810         Attempt to fix Windows build.
2811
2812         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2813
2814 2011-08-31  Adam Barth  <abarth@webkit.org>
2815
2816         [Chromium] Rename PlatformBridge to PlatformSupport
2817         https://bugs.webkit.org/show_bug.cgi?id=67349
2818
2819         Reviewed by Darin Fisher.
2820
2821         This matches the WebKitPlatformSupport embedder API.
2822
2823         * WebCore.gypi:
2824         * WebCore.pro:
2825         * bindings/v8/NPV8Object.cpp:
2826         (_NPN_Evaluate):
2827         * bindings/v8/ScriptController.cpp:
2828         (WebCore::ScriptController::createScriptInstanceForWidget):
2829         * bindings/v8/V8DOMWindowShell.cpp:
2830         (WebCore::reportFatalErrorInV8):
2831         * bindings/v8/V8GCController.cpp:
2832         * bindings/v8/V8Proxy.cpp:
2833         (WebCore::V8Proxy::handleOutOfMemory):
2834         (WebCore::V8Proxy::evaluate):
2835         * bindings/v8/V8Proxy.h:
2836         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2837         (WebCore::histogramEnumeration):
2838         * page/PageGroup.cpp:
2839         (WebCore::PageGroup::isLinkVisited):
2840         * platform/audio/chromium/AudioBusChromium.cpp:
2841         (WebCore::AudioBus::loadPlatformResource):
2842         (WebCore::createBusFromInMemoryAudioFile):
2843         * platform/chromium/ChromiumDataObject.cpp:
2844         (WebCore::ChromiumDataObject::types):
2845         (WebCore::ChromiumDataObject::getData):
2846         (WebCore::ChromiumDataObject::getSequenceNumber):
2847         (WebCore::ChromiumDataObject::containsFilenames):
2848         * platform/chromium/DataTransferItemChromium.cpp:
2849         (WebCore::DataTransferItemChromium::getAsString):
2850         (WebCore::DataTransferItemChromium::getAsFile):
2851         * platform/chromium/DragDataChromium.cpp:
2852         (WebCore::DragData::asURL):
2853         * platform/chromium/FileSystemChromium.cpp:
2854         (WebCore::deleteFile):
2855         (WebCore::deleteEmptyDirectory):
2856         (WebCore::getFileSize):
2857         (WebCore::getFileModificationTime):
2858         (WebCore::revealFolderInOS):
2859         (WebCore::directoryName):
2860         (WebCore::pathByAppendingComponent):
2861         (WebCore::makeAllDirectories):
2862         (WebCore::fileExists):
2863         (WebCore::openFile):
2864         (WebCore::closeFile):
2865         (WebCore::seekFile):
2866         (WebCore::truncateFile):
2867         (WebCore::readFromFile):
2868         (WebCore::writeToFile):
2869         * platform/chromium/LanguageChromium.cpp:
2870         (WebCore::platformDefaultLanguage):
2871         * platform/chromium/LinkHashChromium.cpp:
2872         (WebCore::visitedLinkHash):
2873         * platform/chromium/MIMETypeRegistryChromium.cpp:
2874         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2875         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
2876         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2877         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2878         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2879         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2880         * platform/chromium/PasteboardChromium.cpp:
2881         (WebCore::Pasteboard::writeSelection):
2882         (WebCore::Pasteboard::writePlainText):
2883         (WebCore::Pasteboard::writeURL):
2884         (WebCore::Pasteboard::writeImage):
2885         (WebCore::Pasteboard::canSmartReplace):
2886         (WebCore::Pasteboard::plainText):
2887         (WebCore::Pasteboard::documentFragment):
2888         * platform/chromium/PlatformBridge.h: Removed.
2889         * platform/chromium/PlatformScreenChromium.cpp:
2890         (WebCore::screenDepth):
2891         (WebCore::screenDepthPerComponent):
2892         (WebCore::screenIsMonochrome):
2893         (WebCore::screenRect):
2894         (WebCore::screenAvailableRect):
2895         * platform/chromium/PlatformSupport.h: Copied from Source/WebCore/platform/chromium/PlatformBridge.h.
2896         * platform/chromium/SSLKeyGeneratorChromium.cpp:
2897         (WebCore::signedPublicKeyAndChallengeString):
2898         * platform/chromium/ScrollbarThemeChromium.cpp:
2899         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2900         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
2901         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2902         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2903         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2904         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
2905         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
2906         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2907         (WebCore::scrollbarStateToThemeState):
2908         (WebCore::ScrollbarThemeChromiumMac::paint):
2909         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2910         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
2911         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2912         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2913         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
2914         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2915         * platform/chromium/SharedTimerChromium.cpp:
2916         (WebCore::setSharedTimerFiredFunction):
2917         (WebCore::setSharedTimerFireInterval):
2918         (WebCore::stopSharedTimer):
2919         * platform/chromium/SuddenTerminationChromium.cpp:
2920         (WebCore::disableSuddenTermination):
2921         (WebCore::enableSuddenTermination):
2922         * platform/chromium/TraceEvent.h:
2923         (WebCore::internal::ScopeTracer::ScopeTracer):
2924         (WebCore::internal::ScopeTracer::~ScopeTracer):
2925         * platform/graphics/chromium/ContentLayerChromium.cpp:
2926         (WebCore::ContentLayerPainter::paint):
2927         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2928         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2929         (WebCore::fontContainsCharacter):
2930         (WebCore::FillLogFont):
2931         * platform/graphics/chromium/FontCacheLinux.cpp:
2932         (WebCore::FontCache::getFontDataForCharacters):
2933         * platform/graphics/chromium/FontChromiumWin.cpp:
2934         (WebCore::drawGlyphsWin):
2935         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2936         (WebCore::FontPlatformData::scriptFontProperties):
2937         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2938         (WebCore::FontPlatformData::querySystemForRenderStyle):
2939         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2940         (WebCore::fillBMPGlyphs):
2941         * platform/graphics/chromium/ImageChromium.cpp:
2942         (WebCore::Image::loadPlatformResource):
2943         * platform/graphics/chromium/ImageChromiumMac.mm:
2944         (WebCore::Image::loadPlatformResource):
2945         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2946         (WebCore::SimpleFontData::platformInit):
2947         (WebCore::SimpleFontData::determinePitch):
2948         (WebCore::SimpleFontData::platformWidthForGlyph):
2949         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2950         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
2951         * platform/graphics/skia/FontCustomPlatformData.cpp:
2952         (WebCore::FontCustomPlatformData::fontPlatformData):
2953         * platform/network/chromium/CookieJarChromium.cpp:
2954         (WebCore::setCookies):
2955         (WebCore::cookies):
2956         (WebCore::cookieRequestHeaderFieldValue):
2957         (WebCore::cookiesEnabled):
2958         (WebCore::getRawCookies):
2959         (WebCore::deleteCookie):
2960         * platform/network/chromium/DNSChromium.cpp:
2961         (WebCore::prefetchDNS):
2962         * platform/qt/PlatformBridge.h: Removed.
2963         * platform/qt/PlatformBridgeQt.cpp: Removed.
2964         * platform/qt/PlatformSupport.h: Copied from Source/WebCore/platform/qt/PlatformBridge.h.
2965         * platform/qt/PlatformSupportQt.cpp: Copied from Source/WebCore/platform/qt/PlatformBridgeQt.cpp.
2966         (WebCore::PlatformSupport::popupsAllowed):
2967         (WebCore::PlatformSupport::pluginScriptableObject):
2968         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2969         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2970         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
2971         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2972         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2973         * plugins/chromium/PluginDataChromium.cpp:
2974         (WebCore::PluginCache::plugins):
2975         * rendering/RenderThemeChromiumLinux.cpp:
2976         (WebCore::getWebThemeState):
2977         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
2978         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
2979         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
2980         (WebCore::RenderThemeChromiumLinux::paintRadio):
2981         (WebCore::RenderThemeChromiumLinux::setRadioSize):
2982         (WebCore::RenderThemeChromiumLinux::paintButton):
2983         (WebCore::RenderThemeChromiumLinux::paintTextField):
2984         (WebCore::RenderThemeChromiumLinux::paintMenuList):
2985         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
2986         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
2987         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
2988         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
2989         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
2990         * rendering/RenderThemeChromiumMac.mm:
2991         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2992         * rendering/RenderThemeChromiumSkia.cpp:
2993         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2994         * rendering/RenderThemeChromiumWin.cpp:
2995         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2996         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2997         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2998         (WebCore::RenderThemeChromiumWin::systemColor):
2999         (WebCore::RenderThemeChromiumWin::paintButton):
3000         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
3001         (WebCore::menuListButtonWidth):
3002         (WebCore::RenderThemeChromiumWin::paintMenuList):
3003         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3004         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
3005         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3006         * storage/chromium/IDBFactoryBackendInterface.cpp:
3007         (WebCore::IDBFactoryBackendInterface::create):
3008         * storage/chromium/IDBKeyPathBackendImpl.cpp:
3009         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
3010         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
3011         * storage/chromium/QuotaTracker.cpp:
3012         (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
3013
3014 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
3015
3016         Crash when inserting text with a trailing newline into a textarea via JS
3017         https://bugs.webkit.org/show_bug.cgi?id=66241
3018
3019         Reviewed by Darin Adler and Kent Tamura.
3020
3021         The crash was caused by updateFromElement biting on the editing code.
3022
3023         When there is a style rule that applies on text nodes inside the shadow DOM, DOM modifications made
3024         by the editing code may trigger style recalculation on input or textarea elements in the midst of editing
3025         commands. In response to this style recalculation, HTMLInputElement::updateFromElement and
3026         HTMLTextAreaElement::updateFromElement call setInnerTextValue to re-create the text nodes in the
3027         shadow DOM. The editing code blows up because setInnerTextValue detaches old text nodes referenced by
3028         Positions and VisiblePositions held by the editing commands in progress.
3029
3030         Fixed the crash by stop calling setInnerTextValue in updateFromElement. Instead, WebKit now creates
3031         the text nodes when attributes, descendent nodes, etc... of input or textarea element changes.
3032
3033         Tests: fast/forms/update-from-element-during-editing-crash-1.html
3034                fast/forms/update-from-element-during-editing-crash-2.html
3035
3036         * html/HTMLInputElement.cpp:
3037         (WebCore::HTMLInputElement::updateType): Force calling setInnerTextValue when input type changes.
3038         (WebCore::HTMLInputElement::updateInnerTextValue): Extracted from RenderTextControlSingleLine's
3039         updateElement.
3040         (WebCore::HTMLInputElement::parseMappedAttribute): Calls updateInnerTextValue; force calling
3041         setInnerTextValue when -webkit-speech attribute changes. In the theory, we should be able to call it less
3042         frequently but there are too many cases to consider at the moment.
3043         (WebCore::HTMLInputElement::setValue): Calls updateInnerTextValue when the value actually changed.
3044         Note we need to call it before we set or restore selection.
3045         * html/HTMLInputElement.h:
3046         * html/HTMLTextAreaElement.cpp:
3047         (WebCore::HTMLTextAreaElement::childrenChanged): Calls updateInnerTextValue when textarea's descendants
3048         nodes are changed by parser or scripts.
3049         (WebCore::HTMLTextAreaElement::setValueCommon): Calls updateInnerTextValue when the value changes.
3050         * html/HTMLTextFormControlElement.h:
3051         * html/NumberInputType.cpp:
3052         (WebCore::NumberInputType::willBlur): Calls updateInnerTextValue because input[type=number] forces
3053         the value to be valid on blur.
3054         * rendering/RenderTextControlMultiLine.cpp: Removed RenderTextControlMultiLine::updateFromElement.
3055         * rendering/RenderTextControlMultiLine.h: Ditto.
3056         * rendering/RenderTextControlSingleLine.cpp:
3057         (WebCore::RenderTextControlSingleLine::updateFromElement):
3058
3059 2011-08-31  Tom Zakrajsek  <tomz@codeaurora.org>
3060
3061         Fix snow-leopard regression caused by r93982
3062         https://bugs.webkit.org/show_bug.cgi?id=67301
3063
3064         Reviewed by Kenneth Russell.
3065
3066         Test: canvas/philip/tests/2d.path.stroke.prune.arc.html
3067
3068         * html/canvas/CanvasRenderingContext2D.cpp:
3069         (WebCore::CanvasRenderingContext2D::arc):
3070
3071 2011-08-31  Keishi Hattori  <keishi@webkit.org>
3072
3073         Rename closeColorChooser to cleanupColorChooser
3074         https://bugs.webkit.org/show_bug.cgi?id=67270
3075
3076         Reviewed by Kent Tamura.
3077
3078         * html/ColorInputType.cpp:
3079         (WebCore::ColorInputType::~ColorInputType):
3080         (WebCore::ColorInputType::detach):
3081         (WebCore::ColorInputType::cleanupColorChooserIfCurrentClient): NSColorPanel shouldn't be closed but the color
3082         chooser listeners need to be taken care of. Therefore closeColorChooser will be renamed to cleanupColorChooser.
3083         This will close the color chooser on platforms where appropriate.
3084         * html/ColorInputType.h:
3085         * loader/EmptyClients.h:
3086         (WebCore::EmptyChromeClient::cleanupColorChooser): Rename.
3087         * page/Chrome.cpp:
3088         (WebCore::Chrome::cleanupColorChooser): Rename.
3089         * page/Chrome.h:
3090         * page/ChromeClient.h:
3091
3092 2011-08-31  Kent Tamura  <tkent@chromium.org>
3093
3094         REGRESSION(r88115): "Choose File" button doesn't respect font-size property for the <input>
3095         https://bugs.webkit.org/show_bug.cgi?id=67181
3096
3097         Reviewed by Dimitri Glazkov.
3098
3099         r88115 removed the code to make inherited style of the owner input
3100         element, and html.css contains "font: -webkit-small-control" for
3101         input element. So -webkit-file-upload-button always had
3102         -webkit-small-control font.
3103
3104         Test: fast/forms/file/file-style-inheritance.html
3105
3106         * css/html.css:
3107         (input[type="file"]::-webkit-file-upload-button):
3108         Specify font-size:inherit explicitly.
3109
3110 2011-08-31  Chris Rogers  <crogers@google.com>
3111
3112         Do more rigorous bounds checking in AudioBufferSourceNode::renderFromBuffer()
3113         https://bugs.webkit.org/show_bug.cgi?id=67351
3114
3115         Reviewed by Dirk Pranke.
3116
3117         No new tests since this does not change JavaScript API.
3118
3119         * webaudio/AudioBufferSourceNode.cpp:
3120         (WebCore::AudioBufferSourceNode::renderFromBuffer):
3121
3122 2011-08-31  Keishi Hattori  <keishi@webkit.org>
3123
3124         Remove closeColorChooser call from FrameLoader::transitionToCommitted
3125         https://bugs.webkit.org/show_bug.cgi?id=67267
3126
3127         Reviewed by Darin Adler.
3128
3129         * html/ColorInputType.cpp:
3130         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Moved order to match header.
3131         * html/ColorInputType.h:
3132         * loader/FrameLoader.cpp:
3133         (WebCore::FrameLoader::transitionToCommitted): Remove ColorInputType::closeColorChooserIfCurrentClient call.
3134         It wasn't the right place to directly manipulate the UI.
3135
3136 2011-08-31  Chris Rogers  <crogers@google.com>
3137
3138         Add defensive bounds checking for AudioNode methods
3139         https://bugs.webkit.org/show_bug.cgi?id=67346
3140
3141         Reviewed by Anders Carlsson.
3142
3143         No new tests since this does not change JavaScript API.
3144
3145         * webaudio/AudioNode.cpp:
3146         (WebCore::AudioNode::input):
3147         (WebCore::AudioNode::output):
3148
3149 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
3150
3151         TransformState.move() should be negated in the unapply code path
3152         https://bugs.webkit.org/show_bug.cgi?id=66246
3153
3154         Reviewed by Chris Marrin.
3155
3156         Code using TransformState was confused about when to negate the arguments
3157         to move() in the "UnapplyInverseTransform" direction (used by mapAbsoluteToLocal).
3158         
3159         Made the move() path equivalent to the applyTransform() path by not requiring
3160         the caller to negate, and instead negating inside move().
3161         
3162         Fixed the erroneous negation in TransformState::move() when accumulating;
3163         that negation will happen later via matrix inversion.
3164
3165         No behavior change.
3166
3167         * platform/graphics/ca/GraphicsLayerCA.cpp:
3168         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3169         * platform/graphics/transforms/TransformState.cpp:
3170         (WebCore::TransformState::move):
3171         * rendering/RenderBox.cpp:
3172         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
3173         * rendering/RenderInline.cpp:
3174         (WebCore::RenderInline::mapAbsoluteToLocalPoint):
3175
3176 2011-08-31  Pratik Solanki  <psolanki@apple.com>
3177
3178         Fix compile issues when enabling HAVE(CFNETWORK_DATA_ARRAY_CALLBACK)
3179         https://bugs.webkit.org/show_bug.cgi?id=67332
3180
3181         Reviewed by Darin Adler.
3182
3183         * loader/mac/ResourceLoaderMac.mm:
3184         (WebCore::ResourceLoader::didReceiveDataArray):
3185         * platform/network/cf/ResourceHandleCFNet.cpp:
3186
3187 2011-08-31  Dan Bernstein  <mitz@apple.com>
3188
3189         Refined the heuristic introduced to fix <rdar://problem/10002140> Text gets clipped in
3190         multi-column layouts when overflow:auto is used.
3191         https://bugs.webkit.org/show_bug.cgi?id=67212
3192
3193         Reviewed by Dave Hyatt.
3194
3195         Test: fast/multicol/overflow-across-columns-percent-height.html
3196
3197         * rendering/RenderBox.cpp:
3198         (WebCore::percentageLogicalHeightIsResolvable): Added. This follows logic similar to the one
3199         in computePercentageLogicalHeight() to determine whether percentage values for height properties
3200         are resolved or treated as "auto".
3201         (WebCore::RenderBox::hasUnsplittableScrollingOverflow): If min-height or max-height are specified
3202         as a percentage but actually resolve to "auto", don’t let that prevent splitting.
3203
3204 2011-08-31  Ryosuke Niwa  <rniwa@webkit.org>
3205
3206         Move text() and textWithHardLineBreaks() from RenderTextControl to HTMLTextFormControlElement
3207         https://bugs.webkit.org/show_bug.cgi?id=67320
3208
3209         Reviewed by Darin Adler.
3210
3211         Moved and renamed RenderText::text and RenderText::textWithHardLineBreaks to
3212         HTMLTextFormControlElement::innerTextValue and HTMLTextFormControlElement::valueWithHardLineBreaks.
3213
3214         * accessibility/AccessibilityRenderObject.cpp:
3215         (WebCore::AccessibilityRenderObject::text):
3216         * html/HTMLInputElement.cpp:
3217         (WebCore::HTMLInputElement::subtreeHasChanged):
3218         * html/HTMLTextAreaElement.cpp:
3219         (WebCore::HTMLTextAreaElement::appendFormData): Calls valueWithHardLineBreaks. It doesn't have to check
3220         the existence of renderer anymore because valueWithHardLineBreaks returns value() when renderer do not
3221         exist unlike RenderText::textWithHardLineBreaks returned emptyString() in such cases. This is the only place
3222         valueWithHardLineBreaks is ever called; but we can't move valueWithHardLineBreaks because it calls
3223         finishText.
3224         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
3225         (WebCore::HTMLTextAreaElement::updateValue):
3226         * html/HTMLTextFormControlElement.cpp:
3227         (WebCore::HTMLTextFormControlElement::selectedText):
3228         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
3229         (WebCore::finishText): Moved from RenderText.cpp
3230         (WebCore::HTMLTextFormControlElement::innerTextValue): Ditto.
3231         (WebCore::getNextSoftBreak): Ditto.
3232         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks): Ditto; this function returns value()
3233         when there are no renderers or root inline boxes instead of emptyString().
3234         * html/HTMLTextFormControlElement.h:
3235         * html/NumberInputType.cpp:
3236         (WebCore::NumberInputType::hasUnacceptableValue):
3237         * html/SearchInputType.cpp:
3238         (WebCore::SearchInputType::startSearchEventTimer):
3239         * html/TextFieldInputType.cpp:
3240         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
3241         * rendering/RenderTextControl.cpp:
3242         * rendering/RenderTextControl.h:
3243
3244 2011-08-31  Jeff Miller  <jeffm@apple.com>
3245
3246         REGRESSION(92210): AVFoundation media engine is disabled on OS X
3247         https://bugs.webkit.org/show_bug.cgi?id=67316
3248         
3249         Move the definition of WTF_USE_AVFOUNDATION on the Mac back to JavaScriptCore/wtf/Platform.h,
3250         since WebKit2 doesn't have access to WebCore/config.h on this platform. This reverts the
3251         changes that were made in r92210.
3252
3253         Reviewed by Darin Adler.
3254
3255         No new tests, covered by existing media tests.
3256
3257         * config.h: Removed definition of WTF_USE_AVFOUNDATION on the Mac, add a comment about fixing this on Windows in the future.
3258
3259 2011-08-31  Sailesh Agrawal  <sail@chromium.org>
3260
3261         [Chromium] Switching between overlay and opaque scrollbars causes glitches
3262         https://bugs.webkit.org/show_bug.cgi?id=62686
3263
3264         Reviewed by Beth Dakin.
3265
3266         When switching from opaque scrollbars to overlay scrollbars the page content size wouldn't change leaving a empty region under the overlay scrollbar.
3267
3268         The problem was that we were relying on ScrollView::updateScrollbars() to kick off a layout. Unfortunately this doesn't happen because updateScrollbars doesn't distinguish between overlay and opaque scrollbars.
3269
3270         To fix this I'm explicitly invalidating the layout when ScrollView::scrollbarStyleChanged() is called.
3271
3272         No tests because there are no Mac 10.7 chromium bots yet. Bug 66504 will track the work to add these tests once the bots are in place.
3273
3274         * platform/ScrollView.cpp:
3275         (WebCore::ScrollView::scrollbarStyleChanged):
3276
3277 2011-08-31  Alexey Proskuryakov  <ap@apple.com>
3278
3279         http/tests/eventsource/workers/eventsource-simple.html is a flaky crash because of
3280         eventsource-status-error-iframe-crash.html
3281         https://bugs.webkit.org/show_bug.cgi?id=61523
3282
3283         Reviewed by Nate Chapin.
3284
3285         The problem here was that canceling EventSource during frame removal erroneously resulted
3286         in event dispatch, and event handler re-entered frame destruction code.
3287
3288         * page/EventSource.h: Renamed endRequest() to networkRequestEnded(), because this method
3289         doesn't end request. It implements "reestablish the connection" or "fail the connection"
3290         algotithms from the spec, depending on current state.
3291         Removed m_failSilently, since we can make this decision with existing data, and want to
3292         fail silently by default (e.g. when detaching a frame cancels all loads).
3293
3294         * page/EventSource.cpp:
3295         (WebCore::EventSource::EventSource): Don't initialize m_failSilently.
3296         (WebCore::EventSource::~EventSource): Assert taht we are in a correct state.
3297         (WebCore::EventSource::connect): Ditto.
3298         (WebCore::EventSource::networkRequestEnded): Moved errorevent dispatch elsewhere.
3299         (WebCore::EventSource::scheduleReconnect): Error event should always be queued when
3300         reconnecting; firing it synchronously after starting m_reconnectTimer implements that.
3301         (WebCore::EventSource::reconnectTimerFired): Assert that state is correct (the timer is
3302         stopped if EventSource is stopped while waiting on the timer).
3303         (WebCore::EventSource::close): Don't set m_state before calling cancel() - it will indirectly
3304         call didFail(), which asserts that EventSource is not stopped yet.
3305         (WebCore::EventSource::didReceiveResponse): Explicitly dispatch an error event, since it
3306         is no longer dispatched when canceling, and canceling is the only way to stop a ThreadableLoader.
3307         Removed a special case for 2xx responses, since it's no longer in the spec.
3308         (WebCore::EventSource::didReceiveData): Assert that state is correct.
3309         (WebCore::EventSource::didFinishLoading): Don't set state to CONNECTING after parsing remaining
3310         response bytes - that may well result in dispatching an event whose handler calls close().
3311         (WebCore::EventSource::didFail): It's simple now - we always reconnect unless the request
3312         got canceled.
3313         (WebCore::EventSource::didFailRedirectCheck): Dispatch error event explicitly, as we are
3314         not going to attempt reconnecting.
3315
3316 2011-08-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3317
3318         Unreviewed, rolling out r94116.
3319         http://trac.webkit.org/changeset/94116
3320         https://bugs.webkit.org/show_bug.cgi?id=67323
3321
3322         caused a lot of tests failures (Requested by thorton on
3323         #webkit).
3324
3325         * platform/graphics/cg/PathCG.cpp:
3326         (WebCore::Path::boundingRect):
3327
3328 2011-08-31  Alexei Svitkine  <asvitkine@chromium.org>
3329
3330         Chromium Mac: Tweak rubber banding overhang shadows. Add a drop shadow from the browser's toolbar.
3331         https://bugs.webkit.org/show_bug.cgi?id=67289
3332
3333         Chromium bug: http://crbug.com/93228
3334
3335         Reviewed by Dimitri Glazkov.
3336
3337         No new tests, since this merely tweaks Chromium overhang area appearance.
3338
3339         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3340         (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
3341         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
3342
3343 2011-08-31  Tony Chang  <tony@chromium.org>
3344
3345         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
3346         https://bugs.webkit.org/show_bug.cgi?id=67168
3347
3348         Reviewed by Adam Barth.
3349
3350         webcore_bindings_sources, debugger_script_source, injected_script_source, and
3351         inspector_protocol_sources generates various files (e.g., CSSPropertyNames,
3352         DerivedSources, HTMLNames, etc).  webcore_bindings depends on *_sources and compiles
3353         these files.  Previously, the other webcore libs (webcore_svg, webcore_html,
3354         webcore_remaining, etc) depended on webcore_bindings.  This moves the *_sources
3355         dependencies from webcore_bindings to the other webcore libs so the build can
3356         parallelize the compile of webcore_bindings and the other webcore_* libs.
3357
3358         Also copy over the include dirs that we used to get from webcore_bindings'
3359         direct_dependent_settings.
3360
3361         No new tests, just changing the build dependencies.
3362
3363         * WebCore.gyp/WebCore.gyp:
3364
3365 2011-08-31  Tony Gentilcore  <tonyg@chromium.org>
3366
3367         Minor cleanup: remove inScriptExecution()
3368         https://bugs.webkit.org/show_bug.cgi?id=67276
3369
3370         Reviewed by Adam Barth.
3371
3372         At one point inScriptExecution() existed as a non-virtual duplicate of isExecutingScript()
3373         to avoid virtual method calls from a tight loop. Now we aren't calling it anywhere perf
3374         sensitive, so remove the duplication.
3375
3376         No new tests because no change in functionality.
3377
3378         * html/parser/HTMLDocumentParser.cpp:
3379         (WebCore::HTMLDocumentParser::isExecutingScript):
3380         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3381         (WebCore::HTMLDocumentParser::notifyFinished):
3382         * html/parser/HTMLDocumentParser.h:
3383         (WebCore::HTMLDocumentParser::shouldDelayEnd):
3384
3385 2011-08-31  Tom Sepez  <tsepez@chromium.org>
3386
3387         Fix XSS filter bypass by multiply decoding both the URL and the body
3388         snippet until they are in the most minimal form before comparison.
3389         https://bugs.webkit.org/show_bug.cgi?id=66585
3390
3391         Reviewed by Adam Barth.
3392
3393         * html/parser/XSSAuditor.cpp:
3394         (WebCore::fullyDecodeString):
3395         (WebCore::XSSAuditor::init):
3396         (WebCore::XSSAuditor::filterToken):
3397         (WebCore::XSSAuditor::isContainedInRequest):
3398
3399 2011-08-31  Simon Fraser  <simon.fraser@apple.com>
3400
3401         Crash with -webkit-radial-gradient(top) gradient
3402         https://bugs.webkit.org/show_bug.cgi?id=66686
3403
3404         Reviewed by Darin Adler.
3405         
3406         Null-check the current value after calling parseFillPosition(),
3407         since it may be null for gradients with degenerate arguments.
3408
3409         Test: fast/gradients/css3-radial-gradient-crash.html
3410
3411         * css/CSSParser.cpp:
3412         (WebCore::CSSParser::parseRadialGradient):
3413
3414 2011-08-31  Nico Weber  <thakis@chromium.org>
3415
3416         Make ScrollAnimator(Chromium)?Mac check scrollAnimatorEnabled()
3417         https://bugs.webkit.org/show_bug.cgi?id=67297
3418
3419         Reviewed by Tony Chang.
3420
3421         I need this to disable smooth scrolling in chromium tests. I'm making
3422         the change to ScrollAnimatorMac to make unforking the file easier. I
3423         changed scrollAnimatorEnabled() to default to true so that this change
3424         is a no-op for Safari; in chromium the flag is set explicitly to true
3425         or false anyway.
3426
3427         * page/Settings.cpp:
3428         (WebCore::Settings::Settings):
3429         * platform/chromium/ScrollAnimatorChromiumMac.mm:
3430         (WebCore::ScrollAnimatorChromiumMac::scroll):
3431         * platform/mac/ScrollAnimatorMac.mm:
3432         (WebCore::ScrollAnimatorMac::scroll):
3433
3434 2011-08-31  Nate Chapin  <japhet@chromium.org>
3435
3436         Don't load resources with empty urls, since this
3437         will resolve to the current document.
3438         https://bugs.webkit.org/show_bug.cgi?id=30303
3439
3440         Reviewed by Darin Adler.
3441
3442         Test: http/tests/loading/empty-urls.html
3443
3444         * dom/ScriptElement.cpp:
3445         (WebCore::ScriptElement::requestScript): If src="", fail through
3446             to the error event case.
3447         * html/HTMLLinkElement.cpp:
3448         (WebCore::HTMLLinkElement::parseMappedAttribute): Ensure the url
3449             stays empty if we try to resolve an empty href.
3450         * loader/ImageLoader.cpp:
3451         (WebCore::ImageLoader::updateFromElement): Throw an error instead of
3452             loading if the src is empty in all cases, not just local files.
3453
3454 2011-08-28  Robert Hogan  <robert@webkit.org>
3455