Disable C++ exceptions when building with clang
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-13  Anders Carlsson  <andersca@apple.com>
2
3         Disable C++ exceptions when building with clang
4         https://bugs.webkit.org/show_bug.cgi?id=68031
5         <rdar://problem/9556880>
6
7         Reviewed by Mark Rowe.
8
9         * Configurations/Base.xcconfig:
10
11 2011-09-13  Beth Dakin  <bdakin@apple.com>
12
13         https://bugs.webkit.org/show_bug.cgi?id=67885
14         Outline for the high-resolution broken image icon draws at 2x
15         -and corresponding-
16         <rdar://problem/10104637>
17
18         Reviewed by Dan Bernstein.
19
20         Scaled the image size to account for the deviceScaleFactor. 
21         * rendering/RenderImage.cpp:
22         (WebCore::RenderImage::imageSizeForError):
23
24 2011-09-13  Eric Seidel  <eric@webkit.org>
25
26         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
27         https://bugs.webkit.org/show_bug.cgi?id=68018
28
29         Reviewed by Ryosuke Niwa.
30
31         * Configurations/FeatureDefines.xcconfig:
32         * DerivedSources.make:
33         * GNUmakefile.am:
34         * WebCore.exp.in:
35         * dom/DOMImplementation.cpp:
36         (WebCore::isSVG10Feature):
37         (WebCore::isSVG11Feature):
38         * dom/Text.cpp:
39         (WebCore::Text::createRenderer):
40         * features.pri:
41         * page/DOMWindow.idl:
42         * rendering/svg/RenderSVGForeignObject.cpp:
43         * rendering/svg/RenderSVGForeignObject.h:
44         * svg/SVGAnimateMotionElement.cpp:
45         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
46         * svg/SVGForeignObjectElement.cpp:
47         * svg/SVGForeignObjectElement.h:
48         * svg/SVGForeignObjectElement.idl:
49         * svg/SVGLocatable.cpp:
50         (WebCore::isViewportElement):
51         * svg/SVGSVGElement.cpp:
52         (WebCore::SVGSVGElement::isOutermostSVG):
53         * svg/SVGUseElement.cpp:
54         (WebCore::isDisallowedElement):
55         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
56         * svg/svgtags.in:
57
58 2011-09-13  Joseph Pecoraro  <joepeck@webkit.org>
59
60         CRASH under WebCore::ArchiveResourceCollection::addAllResources loading WebArchive
61         https://bugs.webkit.org/show_bug.cgi?id=67983
62
63         Reviewed by Darin Adler.
64
65         Null mimetypes are okay for subresources, but as previously discovered
66         in bug 41082 they were required for main resources. Here we ensure
67         that they are required for main resources, but we allow null mimetypes
68         for subresources.
69
70         To fix a crash for bad input we never add a null ArchiveResource to the
71         Archive's subresource collection. It is useless and causes crashes whenever
72         someone iterates the Archive's subresource collection.
73
74         Test: webarchive/loading/test-loading-archive-subresource-null-mimetype.html
75
76         * loader/archive/cf/LegacyWebArchive.cpp:
77         (WebCore::LegacyWebArchive::createResource):
78         Allow a null mimetype, just type check from the dictionary.
79
80         (WebCore::LegacyWebArchive::extract):
81         Require a mimetype for the main resource. Do not add null
82         subresources to the subresource list.
83
84 2011-09-13  Mihai Parparita  <mihaip@chromium.org>
85
86         [Chromium] Remove javascript_engine from WebCore.gyp
87         https://bugs.webkit.org/show_bug.cgi?id=68001
88
89         Reviewed by Tony Chang.
90
91         Remove javascript_engine GYP variable (similar to the removal done on
92         the Chromium side with http://crrev.com/100692)
93
94         * WebCore.gyp/WebCore.gyp:
95
96 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
97
98         [CSS3 Backgrounds and Borders] Add unprefixed border-image shorthand.
99         https://bugs.webkit.org/show_bug.cgi?id=67970
100
101         Reviewed by David Hyatt.
102
103         Also update CSSStyleSelector.cpp to support border-image to suppress assertion in
104         fast/borders/border-image-omit-right-slice.html
105
106         * css/CSSStyleSelector.cpp:
107         (WebCore::CSSStyleSelector::applyProperty):
108         (WebCore::CSSStyleSelector::mapNinePieceImage):
109
110 2011-09-13  Xianzhu Wang  <wangxianzhu@chromium.org>
111
112         Reviewed by Darin Adler.
113
114         Webkit wraps between hyphen-minus and numeric characters 
115         https://bugs.webkit.org/show_bug.cgi?id=20677
116
117         Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
118         is not directly after a digit or a letter.
119
120         Test: fast/text/line-breaks-after-hyphen-before-number.html
121
122         * rendering/break_lines.cpp:
123         (WebCore::asciiLineBreakTable): Disabled line-breaking after '-' and before '.', '0'-'9'. Note: the change for '0'-'9' doesn't really matter because the case is handled hard-coded in shouldBreakAfter().
124         (WebCore::shouldBreakAfter): Changed line-breaking behavior after '-'.
125         (WebCore::nextBreakablePosition): Passes lastLastCh to shouldBreakAfter. 
126
127 2011-09-13  Erik Wright  <erikwright@chromium.org>
128
129         platform/graphics/gtk/FontGtk.cpp was renamed to platform/graphics/pango/FontPango.cpp . Reflect this change in WebCore.gypi to fix a Chromium build breakage.
130         https://bugs.webkit.org/show_bug.cgi?id=68000
131
132         Reviewed by Tony Gentilcore.
133
134         No change in functionality, thus no new tests.
135
136         * WebCore.gypi:
137
138 2011-09-10  Mikhail Naganov  <mnaganov@chromium.org>
139
140         Web Inspector: Profiler: Fix overlapping data in function names column.
141         https://bugs.webkit.org/show_bug.cgi?id=67896
142
143         Reviewed by Pavel Feldman.
144
145         * inspector/front-end/ProfileDataGridTree.js:
146         (WebInspector.ProfileDataGridNode.prototype.createCell):
147         * inspector/front-end/dataGrid.css:
148         (.data-grid table.data):
149         (.data-grid td):
150
151 2011-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>
152
153         Unreviewed, rolling out r95025.
154         http://trac.webkit.org/changeset/95025
155         https://bugs.webkit.org/show_bug.cgi?id=68005
156
157         Test failed on Snow Leopard bots. (Requested by yutak_home on
158         #webkit).
159
160         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
161         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
162         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
163         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
164         * websockets/ThreadableWebSocketChannelClientWrapper.h:
165
166 2011-09-13  Yuta Kitamura  <yutak@chromium.org>
167
168         ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
169         https://bugs.webkit.org/show_bug.cgi?id=67908
170
171         Reviewed by David Levin.
172
173         Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
174
175         No change in functionality, thus no new tests. WebSocket worker tests
176         (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
177
178         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
179         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
180         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
181         Create a String from Vector<UChar>.
182         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
183         Copy the content of the given String into Vector.
184         * websockets/ThreadableWebSocketChannelClientWrapper.h:
185
186 2011-09-13  Fumitoshi Ukai  <ukai@chromium.org>
187
188         Unreviewed, build fix.
189
190         CSSPropertyBorderImage was added in r94989, but not yet added in
191         WebCore::CSSStyleSelector::applyProperty
192
193         CSSStyleSelector.cpp:2481: warning: enumeration value 'CSSPropertyBorderImage' not handled in switch
194
195         * css/CSSStyleSelector.cpp:
196         (WebCore::CSSStyleSelector::applyProperty):
197
198 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
199
200         Crashes in WebCore::InsertListCommand::unlistifyParagraph.
201         https://bugs.webkit.org/show_bug.cgi?id=67918
202
203         Reviewed by Ryosuke Niwa.
204
205         execCommand("InsertUnorderedList") was crashing if the parent node of the target is
206         a kind of list element and it is not contenteditable.
207         This patch checks the parent node is contenteditable.
208
209         Test: editing/execCommand/insert-list-in-noneditable-list-parent.html
210
211         * editing/htmlediting.cpp:
212         (WebCore::enclosingListChild): Checks the parent node is contenteditable.
213
214 2011-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
215
216         Unreviewed, rolling out r94975.
217         http://trac.webkit.org/changeset/94975
218         https://bugs.webkit.org/show_bug.cgi?id=67984
219
220         crash in PrerenderBrowserTest.PrerenderHTML5VideoJs (Requested
221         by ukai on #webkit).
222
223         * platform/graphics/chromium/CanvasLayerChromium.h:
224         (WebCore::CanvasLayerChromium::layerTypeAsString):
225         * platform/graphics/chromium/ContentLayerChromium.h:
226         (WebCore::ContentLayerChromium::layerTypeAsString):
227         * platform/graphics/chromium/ImageLayerChromium.h:
228         (WebCore::ImageLayerChromium::layerTypeAsString):
229         * platform/graphics/chromium/LayerChromium.cpp:
230         (WebCore::LayerChromium::layerTreeAsText):
231         (WebCore::writeIndent):
232         (WebCore::LayerChromium::dumpLayer):
233         (WebCore::LayerChromium::dumpLayerProperties):
234         * platform/graphics/chromium/LayerChromium.h:
235         (WebCore::LayerChromium::layerTypeAsString):
236         * platform/graphics/chromium/LayerRendererChromium.cpp:
237         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
238         (WebCore::LayerRendererChromium::create):
239         (WebCore::LayerRendererChromium::LayerRendererChromium):
240         (WebCore::LayerRendererChromium::close):
241         (WebCore::LayerRendererChromium::releaseTextures):
242         (WebCore::LayerRendererChromium::drawLayers):
243         (WebCore::LayerRendererChromium::drawLayersInternal):
244         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
245         (WebCore::LayerRendererChromium::initializeSharedObjects):
246         (WebCore::LayerRendererChromium::cleanupSharedObjects):
247         (WebCore::LayerRendererChromium::layerTreeAsText):
248         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
249         * platform/graphics/chromium/LayerRendererChromium.h:
250         (WebCore::LayerRendererChromium::owner):
251         (WebCore::LayerRendererChromium::rootLayer):
252         (WebCore::LayerRendererChromium::rootLayerImpl):
253         (WebCore::LayerRendererChromium::viewportSize):
254         (WebCore::LayerRendererChromium::contentsTextureManager):
255         * platform/graphics/chromium/ManagedTexture.cpp:
256         (WebCore::ManagedTexture::bindTexture):
257         (WebCore::ManagedTexture::framebufferTexture2D):
258         * platform/graphics/chromium/PluginLayerChromium.h:
259         (WebCore::PluginLayerChromium::layerTypeAsString):
260         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
261         (WebCore::RenderSurfaceChromium::name):
262         (WebCore::writeIndent):
263         (WebCore::RenderSurfaceChromium::dumpSurface):
264         * platform/graphics/chromium/RenderSurfaceChromium.h:
265         * platform/graphics/chromium/TextureManager.cpp:
266         (WebCore::TextureManager::deleteEvictedTextures):
267         (WebCore::TextureManager::removeTexture):
268         (WebCore::TextureManager::allocateTexture):
269         (WebCore::TextureManager::requestTexture):
270         * platform/graphics/chromium/TextureManager.h:
271         (WebCore::TextureManager::setAssociatedContextDebugOnly):
272         (WebCore::TextureManager::associatedContextDebugOnly):
273         * platform/graphics/chromium/TiledLayerChromium.cpp:
274         (WebCore::writeIndent):
275         (WebCore::TiledLayerChromium::dumpLayerProperties):
276         * platform/graphics/chromium/TiledLayerChromium.h:
277         * platform/graphics/chromium/VideoLayerChromium.h:
278         (WebCore::VideoLayerChromium::layerTypeAsString):
279         * platform/graphics/chromium/WebGLLayerChromium.h:
280         (WebCore::WebGLLayerChromium::layerTypeAsString):
281         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
282         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
283         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
284         * platform/graphics/chromium/cc/CCLayerImpl.h:
285         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
286         (WebCore::CCLayerTreeHost::initialize):
287         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
288         (WebCore::CCLayerTreeHost::commitTo):
289         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
290         (WebCore::CCLayerTreeHost::setVisible):
291         (WebCore::CCLayerTreeHost::contentsTextureManager):
292         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
293         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
294         (WebCore::CCLayerTreeHostImpl::drawLayers):
295         (WebCore::CCLayerTreeHostImpl::setVisible):
296         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
297         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
298         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
299         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
300         * platform/graphics/chromium/cc/CCProxy.h:
301         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
302         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
303         (WebCore::CCSingleThreadProxy::stop):
304         (WebCore::CCSingleThreadProxy::contentsTextureManager):
305         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
306         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
307         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
308         (WebCore::CCThreadProxy::initializeLayerRenderer):
309         (WebCore::CCThreadProxy::contentsTextureManager):
310         (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
311         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
312         * platform/graphics/chromium/cc/CCThreadProxy.h:
313         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
314         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
315         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
316         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
317         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
318
319 2011-09-12  Joseph Pecoraro  <joepeck@webkit.org>
320
321         Possible ASSERT(!storageTracker) in Lazily Initialized StorageTracker
322         https://bugs.webkit.org/show_bug.cgi?id=67957
323
324         Reviewed by Darin Adler.
325
326         The storageTracker singleton may already have been created
327         through StorageTracker::tracker before initializeTracker
328         gets called. Update the ASSERT in this case to check that
329         there is no client for the tracker.
330
331         No test, this depends on how the port initializes the tracker.
332
333         * storage/StorageTracker.cpp:
334         (WebCore::StorageTracker::initializeTracker):
335
336 2011-09-12  Adam Klein  <adamk@chromium.org>
337
338         Fix out-of-bounds access in Gradient::sortStopsIfNecessary
339         https://bugs.webkit.org/show_bug.cgi?id=67958
340
341         Reviewed by Darin Adler.
342
343         Reported by Valgrind in http://crbug.com/77049.
344
345         The errant code was added as an optimization in r67804.
346         This patch reverts that one, as all parties agree that the optimization
347         doesn't seem worthwhile, and there clearly aren't any tests covering
348         the special case.
349
350         No new tests, as existing tests should cover the remaining call to
351         |std::stable_sort|.
352
353         * platform/graphics/Gradient.cpp:
354         (WebCore::Gradient::sortStopsIfNecessary):
355
356 2011-09-12  Jacky Jiang  <zhajiang@rim.com>
357
358         Setting document.title doesn't affect contents of title tag of XHTML documents
359         https://bugs.webkit.org/show_bug.cgi?id=57537
360
361         Reviewed by Alexey Proskuryakov.
362
363         Update the contents of the <title> tag of XHTML documents when setting
364         document.title.
365
366         Test: fast/dom/title-content-set-innerText-get.xhtml
367
368         * dom/Document.cpp:
369         (WebCore::Document::setTitle):
370
371 2011-09-12  Raphael Kubo da Costa  <kubo@profusion.mobi>
372
373         [EFL] Initialize m_unmodifiedText in PlatformKeyboardEventEfl.
374         https://bugs.webkit.org/show_bug.cgi?id=67038
375
376         Reviewed by Kenneth Rohde Christiansen.
377
378         Since most of the time it will return the same thing as text(), we
379         initialize it the same way we initialize m_text. The other case (what
380         would have been generated if no modifiers were pressed) should be
381         covered by this as well.
382
383         As this method is used when handling access keys, tests such as
384         fast/events/access-key-self-destruct.html should now pass.
385
386         No new tests, as this fixes a problem uncovered by the existing ones.
387
388         * platform/efl/PlatformKeyboardEventEfl.cpp:
389         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
390
391 2011-09-12  Hyowon Kim  <hw1008.kim@samsung.com>
392
393         Reviewed by Eric Seidel.
394
395         [EFL] Add GraphicsContext3DEfl for WebGL and accelerated compositing
396         https://bugs.webkit.org/show_bug.cgi?id=62709
397
398         Add GraphicsContext3D implementation for EFL port.
399         GraphicsContext3D delegates to GraphicsContext3DInternal.
400
401         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
402         (WebCore::GraphicsContext3D::create):
403         (WebCore::GraphicsContext3D::GraphicsContext3D):
404         (WebCore::GraphicsContext3D::~GraphicsContext3D):
405         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
406         (WebCore::GraphicsContext3D::platformLayer):
407         (WebCore::GraphicsContext3D::makeContextCurrent):
408         (WebCore::GraphicsContext3D::isGLES2Compliant):
409         (WebCore::GraphicsContext3D::activeTexture):
410         (WebCore::GraphicsContext3D::attachShader):
411         (WebCore::GraphicsContext3D::bindAttribLocation):
412         (WebCore::GraphicsContext3D::bindBuffer):
413         (WebCore::GraphicsContext3D::bindFramebuffer):
414         (WebCore::GraphicsContext3D::bindRenderbuffer):
415         (WebCore::GraphicsContext3D::bindTexture):
416         (WebCore::GraphicsContext3D::blendColor):
417         (WebCore::GraphicsContext3D::blendEquation):
418         (WebCore::GraphicsContext3D::blendEquationSeparate):
419         (WebCore::GraphicsContext3D::blendFunc):
420         (WebCore::GraphicsContext3D::blendFuncSeparate):
421         (WebCore::GraphicsContext3D::bufferData):
422         (WebCore::GraphicsContext3D::bufferSubData):
423         (WebCore::GraphicsContext3D::checkFramebufferStatus):
424         (WebCore::GraphicsContext3D::clear):
425         (WebCore::GraphicsContext3D::clearColor):
426         (WebCore::GraphicsContext3D::clearDepth):
427         (WebCore::GraphicsContext3D::clearStencil):
428         (WebCore::GraphicsContext3D::colorMask):
429         (WebCore::GraphicsContext3D::compileShader):
430         (WebCore::GraphicsContext3D::copyTexImage2D):
431         (WebCore::GraphicsContext3D::copyTexSubImage2D):
432         (WebCore::GraphicsContext3D::cullFace):
433         (WebCore::GraphicsContext3D::depthFunc):
434         (WebCore::GraphicsContext3D::depthMask):
435         (WebCore::GraphicsContext3D::depthRange):
436         (WebCore::GraphicsContext3D::detachShader):
437         (WebCore::GraphicsContext3D::disable):
438         (WebCore::GraphicsContext3D::disableVertexAttribArray):
439         (WebCore::GraphicsContext3D::drawArrays):
440         (WebCore::GraphicsContext3D::drawElements):
441         (WebCore::GraphicsContext3D::enable):
442         (WebCore::GraphicsContext3D::enableVertexAttribArray):
443         (WebCore::GraphicsContext3D::finish):
444         (WebCore::GraphicsContext3D::flush):
445         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
446         (WebCore::GraphicsContext3D::framebufferTexture2D):
447         (WebCore::GraphicsContext3D::frontFace):
448         (WebCore::GraphicsContext3D::generateMipmap):
449         (WebCore::GraphicsContext3D::getActiveAttrib):
450         (WebCore::GraphicsContext3D::getActiveUniform):
451         (WebCore::GraphicsContext3D::getAttachedShaders):
452         (WebCore::GraphicsContext3D::getAttribLocation):
453         (WebCore::GraphicsContext3D::getBooleanv):
454         (WebCore::GraphicsContext3D::getBufferParameteriv):
455         (WebCore::GraphicsContext3D::getContextAttributes):
456         (WebCore::GraphicsContext3D::getError):
457         (WebCore::GraphicsContext3D::getFloatv):
458         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
459         (WebCore::GraphicsContext3D::getIntegerv):
460         (WebCore::GraphicsContext3D::getProgramiv):
461         (WebCore::GraphicsContext3D::getProgramInfoLog):
462         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
463         (WebCore::GraphicsContext3D::getShaderiv):
464         (WebCore::GraphicsContext3D::getShaderInfoLog):
465         (WebCore::GraphicsContext3D::getShaderSource):
466         (WebCore::GraphicsContext3D::getString):
467         (WebCore::GraphicsContext3D::getTexParameterfv):
468         (WebCore::GraphicsContext3D::getTexParameteriv):
469         (WebCore::GraphicsContext3D::getUniformfv):
470         (WebCore::GraphicsContext3D::getUniformiv):
471         (WebCore::GraphicsContext3D::getUniformLocation):
472         (WebCore::GraphicsContext3D::getVertexAttribfv):
473         (WebCore::GraphicsContext3D::getVertexAttribiv):
474         (WebCore::GraphicsContext3D::getVertexAttribOffset):
475         (WebCore::GraphicsContext3D::hint):
476         (WebCore::GraphicsContext3D::isBuffer):
477         (WebCore::GraphicsContext3D::isEnabled):
478         (WebCore::GraphicsContext3D::isFramebuffer):
479         (WebCore::GraphicsContext3D::isProgram):
480         (WebCore::GraphicsContext3D::isRenderbuffer):
481         (WebCore::GraphicsContext3D::isShader):
482         (WebCore::GraphicsContext3D::isTexture):
483         (WebCore::GraphicsContext3D::lineWidth):
484         (WebCore::GraphicsContext3D::linkProgram):
485         (WebCore::GraphicsContext3D::pixelStorei):
486         (WebCore::GraphicsContext3D::polygonOffset):
487         (WebCore::GraphicsContext3D::readPixels):
488         (WebCore::GraphicsContext3D::releaseShaderCompiler):
489         (WebCore::GraphicsContext3D::renderbufferStorage):
490         (WebCore::GraphicsContext3D::sampleCoverage):
491         (WebCore::GraphicsContext3D::scissor):
492         (WebCore::GraphicsContext3D::shaderSource):
493         (WebCore::GraphicsContext3D::stencilFunc):
494         (WebCore::GraphicsContext3D::stencilFuncSeparate):
495         (WebCore::GraphicsContext3D::stencilMask):
496         (WebCore::GraphicsContext3D::stencilMaskSeparate):
497         (WebCore::GraphicsContext3D::stencilOp):
498         (WebCore::GraphicsContext3D::stencilOpSeparate):
499         (WebCore::GraphicsContext3D::texImage2D):
500         (WebCore::GraphicsContext3D::texParameterf):
501         (WebCore::GraphicsContext3D::texParameteri):
502         (WebCore::GraphicsContext3D::texSubImage2D):
503         (WebCore::GraphicsContext3D::uniform1f):
504         (WebCore::GraphicsContext3D::uniform1fv):
505         (WebCore::GraphicsContext3D::uniform1i):
506         (WebCore::GraphicsContext3D::uniform1iv):
507         (WebCore::GraphicsContext3D::uniform2f):
508         (WebCore::GraphicsContext3D::uniform2fv):
509         (WebCore::GraphicsContext3D::uniform2i):
510         (WebCore::GraphicsContext3D::uniform2iv):
511         (WebCore::GraphicsContext3D::uniform3f):
512         (WebCore::GraphicsContext3D::uniform3fv):
513         (WebCore::GraphicsContext3D::uniform3i):
514         (WebCore::GraphicsContext3D::uniform3iv):
515         (WebCore::GraphicsContext3D::uniform4f):
516         (WebCore::GraphicsContext3D::uniform4fv):
517         (WebCore::GraphicsContext3D::uniform4i):
518         (WebCore::GraphicsContext3D::uniform4iv):
519         (WebCore::GraphicsContext3D::uniformMatrix2fv):
520         (WebCore::GraphicsContext3D::uniformMatrix3fv):
521         (WebCore::GraphicsContext3D::uniformMatrix4fv):
522         (WebCore::GraphicsContext3D::useProgram):
523         (WebCore::GraphicsContext3D::validateProgram):
524         (WebCore::GraphicsContext3D::vertexAttrib1f):
525         (WebCore::GraphicsContext3D::vertexAttrib1fv):
526         (WebCore::GraphicsContext3D::vertexAttrib2f):
527         (WebCore::GraphicsContext3D::vertexAttrib2fv):
528         (WebCore::GraphicsContext3D::vertexAttrib3f):
529         (WebCore::GraphicsContext3D::vertexAttrib3fv):
530         (WebCore::GraphicsContext3D::vertexAttrib4f):
531         (WebCore::GraphicsContext3D::vertexAttrib4fv):
532         (WebCore::GraphicsContext3D::vertexAttribPointer):
533         (WebCore::GraphicsContext3D::viewport):
534         (WebCore::GraphicsContext3D::reshape):
535         (WebCore::GraphicsContext3D::markContextChanged):
536         (WebCore::GraphicsContext3D::markLayerComposited):
537         (WebCore::GraphicsContext3D::layerComposited):
538         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
539         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
540         (WebCore::GraphicsContext3D::createBuffer):
541         (WebCore::GraphicsContext3D::createFramebuffer):
542         (WebCore::GraphicsContext3D::createProgram):
543         (WebCore::GraphicsContext3D::createRenderbuffer):
544         (WebCore::GraphicsContext3D::createShader):
545         (WebCore::GraphicsContext3D::createTexture):
546         (WebCore::GraphicsContext3D::deleteBuffer):
547         (WebCore::GraphicsContext3D::deleteFramebuffer):
548         (WebCore::GraphicsContext3D::deleteProgram):
549         (WebCore::GraphicsContext3D::deleteRenderbuffer):
550         (WebCore::GraphicsContext3D::deleteShader):
551         (WebCore::GraphicsContext3D::deleteTexture):
552         (WebCore::GraphicsContext3D::synthesizeGLError):
553         (WebCore::GraphicsContext3D::getExtensions):
554         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
555         (WebCore::GraphicsContext3D::setContextLostCallback):
556         (WebCore::GraphicsContext3D::getImageData):
557
558 2011-09-12  Hyowon Kim  <hw1008.kim@samsung.com>
559
560         Reviewed by Eric Seidel.
561
562         [CMAKE] Remove platform/graphics/opengl/*OpenGL.cpp files in CMakeLists.txt
563         https://bugs.webkit.org/show_bug.cgi?id=62707
564
565         No change in fuctionality so no new tests.
566
567         Bug 62376 makes all ports use GraphicsContext3DOpenGL and
568         Extensions3DOpenGL when enabling WebGL.
569         However, some ports already have their own GC3D implementation.
570         In QT and chromium, for example, GC3D delegates to GC3DInternal.
571         So, it would be better to allow each port to decide whether or not
572         to include files in platform/graphics/opengl. 
573
574         * CMakeLists.txt:
575
576 2011-09-12  Dan Bernstein  <mitz@apple.com>
577
578         <rdar://problem/10054615> Floats in ruby text intrude into the base
579
580         Reviewed by Darin Adler.
581
582         Test: fast/ruby/float-overhang-from-ruby-text.html
583
584         * rendering/RenderRubyText.cpp:
585         (WebCore::RenderRubyText::avoidsFloats): Added. Returns true. This ensures that
586         RenderBlock::clearFloats() will not consider ruby text as having intruding floats.
587         * rendering/RenderRubyText.h:
588
589 2011-09-12  David Hyatt  <hyatt@apple.com>
590
591         https://bugs.webkit.org/show_bug.cgi?id=67970
592
593         Add unprefixed border-image property.
594
595         Reviewed by Beth Dakin.
596
597         * css/CSSComputedStyleDeclaration.cpp:
598         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
599         * css/CSSParser.cpp:
600         (WebCore::CSSParser::parseValue):
601         * css/CSSPropertyNames.in:
602
603 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
604
605         REGRESSION: Moving up doesn't work in some cases
606         https://bugs.webkit.org/show_bug.cgi?id=67522
607
608         Reviewed by Eric Seidel.
609
610         The bug was caused by previousLinePosition's attempting to obtain the last root line box using
611         a position at minCaretOffset (which is, in practice, located at the beginning of wrapped lines).
612
613         Fix the bug by calling maxCaretOffset instead. Because isCandidate returns false at (br, 1),
614         use the positionBeforeNode for br elements.
615
616         Test: editing/selection/move-up-into-wrapped-line.html
617
618         * editing/visible_units.cpp:
619         (WebCore::previousLinePosition):
620
621 2011-09-12  David Levin  <levin@chromium.org>
622
623         Make the ThreadSafeRefCounted support in CrossThreadCopier work for T*.
624         https://bugs.webkit.org/show_bug.cgi?id=67947
625
626         Reviewed by Adam Barth.
627
628         The changes are tested by compiling and added compile asserts to do some verification as well.
629
630         * platform/CrossThreadCopier.cpp:
631         Added some compile asserts to verify various match and non-matches for CrossThreadCopier.
632         * platform/CrossThreadCopier.h:
633         Added a typedef to convert T* to T, just like the typedef's to remove RefPtr and PassRefPtr.
634         Added a compile assert to verify that only one of the typedef did anything.
635         (CrossThreadCopierBase<false, true, T>::copy): Remove "get" as it is unnecessary.
636         It shouldn't have been here (PassRefPtr and RefPtr easily and sometimes more efficiently
637         convert to PassRefPtr without get). Also, a raw pointer doesn't have a get() method.
638
639 2011-09-12  Chris Rogers  <crogers@google.com>
640
641         Address lifetime issues in OfflineAudioDestinationNode
642         https://bugs.webkit.org/show_bug.cgi?id=67949
643
644         Reviewed by Kenneth Russell.
645
646         No new tests.  This does not change JavaScript API.
647
648         * webaudio/OfflineAudioDestinationNode.cpp:
649         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
650         (WebCore::OfflineAudioDestinationNode::render):
651         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
652
653 2011-09-12  Jeff Timanus  <twiz@chromium.org>
654
655         [chromium]  Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
656         https://bugs.webkit.org/show_bug.cgi?id=67944
657
658         Reviewed by Stephen White.
659         
660         * platform/graphics/skia/ImageBufferSkia.cpp:
661         (WebCore::ImageBuffer::~ImageBuffer):
662
663 2011-09-12  Michael Saboff  <msaboff@apple.com>
664
665         Update RegExp and related classes to use 8 bit strings when available
666         https://bugs.webkit.org/show_bug.cgi?id=67337
667
668         Updated call to match to use UString& instead of UChar*.
669
670         Reviewed by Gavin Barraclough.
671
672         No new tests, Covered by existing tests.
673
674         * platform/text/RegularExpression.cpp:
675         (WebCore::RegularExpression::match):
676
677 2011-09-12  Beth Dakin  <bdakin@apple.com>
678
679         https://bugs.webkit.org/show_bug.cgi?id=67898
680         REGRESSION(r94900): fast/images/support-broken-image-delegate.html fails on Mac
681
682         Reviewed by Simon Fraser.
683
684         New function willPaintBrokenImage() returns true when there has been an error 
685         loading the image and the broken image icon will be used in its place. This is 
686         necessary since it is possible to have an error loading an image and to NOT use 
687         the broken image icon. 
688         * loader/cache/CachedImage.cpp:
689         (WebCore::CachedImage::willPaintBrokenImage):
690         * loader/cache/CachedImage.h:
691         * rendering/RenderImage.cpp:
692         (WebCore::RenderImage::imageSizeForError):
693
694 2011-09-12  James Robinson  <jamesr@chromium.org>
695
696         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
697         https://bugs.webkit.org/show_bug.cgi?id=67440
698
699         Reviewed by Kenneth Russell.
700
701         This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
702         to make sure that textures are deleted even if the page is not visible.  This move also removed the need for
703         LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well.  That meant moving the
704         layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
705
706         Covered by existing compositing/ tests and
707         platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
708
709         * platform/graphics/chromium/LayerRendererChromium.cpp:
710         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
711         (WebCore::LayerRendererChromium::drawLayers):
712         (WebCore::LayerRendererChromium::initializeSharedObjects):
713         (WebCore::LayerRendererChromium::cleanupSharedObjects):
714         * platform/graphics/chromium/LayerRendererChromium.h:
715         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
716         * platform/graphics/chromium/TextureManager.cpp:
717         (WebCore::TextureManager::highLimitBytes):
718         (WebCore::TextureManager::reclaimLimitBytes):
719         (WebCore::TextureManager::lowLimitBytes):
720         * platform/graphics/chromium/TextureManager.h:
721         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
722         (WebCore::CCLayerTreeHost::initialize):
723         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
724         (WebCore::CCLayerTreeHost::deleteContentsTextures):
725         (WebCore::CCLayerTreeHost::commitTo):
726         (WebCore::CCLayerTreeHost::setVisible):
727         (WebCore::CCLayerTreeHost::contentsTextureManager):
728         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
729         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
730         (WebCore::CCLayerTreeHostImpl::setVisible):
731         * platform/graphics/chromium/cc/CCProxy.h:
732         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
733         (WebCore::CCSingleThreadProxy::setNeedsCommit):
734         (WebCore::CCSingleThreadProxy::stop):
735         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
736         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
737         (WebCore::CCThreadProxy::setNeedsCommit):
738         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
739         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
740         * platform/graphics/chromium/cc/CCThreadProxy.h:
741
742 2011-09-12  Chris Rogers  <crogers@google.com>
743
744         DelayNode delay buffer is not correctly wrapping around
745         https://bugs.webkit.org/show_bug.cgi?id=67872
746
747         Reviewed by Kenneth Russell.
748
749         Test: webaudio/delaynode.html
750
751         * webaudio/DelayDSPKernel.cpp:
752         (WebCore::DelayDSPKernel::process):
753
754 2011-09-12  Arko Saha  <arko@motorola.com>
755
756         Selectstart is not fired when selection was created by arrow keys.
757         https://bugs.webkit.org/show_bug.cgi?id=60430
758
759         Reviewed by Ryosuke Niwa.
760
761         Fire selectstart when a user starts extending the selection using arrow key.
762         Fixed by Arko Saha  <arko@motorola.com> and Kaustubh Atrawalkar  <kaustubh@motorola.com>
763
764         Tests: fast/events/selectstart-by-arrow-keys-prevent-default.html
765                fast/events/selectstart-by-arrow-keys.html
766
767         * editing/FrameSelection.cpp:
768         (WebCore::FrameSelection::modify):
769         (WebCore::FrameSelection::shouldChangeSelection):
770         (WebCore::FrameSelection::dispatchSelectStart):
771         * editing/FrameSelection.h:
772
773 2011-09-12  James Robinson  <jamesr@chromium.org>
774
775         [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process
776         https://bugs.webkit.org/show_bug.cgi?id=67816
777
778         Reviewed by Kenneth Russell.
779
780         We lack infrastructure to construct an automated test for this today. To test manually, open up a composited
781         page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the
782         memory use returns to the single tab level.
783
784         * platform/graphics/chromium/LayerChromium.h:
785         * platform/graphics/chromium/TiledLayerChromium.cpp:
786         (WebCore::TiledLayerChromium::setLayerTreeHost):
787         * platform/graphics/chromium/VideoLayerChromium.cpp:
788         (WebCore::VideoLayerChromium::setLayerTreeHost):
789         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
790         (WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive):
791         (WebCore::CCLayerTreeHost::setRootLayer):
792         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
793
794 2011-09-12  Kentaro Hara  <haraken@google.com>
795
796         Implement a HashChangeEvent constructor for JSC
797         https://bugs.webkit.org/show_bug.cgi?id=67924
798
799         Reviewed by Sam Weinig.
800
801         The spec for the HashChangeEvent constructor is here:
802         http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent
803
804         Test: fast/events/constructors/hash-change-event-constructor.html
805
806         * bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor.
807         * bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent.
808         * dom/HashChangeEvent.h: Added a definition for HashChangeEventInit.
809         (WebCore::HashChangeEventInit::HashChangeEventInit):
810         (WebCore::HashChangeEvent::create):
811         (WebCore::HashChangeEvent::HashChangeEvent):
812         * dom/HashChangeEvent.idl: Makes HashChangeEvent constructible.
813
814 2011-09-12  Mike Reed  <reed@google.com>
815
816         [skia] remove dead code, no functionality change
817         https://bugs.webkit.org/show_bug.cgi?id=67844
818
819         Reviewed by Kenneth Russell.
820
821         No new tests. just removing dead-code, existing tests apply
822
823         * platform/graphics/chromium/FontChromiumWin.cpp:
824         (WebCore::Font::drawGlyphs):
825
826 2011-09-12  Pavel Feldman  <pfeldman@google.com>
827
828         Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
829         https://bugs.webkit.org/show_bug.cgi?id=67934
830
831         Reviewed by Tony Gentilcore.
832
833         * inspector/InjectedScriptSource.js:
834
835 2011-09-12  Pavel Feldman  <pfeldman@google.com>
836
837         Web Inspector: event dividers do not update timeline boundaries.
838         https://bugs.webkit.org/show_bug.cgi?id=67932
839
840         * inspector/front-end/NetworkPanel.js:
841         (WebInspector.NetworkLogView.prototype._onLoadEventFired):
842         (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
843         (WebInspector.NetworkLogView.prototype.refresh):
844         (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime):
845
846 2011-09-12  Kentaro Hara  <haraken@google.com>
847
848         Implement a WebKitAnimationEvent constructor for V8
849         https://bugs.webkit.org/show_bug.cgi?id=67922
850
851         Reviewed by Adam Barth.
852
853         Test: fast/events/constructors/webkit-animation-event-constructor.html
854
855         * bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor.
856         * dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute.
857
858 2011-09-12  Andreas Kling  <kling@webkit.org>
859
860         Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT).
861         https://bugs.webkit.org/show_bug.cgi?id=67916
862
863         Reviewed by Kenneth Rohde Christiansen.
864
865         * html/canvas/CanvasGradient.cpp:
866         (WebCore::CanvasGradient::CanvasGradient):
867         (WebCore::CanvasGradient::addColorStop):
868         * html/canvas/CanvasGradient.h:
869
870 2011-09-12  Shinya Kawanaka  <shinyak@google.com>
871
872         Characters beyond U+10000 should be deleted by one pressing delete key.
873         https://bugs.webkit.org/show_bug.cgi?id=40351
874
875         Reviewed by Kent Tamura.
876
877         If a character is the trail part of unicode surrogate pair, the lead part of it
878         should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior.
879
880         Test: editing/deleting/delete-surrogatepair.html
881
882         * rendering/RenderText.cpp:
883         (WebCore::RenderText::previousOffsetForBackwardDeletion):
884           Added if-macro to support chromium on mac, and added trail part check for unicode character.
885
886 2011-09-11  Kentaro Hara  <haraken@google.com>
887
888         Implement a ProgressEvent constructor for V8
889         https://bugs.webkit.org/show_bug.cgi?id=67800
890
891         Reviewed by Sam Weinig.
892
893         Test: fast/events/constructors/progress-event-constructor.html
894
895         * bindings/js/JSDictionary.cpp:
896         (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max().
897         * bindings/v8/OptionsObject.cpp:
898         (WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
899         * bindings/v8/OptionsObject.h:
900         * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor.
901         * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute.
902
903 2011-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
904
905         REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow
906         https://bugs.webkit.org/show_bug.cgi?id=67581
907
908         Reviewed by Darin Adler.
909
910         Test: perf/show-hide-table-rows.html
911
912         * dom/NodeRenderingContext.cpp:
913         (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed
914             to createRenderer.
915         (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers.
916
917 2011-09-11  Jeremy Moskovich  <jeremy@chromium.org>
918
919         [Chromium] Change OOP Font loading code to use CGFont*() APIs.
920         https://bugs.webkit.org/show_bug.cgi?id=66935
921
922         This change is necessary due a bug in ATSFontDeactivate() on 10.7.
923         See crbug.com/93191 for details.
924
925         Reviewed by Eric Seidel.
926
927         No new tests - covered by existing tests.
928
929         * platform/chromium/PlatformBridge.h:
930         * platform/graphics/chromium/CrossProcessFontLoading.h:
931         * platform/graphics/chromium/CrossProcessFontLoading.mm:
932         (WebCore::MemoryActivatedFont::create):
933         (WebCore::MemoryActivatedFont::MemoryActivatedFont):
934         (WebCore::MemoryActivatedFont::~MemoryActivatedFont):
935
936 2011-09-09  Oliver Hunt  <oliver@apple.com>
937
938         Remove support for anonymous storage from jsobjects
939         https://bugs.webkit.org/show_bug.cgi?id=67881
940
941         Reviewed by Sam Weinig.
942
943         Remove all use of anonymous slots, this required modifying
944         bindings generation to add member variables for cached attributes,
945         and override visitChildren with the necessary logic to mark those
946         new members.
947
948         I added bindings generation tests for these values.
949
950         * bindings/js/JSAudioConstructor.h:
951         (WebCore::JSAudioConstructor::createStructure):
952         * bindings/js/JSDOMBinding.h:
953         (WebCore::DOMConstructorObject::createStructure):
954         * bindings/js/JSDOMGlobalObject.h:
955         (WebCore::JSDOMGlobalObject::createStructure):
956         * bindings/js/JSDOMWindowBase.h:
957         (WebCore::JSDOMWindowBase::createStructure):
958         * bindings/js/JSDOMWindowShell.h:
959         (WebCore::JSDOMWindowShell::createStructure):
960         * bindings/js/JSDOMWrapper.h:
961         (WebCore::JSDOMWrapper::createStructure):
962         * bindings/js/JSImageConstructor.h:
963         (WebCore::JSImageConstructor::createStructure):
964         * bindings/js/JSMessageEventCustom.cpp:
965         (WebCore::JSMessageEvent::data):
966         (WebCore::JSMessageEvent::initMessageEvent):
967         * bindings/js/JSOptionConstructor.h:
968         (WebCore::JSOptionConstructor::createStructure):
969         * bindings/js/JSWorkerContextBase.h:
970         (WebCore::JSWorkerContextBase::createStructure):
971         * bindings/scripts/CodeGeneratorJS.pm:
972         (GenerateHeader):
973         (GenerateImplementation):
974         (GenerateConstructorDeclaration):
975         * bindings/scripts/test/JS/JSTestInterface.cpp:
976         (WebCore::JSTestInterfaceConstructor::createStructure):
977         * bindings/scripts/test/JS/JSTestInterface.h:
978         (WebCore::JSTestInterface::createStructure):
979         (WebCore::JSTestInterfacePrototype::createStructure):
980         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
981         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
982         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
983         (WebCore::JSTestMediaQueryListListener::createStructure):
984         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
985         * bindings/scripts/test/JS/JSTestObj.cpp:
986         (WebCore::JSTestObjConstructor::createStructure):
987         (WebCore::jsTestObjCachedAttribute1):
988         (WebCore::jsTestObjCachedAttribute2):
989         (WebCore::JSTestObj::visitChildren):
990         * bindings/scripts/test/JS/JSTestObj.h:
991         (WebCore::JSTestObj::createStructure):
992         (WebCore::JSTestObjPrototype::createStructure):
993         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
994         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
995         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
996         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
997         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
998         * bindings/scripts/test/TestObj.idl:
999         * bindings/scripts/test/V8/V8TestObj.cpp:
1000         (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
1001         (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
1002         * bridge/c/CRuntimeObject.h:
1003         (JSC::Bindings::CRuntimeObject::createStructure):
1004         * bridge/c/c_instance.cpp:
1005         (JSC::Bindings::CRuntimeMethod::createStructure):
1006         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1007         (JavaRuntimeMethod::createStructure):
1008         * bridge/jni/jsc/JavaRuntimeObject.h:
1009         (JSC::Bindings::JavaRuntimeObject::createStructure):
1010         * bridge/objc/ObjCRuntimeObject.h:
1011         (JSC::Bindings::ObjCRuntimeObject::createStructure):
1012         * bridge/objc/objc_instance.mm:
1013         (ObjCRuntimeMethod::createStructure):
1014         * bridge/objc/objc_runtime.h:
1015         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1016         * bridge/runtime_array.h:
1017         (JSC::RuntimeArray::createStructure):
1018         * bridge/runtime_method.h:
1019         (JSC::RuntimeMethod::createStructure):
1020         * bridge/runtime_object.h:
1021         (JSC::Bindings::RuntimeObject::createStructure):
1022
1023 2011-09-01  Filip Pizlo  <fpizlo@apple.com>
1024
1025         The executable allocator makes it difficult to free individual
1026         chunks of executable memory
1027         https://bugs.webkit.org/show_bug.cgi?id=66363
1028
1029         Reviewed by Oliver Hunt.
1030         
1031         Introduced a best-fit, balanced-tree based allocator. The allocator
1032         required a balanced tree that does not allocate memory and that
1033         permits the removal of individual nodes directly (as opposed to by
1034         key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
1035         Changed all references to executable code to use a reference counted
1036         handle.
1037
1038         No new layout tests because behavior is not changed.  New API unit
1039         tests:
1040         Tests/WTF/RedBlackTree.cpp
1041         Tests/WTF/MetaAllocator.cpp
1042
1043         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
1044
1045 2011-09-10  Sam Weinig  <sam@webkit.org>
1046
1047         Add isInterruptedExecutionException and isTerminatedExecutionException predicates
1048         https://bugs.webkit.org/show_bug.cgi?id=67892
1049
1050         Reviewed by Andy "First Time Reviewer" Estes.
1051
1052         * bindings/js/JSDOMBinding.cpp:
1053         (WebCore::reportException):
1054         * bindings/js/JSEventListener.cpp:
1055         (WebCore::JSEventListener::handleEvent):
1056         * bindings/js/WorkerScriptController.cpp:
1057         (WebCore::WorkerScriptController::evaluate):
1058         Use the new predicates instead of probing the ClassInfo directly.
1059
1060 2011-09-10  Kevin Ollivier  <kevino@theolliviers.com>
1061
1062         [wx] Unreviewed build fix. MSW build fixes.
1063
1064         * config.h:
1065
1066 2011-09-09  David Hyatt  <hyatt@apple.com>
1067
1068         https://bugs.webkit.org/show_bug.cgi?id=67861
1069         
1070         Implement border-image-outset (and the mask equivalents).
1071
1072         Reviewed by Beth Dakin.
1073
1074         Added new tests in fast/borders and fast/reflections.
1075
1076         * css/CSSBorderImageValue.cpp:
1077         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1078         (WebCore::CSSBorderImageValue::cssText):
1079         * css/CSSBorderImageValue.h:
1080         (WebCore::CSSBorderImageValue::create):
1081         Add m_outset field to CSSBorderImageValue and teach it how to dump the field as
1082         part of cssText().
1083
1084         * css/CSSComputedStyleDeclaration.cpp:
1085         (WebCore::valueForNinePieceImageQuad):
1086         (WebCore::valueForNinePieceImage):
1087         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1088         Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor
1089         the code so that border-image-width and border-image-outset use a common
1090         function.
1091
1092         * css/CSSParser.cpp:
1093         (WebCore::CSSParser::parseValue):
1094         (WebCore::BorderImageParseContext::BorderImageParseContext):
1095         (WebCore::BorderImageParseContext::allowOutset):
1096         (WebCore::BorderImageParseContext::commitSlash):
1097         (WebCore::BorderImageParseContext::commitBorderWidth):
1098         (WebCore::BorderImageParseContext::commitBorderOutset):
1099         (WebCore::BorderImageParseContext::commitRepeat):
1100         (WebCore::BorderImageParseContext::commitBorderImage):
1101         (WebCore::CSSParser::parseBorderImage):
1102         Teach the border image parsing code about outsets. This code will soon be
1103         replaced by true shorthand parsing code, but for now keep it working and add
1104         outset support to it.
1105
1106         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
1107         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
1108         (WebCore::CSSParser::parseBorderImageQuad):
1109         (WebCore::CSSParser::parseBorderImageWidth):
1110         (WebCore::CSSParser::parseBorderImageOutset):
1111         * css/CSSParser.h:
1112         Refactor the border-image-width code so that it can be shared by border-image-outset, since
1113         they are extremely similar.
1114
1115         * css/CSSPropertyNames.in:
1116         Add the new properties.
1117
1118         * css/CSSStyleSelector.cpp:
1119         (WebCore::CSSStyleSelector::applyProperty):
1120         (WebCore::CSSStyleSelector::mapNinePieceImage):
1121         (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
1122         (WebCore::CSSStyleSelector::loadPendingImages):
1123         * css/CSSStyleSelector.h:
1124         Refactor the code so that width/outset share common mapping functions. Add support for outset.
1125
1126         * rendering/InlineFlowBox.cpp:
1127         (WebCore::InlineFlowBox::addToLine):
1128         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1129         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
1130         (WebCore::InlineFlowBox::computeOverflow):
1131         Add new functions for computing the visual overflow caused by border outsets. Fix bugs in
1132         the shadow overflow code as well.
1133
1134         (WebCore::clipRectForNinePieceImageStrip):
1135         (WebCore::InlineFlowBox::paintBoxDecorations):
1136         (WebCore::InlineFlowBox::paintMask):
1137         * rendering/InlineFlowBox.h:
1138         Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to
1139         include the border and mask outsets. Always include the block direction expansion, and conditionally
1140         include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge().
1141         clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this
1142         work.
1143
1144         * rendering/RenderBlock.cpp:
1145         (WebCore::RenderBlock::computeOverflow):
1146         * rendering/RenderBox.cpp:
1147         (WebCore::RenderBox::maskClipRect):
1148         (WebCore::RenderBox::addBoxShadowAndBorderOverflow):
1149         * rendering/RenderBox.h:
1150         Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image
1151         outset overflow. Fix bugs with shadow overflow computation.
1152
1153         * rendering/RenderBoxModelObject.cpp:
1154         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1155         Change painting to apply the outsets to inflate the border image drawing area.
1156
1157         * rendering/RenderEmbeddedObject.cpp:
1158         (WebCore::RenderEmbeddedObject::layout):
1159         * rendering/RenderIFrame.cpp:
1160         (WebCore::RenderIFrame::layout):
1161         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
1162
1163         * rendering/RenderLayer.cpp:
1164         (WebCore::RenderLayer::calculateRects):
1165         Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the
1166         layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be
1167         included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467.
1168
1169         * rendering/RenderReplaced.cpp:
1170         (WebCore::RenderReplaced::layout):
1171         Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow.
1172
1173         * rendering/style/NinePieceImage.cpp:
1174         (WebCore::NinePieceImage::operator==):
1175         * rendering/style/NinePieceImage.h:
1176         (WebCore::NinePieceImage::NinePieceImage):
1177         (WebCore::NinePieceImage::outset):
1178         (WebCore::NinePieceImage::setOutset):
1179         (WebCore::NinePieceImage::computeOutset):
1180         (WebCore::NinePieceImage::copyOutsetFrom):
1181         Add the outset field to NinePieceImage along with some helpers for manipulating outsets.
1182
1183         * rendering/style/RenderStyle.cpp:
1184         (WebCore::RenderStyle::getImageOutsets):
1185         (WebCore::RenderStyle::getImageHorizontalOutsets):
1186         (WebCore::RenderStyle::getImageVerticalOutsets):
1187         * rendering/style/RenderStyle.h:
1188         (WebCore::InheritedFlags::hasBorderImageOutsets):
1189         (WebCore::InheritedFlags::getBorderImageOutsets):
1190         (WebCore::InheritedFlags::getBorderImageHorizontalOutsets):
1191         (WebCore::InheritedFlags::getBorderImageVerticalOutsets):
1192         (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets):
1193         (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets):
1194         (WebCore::InheritedFlags::getImageInlineDirectionOutsets):
1195         (WebCore::InheritedFlags::getImageBlockDirectionOutsets):
1196         Helpers for outset computation used by painting and overflow functions.
1197
1198 2011-09-10  Dan Bernstein  <mitz@apple.com>
1199
1200         Actually prevent unnecessary casts to MediaControls*.
1201
1202         Reviewed by Oliver Hunt.
1203
1204         * html/shadow/MediaControls.h:
1205
1206 2011-09-10  Ryosuke Niwa  <rniwa@webkit.org>
1207
1208         Remove printf added by r94900.
1209
1210         * rendering/RenderLayer.cpp:
1211         (WebCore::RenderLayer::drawPlatformResizerImage):
1212
1213 2011-09-09  Chris Marrin  <cmarrin@apple.com>
1214
1215         requestAnimationFrame doesn't throttle on Mac
1216         https://bugs.webkit.org/show_bug.cgi?id=67171
1217
1218         Reviewed by Simon Fraser.
1219
1220         Changed requestAnimationFrame to use a Timer in ScriptedAnimationController
1221         on Mac, rather than runLoopObservers. The Timer is throttled to fire no
1222         faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER
1223         flag and can be used by any implementation, but currently it is only enabled
1224         by PLATFORM(MAC).
1225
1226         * dom/ScriptedAnimationController.cpp:
1227         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
1228         (WebCore::ScriptedAnimationController::resume):
1229         (WebCore::ScriptedAnimationController::registerCallback):
1230         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1231         (WebCore::ScriptedAnimationController::scheduleAnimation):
1232         (WebCore::ScriptedAnimationController::animationTimerFired):
1233         * dom/ScriptedAnimationController.h:
1234         * loader/EmptyClients.h:
1235         * page/Chrome.cpp:
1236         (WebCore::Chrome::scheduleAnimation):
1237         * page/ChromeClient.h:
1238
1239 2011-09-10  Jarred Nicholls  <jarred@sencha.com>
1240
1241         [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters
1242         https://bugs.webkit.org/show_bug.cgi?id=34884
1243         
1244         KURL::path() alone does not handle removing the leading slash from a windows file path.
1245         Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately.
1246
1247         Reviewed by Andreas Kling.
1248
1249         * platform/qt/KURLQt.cpp:
1250         (WebCore::KURL::fileSystemPath):
1251
1252 2011-09-10  Ken Buchanan <kenrb@chromium.org>
1253
1254         Crash due to bad data in SVGDocumentExtensions m_pendingResources
1255         https://bugs.webkit.org/show_bug.cgi?id=67488
1256
1257         Reviewed by Nikolas Zimmermann.
1258
1259         Resolving a crash condition caused by the deletion of
1260         elements while pending resource entries for those elements are still
1261         recorded.
1262
1263         * rendering/svg/RenderSVGResourceContainer.cpp:
1264         (WebCore::RenderSVGResourceContainer::registerResource)
1265         * svg/SVGDocumentExtensions.h:
1266         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
1267         * svg/SVGDocumentExtensions.cpp:
1268         (WebCore::SVGDocumentExtensions::addPendingResource)
1269         (WebCore::SVGDocumentExtensions::isElementInPendingResources)
1270         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources)
1271         * svg/SVGStyledElement.h:
1272         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
1273         * svg/SVGStyledElement.cpp:
1274         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded)
1275         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible)
1276         * svg/SVGUseElement.cpp:
1277         (WebCore::SVGUseElement::svgAttributeChanged)
1278
1279 2011-09-10  Adam Barth  <abarth@webkit.org>
1280
1281         Remove DocumentWriter::deprecatedFrameEncoding()
1282         https://bugs.webkit.org/show_bug.cgi?id=67882
1283
1284         Reviewed by Eric Seidel.
1285
1286         Three years ago, in http://trac.webkit.org/changeset/39026, Alexey
1287         Proskuryakov added ContentDispositionEncodingFallbackArray to work
1288         around a web site compatibility issue with a non-ASCII file name
1289         becoming garbled when received in the Content-Disposition header.
1290
1291         Since that time, there has been copious discussion of this topic among
1292         browser vendors, in the IETF, and in the broader web community.  For
1293         example, here is a Stack Overflow thread about this topic:
1294
1295         http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
1296
1297         Eric Lawrence has written a blog post that summarizes IE's perspective
1298         on this issue:
1299
1300         http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
1301
1302         The current consensus is that browsers should implement RFC 6266,
1303         which is a new RFC that updates the definition of the
1304         Content-Disposition header.  Chrome and Firefox have both implemented
1305         RFC 6266 and have encountered only one issue, which was then fixed by
1306         the web site operator.  IE has also implemented RFC 6266, but I don't
1307         have detailed information about their compatibility experience.
1308
1309         This patch add explicit PLATFORM #ifdefs around the quirky
1310         implementation previously used in Apple's Mac and Windows ports.  This
1311         code is already only used on Apple's ports, so this patch introduces no
1312         functional changes.  It does, however, discourage other ports from
1313         adopting this quirk.  IMHO, Apple should remove this quirk as soon as
1314         compatibility allows and converge behavior with the other major browser
1315         vendors.
1316
1317         See bug for manual test (the bug manifests in Safari download UI).
1318
1319         * loader/DocumentWriter.cpp:
1320         * loader/DocumentWriter.h:
1321         * loader/FrameLoader.cpp:
1322         (WebCore::FrameLoader::addExtraFieldsToRequest):
1323         * platform/network/ResourceRequestBase.cpp:
1324         (WebCore::ResourceRequestBase::adopt):
1325         (WebCore::ResourceRequestBase::copyData):
1326         * platform/network/ResourceRequestBase.h:
1327
1328 2011-09-09  Beth Dakin  <bdakin@apple.com>
1329
1330         Attempted Leopard build fix.
1331
1332         * rendering/RenderImage.cpp:
1333         (WebCore::RenderImage::paintReplaced):
1334         * rendering/RenderLayer.cpp:
1335         (WebCore::RenderLayer::drawPlatformResizerImage):
1336
1337 2011-09-09  Beth Dakin  <bdakin@apple.com>
1338
1339         Fix for https://bugs.webkit.org/show_bug.cgi?id=67819
1340         Use high resolution platform images when the deviceScaleFactor > 1
1341         -and corresponding-
1342         <rdar://problem/10003098>
1343
1344         Reviewed by Darin Adler.
1345
1346         Add all of the new high resolution images. I also removed some tiffs from the 
1347         project and replaced them with png equivalents (that are already checked into 
1348         WebCore anyway). Since the high resolution images are pngs, it makes sense to use 
1349         pngs for all of the images that load through Image::loadPlatformResource()
1350         * WebCore.xcodeproj/project.pbxproj:
1351         * platform/graphics/mac/ImageMac.mm:
1352         (WebCore::Image::loadPlatformResource):
1353
1354         Load the @2x resource for deviceScaleFactors >= 2.
1355         * editing/DeleteButtonController.cpp:
1356         (WebCore::DeleteButtonController::createDeletionUI):
1357
1358         CachedImage::brokenImage() is no longer a static helper function, but a real 
1359         member function. It also now loads the @2x resource for deviceScaleFactors >= 2 
1360         and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns 
1361         the brokenImage(), it just returns the 1x version. brokenImage() has to be called 
1362         directly to reliably return the deviceScaleFactor-appropriate resource.
1363         * loader/cache/CachedImage.cpp:
1364         (WebCore::CachedImage::brokenImage):
1365         (WebCore::CachedImage::image):
1366         * loader/cache/CachedImage.h:
1367         * rendering/RenderLayer.cpp:
1368         (WebCore::RenderLayer::drawPlatformResizerImage):
1369         (WebCore::RenderLayer::paintResizer):
1370         * rendering/RenderLayer.h:
1371
1372         New static function to retrieve the deviceScaleFactor for callers that do not have 
1373         direct access to a Page.
1374         * page/Page.cpp:
1375         (WebCore::Page::deviceScaleFactor):
1376         * page/Page.h:
1377
1378         Call CachedImage::brokenImage() for the broken-image image at an accurate 
1379         resolution.
1380         * rendering/RenderImage.cpp:
1381         (WebCore::RenderImage::imageSizeForError):
1382         (WebCore::RenderImage::paintReplaced):
1383
1384 2011-09-09  Erik Arvidsson  <arv@chromium.org>
1385
1386         Move Element.contains to Node
1387         https://bugs.webkit.org/show_bug.cgi?id=67651
1388
1389         Reviewed by Darin Adler.
1390
1391         This moves the contains method from Element to Node as in the DOM4 working draft: 
1392         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
1393
1394         This also special cases Document contains to make it O(1) instead of O(depth).
1395
1396         Tests: fast/dom/Node/contains-method.html
1397                perf/document-contains.html
1398
1399         * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode.
1400         * dom/Element.idl:
1401         * dom/Node.cpp:
1402         (WebCore::Node::contains): Added document special case.
1403         * dom/Node.idl:
1404         * editing/DeleteSelectionCommand.cpp:
1405         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
1406
1407 2011-09-09  Tim Horton  <timothy_horton@apple.com>
1408
1409         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
1410         https://bugs.webkit.org/show_bug.cgi?id=67543
1411         <rdar://problem/10070536>
1412
1413         Reviewed by Darin Adler.
1414
1415         Generalize (begin|end)TransparencyLayer, which now forward
1416         through to (begin|end)PlatformTransparencyLayer, so that
1417         isInTransparencyLayer can exist on every platform.
1418
1419         Make use of isInTransparencyLayer in FontMac to disable
1420         "simple" shadow drawing when the text is being rendered
1421         into a transparency layer.
1422
1423         Test: svg/custom/simple-text-double-shadow.svg
1424
1425         * platform/graphics/GraphicsContext.cpp:
1426         (WebCore::GraphicsContext::GraphicsContext):
1427         (WebCore::GraphicsContext::~GraphicsContext):
1428         (WebCore::GraphicsContext::beginTransparencyLayer):
1429         (WebCore::GraphicsContext::endTransparencyLayer):
1430         (WebCore::GraphicsContext::isInTransparencyLayer):
1431         * platform/graphics/GraphicsContext.h:
1432         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1433         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1434         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1435         (WebCore::GraphicsContext::supportsTransparencyLayers):
1436         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1437         * platform/graphics/cg/GraphicsContextCG.cpp:
1438         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1439         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1440         (WebCore::GraphicsContext::supportsTransparencyLayers):
1441         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1442         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1443         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1444         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1445         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1446         (WebCore::GraphicsContext::supportsTransparencyLayers):
1447         * platform/graphics/mac/FontMac.mm:
1448         (WebCore::Font::drawGlyphs):
1449         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1450         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1451         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1452         (WebCore::GraphicsContext::supportsTransparencyLayers):
1453         * platform/graphics/qt/GraphicsContextQt.cpp:
1454         (WebCore::GraphicsContext::isInTransparencyLayer):
1455         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1456         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1457         (WebCore::GraphicsContext::supportsTransparencyLayers):
1458         * platform/graphics/skia/GraphicsContextSkia.cpp:
1459         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1460         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1461         (WebCore::GraphicsContext::supportsTransparencyLayers):
1462         * platform/graphics/win/FontCGWin.cpp:
1463         (WebCore::drawGDIGlyphs):
1464         * platform/graphics/win/GraphicsContextCGWin.cpp:
1465         (WebCore::GraphicsContext::releaseWindowsContext):
1466         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1467         (WebCore::GraphicsContext::releaseWindowsContext):
1468         * platform/graphics/win/GraphicsContextWin.cpp:
1469         (WebCore::GraphicsContext::getWindowsContext):
1470         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1471         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1472         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1473         (WebCore::GraphicsContext::supportsTransparencyLayers):
1474         * platform/graphics/wx/GraphicsContextWx.cpp:
1475         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1476         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1477         (WebCore::GraphicsContext::supportsTransparencyLayers):
1478         * platform/win/ScrollbarThemeWin.cpp:
1479         * plugins/win/PluginViewWin.cpp:
1480         * rendering/RenderThemeWin.cpp:
1481
1482 2011-09-09  Julien Chaffraix  <jchaffraix@webkit.org>
1483
1484         [V8] V8WebKitPoint::constructorCallback leaks
1485         https://bugs.webkit.org/show_bug.cgi?id=67865
1486
1487         Reviewed by Adam Barth.
1488
1489         Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind.
1490
1491         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1492         (WebCore::V8WebKitPoint::constructorCallback): Changed the code
1493         to use a RefPtr (per our usual style). Also use toV8 that will
1494         take care of properly wrapping the object.
1495
1496 2011-09-09  Chris Rogers  <crogers@google.com>
1497
1498         HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once
1499         https://bugs.webkit.org/show_bug.cgi?id=67866
1500
1501         Reviewed by David Levin.
1502
1503         No new tests since this is difficult to test.
1504         This is designed to fix existing webaudio layout test failures.
1505
1506         * platform/audio/HRTFDatabaseLoader.cpp:
1507         (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
1508         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1509         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
1510         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
1511         * platform/audio/HRTFDatabaseLoader.h:
1512
1513 2011-09-09  Jessie Berlin  <jberlin@apple.com>
1514
1515         Cookies are not available after turning off Private Browsing after the last window has been
1516         closed.
1517         https://bugs.webkit.org/show_bug.cgi?id=67874
1518
1519         Reviewed by Darin Adler.
1520
1521         The private browsing storage session is a global setting that is being incorrectly set on a
1522         per-page basis (see http://webkit.org/b/67870).
1523
1524         In this case, the global value was getting out of sync with the per-page setting:
1525         1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called.
1526         2. All Pages were then closed, destroying their Settings objects.
1527         3. When a new Page was created, a new Settings object was created and its
1528            m_privateBrowsingEnabled value was getting set to false.
1529         4. The WebPage settings were then applied to the new Settings object, resulting in
1530            setPrivateBrowsingEnabled(false) to be called.
1531         5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the
1532            global value for the storage session from being destroyed.
1533
1534         * page/Settings.cpp:
1535         (WebCore::Settings::setPrivateBrowsingEnabled):
1536         Move the early return to be after setting the global private browsing values, and add a
1537         clearer comment + FIXME.
1538
1539 2011-09-09  Kentaro Hara  <haraken@google.com>
1540
1541         Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute
1542         https://bugs.webkit.org/show_bug.cgi?id=67458
1543
1544         Reviewed by Adam Barth.
1545
1546         Added a 'CallWithNullValue' extended attribute.
1547         If a parameter is optional and missing, 'CallWithDefaultValue'
1548         handles it as a string "undefined". On the other hand,
1549         'CallWithNullValue' handles it as a null string
1550         (Note: not a string "null", but a null string).
1551
1552         Tests: fast/dom/Window/custom-constructors.html
1553                transforms/svg-vs-css.xhtml
1554                transforms/cssmatrix-2d-interface.xhtml
1555                transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor
1556
1557         * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp.
1558         * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp.
1559         * bindings/scripts/CodeGeneratorV8.pm:
1560         (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode.
1561         (RequiresCustomSignature):
1562         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results.
1563         (WebCore::V8TestInterface::constructorCallback):
1564         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
1565         (WebCore::TestMediaQueryListListenerInternal::methodCallback):
1566         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1567         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
1568         (WebCore::TestObjInternal::intMethodWithArgsCallback):
1569         (WebCore::TestObjInternal::objMethodWithArgsCallback):
1570         (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
1571         (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
1572         (WebCore::TestObjInternal::optionsObjectCallback):
1573         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
1574         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
1575         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
1576         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
1577         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
1578         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
1579         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
1580         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
1581         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
1582         (WebCore::TestObjInternal::overloadedMethod1Callback):
1583         (WebCore::TestObjInternal::overloadedMethod2Callback):
1584         (WebCore::TestObjInternal::overloadedMethod3Callback):
1585         (WebCore::TestObjInternal::overloadedMethod4Callback):
1586         (WebCore::TestObjInternal::classMethodWithOptionalCallback):
1587         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
1588         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
1589         * bindings/v8/V8Binding.h:
1590         (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case.
1591         (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string.
1592         * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object.
1593         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed.
1594         * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute.
1595
1596 2011-09-09  Geoffrey Garen  <ggaren@apple.com>
1597
1598         Reviewed by Dan Bernstein.
1599
1600         Removed ENABLE(SINGLE_THREADED) support, since it is always false
1601         https://bugs.webkit.org/show_bug.cgi?id=67862
1602
1603         Next step toward making the baseline platform assumption that threads exist.
1604
1605         * WebCore.pri:
1606         * features.pri: 
1607         * platform/sql/SQLiteDatabase.cpp:
1608         (WebCore::SQLiteDatabase::interrupt): Removed now-dead code.
1609
1610 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
1611
1612         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
1613         https://bugs.webkit.org/show_bug.cgi?id=67250
1614
1615         Reviewed by Simon Fraser.
1616
1617         No new tests because there's no change in functionality.
1618
1619         * WebCore.exp.in:
1620         * css/CSSStyleSelector.cpp:
1621         (WebCore::CSSStyleSelector::styleForDocument):
1622         * dom/Element.cpp:
1623         (WebCore::Element::getClientRects):
1624         (WebCore::Element::getBoundingClientRect):
1625         * dom/Range.cpp:
1626         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
1627         * loader/HistoryController.cpp:
1628         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1629         * page/Frame.cpp:
1630         (WebCore::Frame::Frame):
1631         (WebCore::Frame::pageScaleFactor):
1632         * page/Frame.h:
1633         * page/Page.cpp:
1634         (WebCore::Page::Page):
1635         (WebCore::Page::setPageScaleFactor):
1636         * page/Page.h:
1637         (WebCore::Page::pageScaleFactor):
1638         * rendering/RenderLayerCompositor.cpp:
1639         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1640         (WebCore::RenderLayerCompositor::pageScaleFactor):
1641         * rendering/RenderView.cpp:
1642         (WebCore::RenderView::paintBoxDecorations):
1643
1644 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
1645
1646         AX: Images within anchors causes crash
1647         https://bugs.webkit.org/show_bug.cgi?id=44149
1648
1649         Reviewed by Chris Fleizach.
1650
1651         Fixes the way parent RenderObject of an AccessibilityRenderObject
1652         is computed in the presence of adjacent continuations.
1653
1654         Test: accessibility/div-within-anchors-causes-crash.html
1655
1656         * accessibility/AccessibilityRenderObject.cpp:
1657         (WebCore::AccessibilityRenderObject::renderParentObject):
1658
1659 2011-09-09  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
1660
1661         CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label
1662         https://bugs.webkit.org/show_bug.cgi?id=66887
1663
1664         Reviewed by David Hyatt.
1665
1666         Test: fast/css/adjacent-sibling-selector.html
1667
1668         This patch addresses the problem of elements not getting their style recomputed
1669         when they are affected by direct adjacent sibling rules and one of their sibling in
1670         their corresponding rules is modified dynamically.
1671
1672         * css/CSSStyleSelector.cpp:
1673         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1674         (WebCore::parentStylePreventsSharing):
1675         * css/SelectorChecker.cpp:
1676         (WebCore::SelectorChecker::checkSelector):
1677         * dom/Element.cpp:
1678         (WebCore::Element::recalcStyle):
1679         (WebCore::checkForSiblingStyleChanges):
1680         * rendering/style/RenderStyle.cpp:
1681         (WebCore::RenderStyle::RenderStyle):
1682         * rendering/style/RenderStyle.h:
1683         (WebCore::InheritedFlags::affectedByDirectAdjacentRules):
1684         (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules):
1685
1686 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1687
1688         Make the EFL port use the correct rendering file.
1689         https://bugs.webkit.org/show_bug.cgi?id=66323
1690
1691         Reviewed by Martin Robinson.
1692
1693         When compiling with Pango support, the EFL port should use
1694         FontPango.cpp instead of FontEfl.cpp (which is just full of stubs).
1695
1696         No new functionality so no new tests.
1697
1698         * CMakeListsEfl.txt:
1699
1700 2011-09-09  Chris Rogers  <crogers@google.com>
1701
1702         AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter
1703         https://bugs.webkit.org/show_bug.cgi?id=67749
1704
1705         Reviewed by Kenneth Russell.
1706
1707         Test: webaudio/audiobuffersource-channels.html
1708
1709         * WebCore.gypi:
1710         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1711         (WebCore::JSAudioBufferSourceNode::setBuffer):
1712         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp.
1713         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
1714         * webaudio/AudioBufferSourceNode.cpp:
1715         (WebCore::AudioBufferSourceNode::setBuffer):
1716         * webaudio/AudioBufferSourceNode.h:
1717         * webaudio/AudioBufferSourceNode.idl:
1718
1719 2011-09-09  Dan Bernstein  <mitz@apple.com>
1720
1721         RenderBlock::addOverhangingFloats() takes superfluous parameters
1722         https://bugs.webkit.org/show_bug.cgi?id=67863
1723
1724         Reviewed by Dave Hyatt.
1725
1726         No new tests, because behavior is unchanged.
1727
1728         * rendering/RenderBlock.cpp:
1729         (WebCore::RenderBlock::layoutBlock):
1730         (WebCore::RenderBlock::layoutBlockChild):
1731         (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters,
1732         since they were always the inverse of the logical{Left, Top}() of the child parameter.
1733         * rendering/RenderBlock.h:
1734
1735 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1736
1737         Add replacement functions for gdk ones.
1738         https://bugs.webkit.org/show_bug.cgi?id=66323
1739
1740         Reviewed by Martin Robinson.
1741
1742         This will allow the EFL port to don't depend on gdk anymore.
1743
1744         No new functionality so no new tests.
1745
1746         * CMakeListsEfl.txt:
1747         * platform/graphics/cairo/CairoUtilities.cpp:
1748         (WebCore::appendRegionToCairoContext):
1749         * platform/graphics/cairo/CairoUtilities.h:
1750         * platform/graphics/pango/FontPango.cpp:
1751         (WebCore::drawGlyphsShadow):
1752         (WebCore::Font::drawComplexText):
1753         * platform/graphics/pango/PangoUtilities.cpp: Added.
1754         (WebCore::getLineClipRegionFromLayoutIter):
1755         (WebCore::getClipRegionFromPangoLayoutLine):
1756         * platform/graphics/pango/PangoUtilities.h: Added.
1757
1758 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
1759
1760         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1761         https://bugs.webkit.org/show_bug.cgi?id=67420
1762
1763         Reviewed by Geoffrey Garen.
1764
1765         No new tests.
1766
1767         Completed the fifth level of the refactoring to add finishCreation() 
1768         methods to all classes within the JSCell hierarchy with non-trivial 
1769         constructor bodies.
1770
1771         This primarily consists of pushing the calls to finishCreation() down 
1772         into the constructors of the subclasses of the second level of the hierarchy 
1773         as well as pulling the finishCreation() calls out into the class's corresponding
1774         create() method if it has one.  Doing both simultaneously allows us to 
1775         maintain the invariant that the finishCreation() method chain is called exactly 
1776         once during the creation of an object, since calling it any other number of 
1777         times (0, 2, or more) will cause an assertion failure.
1778
1779         * WebCore.exp.in:
1780         * bindings/js/JSDOMBinding.h:
1781         (WebCore::DOMConstructorObject::DOMConstructorObject):
1782         * bindings/js/JSDOMGlobalObject.cpp:
1783         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1784         (WebCore::JSDOMGlobalObject::finishCreation):
1785         * bindings/js/JSDOMGlobalObject.h:
1786         * bindings/js/JSDOMWindowShell.cpp:
1787         * bindings/js/JSDOMWindowShell.h:
1788         (WebCore::JSDOMWindowShell::create):
1789         * bindings/js/JSDOMWrapper.h:
1790         (WebCore::JSDOMWrapper::JSDOMWrapper):
1791         * bindings/scripts/CodeGeneratorJS.pm:
1792         (GenerateImplementation):
1793         * bindings/scripts/test/JS/JSTestInterface.cpp:
1794         (WebCore::JSTestInterface::JSTestInterface):
1795         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1796         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
1797         * bindings/scripts/test/JS/JSTestObj.cpp:
1798         (WebCore::JSTestObj::JSTestObj):
1799         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1800         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
1801         * bridge/c/CRuntimeObject.cpp:
1802         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1803         (JSC::Bindings::CRuntimeObject::finishCreation):
1804         * bridge/c/CRuntimeObject.h:
1805         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1806         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1807         (JSC::Bindings::JavaRuntimeObject::finishCreation):
1808         * bridge/jni/jsc/JavaRuntimeObject.h:
1809         * bridge/objc/ObjCRuntimeObject.h:
1810         * bridge/objc/ObjCRuntimeObject.mm:
1811         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1812         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
1813         * bridge/objc/objc_runtime.h:
1814         (JSC::Bindings::ObjcFallbackObjectImp::create):
1815         * bridge/objc/objc_runtime.mm:
1816         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1817         * bridge/qt/qt_instance.cpp:
1818         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1819         * bridge/qt/qt_pixmapruntime.cpp:
1820         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1821         * bridge/qt/qt_runtime.cpp:
1822         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1823         (JSC::Bindings::QtRuntimeMethod::finishCreation):
1824         * bridge/qt/qt_runtime.h:
1825         * bridge/runtime_array.cpp:
1826         (JSC::RuntimeArray::RuntimeArray):
1827         * bridge/runtime_array.h:
1828         (JSC::RuntimeArray::create):
1829         * bridge/runtime_method.cpp:
1830         (JSC::RuntimeMethod::RuntimeMethod):
1831         (JSC::RuntimeMethod::finishCreation):
1832         * bridge/runtime_method.h:
1833         * bridge/runtime_object.cpp:
1834         (JSC::Bindings::RuntimeObject::RuntimeObject):
1835         * bridge/runtime_object.h:
1836         (JSC::Bindings::RuntimeObject::create):
1837
1838 2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>
1839
1840         Rename FontGtk.cpp to FontPango.cpp
1841         https://bugs.webkit.org/show_bug.cgi?id=66323
1842
1843         Reviewed by Martin Robinson.
1844
1845         This file will be used by the EFL port too, and since it's not GTK
1846         specific anymore, rename it to something better.
1847
1848         No new functionality so no new tests.
1849
1850         * GNUmakefile.list.am:
1851         * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp.
1852
1853 2011-09-09  Adam Klein  <adamk@chromium.org>
1854
1855         Initialize ExceptionCode in Element::removeAttribute
1856         https://bugs.webkit.org/show_bug.cgi?id=67820
1857
1858         Reviewed by Darin Adler.
1859
1860         Silences valgrind warning reported in http://crbug.com/76490.
1861
1862         No new tests since this would only very occasionally be flaky,
1863         and in the codepath in the valgrind report, the ec is ignored anyway.
1864
1865         * dom/Element.cpp:
1866         (WebCore::Element::removeAttribute): Initialize ec to 0.
1867
1868 2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1869
1870         [Qt] Remove common.pri
1871         https://bugs.webkit.org/show_bug.cgi?id=67814
1872
1873         Reviewed by Andreas Kling.
1874
1875         No new tests, no change in functionality.
1876
1877         * CodeGenerators.pri:
1878         * WebCore.pri:
1879
1880 2011-09-09  Dominic Mazzoni  <dmazzoni@google.com>
1881
1882         Assert being hit in AccessibilityRenderObject::addChildren()
1883         https://bugs.webkit.org/show_bug.cgi?id=61805
1884
1885         Reviewed by Chris Fleizach.
1886
1887         Fix nextSibling and previousSibling to handle adjacent continuations
1888         properly, otherwise nodes end up appearing in the accessibility
1889         tree twice (or a debug assertion could be raised).
1890
1891         Test: accessibility/adjacent-continuations-cause-assertion-failure.html
1892
1893         * accessibility/AccessibilityRenderObject.cpp:
1894         (WebCore::AccessibilityRenderObject::previousSibling):
1895         (WebCore::AccessibilityRenderObject::nextSibling):
1896
1897 2011-09-08  Kentaro Hara  <haraken@google.com>
1898
1899         Implement a WebKitAnimationEvent constructor.
1900         https://bugs.webkit.org/show_bug.cgi?id=67825
1901
1902         Reviewed by Sam Weinig.
1903
1904         There is no spec for the WebKitAnimationEvent constructor
1905         since it is WebKit-specific. However, based on the current
1906         IDL of initWebKitAnimationEvent(), the constructor IDL
1907         should be as follows.
1908
1909         [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)]
1910         interface WebKitAnimationEvent : Event {
1911             ...;
1912         }
1913
1914         dictionary WebKitAnimationEventInit : EventInit {
1915             DOMString animationName;
1916             double elapsedTime;
1917         }
1918
1919         Test: fast/events/constructors/webkit-animation-event-constructor.html
1920
1921         * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor.
1922         * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent.
1923         * dom/WebKitAnimationEvent.cpp:
1924         (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit):
1925         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
1926         * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit.
1927         (WebCore::WebKitAnimationEvent::create):
1928         * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible.
1929
1930 2011-09-08  Abhishek Arya  <inferno@chromium.org>
1931
1932         :before content rendering issues with list markers and run-ins.
1933         https://bugs.webkit.org/show_bug.cgi?id=67735
1934
1935         1) Remove the isAnonymous checks for run-in detection since the
1936         run-in can belong to a node.
1937         2) When the parent has block children, then the list marker will
1938         be enclosed in an anonymous block. In that case, for going to the
1939         next list marker, we need to traverse one level up. We don't need
1940         this check when searching for generated run-in (loop 2), since we
1941         know parent will have inline children, so the list marker wont be
1942         enclosed in an anonymous block.
1943
1944         Reviewed by Dave Hyatt.
1945
1946         Tests: fast/lists/list-marker-before-content-table.html
1947                fast/runin/runin-generated-before-content.html
1948
1949         * rendering/RenderObjectChildList.cpp:
1950         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
1951
1952 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
1953
1954         Web Inspector: introduce JavaScriptSourceFrame class.
1955         https://bugs.webkit.org/show_bug.cgi?id=67838
1956
1957         SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations.
1958
1959         Reviewed by Pavel Feldman.
1960
1961         * WebCore.gypi:
1962         * WebCore.vcproj/WebCore.vcproj:
1963         * inspector/front-end/JavaScriptSourceFrame.js: Added.
1964         (WebInspector.JavaScriptSourceFrame):
1965         (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js
1966         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
1967         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported):
1968         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
1969         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
1970         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
1971         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
1972         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
1973         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
1974         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
1975         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
1976         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused):
1977         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
1978         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
1979         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
1980         * inspector/front-end/ScriptsPanel.js:
1981         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1982         * inspector/front-end/WebKit.qrc:
1983         * inspector/front-end/inspector.html:
1984
1985 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1986
1987         Unreviewed, rolling out r94845.
1988         http://trac.webkit.org/changeset/94845
1989         https://bugs.webkit.org/show_bug.cgi?id=67839
1990
1991         This patch kicked Qt-SL bots, but we don't need this
1992         modification. (Requested by ossy_ on #webkit).
1993
1994         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1995         * platform/mac/WebVideoFullscreenController.mm:
1996         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1997
1998 2011-09-09  Csaba Osztrogon√°c  <ossy@webkit.org>
1999
2000         [Qt][Mac]REGRESSION(r94774): Build is broken
2001         https://bugs.webkit.org/show_bug.cgi?id=67799
2002
2003         It seems these files didn't rebuilt because of a
2004         dependency bug. Touch them to trigger a rebuild.
2005
2006         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2007         * platform/mac/WebVideoFullscreenController.mm:
2008         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2009
2010 2011-09-09  Alexander Pavlov  <apavlov@chromium.org>
2011
2012         Unreviewed, Chromium valgrind build fix.
2013
2014         Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle
2015         https://bugs.webkit.org/show_bug.cgi?id=67837
2016
2017         * inspector/InspectorStyleSheet.cpp:
2018         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2019
2020 2011-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2021
2022         Unreviewed, rolling out r94536.
2023         http://trac.webkit.org/changeset/94536
2024         https://bugs.webkit.org/show_bug.cgi?id=67836
2025
2026         breaks absoluteLocation() of RelatedMouseEvent (Requested by
2027         jknotten on #webkit).
2028
2029         * dom/MouseRelatedEvent.cpp:
2030         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2031
2032 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2033
2034         Web Inspector: live edit both for JS and CSS is not discoverable.
2035         https://bugs.webkit.org/show_bug.cgi?id=65962
2036
2037         Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the
2038         Resources and the Scripts panels. The button is grayed out if the resource/script is not editable.
2039
2040         Reviewed by Yury Semikhatsky.
2041
2042         * inspector/front-end/Images/statusbarButtonGlyphs.png:
2043         * inspector/front-end/ResourceView.js:
2044         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
2045         * inspector/front-end/ScriptsPanel.js:
2046         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
2047         (WebInspector.ScriptsPanel.prototype.set visibleView):
2048         * inspector/front-end/SourceFrame.js:
2049         (WebInspector.SourceFrame):
2050         (WebInspector.SourceFrame.prototype.get statusBarItems):
2051         (WebInspector.SourceFrame.prototype._initializeTextViewer):
2052         (WebInspector.SourceFrame.prototype._editButtonClicked):
2053         (WebInspector.SourceFrame.prototype.canEditSource):
2054         (WebInspector.SourceFrame.prototype.startEditing):
2055         (WebInspector.SourceFrame.prototype.commitEditing):
2056         (WebInspector.SourceFrame.prototype._setReadOnly):
2057         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2058         * inspector/front-end/TextViewer.js:
2059         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2060         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
2061         * inspector/front-end/inspector.css:
2062         (button.edit-source-status-bar-item .glyph):
2063         (button.edit-source-status-bar-item.toggled-on .glyph):
2064
2065 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
2066
2067         Crashes in WebCore::AppendNodeCommand::create().
2068         https://bugs.webkit.org/show_bug.cgi?id=67767
2069
2070         Reviewed by Darin Adler.
2071
2072         In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node.
2073         The current code assumes lastNode is an Element node. This patch checks it.
2074
2075         Test: editing/execCommand/ident-crashes-topnode-is-text.html
2076
2077         * editing/CompositeEditCommand.cpp:
2078         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check.
2079
2080 2011-09-09  Shinya Kawanaka  <shinyak@google.com>
2081
2082         Crashes in WebCore::ApplyStyleCommand.doApply()
2083         https://bugs.webkit.org/show_bug.cgi?id=67765
2084
2085         Reviewed by Ryosuke Niwa.
2086
2087         WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked.
2088
2089         Test: editing/style/remove-format-without-enclosing-block.html
2090
2091         * editing/ApplyStyleCommand.cpp:
2092         (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check.
2093
2094 2011-09-09  James Simonsen  <simonjam@chromium.org>
2095
2096         [Chromium] Fix leak of Skia stream with custom CSS fonts
2097         https://bugs.webkit.org/show_bug.cgi?id=67815
2098
2099         Reviewed by Adam Barth.
2100
2101         Test: fast/css/font-face-opentype.html under valgrind
2102
2103         * platform/graphics/mac/FontCustomPlatformData.cpp:
2104         (WebCore::createFontCustomPlatformData):
2105         * platform/graphics/skia/FontCustomPlatformData.cpp:
2106         (WebCore::createFontCustomPlatformData):
2107
2108 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
2109
2110         Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue
2111         https://bugs.webkit.org/show_bug.cgi?id=67742
2112
2113         Reviewed by Darin Adler.
2114
2115         Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged
2116         InputType::valueChanged into InputType::setValue. Also introduced
2117         InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType.
2118
2119         * html/BaseButtonInputType.cpp:
2120         (WebCore::BaseButtonInputType::setValue):
2121         * html/BaseButtonInputType.h:
2122         * html/BaseCheckableInputType.cpp:
2123         (WebCore::BaseCheckableInputType::setValue):
2124         * html/BaseCheckableInputType.h:
2125         * html/ColorInputType.cpp:
2126         * html/ColorInputType.h:
2127         * html/FileInputType.cpp:
2128         (WebCore::FileInputType::setValue):
2129         * html/FileInputType.h:
2130         * html/HTMLInputElement.cpp:
2131         (WebCore::HTMLInputElement::setValue):
2132         * html/HTMLInputElement.h:
2133         (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue):
2134         * html/HiddenInputType.cpp:
2135         (WebCore::HiddenInputType::setValue):
2136         * html/HiddenInputType.h:
2137         * html/InputType.cpp:
2138         (WebCore::InputType::setValue):
2139         (WebCore::InputType::dispatchChangeEventInResponseToSetValue):
2140         * html/InputType.h:
2141         * html/RangeInputType.cpp:
2142         (WebCore::RangeInputType::setValue):
2143         * html/RangeInputType.h:
2144         * html/TextFieldInputType.cpp:
2145         (WebCore::TextFieldInputType::setValue):
2146         (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue):
2147         * html/TextFieldInputType.h:
2148
2149 2011-09-08  Annie Sullivan  <sullivan@chromium.org>
2150
2151         Crashes in WebCore::InsertNodeBeforeCommand constructor.
2152         https://bugs.webkit.org/show_bug.cgi?id=67763
2153
2154         Reviewed by Ryosuke Niwa.
2155
2156         Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that
2157         positions which are before or after a given node cannot return that node as the editable root.
2158
2159         Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html
2160
2161         * editing/htmlediting.cpp:
2162         (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode.
2163
2164 2011-09-08  James Weatherall  <wez@chromium.org>
2165
2166         Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document.  This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down.
2167         https://bugs.webkit.org/show_bug.cgi?id=66181
2168
2169         Reviewed by Anders Carlsson.
2170
2171         No new tests - no functional change.
2172
2173         * html/HTMLPlugInElement.cpp:
2174         (WebCore::HTMLPlugInElement::removedFromDocument):
2175         * html/HTMLPlugInElement.h:
2176
2177 2011-09-08  Daniel Bates  <dbates@webkit.org>
2178
2179         XSS filter bypass via non-standard URL encoding
2180         https://bugs.webkit.org/show_bug.cgi?id=66588
2181
2182         Reviewed by Adam Barth.
2183
2184         Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html
2185                http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html
2186                http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html
2187                http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html
2188                http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html
2189                http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html
2190                http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html
2191                http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html
2192
2193         Implement support for decoding non-standard 16-bit Unicode escape sequences of
2194         the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>.
2195
2196         See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>.
2197
2198         * GNUmakefile.list.am: Added DecodeEscapeSequences.h.
2199         * WebCore.gypi: Ditto.
2200         * WebCore.pro: Ditto.
2201         * WebCore.vcproj/WebCore.vcproj: Ditto.
2202         * WebCore.xcodeproj/project.pbxproj: Ditto.
2203         * html/parser/XSSAuditor.cpp:
2204         (WebCore::decode16BitUnicodeEscapeSequences): Added.
2205         (WebCore::decodeStandardURLEscapeSequences): Added.
2206         (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences().
2207         (WebCore::XSSAuditor::init): Modified to return early when the URL of the document
2208         is the empty string. This can happen when opening a new browser window or calling
2209         window.open("").
2210         * platform/KURL.cpp:
2211         (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences().
2212         This function just calls decodeEscapeSequences<URLEscapeSequence>().
2213         * platform/text/DecodeEscapeSequences.h: Added.
2214         (WebCore::Unicode16BitEscapeSequence::findInString):
2215         (WebCore::Unicode16BitEscapeSequence::matchStringPrefix):
2216         (WebCore::Unicode16BitEscapeSequence::decodeRun):
2217         (WebCore::URLEscapeSequence::findInString):
2218         (WebCore::URLEscapeSequence::matchStringPrefix):
2219         (WebCore::URLEscapeSequence::decodeRun):
2220         (WebCore::decodeEscapeSequences):
2221
2222 2011-09-08  Adam Barth  <abarth@webkit.org>
2223
2224         DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings
2225         https://bugs.webkit.org/show_bug.cgi?id=67812
2226
2227         Reviewed by Eric Seidel.
2228
2229         The one caller of this function does this work already.
2230
2231         * loader/DocumentWriter.cpp:
2232         (WebCore::DocumentWriter::deprecatedFrameEncoding):
2233
2234 2011-09-08  Adam Klein  <adamk@chromium.org>
2235
2236         Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator
2237         https://bugs.webkit.org/show_bug.cgi?id=67810
2238
2239         Reviewed by Tony Chang.
2240
2241         Reported as a valgrind failure in http://crbug.com/84777.
2242
2243         No possible change in behavior, so no tests. The unitialized read
2244         could never have an impact:
2245
2246            if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ...
2247
2248         Since m_sortedTextBoxes.size() will be zero here if
2249         m_sortedTextBoxesPosition is uninitialized, and they're both unsigned,
2250         so no possible value of m_sortedTextBoxesPosition could be < 0.
2251
2252         * editing/TextIterator.cpp:
2253         (WebCore::TextIterator::TextIterator):
2254
2255 2011-09-08  Tony Chang  <tony@chromium.org>
2256
2257         Cleanup of switch statements with default cases
2258         https://bugs.webkit.org/show_bug.cgi?id=67808
2259
2260         Reviewed by Adam Barth.
2261
2262         No new tests, just a small refactoring.
2263
2264         * page/WebKitAnimation.cpp:
2265         (WebCore::WebKitAnimation::fillMode):
2266         * platform/audio/Distance.cpp:
2267         (WebCore::DistanceEffect::gain):
2268
2269 2011-09-08  Eric Seidel  <eric@webkit.org>
2270
2271         [BiDi] Add support for the BDI element
2272         https://bugs.webkit.org/show_bug.cgi?id=50913
2273
2274         Reviewed by Ryosuke Niwa.
2275
2276         This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit.
2277
2278         Test: css3/bdi-element.html
2279
2280         * css/html.css:
2281         (bdi):
2282
2283 2011-09-08  David Levin  <levin@chromium.org>
2284
2285         [chromium] KURL::copy doesn't produce something usable on another thread.
2286         https://bugs.webkit.org/show_bug.cgi?id=67809
2287
2288         Reviewed by Adam Barth.
2289
2290         No new functionality exposed so no new test. This was caught by testing code: the thread
2291         sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708).
2292
2293         * platform/KURLGoogle.cpp:
2294         (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will
2295         not be used on another thread.
2296
2297 2011-09-08  Alexey Proskuryakov  <ap@apple.com>
2298
2299         REGRESSION (r66874): Missing RefPtr in ScriptController
2300         https://bugs.webkit.org/show_bug.cgi?id=67748
2301
2302         Reviewed by Adam Barth.
2303
2304         * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript):
2305
2306 2011-09-08  Adam Barth  <abarth@webkit.org>
2307
2308         Second attempt to fix Chromium build.
2309
2310         * dom/Document.h:
2311
2312 2011-09-08  Oliver Hunt  <oliver@apple.com>
2313
2314         Use bump allocator for initial property storage
2315         https://bugs.webkit.org/show_bug.cgi?id=67494
2316
2317         Reviewed by Geoffrey Garen.
2318
2319         Add a forwarding header.
2320
2321         * ForwardingHeaders/runtime/StorageBarrier.h: Added.
2322
2323 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
2324
2325         Unreviewed, rolling out r94809.
2326         http://trac.webkit.org/changeset/94809
2327         https://bugs.webkit.org/show_bug.cgi?id=67718
2328
2329         commit _still_ premature, despite CQ eagerness
2330
2331         * html/HTMLAttributeNames.in:
2332         * html/HTMLStyleElement.cpp:
2333         * html/HTMLStyleElement.h:
2334         * html/HTMLStyleElement.idl:
2335
2336 2011-09-08  Sam Weinig  <sam@webkit.org>
2337
2338         Remove the Completion object from JSC, I have never liked it
2339         https://bugs.webkit.org/show_bug.cgi?id=67755
2340
2341         Reviewed by Gavin Barraclough.
2342
2343         * bindings/js/JSDOMBinding.cpp:
2344         (WebCore::reportException):
2345         * bindings/js/JSEventListener.cpp:
2346         (WebCore::JSEventListener::handleEvent):
2347         * bindings/js/JSInjectedScriptManager.cpp:
2348         (WebCore::InjectedScriptManager::createInjectedScript):
2349         * bindings/js/JSMainThreadExecState.h:
2350         (WebCore::JSMainThreadExecState::evaluate):
2351         * bindings/js/ScriptController.cpp:
2352         (WebCore::ScriptController::evaluateInWorld):
2353         * bindings/js/WorkerScriptController.cpp:
2354         (WebCore::WorkerScriptController::evaluate):
2355         * bindings/objc/WebScriptObject.mm:
2356         (-[WebScriptObject evaluateWebScript:]):
2357         * bridge/NP_jsobject.cpp:
2358         (_NPN_Evaluate):
2359         * bridge/jni/jni_jsobject.mm:
2360         (JavaJSObject::eval):
2361
2362 2011-09-08  Adam Barth  <abarth@webkit.org>
2363
2364         Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding()
2365         https://bugs.webkit.org/show_bug.cgi?id=67807
2366
2367         Reviewed by Eric Seidel.
2368
2369         This function is super nutty.  We don't want any more folks to call it
2370         thinking that it does something sane.
2371
2372         * loader/DocumentWriter.cpp:
2373         (WebCore::DocumentWriter::deprecatedFrameEncoding):
2374         * loader/DocumentWriter.h:
2375
2376 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
2377
2378         <style scoped>: Add 'scoped' attribute
2379         https://bugs.webkit.org/show_bug.cgi?id=67718
2380
2381         Add 'scoped' attribute to IDL and attribute list,
2382         implement and test setting/resetting of the attribute.
2383
2384         Reviewed by Dimitri Glazkov.
2385
2386         Test: fast/css/style-scoped/basic-attribute.html
2387
2388         * html/HTMLAttributeNames.in:
2389         * html/HTMLStyleElement.cpp:
2390         (WebCore::HTMLStyleElement::scoped):
2391         (WebCore::HTMLStyleElement::setScoped):
2392         (WebCore::HTMLStyleElement::scopingElement):
2393         * html/HTMLStyleElement.h:
2394         * html/HTMLStyleElement.idl:
2395
2396 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2397
2398         Unreviewed, rolling out r94781.
2399         http://trac.webkit.org/changeset/94781
2400         https://bugs.webkit.org/show_bug.cgi?id=67806
2401
2402         Broke Objective-C binding on Mac (Requested by rniwa on
2403         #webkit).
2404
2405         * dom/Element.idl:
2406         * dom/Node.cpp:
2407         (WebCore::Node::contains):
2408         * dom/Node.idl:
2409         * editing/DeleteSelectionCommand.cpp:
2410         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2411
2412 2011-09-08  Eric Seidel  <eric@webkit.org>
2413
2414         Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers
2415         https://bugs.webkit.org/show_bug.cgi?id=67803
2416
2417         Reviewed by Adam Barth.
2418
2419         Smells like dead code.
2420
2421         * loader/DocumentWriter.cpp:
2422         * loader/DocumentWriter.h:
2423
2424 2011-09-08  Shinya Kawanaka  <shinyak@google.com>
2425
2426         Crashes in WebCore::ReplaceSelectionCommand::doApply
2427         https://bugs.webkit.org/show_bug.cgi?id=67762
2428
2429         Reviewed by Ryosuke Niwa.
2430
2431         WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it.
2432
2433         Tests: editing/inserting/insert-without-enclosing-block.html
2434
2435         * editing/ReplaceSelectionCommand.cpp:
2436         (WebCore::ReplaceSelectionCommand::doApply): Added null check.
2437
2438 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2439
2440         Unreviewed, rolling out r94784.
2441         http://trac.webkit.org/changeset/94784
2442         https://bugs.webkit.org/show_bug.cgi?id=67796
2443
2444         Commit was premature (Requested by rolandsteiner on #webkit).
2445
2446         * html/HTMLAttributeNames.in:
2447         * html/HTMLStyleElement.cpp:
2448         * html/HTMLStyleElement.h:
2449         * html/HTMLStyleElement.idl:
2450
2451 2011-09-08  W. James MacLean  <wjmaclean@chromium.org>
2452
2453         [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation.
2454         https://bugs.webkit.org/show_bug.cgi?id=66472
2455
2456         This patch contains plumbing from Internals to WebViewImpl that can be removed
2457         at a later time when the zoom animator code is complete.
2458
2459         Reviewed by James Robinson.
2460
2461         Test: platform/chromium/compositing/zoom-animator-scale-test.html
2462
2463         * page/Settings.cpp:
2464         (WebCore::Settings::Settings):
2465         * page/Settings.h:
2466         (WebCore::Settings::setZoomAnimatorScale):
2467         (WebCore::Settings::zoomAnimatorScale):
2468         * platform/graphics/chromium/LayerRendererChromium.cpp:
2469         (WebCore::LayerRendererChromium::LayerRendererChromium):
2470         (WebCore::LayerRendererChromium::drawLayersInternal):
2471         * platform/graphics/chromium/LayerRendererChromium.h:
2472         (WebCore::LayerRendererChromium::setZoomAnimatorScale):
2473         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2474         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2475         (WebCore::CCLayerTreeHost::commitTo):
2476         (WebCore::CCLayerTreeHost::setZoomAnimatorScale):
2477         (WebCore::CCLayerTreeHost::updateLayers):
2478         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2479         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2480         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale):
2481         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2482         * testing/Internals.cpp:
2483         (WebCore::Internals::setZoomAnimatorScale):
2484         * testing/Internals.h:
2485         * testing/Internals.idl:
2486
2487 2011-09-08  Eric Carlson  <eric.carlson@apple.com>
2488
2489         HTMLMediaElement is missing initialTime attribute
2490         https://bugs.webkit.org/show_bug.cgi?id=67791
2491
2492         Reviewed by Darin Adler.
2493
2494         Test: media/media-initialTime.html
2495
2496         * html/HTMLMediaElement.cpp:
2497         (WebCore::HTMLMediaElement::initialTime):
2498         * html/HTMLMediaElement.h:
2499         * html/HTMLMediaElement.idl:
2500         * platform/graphics/MediaPlayer.cpp:
2501         (WebCore::MediaPlayer::initialTime):
2502         * platform/graphics/MediaPlayer.h:
2503         * platform/graphics/MediaPlayerPrivate.h:
2504         (WebCore::MediaPlayerPrivateInterface::initialTime):
2505
2506 2011-09-03  Robert Hogan  <robert@webkit.org>
2507
2508         Elements with position:absolute don't move to correct position after images load
2509         https://bugs.webkit.org/show_bug.cgi?id=54611
2510
2511         Reviewed by Simon Fraser.
2512
2513         Test: fast/block/positioning/absolute-layout-after-image-load.html
2514
2515         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
2516         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
2517         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
2518         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. 
2519
2520         Note: Although the issue is encountered only on first load without a fragment identifier, it 
2521         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
2522         because scrolling to the fragment always happens before the image has loaded, rendering the page 
2523         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
2524         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
2525         re-rendered.
2526
2527         Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed
2528               an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately
2529               in bug 67759.
2530
2531         * rendering/RenderBlock.cpp:
2532         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
2533                                                          deciding whether to mark children for layout
2534
2535 2011-09-08  Roland Steiner  <rolandsteiner@chromium.org>
2536
2537         <style scoped>: Add 'scoped' attribute
2538         https://bugs.webkit.org/show_bug.cgi?id=67718
2539
2540         Add 'scoped' attribute to IDL and attribute list,
2541         implement and test setting/resetting of the attribute.
2542
2543         Reviewed by Dimitri Glazkov.
2544
2545         Test: fast/css/style-scoped/basic-attribute.html
2546
2547         * html/HTMLAttributeNames.in:
2548         * html/HTMLStyleElement.cpp:
2549         (WebCore::HTMLStyleElement::scoped):
2550         (WebCore::HTMLStyleElement::setScoped):
2551         (WebCore::HTMLStyleElement::scopingElement):
2552         * html/HTMLStyleElement.h:
2553         * html/HTMLStyleElement.idl:
2554
2555 2011-09-08  Erik Arvidsson  <arv@chromium.org>
2556
2557         Move Element.contains to Node
2558         https://bugs.webkit.org/show_bug.cgi?id=67651
2559
2560         Reviewed by Darin Adler.
2561
2562         This moves the contains method from Element to Node as in the DOM4 working draft: 
2563         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains
2564
2565         This also special cases Document contains to make it O(1) instead of O(depth).
2566
2567         Tests: fast/dom/Node/contains-method.html
2568                perf/document-contains.html
2569
2570         * dom/Element.idl:
2571         * dom/Node.cpp:
2572         (WebCore::Node::contains): Added document special case.
2573         * dom/Node.idl:
2574         * editing/DeleteSelectionCommand.cpp:
2575         (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check.
2576
2577 2011-09-08  Chris Rogers  <crogers@google.com>
2578
2579         Check AudioContext createChannelMerger() for thread safety
2580         https://bugs.webkit.org/show_bug.cgi?id=67247
2581
2582         Reviewed by Kenneth Russell.
2583
2584         Test: webaudio/audiochannelmerger-stereo.html
2585
2586         * webaudio/AudioChannelMerger.cpp:
2587         (WebCore::AudioChannelMerger::process):
2588         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
2589         * webaudio/AudioChannelMerger.h:
2590
2591 2011-09-08  Ned Holbrook  <nholbrook@apple.com>
2592
2593         Refactor hyphen measurement
2594         https://bugs.webkit.org/show_bug.cgi?id=67728
2595
2596         Reviewed by Darin Adler.
2597
2598         No new tests, purely refactoring.
2599
2600         * rendering/RenderBlockLineLayout.cpp:
2601         (WebCore::measureHyphenWidth): Added.
2602         (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth().
2603         (WebCore::tryHyphenating): Ditto.
2604         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto.
2605
2606 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
2607
2608         Remove LayoutStateDisabler instances from RenderLayer
2609         https://bugs.webkit.org/show_bug.cgi?id=66896
2610
2611         Reviewed by Simon Fraser.
2612
2613         As part of r93614, scrollTo does not call updateLayerPositions anymore.
2614         This means that we don't need to disable LayoutState from the scrolling code
2615         in RenderLayer.
2616
2617         This change is covered by the existing tests.
2618
2619         * rendering/RenderLayer.cpp:
2620         (WebCore::RenderLayer::updateLayerPositions): Updated the comment
2621         that was not accurate anymore. Also explained what is wrong with
2622         LayoutState vs RenderLayer now. Note that the ASSERT is still
2623         valid and will not trigger as the remaining calls to updateLayerPositions
2624         are done *outside* layout() where LayoutState is not set (thus disabled).
2625
2626         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed
2627         2 LayoutStateDisabler surrounding scrollToOffset.
2628
2629 2011-09-08  Julien Chaffraix  <jchaffraix@webkit.org>
2630
2631         Factor out the code to get the first non-null RenderTableSection in RenderTable
2632         https://bugs.webkit.org/show_bug.cgi?id=66972
2633
2634         Reviewed by Darin Adler.
2635
2636         Refactoring only, covered by existing tests.
2637
2638         * accessibility/AccessibilityTable.cpp:
2639         (WebCore::AccessibilityTable::addChildren):
2640         (WebCore::AccessibilityTable::cellForColumnAndRow):
2641         * accessibility/AccessibilityTableCell.cpp:
2642         (WebCore::AccessibilityTableCell::rowIndexRange):
2643         Updated those for the signature change in sectionBelow. Also added
2644         a FIXME where topSection should be used instead of iterating
2645         over the section (and likely missing some corner cases).
2646
2647         * rendering/FixedTableLayout.cpp:
2648         (WebCore::FixedTableLayout::calcWidthArray):
2649         * rendering/RenderTable.cpp:
2650         (WebCore::RenderTable::calcBorderStart):
2651         (WebCore::RenderTable::calcBorderEnd):
2652         (WebCore::RenderTable::outerBorderBefore):
2653         (WebCore::RenderTable::sectionAbove):
2654         (WebCore::RenderTable::sectionBelow):
2655         (WebCore::RenderTable::firstLineBoxBaseline):
2656         Updated all those functions to use the newly added functions. Also changed
2657         the variable names to match the functions.
2658
2659         (WebCore::RenderTable::layout):
2660         (WebCore::RenderTable::topNonEmptySection): Newly added function
2661         that returns the top non null section of the table that has at least a
2662         row.
2663
2664         (WebCore::RenderTable::cellAbove):
2665         (WebCore::RenderTable::cellBelow):
2666         Update the signature of those 2 functions to take an enum as it makes the
2667         rest of the code more readable.
2668
2669         * rendering/RenderTable.h:
2670         (WebCore::RenderTable::topSection): Newly added function to return
2671         the top non null section in the table.
2672
2673 2011-04-19  Eric Seidel  <eric@webkit.org>
2674
2675         Reviewed by Ryosuke Niwa.
2676
2677         [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property
2678         https://bugs.webkit.org/show_bug.cgi?id=50912
2679
2680         This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix.
2681         Parsing support was added in a previous patch, this wires up the RenderStyle values
2682         to code changes in the BidiResolver.
2683
2684         The effect of this patch is that it makes it possible to "isolate" runs of text
2685         so that their RTL-ness or LTR-ness does not bleed out into the rest of your text
2686         and effect layout.  This is important because many unicode characters (like parenthesis, ':', '-', etc.)
2687         do not have intrinsic directionality and are affected by whatever characters come before/after.
2688         If you have usernames which include RTL text, if you inject those usernames in your page
2689         you might end up with nearby characters moving!
2690         (like 'RTL USERNAME - my awesome site' as a title, could end up as
2691         'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.)
2692         This patch makes it possible to wrap sections of text in isolated spans, so that
2693         they correctly order all their RTL/LTR contents, but also correctly participate in the
2694         larger RTL/LTR ordering without affecting nearby characters.
2695
2696         Because much of this code is old and rarely touched, I've included extra background
2697         information in hopes of expanding my set of potential reviewers:
2698
2699         WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA.
2700         The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart.
2701
2702         Text layout is done per-block (<div>, <p>, etc), and begins with a string of text
2703         (which in our case comes from the rendering tree) and a specified width.
2704         First:  Text is measured and wrapped into lines.
2705         Second: The UBA is run over the lines of text.
2706         Third:  WebKit builds InlineBoxes (its linebox tree) and eventually render the text.
2707
2708         This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters)
2709         and then adds another step after running the UBA, where we run the UBA recursively on any
2710         previously identified "isolated" content.
2711
2712         The result of the UBA is an ordered list of "runs" of text with the RTL runs
2713         correctly RTL and the LTR runs LTR.
2714
2715         The UBA does three things:
2716         1.  It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.)
2717         2.  Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR).
2718         3.  Re-orders those runs.
2719
2720         The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h
2721
2722         The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree)
2723         walks along its InlineIterators, looking at each character and running the
2724         Unicode Bidi Algorithm (UBA).  It walks through the rendering tree subtree under
2725         a block, using a (poorly named) bidiNext function which returns the next inline object.
2726         Each inline object (or text character there-in) has a corresponding meaning in the UBA
2727         such as a "strong RTL" character or a "neutral" character.  The UBA reads these sequence
2728         of characters, and figures out what direction (RTL or LTR) to assign to any neutral
2729         characters it encounters, based on surrounding characters.
2730
2731         As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance()
2732         function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject
2733         notifying InlineBidiResolver that it is entering or exiting an "isolated"
2734         span, at which point it will either start or stop ignoring the stream of characters
2735         from the InlineIterator.  When the InlineBidiResolver is ignoring the stream of
2736         characters, instead of creating separate BidiRuns at each RTL/LTR boundary
2737         as it normally would, it instead creates one "fake" run for the entire
2738         isolated span.  These fake runs participate in the normal UBA run ordering process,
2739         but after the main UBA, a second pass is made where we examine
2740         the list of isolatedRuns() and run the UBA on each of them, replacing the fake
2741         run we previously inserted, with the resulting list of runs from that inner UBA run.
2742         The way it "ignores" characters is by treating them all as neutral when inside an isolate.
2743         Thus all the characters end up grouped in a single run, but their directionality (as a group)
2744         is correctly affected by any surrounding strong characters.
2745
2746         If you understood that last paragraph, than the rest of the change is just plumbing.
2747
2748         I added a huge number of FIXMEs to this code, because this code has a variety of
2749         design choices (or lack there of) which make some of this very difficult.
2750
2751         For example the bidiNext iterator function has two sets of mutually exclusive
2752         parameters and can be used optionally with or without an observer.  Prior to this
2753         change there was only ever one object which cared about observing a walk over inlines
2754         and that was InlineBidiResolver.  This patch (regretfully) templatizes bidiNext
2755         to support a new Observer type.  The correct fix would be to rip bidiNext into
2756         multiple functions and rip need for observation out of InlineBidiResolver.
2757         Unfortunately I've tried both in separate bugs and failed.  This code is very very
2758         old and very poorly understood.  We're slowly moving forward, this is another tiny step.
2759
2760         This is my fourth iteration of this patch (I'm happy to do more!), but I believe
2761         it's a good compromise between fixing all of the design gotcha's of our bidi
2762         system and doing the minimum amount to add this killer CSS feature.
2763
2764         I ran the PLT.  (It averaged 0.2% faster with this change, but I attribute that to noise).
2765
2766         Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html
2767
2768         * platform/text/BidiResolver.h:
2769         (WebCore::BidiCharacterRun::setNext):
2770          - Needed by the new replaceRunWithRuns function.
2771         (WebCore::BidiResolver::BidiResolver):
2772         (WebCore::BidiResolver::~BidiResolver):
2773         (WebCore::BidiResolver::enterIsolate):
2774         (WebCore::BidiResolver::exitIsolate):
2775         (WebCore::BidiResolver::inIsolate):
2776         (WebCore::BidiResolver::isolatedRuns):
2777          - Used to track isolated spans of text as they're encoutered.
2778            They're stuffed away here to be processed recursively
2779            after the main UBA has done its thang.
2780         (WebCore::::appendRun):
2781         (WebCore::::embed):
2782         (WebCore::::commitExplicitEmbedding):
2783         (WebCore::::createBidiRunsForLine):
2784         * platform/text/BidiRunList.h:
2785         (WebCore::::replaceRunWithRuns):
2786          - This effectively takes all the runs from one runlist and adds them to
2787            this one, replacing the fake run we inserted during a previous pass of the UBA.
2788          - This RunList now owns the runs, so we call clear() on the other RunList
2789            so that we don't end up double-freeing the runs.
2790         (WebCore::::clear):
2791          - This allows us to "take" runs from another run list and then clear it.
2792         * rendering/BidiRun.h:
2793         (WebCore::BidiRun::object):
2794         * rendering/InlineIterator.h:
2795         (WebCore::InlineIterator::object):
2796         (WebCore::InlineIterator::offset):
2797         (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext.
2798         (WebCore::notifyObserverWillExitObject): Mostly just renaming.
2799         (WebCore::addPlaceholderRunForIsolatedInline):
2800         (WebCore::isIsolatedInline):
2801         (WebCore::InlineBidiResolver::appendRun):
2802         * rendering/RenderBlockLineLayout.cpp:
2803         (WebCore::statusWithDirection):
2804         (WebCore::constructBidiRuns):
2805          - This is the heavy-lifting of this change.  This function
2806            runs the UBA recursively on all the previously identified isolated spans.
2807          - If we encounter more isolated spans in our run, we just add them to the
2808            main list an keep going.  Because the runs are linked lists and we have
2809            direct pointers to our placeholder objects, we don't care what order
2810            we process the placeholders in, so long as when we're done, they're all processed.
2811         (WebCore::RenderBlock::layoutInlineChildren):
2812
2813 2011-09-08  Kentaro Hara  <haraken@google.com>
2814
2815         Implement a ProgressEvent constructor for JSC
2816         https://bugs.webkit.org/show_bug.cgi?id=67537
2817
2818         Reviewed by Sam Weinig.
2819
2820         The spec for the ProgressEvent constructor is here:
2821         http://www.w3.org/TR/progress-events/#interface-progressevent
2822
2823         Test: fast/events/constructors/progress-event-constructor.html
2824
2825         * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor.
2826         * bindings/js/JSDictionary.cpp:
2827         (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long
2828         * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent.
2829         * dom/ProgressEvent.cpp:
2830         (WebCore::ProgressEventInit::ProgressEventInit):
2831         (WebCore::ProgressEvent::ProgressEvent):
2832         * dom/ProgressEvent.h: Added a definition for ProgressEventInit.
2833         (WebCore::ProgressEvent::create):
2834         * dom/ProgressEvent.idl: Makes ProgressEvent constructible.
2835
2836 2011-09-08  Ryosuke Niwa  <rniwa@webkit.org>
2837
2838         Make bindings tests quiet after r94701.
2839
2840         * bindings/scripts/test/JS/JSTestInterface.cpp:
2841         * bindings/scripts/test/JS/JSTestInterface.h:
2842         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
2843         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2844         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2845         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
2846         * bindings/scripts/test/JS/JSTestObj.cpp:
2847         * bindings/scripts/test/JS/JSTestObj.h:
2848         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
2849         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2850         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2851         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
2852
2853 2011-09-07  Pavel Podivilov  <podivilov@chromium.org>
2854
2855         Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded.
2856         https://bugs.webkit.org/show_bug.cgi?id=67717
2857
2858         Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded.
2859
2860         Reviewed by Yury Semikhatsky.
2861
2862         * inspector/front-end/DebuggerPresentationModel.js:
2863         (WebInspector.DebuggerPresentationModel):
2864         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
2865         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2866         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
2867         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2868         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
2869         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2870         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
2871         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
2872         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2873         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2874         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2875         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2876         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
2877         (WebInspector.PresentationCallFrame.prototype.sourceLine):
2878         * inspector/front-end/SourceFile.js:
2879
2880 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
2881
2882         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
2883         https://bugs.webkit.org/show_bug.cgi?id=67647
2884
2885         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
2886         2) Add RawSourceCode unit tests.
2887         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
2888
2889         Reviewed by Yury Semikhatsky.
2890
2891         Test: inspector/debugger/raw-source-code.html
2892
2893         * inspector/front-end/DebuggerPresentationModel.js:
2894         (WebInspector.DebuggerPresentationModel):
2895         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2896         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2897         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2898         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2899         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2900         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2901         * inspector/front-end/ScriptsPanel.js:
2902         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2903         * inspector/front-end/SourceFile.js:
2904         (WebInspector.RawSourceCode):
2905         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
2906         (WebInspector.RawSourceCode.prototype.setFormatted):
2907         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2908         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2909
2910 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2911
2912         Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken
2913         https://bugs.webkit.org/show_bug.cgi?id=67711
2914
2915         Reviewed by Yury Semikhatsky.
2916
2917         * inspector/front-end/ConsoleView.js:
2918         (WebInspector.ConsoleView.prototype._consoleCleared):
2919         (WebInspector.ConsoleView.prototype._registerShortcuts):
2920         (WebInspector.ConsoleView.prototype._promptKeyDown):
2921
2922 2011-09-08  Andras Becsi  <andras.becsi@nokia.com>
2923
2924         [Qt] Build fails with strict compiler
2925         https://bugs.webkit.org/show_bug.cgi?id=67778
2926
2927         Reviewed by Csaba Osztrogon√°c.
2928
2929         No new tests needed.
2930
2931         * platform/graphics/TiledBackingStore.cpp:
2932         (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable
2933         which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable].
2934
2935 2011-09-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2936
2937         Unreviewed, rolling out r94695.
2938         http://trac.webkit.org/changeset/94695
2939         https://bugs.webkit.org/show_bug.cgi?id=67776
2940
2941         Hitting an assertion on Snow Leopard, Qt, GTK (Requested by
2942         Zoltan on #webkit).
2943
2944         * rendering/RenderBlock.cpp:
2945         (WebCore::RenderBlock::positionedFloatsNeedRelayout):
2946         (WebCore::RenderBlock::layoutPositionedObjects):
2947
2948 2011-09-08  Alexander Pavlov  <apavlov@chromium.org>
2949
2950         Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css).
2951
2952         * inspector/front-end/ApplicationCacheItemsView.js:
2953         * inspector/front-end/AuditResultView.js:
2954         * inspector/front-end/BinarySearch.js:
2955         * inspector/front-end/CSSStyleModel.js:
2956         * inspector/front-end/ConsoleMessage.js:
2957         * inspector/front-end/ConsoleModel.js:
2958         * inspector/front-end/ConsoleView.js:
2959         * inspector/front-end/CookieItemsView.js:
2960         * inspector/front-end/CookieParser.js:
2961         * inspector/front-end/DOMAgent.js:
2962         * inspector/front-end/DOMStorage.js:
2963         * inspector/front-end/DOMStorageItemsView.js:
2964         * inspector/front-end/DataGrid.js:
2965         * inspector/front-end/Database.js:
2966         * inspector/front-end/DatabaseQueryView.js:
2967         * inspector/front-end/DetailedHeapshotGridNodes.js:
2968         * inspector/front-end/DetailedHeapshotView.js:
2969         * inspector/front-end/ElementsTreeOutline.js:
2970         * inspector/front-end/EmptyView.js:
2971         * inspector/front-end/EventListenersSidebarPane.js:
2972         * inspector/front-end/ExtensionCommon.js:
2973         * inspector/front-end/GoToLineDialog.js:
2974         * inspector/front-end/HeapSnapshot.js:
2975         * inspector/front-end/HeapSnapshotProxy.js:
2976         * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
2977         * inspector/front-end/ImageView.js:
2978         * inspector/front-end/InjectedFakeWorker.js:
2979         * inspector/front-end/InspectorFrontendHostStub.js:
2980         * inspector/front-end/MetricsSidebarPane.js:
2981         * inspector/front-end/NetworkManager.js:
2982         * inspector/front-end/NetworkPanel.js:
2983         * inspector/front-end/ObjectPropertiesSection.js:
2984         * inspector/front-end/PartialQuickSort.js:
2985         * inspector/front-end/ProfileView.js:
2986         * inspector/front-end/ProfilesPanel.js:
2987         * inspector/front-end/RemoteObject.js:
2988         * inspector/front-end/Resource.js:
2989         * inspector/front-end/ResourceCategory.js:
2990         * inspector/front-end/ResourceHTMLView.js:
2991         * inspector/front-end/ResourceHeadersView.js:
2992         * inspector/front-end/ResourceJSONView.js:
2993         * inspector/front-end/ResourceTimingView.js:
2994         * inspector/front-end/ResourceTreeModel.js:
2995         * inspector/front-end/ResourceView.js:
2996         * inspector/front-end/ResourcesPanel.js:
2997         * inspector/front-end/SearchController.js:
2998         * inspector/front-end/SettingsScreen.js:
2999         * inspector/front-end/ShortcutsScreen.js:
3000         * inspector/front-end/SourceCSSTokenizer.js:
3001         * inspector/front-end/SourceHTMLTokenizer.js:
3002         * inspector/front-end/SourceJavaScriptTokenizer.js:
3003         * inspector/front-end/StatusBarButton.js:
3004         * inspector/front-end/TextEditorModel.js:
3005         * inspector/front-end/TimelineGrid.js:
3006         * inspector/front-end/View.js:
3007         * inspector/front-end/heapProfiler.css:
3008         * inspector/front-end/inspector.css:
3009         * inspector/front-end/inspector.js:
3010         * inspector/front-end/inspectorSyntaxHighlight.css:
3011         * inspector/front-end/networkPanel.css:
3012         * inspector/front-end/treeoutline.js:
3013         * inspector/front-end/utilities.js:
3014
3015 2011-09-07  Andrey Kosyakov  <caseq@chromium.org>
3016
3017         Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR
3018         https://bugs.webkit.org/show_bug.cgi?id=67715
3019
3020         Reviewed by Yury Semikhatsky.
3021
3022         - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event.
3023
3024         * inspector/front-end/TextViewer.js:
3025         (WebInspector.TextViewer.forwardWheelEvent):
3026         (WebInspector.TextViewer):
3027
3028 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3029
3030         Unreviewed, rolling out r94674 and r94689.
3031         http://trac.webkit.org/changeset/94674
3032         http://trac.webkit.org/changeset/94689
3033         https://bugs.webkit.org/show_bug.cgi?id=67754
3034
3035         Broke inspector/debugger/script-formatter.html (Requested by
3036         rniwa on #webkit).
3037
3038         * inspector/front-end/DebuggerPresentationModel.js:
3039         (WebInspector.DebuggerPresentationModel):
3040         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
3041         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
3042         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3043         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3044         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
3045         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
3046         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
3047         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
3048         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3049         * inspector/front-end/ScriptsPanel.js:
3050         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3051         * inspector/front-end/SourceFile.js:
3052         (WebInspector.RawSourceCode):
3053         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
3054         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
3055         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3056         (WebInspector.RawSourceCode.prototype.requestContent):
3057         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3058
3059 2011-09-07  Julien Chaffraix  <jchaffraix@webkit.org>
3060
3061         offsetFromRoot optimization is disabled after r93837
3062         https://bugs.webkit.org/show_bug.cgi?id=67677
3063
3064         Reviewed by Simon Fraser.
3065
3066         Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2)
3067         because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't
3068         have a good test harness to cover such slowdown.
3069
3070         * rendering/RenderLayer.cpp:
3071         (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss
3072         the optimization altogether.
3073
3074         (WebCore::RenderLayer::computeRepaintRects):
3075         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
3076         * rendering/RenderLayer.h:
3077         Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming.
3078
3079 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
3080
3081         Windows build fix after r94737.
3082
3083         * rendering/RenderBlock.cpp:
3084         (WebCore::RenderBlock::adjustRectForColumns):
3085
3086 2011-09-07  Dan Bernstein  <mitz@apple.com>
3087
3088         Removed hyphenation function implementations for an usupported build configuration.
3089
3090         Reviewed by Sam Weinig.
3091
3092         * platform/text/cf/HyphenationCF.cpp:
3093
3094 2011-09-07  David Hyatt  <hyatt@apple.com>
3095
3096         https://bugs.webkit.org/show_bug.cgi?id=67739
3097
3098         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
3099         function by removing the loop and just computing the start and end column for a repaint rect
3100         and uniting everything in between.
3101
3102         Reviewed by Dan Bernstein.
3103
3104         * rendering/RenderBlock.cpp:
3105         (WebCore::RenderBlock::adjustRectForColumns):
3106
3107 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3108
3109         Unreviewed, rolling out r94714 and r94723.
3110         http://trac.webkit.org/changeset/94714
3111         http://trac.webkit.org/changeset/94723
3112         https://bugs.webkit.org/show_bug.cgi?id=67746
3113
3114         breaks gtk-linux tests with assertion failure (Requested by
3115         thorton on #webkit).
3116
3117         * platform/graphics/GraphicsContext.cpp:
3118         (WebCore::GraphicsContext::GraphicsContext):
3119         (WebCore::GraphicsContext::~GraphicsContext):
3120         * platform/graphics/GraphicsContext.h:
3121         (WebCore::GraphicsContext::inTransparencyLayer):
3122         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3123         (WebCore::GraphicsContext::beginTransparencyLayer):
3124         (WebCore::GraphicsContext::endTransparencyLayer):
3125         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3126         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
3127         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
3128         * platform/graphics/cg/GraphicsContextCG.cpp:
3129         (WebCore::GraphicsContext::beginTransparencyLayer):
3130         (WebCore::GraphicsContext::endTransparencyLayer):
3131         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3132         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3133         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3134         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
3135         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
3136         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3137         (WebCore::GraphicsContext::beginTransparencyLayer):
3138         (WebCore::GraphicsContext::endTransparencyLayer):
3139         * platform/graphics/mac/FontMac.mm:
3140         (WebCore::Font::drawGlyphs):
3141         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3142         (WebCore::GraphicsContext::beginTransparencyLayer):
3143         (WebCore::GraphicsContext::endTransparencyLayer):
3144         * platform/graphics/qt/GraphicsContextQt.cpp:
3145         (WebCore::GraphicsContext::inTransparencyLayer):
3146         (WebCore::GraphicsContext::beginTransparencyLayer):
3147         (WebCore::GraphicsContext::endTransparencyLayer):
3148         * platform/graphics/skia/GraphicsContextSkia.cpp:
3149         (WebCore::GraphicsContext::beginTransparencyLayer):
3150         (WebCore::GraphicsContext::endTransparencyLayer):
3151         * platform/graphics/win/FontCGWin.cpp:
3152         (WebCore::drawGDIGlyphs):
3153         * platform/graphics/win/GraphicsContextCGWin.cpp:
3154         (WebCore::GraphicsContext::releaseWindowsContext):
3155         * platform/graphics/win/GraphicsContextCairoWin.cpp:
3156         (WebCore::GraphicsContext::releaseWindowsContext):
3157         * platform/graphics/win/GraphicsContextWin.cpp:
3158         (WebCore::GraphicsContext::inTransparencyLayer):
3159         (WebCore::GraphicsContext::getWindowsContext):
3160         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3161         (WebCore::GraphicsContext::beginTransparencyLayer):
3162         (WebCore::GraphicsContext::endTransparencyLayer):
3163         * platform/graphics/wx/GraphicsContextWx.cpp:
3164         (WebCore::GraphicsContext::beginTransparencyLayer):
3165         (WebCore::GraphicsContext::endTransparencyLayer):
3166         * platform/win/ScrollbarThemeWin.cpp:
3167         (WebCore::ScrollbarThemeWin::paintTrackPiece):
3168         (WebCore::ScrollbarThemeWin::paintButton):
3169         (WebCore::ScrollbarThemeWin::paintThumb):
3170         * plugins/win/PluginViewWin.cpp:
3171         (WebCore::PluginView::paint):
3172         * rendering/RenderThemeWin.cpp:
3173         (WebCore::drawControl):
3174
3175 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
3176
3177         Changes to aria-hidden don't change VO navigation
3178         https://bugs.webkit.org/show_bug.cgi?id=67722
3179
3180         Reviewed by Darin Adler.
3181
3182         When altering aria-hidden, WebCore needs to update the children caches of 
3183         affected elements. However, for elements that were children, but ignored, their
3184         caches did not get updated, and stale information would be propagated.
3185
3186         The fix is to always clearChildren() when a parent is asking for children. This 
3187         ensures information is always up to date when the parent itself is asking for new data.
3188
3189         Test: accessibility/aria-hidden-updates-alldescendants.html
3190
3191         * accessibility/AccessibilityObject.h:
3192         * accessibility/AccessibilityRenderObject.cpp:
3193         (WebCore::AccessibilityRenderObject::ariaIsHidden):
3194         (WebCore::AccessibilityRenderObject::childrenChanged):
3195         (WebCore::AccessibilityRenderObject::addChildren):
3196
3197 2011-09-07  Tim Horton  <timothy_horton@apple.com>
3198
3199         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
3200         https://bugs.webkit.org/show_bug.cgi?id=67543
3201         <rdar://problem/10070536>
3202
3203         Reviewed by Simon Fraser.
3204
3205         Generalize (begin|end)TransparencyLayer, which now forward
3206         through to (begin|end)PlatformTransparencyLayer, so that
3207         isInTransparencyLayer can exist on every platform.
3208
3209         Make use of isInTransparencyLayer in FontMac to disable
3210         "simple" shadow drawing when the text is being rendered
3211         into a transparency layer.
3212
3213         Test: svg/custom/simple-text-double-shadow.svg
3214
3215         * platform/graphics/GraphicsContext.cpp:
3216         (WebCore::GraphicsContext::GraphicsContext):
3217         (WebCore::GraphicsContext::~GraphicsContext):
3218         (WebCore::GraphicsContext::beginTransparencyLayer):
3219         (WebCore::GraphicsContext::endTransparencyLayer):
3220         (WebCore::GraphicsContext::isInTransparencyLayer):
3221         * platform/graphics/GraphicsContext.h:
3222         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3223         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3224         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3225         (WebCore::GraphicsContext::supportsTransparencyLayers):
3226         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3227         * platform/graphics/cg/GraphicsContextCG.cpp:
3228         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3229         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3230         (WebCore::GraphicsContext::supportsTransparencyLayers):
3231         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3232         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3233         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3234         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3235         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3236         (WebCore::GraphicsContext::supportsTransparencyLayers):
3237         * platform/graphics/mac/FontMac.mm:
3238         (WebCore::Font::drawGlyphs):
3239         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3240         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3241         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3242         (WebCore::GraphicsContext::supportsTransparencyLayers):
3243         * platform/graphics/qt/GraphicsContextQt.cpp:
3244         (WebCore::GraphicsContext::isInTransparencyLayer):
3245         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3246         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3247         (WebCore::GraphicsContext::supportsTransparencyLayers):
3248         * platform/graphics/skia/GraphicsContextSkia.cpp:
3249         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3250         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3251         (WebCore::GraphicsContext::supportsTransparencyLayers):
3252         * platform/graphics/win/FontCGWin.cpp:
3253         (WebCore::drawGDIGlyphs):
3254         * platform/graphics/win/GraphicsContextCGWin.cpp:
3255         (WebCore::GraphicsContext::releaseWindowsContext):
3256         * platform/graphics/win/GraphicsContextCairoWin.cpp:
3257         (WebCore::GraphicsContext::releaseWindowsContext):
3258         * platform/graphics/win/GraphicsContextWin.cpp:
3259         (WebCore::GraphicsContext::getWindowsContext):
3260         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3261         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3262         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3263         (WebCore::GraphicsContext::supportsTransparencyLayers):
3264         * platform/graphics/wx/GraphicsContextWx.cpp:
3265         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
3266         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
3267         (WebCore::GraphicsContext::supportsTransparencyLayers):
3268         * platform/win/ScrollbarThemeWin.cpp:
3269         * plugins/win/PluginViewWin.cpp:
3270         * rendering/RenderThemeWin.cpp:
3271
3272 2011-09-07  Dan Bernstein  <mitz@apple.com>
3273
3274         <rdar://problem/8881922> Support the hyphenate-limit-lines property
3275         https://bugs.webkit.org/show_bug.cgi?id=67730
3276
3277         Reviewed by Dave Hyatt.
3278
3279         Tests: fast/css/parsing-hyphenate-limit-lines.html
3280                fast/text/hyphenate-limit-lines.html
3281
3282         * css/CSSComputedStyleDeclaration.cpp:
3283         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
3284         * css/CSSParser.cpp:
3285         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
3286         "no-limit".
3287         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
3288         * css/CSSStyleSelector.cpp:
3289         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
3290         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
3291         * rendering/RenderBlock.h:
3292         * rendering/RenderBlockLineLayout.cpp:
3293         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
3294         before the start line and pass it to layoutRunsAndFloatsInRange().
3295         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
3296         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
3297         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
3298         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
3299         has been reached.
3300         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
3301         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
3302         the value of hyphenate-limit-lines.
3303         * rendering/RootInlineBox.cpp:
3304         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
3305         * rendering/RootInlineBox.h:
3306         * rendering/style/RenderStyle.h:
3307         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
3308         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
3309         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
3310         corresponding to "no-limit".
3311         * rendering/style/StyleRareInheritedData.cpp:
3312         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
3313         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
3314         * rendering/style/StyleRareInheritedData.h:
3315
3316 2011-09-02  Ojan Vafai  <ojan@chromium.org>
3317
3318         split overrideSize into overrideHeight and overrideWidth
3319         https://bugs.webkit.org/show_bug.cgi?id=67550
3320
3321         Reviewed by Sam Weinig.
3322
3323         All uses of overrideSize only set one of the width or the height.
3324         This change removes a bool from RenderObject and removes some
3325         flexbox specific logic from RenderBox.
3326
3327         The only downside is that we have two global maps where we used
3328         to have one.
3329
3330         No functional changes so existing tests are sufficient.
3331
3332         * rendering/RenderBox.cpp:
3333         (WebCore::RenderBox::hasOverrideHeight):
3334         (WebCore::RenderBox::hasOverrideWidth):
3335         (WebCore::RenderBox::setOverrideHeight):
3336         (WebCore::RenderBox::setOverrideWidth):
3337         (WebCore::RenderBox::clearOverrideSize):
3338         (WebCore::RenderBox::overrideWidth):
3339         (WebCore::RenderBox::overrideHeight):
3340         (WebCore::RenderBox::computeLogicalWidth):
3341         (WebCore::RenderBox::computeLogicalHeight):
3342         (WebCore::RenderBox::computePercentageLogicalHeight):
3343         * rendering/RenderBox.h:
3344         * rendering/RenderDeprecatedFlexibleBox.cpp:
3345         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3346         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3347         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3348         * rendering/RenderFlexibleBox.cpp:
3349         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
3350         * rendering/RenderObject.cpp:
3351         (WebCore::RenderObject::RenderObject):
3352         * rendering/RenderObject.h:
3353         * rendering/RenderTableCell.cpp:
3354         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
3355         * rendering/RenderTableCell.h:
3356         * rendering/RenderTableSection.cpp:
3357         (WebCore::RenderTableSection::calcRowLogicalHeight):
3358         (WebCore::RenderTableSection::layoutRows):
3359
3360 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
3361
3362         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
3363         https://bugs.webkit.org/show_bug.cgi?id=67511
3364
3365         Reviewed by Dimitri Glazkov.
3366
3367         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
3368                platform/chromium-mac/rubberbanding/overhang-n.html
3369                platform/chromium-mac/rubberbanding/overhang-ne.html
3370                platform/chromium-mac/rubberbanding/overhang-nw.html
3371                platform/chromium-mac/rubberbanding/overhang-s.html
3372                platform/chromium-mac/rubberbanding/overhang-se.html
3373                platform/chromium-mac/rubberbanding/overhang-sw.html
3374                platform/chromium-mac/rubberbanding/overhang-w.html
3375
3376         * WebCore.exp.in:
3377         * platform/ScrollableArea.h:
3378         * testing/Internals.cpp:
3379         (WebCore::Internals::setScrollViewPosition):
3380         * testing/Internals.h:
3381         * testing/Internals.idl:
3382
3383 2011-09-07  David Reveman  <reveman@chromium.org>
3384
3385         [Chromium] Render surface anti-aliasing.
3386         https://bugs.webkit.org/show_bug.cgi?id=66437
3387
3388         Reviewed by James Robinson.
3389
3390         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
3391         edge computations to be shared between tiled layers and render
3392         surfaces. Move isCCW utility function to FloatQuad class and
3393         add to2dTransform method to TransformationMatrix class. Add
3394         necessary anti-aliasing shaders for render surfaces and use them
3395         to avoid aliased edges.
3396
3397         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
3398
3399         * WebCore.gypi:
3400         * platform/graphics/FloatQuad.cpp:
3401         (WebCore::FloatQuad::isCounterclockwise):
3402         * platform/graphics/FloatQuad.h:
3403         * platform/graphics/chromium/LayerChromium.cpp:
3404         (WebCore::LayerChromium::drawTexturedQuad):
3405         * platform/graphics/chromium/LayerChromium.h:
3406         * platform/graphics/chromium/LayerRendererChromium.cpp:
3407         (WebCore::LayerRendererChromium::LayerRendererChromium):
3408         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
3409         (WebCore::LayerRendererChromium::renderSurfaceProgram):
3410         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
3411         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
3412         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
3413         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
3414         (WebCore::LayerRendererChromium::canvasLayerProgram):
3415         (WebCore::LayerRendererChromium::pluginLayerProgram):
3416         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
3417         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
3418         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3419         * platform/graphics/chromium/LayerRendererChromium.h:
3420         (WebCore::LayerRendererChromium::sharedGeometryQuad):
3421         * platform/graphics/chromium/ShaderChromium.cpp:
3422         (WebCore::VertexShaderQuad::VertexShaderQuad):
3423         (WebCore::VertexShaderQuad::init):
3424         (WebCore::VertexShaderQuad::getShaderString):
3425         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
3426         (WebCore::FragmentShaderRGBATexAlphaAA::init):
3427         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
3428         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
3429         (WebCore::FragmentTexClampAlphaAABinding::init):
3430         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
3431         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
3432         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
3433         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
3434         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
3435         * platform/graphics/chromium/ShaderChromium.h:
3436         (WebCore::VertexShaderQuad::matrixLocation):
3437         (WebCore::VertexShaderQuad::pointLocation):
3438         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
3439         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
3440         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
3441         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
3442         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
3443         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
3444         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
3445         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3446         (WebCore::CCCanvasLayerImpl::draw):
3447         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3448         (WebCore::CCHeadsUpDisplay::draw):
3449         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
3450         (WebCore::CCLayerQuad::Edge::Edge):
3451         (WebCore::CCLayerQuad::CCLayerQuad):
3452         (WebCore::CCLayerQuad::floatQuad):
3453         (WebCore::CCLayerQuad::toFloatArray):
3454         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
3455         (WebCore::CCLayerQuad::Edge::Edge):
3456         (WebCore::CCLayerQuad::Edge::x):
3457         (WebCore::CCLayerQuad::Edge::y):
3458         (WebCore::CCLayerQuad::Edge::z):
3459         (WebCore::CCLayerQuad::Edge::setX):
3460         (WebCore::CCLayerQuad::Edge::setY):
3461         (WebCore::CCLayerQuad::Edge::setZ):
3462         (WebCore::CCLayerQuad::Edge::set):
3463         (WebCore::CCLayerQuad::Edge::moveX):
3464         (WebCore::CCLayerQuad::Edge::moveY):
3465         (WebCore::CCLayerQuad::Edge::moveZ):
3466         (WebCore::CCLayerQuad::Edge::move):
3467         (WebCore::CCLayerQuad::Edge::scaleX):
3468         (WebCore::CCLayerQuad::Edge::scaleY):
3469         (WebCore::CCLayerQuad::Edge::scaleZ):
3470         (WebCore::CCLayerQuad::Edge::scale):
3471         (WebCore::CCLayerQuad::Edge::intersect):
3472         (WebCore::CCLayerQuad::CCLayerQuad):
3473         (WebCore::CCLayerQuad::left):
3474         (WebCore::CCLayerQuad::top):
3475         (WebCore::CCLayerQuad::right):
3476         (WebCore::CCLayerQuad::bottom):
3477         (WebCore::CCLayerQuad::inflateX):
3478         (WebCore::CCLayerQuad::inflateY):
3479         (WebCore::CCLayerQuad::inflate):
3480         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
3481         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3482         (WebCore::CCPluginLayerImpl::draw):
3483         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3484         (WebCore::CCRenderSurface::draw):
3485         (WebCore::CCRenderSurface::drawLayer):
3486         (WebCore::CCRenderSurface::drawSurface):
3487         * platform/graphics/chromium/cc/CCRenderSurface.h:
3488         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3489         (WebCore::CCTiledLayerImpl::draw):
3490         (WebCore::CCTiledLayerImpl::drawTiles):
3491         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3492         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3493         (WebCore::CCVideoLayerImpl::drawYUV):
3494         (WebCore::CCVideoLayerImpl::drawRGBA):
3495         * platform/graphics/transforms/TransformationMatrix.cpp:
3496         (WebCore::TransformationMatrix::to2dTransform):
3497         * platform/graphics/transforms/TransformationMatrix.h:
3498
3499 2011-09-06  Oliver Hunt  <oliver@apple.com>
3500
3501         Remove JSObjectWithGlobalObject
3502         https://bugs.webkit.org/show_bug.cgi?id=67689
3503
3504         Reviewed by Geoff Garen.
3505
3506         Remove use of anonymous storage and JSObjectWithGlobalObject for
3507         accessing a JSObject's global object now that they're available
3508         on the object's structure.
3509
3510         * bindings/js/JSDOMWindowShell.cpp:
3511         (WebCore::JSDOMWindowShell::setWindow):
3512         * bindings/js/JSDOMWrapper.h:
3513         (WebCore::JSDOMWrapper::globalObject):
3514         (WebCore::JSDOMWrapper::JSDOMWrapper):
3515         * bindings/js/WorkerScriptController.cpp:
3516         (WebCore::WorkerScriptController::initScript):
3517         * bindings/scripts/CodeGeneratorJS.pm:
3518         (GenerateHeader):
3519         (GenerateImplementation):
3520         * bridge/objc/objc_runtime.h:
3521         * bridge/objc/objc_runtime.mm:
3522         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3523         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
3524         * bridge/runtime_object.cpp:
3525         (JSC::Bindings::RuntimeObject::RuntimeObject):
3526         (JSC::Bindings::RuntimeObject::finishCreation):
3527         * bridge/runtime_object.h:
3528
3529 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
3530
3531         Mac build fix after r94694.
3532
3533         * WebCore.xcodeproj/project.pbxproj:
3534
3535 2011-09-07  Tim Horton  <timothy_horton@apple.com>
3536
3537         FELighting is using width instead of height to determine skip for parallel(n>2) case
3538         https://bugs.webkit.org/show_bug.cgi?id=67719
3539         <rdar://problem/10086178>
3540
3541         Reviewed by Dirk Schulze.
3542
3543         No new tests, because the bug only exhibits under conditions which are currently
3544         impossible by default (using more than 2 cores) on some platforms.
3545
3546         * platform/graphics/filters/FELighting.cpp:
3547         (WebCore::FELighting::platformApplyGeneric):
3548
3549 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
3550
3551         Eliminate motion jitter in animated, blurred SVG image
3552         https://bugs.webkit.org/show_bug.cgi?id=67503
3553
3554         Fixes filter shear-free transform applied to SVG images.
3555
3556         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
3557         which is based on the object bounding box (which doesn't move). For a rotation
3558         around the centre of the box, this should really just be the identity matrix,
3559         since the BB should neither change size nor location. So really, we're just interested
3560         in the scale change of the BB here, and not in moving it.
3561
3562         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
3563         for vertical and horizontal slices, so the test verifies these.
3564
3565         Reviewed by Dirk Schulze.
3566
3567         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
3568
3569         * rendering/svg/RenderSVGResourceFilter.cpp:
3570         (WebCore::RenderSVGResourceFilter::applyResource):
3571
3572 2011-09-03  Robert Hogan  <robert@webkit.org>
3573
3574         Elements with position:absolute don't move to correct position after images load
3575         https://bugs.webkit.org/show_bug.cgi?id=54611
3576
3577         Reviewed by Simon Fraser.
3578
3579         Test: fast/block/positioning/absolute-layout-after-image-load.html
3580               fast/block/positioning/positioned-float-layout-after-image-load.html
3581
3582         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
3583         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
3584         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
3585         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
3586         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
3587         takes care of it this at least ensures no regression in future.
3588
3589         Note: Although the issue is encountered only on first load without a fragment identifier, it 
3590         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
3591         because scrolling to the fragment always happens before the image has loaded, rendering the page 
3592         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
3593         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
3594         re-rendered.
3595
3596         * rendering/RenderBlock.cpp:
3597         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
3598                                                          deciding whether to mark children for layout
3599         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
3600
3601 2011-09-07  Anna Cavender  <annacc@chromium.org>
3602
3603         Moving platform/track to html/track to avoid layering violation.
3604         https://bugs.webkit.org/show_bug.cgi?id=67680
3605
3606         Reviewed by Adam Barth.
3607
3608         No new tests. No new functionality.
3609
3610         * CMakeLists.txt:
3611         * GNUmakefile.am:
3612         * GNUmakefile.list.am:
3613         * WebCore.gyp/WebCore.gyp:
3614         * WebCore.gypi:
3615         * WebCore.pri:
3616         * WebCore.pro:
3617         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
3618         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
3619         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
3620         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
3621         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
3622         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
3623         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
3624         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
3625
3626 2011-09-07  David Hyatt  <hyatt@apple.com>
3627
3628         https://bugs.webkit.org/show_bug.cgi?id=67286
3629
3630         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
3631
3632         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
3633         leading to just be the block height.
3634
3635         Reviewed by Dan Bernstein.
3636
3637         * rendering/RenderBlockLineLayout.cpp:
3638         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3639
3640 2011-09-06  Abhishek Arya  <inferno@chromium.org>
3641
3642         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
3643         https://bugs.webkit.org/show_bug.cgi?id=67669
3644
3645         Reviewed by James Robinson.
3646
3647         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
3648         call. We need a null check in updateScrollbarParts, so that we do not crash.
3649
3650         No tests since issue seen in crash reports only and I donot know a way to
3651         reproduce.
3652
3653         * rendering/RenderScrollbar.cpp:
3654         (WebCore::RenderScrollbar::updateScrollbarParts):
3655
3656 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3657
3658         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
3659         https://bugs.webkit.org/show_bug.cgi?id=67606
3660
3661         Reviewed by Noam Rosenthal.
3662
3663         TiledBackingStore previously used different values for horizontal and vertial multiplication
3664         to calculate the cover area.
3665         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
3666         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
3667         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
3668         of the viewport.
3669
3670         * platform/graphics/TiledBackingStore.cpp:
3671         (WebCore::TiledBackingStore::TiledBackingStore):
3672         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
3673         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
3674         (WebCore::TiledBackingStore::createTiles):
3675         (WebCore::TiledBackingStore::calculateKeepRect):
3676         (WebCore::TiledBackingStore::calculateCoverRect):
3677         * platform/graphics/TiledBackingStore.h:
3678         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
3679
3680 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3681
3682         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
3683         https://bugs.webkit.org/show_bug.cgi?id=67416
3684
3685         Reviewed by Kenneth Rohde Christiansen.
3686
3687         Original code by Antti Koivisto.
3688         With the current code, when the page is layouted during load, edge tiles will
3689         get removed instead of continuing to show their front buffer while the tile
3690         is being rendered for the new size.
3691
3692         * platform/graphics/Tile.h:
3693         * platform/graphics/TiledBackingStore.cpp:
3694         (WebCore::TiledBackingStore::createTiles):
3695         (WebCore::TiledBackingStore::resizeEdgeTiles):
3696         * platform/graphics/TiledBackingStore.h:
3697         * platform/graphics/qt/TileQt.cpp:
3698         (WebCore::TileQt::resize):
3699         * platform/graphics/qt/TileQt.h:
3700
3701 2011-09-07  Tim Horton  <timothy_horton@apple.com>
3702
3703         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
3704         https://bugs.webkit.org/show_bug.cgi?id=67242
3705         <rdar://problem/10069770>
3706
3707         Reviewed by Dirk Schulze.
3708
3709         No new tests, minor performance improvement.
3710
3711         * platform/graphics/transforms/AffineTransform.cpp:
3712         (WebCore::AffineTransform::blend):
3713         (WebCore::AffineTransform::decompose):
3714         (WebCore::AffineTransform::recompose):
3715         * platform/graphics/transforms/AffineTransform.h:
3716         * rendering/svg/SVGImageBufferTools.cpp:
3717         (WebCore::SVGImageBufferTools::clear2DRotation):
3718
3719 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
3720
3721         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
3722         https://bugs.webkit.org/show_bug.cgi?id=67647
3723
3724         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
3725         2) Add RawSourceCode unit tests.
3726         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
3727
3728         Reviewed by Yury Semikhatsky.
3729
3730         Test: inspector/debugger/raw-source-code.html
3731
3732         * inspector/front-end/DebuggerPresentationModel.js:
3733         (WebInspector.DebuggerPresentationModel):
3734         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
3735         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3736         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
3737         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
3738         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
3739         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
3740         * inspector/front-end/ScriptsPanel.js:
3741         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3742         * inspector/front-end/SourceFile.js:
3743         (WebInspector.RawSourceCode):
3744         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
3745         (WebInspector.RawSourceCode.prototype.setFormatted):
3746         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3747         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3748
3749 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
3750
3751         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
3752         https://bugs.webkit.org/show_bug.cgi?id=67127
3753
3754         Reviewed by Yury Semikhatsky.
3755
3756         * inspector/front-end/Section.js:
3757         (WebInspector.Section.prototype.get firstSibling):
3758         (WebInspector.Section.prototype.get lastSibling):
3759         * inspector/front-end/StylesSidebarPane.js:
3760         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
3761         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
3762         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
3763         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
3764         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
3765         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3766         (WebInspector.StylePropertyTreeElement.prototype):
3767         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
3768
3769 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
3770
3771         Web Inspector: [Extensions API] expose console API
3772         https://bugs.webkit.org/show_bug.cgi?id=67506
3773
3774         Reviewed by Pavel Feldman.
3775
3776         Test: inspector/extensions/extensions-console.html
3777
3778         * inspector/front-end/ConsoleMessage.js:
3779         (WebInspector.ConsoleMessage.prototype.get text):
3780         (WebInspector.ConsoleMessage.prototype.get parameters):
3781         * inspector/front-end/ExtensionAPI.js:
3782         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
3783         (WebInspector.injectedExtensionAPI):
3784         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
3785         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
3786         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
3787         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
3788         (WebInspector.injectedExtensionAPI.Network):
3789         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
3790         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
3791         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
3792         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
3793         (WebInspector.injectedExtensionAPI.InspectedWindow):
3794         * inspector/front-end/ExtensionCommon.js:
3795         (WebInspector.commonExtensionSymbols):
3796         * inspector/front-end/ExtensionServer.js:
3797         (WebInspector.ExtensionServer):
3798         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
3799         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
3800         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
3801         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
3802         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
3803         (WebInspector.ExtensionServer.prototype._dispatchCallback):
3804         (WebInspector.ExtensionServer.prototype.initExtensions):
3805
3806 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
3807
3808         Web Inspector: disable popover when a mouse button is pressed
3809         https://bugs.webkit.org/show_bug.cgi?id=67610
3810
3811         Reviewed by Pavel Feldman.
3812
3813         - disable popover when a mouse button is pressed
3814         - disable popover in a SourceFrame when the source is being edited
3815
3816         * inspector/front-end/Popover.js:
3817         (WebInspector.PopoverHelper):
3818         (WebInspector.PopoverHelper.prototype._mouseUp):
3819         (WebInspector.PopoverHelper.prototype._mouseDown):
3820         (WebInspector.PopoverHelper.prototype._handleMouseAction):
3821         * inspector/front-end/SourceFrame.js:
3822         (WebInspector.SourceFrame.prototype._onHidePopover):
3823         (WebInspector.SourceFrame.prototype.doubleClick):
3824
3825 2011-09-07  Antti Koivisto  <antti@apple.com>
3826
3827         https://bugs.webkit.org/show_bug.cgi?id=67634
3828         De-virtualize styleForRenderer()
3829
3830         Reviewed by Sam Weinig.
3831         
3832         This has performance and code clarity benefits.
3833
3834         - move styleForRenderer from Node to Element
3835         - get rid of the now unnecessary NodeRenderingContext parameter
3836         - de-virtualize, add virtual customStyleForRenderer()
3837
3838         * dom/Element.cpp:
3839         (WebCore::Element::customStyleForRenderer):
3840         (WebCore::Element::styleForRenderer):
3841         (WebCore::Element::recalcStyle):
3842         * dom/Element.h:
3843         * dom/Node.cpp:
3844         * dom/Node.h:
3845         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
3846         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
3847         (WebCore::Node::hasCustomStyleForRenderer):
3848         (WebCore::Node::setHasCustomStyleForRenderer):
3849         
3850             Move styleForRenderer, add customStyleForRenderer, add a bit.
3851         
3852         * dom/NodeRenderingContext.cpp:
3853         (WebCore::NodeRendererFactory::createRendererAndStyle): 
3854         
3855             Handle non-element case separately since styleForRenderer was moved from Node to Element.
3856
3857         * html/HTMLNoScriptElement.cpp:
3858         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
3859         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
3860         * html/HTMLNoScriptElement.h:
3861         
3862             Move a strange XHTMLMP special case to where it belongs.
3863
3864         * html/HTMLOptGroupElement.cpp:
3865         (WebCore::HTMLOptGroupElement::attach):
3866         * html/HTMLOptionElement.cpp:
3867         (WebCore::HTMLOptionElement::attach):
3868         * html/HTMLTitleElement.cpp:
3869         (WebCore::HTMLTitleElement::textWithDirection):
3870         * html/shadow/TextControlInnerElements.cpp:
3871         (WebCore::TextControlInnerElement::TextControlInnerElement):
3872         (WebCore::TextControlInnerElement::customStyleForRenderer):
3873         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
3874         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
3875         * html/shadow/TextControlInnerElements.h:
3876         * rendering/svg/SVGShadowTreeElements.cpp:
3877         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
3878         * rendering/svg/SVGShadowTreeElements.h:
3879         * svg/SVGElement.cpp:
3880         (WebCore::SVGElement::SVGElement):
3881         (WebCore::SVGElement::customStyleForRenderer):
3882         * svg/SVGElement.h:
3883         
3884             Adopt customStyleForRenderer().
3885
3886 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
3887
3888         Change event is not fired for input[type=number] when the user reverts a change made by script
3889         https://bugs.webkit.org/show_bug.cgi?id=67697
3890
3891         Reviewed by Kent Tamura.
3892
3893         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
3894         for text fields other than type=text.
3895
3896         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
3897         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
3898         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
3899         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
3900
3901         Test: fast/forms/number-input-changeevent.html
3902
3903         * html/BaseDateAndTimeInputType.cpp:
3904         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
3905         * html/BaseDateAndTimeInputType.h:
3906         * html/HTMLInputElement.cpp:
3907         (WebCore::HTMLInputElement::applyStep):
3908         (WebCore::HTMLInputElement::stepUp):
3909         (WebCore::HTMLInputElement::stepDown):
3910         (WebCore::HTMLInputElement::setValue):
3911         (WebCore::HTMLInputElement::setValueAsNumber):
3912         (WebCore::HTMLInputElement::stepUpFromRenderer):
3913         * html/HTMLInputElement.h:
3914         * html/InputType.cpp:
3915         (WebCore::InputType::setValueAsNumber):
3916         * html/InputType.h:
3917         * html/NumberInputType.cpp:
3918         (WebCore::NumberInputType::setValueAsNumber):
3919         * html/NumberInputType.h:
3920         * html/RangeInputType.cpp:
3921         (WebCore::RangeInputType::setValueAsNumber):
3922         (WebCore::RangeInputType::handleKeydownEvent):
3923         * html/RangeInputType.h:
3924
3925 2011-09-07  Antti Koivisto  <antti@apple.com>
3926
3927         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
3928
3929         Not reviewed.
3930
3931         * css/CSSStyleSelector.cpp:
3932         * css/SelectorChecker.cpp:
3933         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3934
3935 2011-09-07  Antti Koivisto  <antti@apple.com>
3936
3937         Move SelectorChecker out from CSSStyleSelector scope
3938         https://bugs.webkit.org/show_bug.cgi?id=67648
3939
3940         Reviewed by Sam Weinig.
3941
3942         - Move SelectorChecker to SelectorChecker.h/cpp
3943         - Make private functions private
3944         - Make members private, add accessors
3945         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
3946
3947         * CMakeLists.txt:
3948         * GNUmakefile.list.am:
3949         * WebCore.gypi:
3950         * WebCore.pro:
3951         * WebCore.vcproj/WebCore.vcproj:
3952         * WebCore.xcodeproj/project.pbxproj:
3953         * css/CSSStyleSelector.cpp:
3954         (WebCore::CSSStyleSelector::CSSStyleSelector):
3955         (WebCore::CSSStyleSelector::matchRules):
3956         (WebCore::CSSStyleSelector::matchRulesForList):
3957         (WebCore::CSSStyleSelector::sortMatchedRules):
3958         (WebCore::CSSStyleSelector::initForStyleResolve):
3959         (WebCore::CSSStyleSelector::matchUARules):
3960         (WebCore::CSSStyleSelector::styleForElement):
3961         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3962         (WebCore::CSSStyleSelector::styleForPage):
3963         (WebCore::CSSStyleSelector::adjustRenderStyle):
3964         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
3965         (WebCore::CSSStyleSelector::checkSelector):
3966         (WebCore::RuleData::RuleData):
3967         (WebCore::CSSStyleSelector::applyProperty):
3968         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
3969         (WebCore::CSSStyleSelector::setFontSize):
3970         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
3971         * css/CSSStyleSelector.h:
3972         (WebCore::CSSStyleSelector::style):
3973         (WebCore::CSSStyleSelector::parentStyle):
3974         (WebCore::CSSStyleSelector::rootElementStyle):
3975         (WebCore::CSSStyleSelector::element):
3976         (WebCore::CSSStyleSelector::fontDescription):
3977         (WebCore::CSSStyleSelector::parentFontDescription):
3978         (WebCore::CSSStyleSelector::setFontDescription):
3979         (WebCore::CSSStyleSelector::setZoom):
3980         (WebCore::CSSStyleSelector::setEffectiveZoom):
3981         (WebCore::CSSStyleSelector::setTextSizeAdjust):
3982         (WebCore::CSSStyleSelector::setStyle):
3983         (WebCore::CSSStyleSelector::fontSelector):
3984         (WebCore::CSSStyleSelector::allVisitedStateChanged):
3985         (WebCore::CSSStyleSelector::visitedStateChanged):
3986         (WebCore::CSSStyleSelector::usesSiblingRules):
3987         (WebCore::CSSStyleSelector::usesFirstLineRules):
3988         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
3989         (WebCore::CSSStyleSelector::usesLinkRules):
3990         (WebCore::CSSStyleSelector::addMatchedRule):
3991         (WebCore::CSSStyleSelector::isRightPage):
3992         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
3993         (WebCore::CSSStyleSelector::styleNotYetAvailable):
3994         * css/SelectorChecker.cpp: Added.
3995         (WebCore::SelectorChecker::SelectorChecker):
3996         (WebCore::linkAttribute):
3997         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3998         (WebCore::SelectorChecker::checkSelector):
3999         (WebCore::SelectorChecker::fastCheckSelector):
4000         (WebCore::SelectorChecker::isFastCheckableSelector):
4001         (WebCore::addLocalNameToSet):
4002         (WebCore::createHtmlCaseInsensitiveAttributesSet):
4003         (WebCore::htmlAttributeHasCaseInsensitiveValue):
4004         (WebCore::attributeQualifiedNameMatches):
4005         (WebCore::attributeValueMatches):
4006         (WebCore::anyAttributeMatches):
4007         (WebCore::SelectorChecker::checkOneSelector):
4008         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
4009         (WebCore::SelectorChecker::allVisitedStateChanged):
4010         (WebCore::SelectorChecker::visitedStateChanged):
4011         * css/SelectorChecker.h: Added.
4012         (WebCore::SelectorChecker::document):
4013         (WebCore::SelectorChecker::strictParsing):
4014         (WebCore::SelectorChecker::isCollectingRulesOnly):
4015         (WebCore::SelectorChecker::setCollectingRulesOnly):
4016         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):