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