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