Web Inspector: It'd be useful to have performance stats for the back-end to front...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-28  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Web Inspector: It'd be useful to have performance stats for the back-end to front-end communication channel.
4         https://bugs.webkit.org/show_bug.cgi?id=69002
5
6         Reviewed by Yury Semikhatsky.
7
8         * inspector/CodeGeneratorInspector.pm:
9
10 2011-09-27  Pavel Podivilov  <podivilov@chromium.org>
11
12         Web Inspector: live edit cursor always appears at the beginning of the file.
13         https://bugs.webkit.org/show_bug.cgi?id=68900
14
15         Reviewed by Pavel Feldman.
16
17         * inspector/front-end/TextViewer.js:
18         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
19
20 2011-09-28  Vsevolod Vlasov  <vsevik@chromium.org>
21
22         Web Inspector: Refactor searching in inspector, add test (fixed non regex search).
23         https://bugs.webkit.org/show_bug.cgi?id=68930
24
25         Reviewed by Yury Semikhatsky.
26
27         Search moved out from page agent.
28         Fixed search for non regex case which is not yet used.
29
30         Test: http/tests/inspector/search/search-in-resources.html
31
32         * CMakeLists.txt:
33         * GNUmakefile.list.am:
34         * WebCore.gypi:
35         * WebCore.pro:
36         * WebCore.vcproj/WebCore.vcproj:
37         * WebCore.xcodeproj/project.pbxproj:
38         * inspector/ContentSearchUtils.cpp: Added.
39         (WebCore::ContentSearchUtils::createSearchRegexSource):
40         (WebCore::ContentSearchUtils::createSearchRegex):
41         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
42         * inspector/ContentSearchUtils.h: Added.
43         * inspector/InspectorPageAgent.cpp:
44         (WebCore::hasTextContent):
45         (WebCore::InspectorPageAgent::cachedResourceContent):
46         (WebCore::textContentForCachedResource):
47         (WebCore::buildObjectForSearchResult):
48         (WebCore::InspectorPageAgent::searchInResources):
49         * inspector/front-end/utilities.js:
50         ():
51
52 2011-09-28  Kentaro Hara  <haraken@chromium.org>
53
54         Implement a PopStateEvent constructor for V8
55         https://bugs.webkit.org/show_bug.cgi?id=68896
56
57         Reviewed by Adam Barth.
58
59         Test: fast/events/constructors/pop-state-event-constructor.html
60
61         * bindings/v8/custom/V8EventConstructors.cpp: Added a PopStateEvent constructor.
62         * dom/PopStateEvent.idl: Added a 'V8CustomConstructor' attribute.
63
64 2011-09-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
65
66         [Texmap] Allow TextureMapperGL to work without a GraphicsContext
67         https://bugs.webkit.org/show_bug.cgi?id=68980
68
69         Reviewed by Andreas Kling.
70
71         Perform a null-check for m_context and initialize that variable.
72         If a graphics-context doesn't exist, we don't need to reset it.
73
74         No new functionality so no new tests.
75
76         * platform/graphics/opengl/TextureMapperGL.cpp:
77         (WebCore::TextureMapperGL::TextureMapperGL):
78         (WebCore::TextureMapperGL::beginPainting):
79         (WebCore::TextureMapperGL::endPainting):
80
81 2011-09-28  Kentaro Hara  <haraken@chromium.org>
82
83         Implement an ErrorEvent constructor for V8
84         https://bugs.webkit.org/show_bug.cgi?id=68336
85
86         Reviewed by Adam Barth.
87
88         Test: fast/events/constructors/error-event-constructor.html
89
90         * bindings/v8/OptionsObject.cpp:
91         (WebCore::OptionsObject::getKeyValue): Returns an unsigned value corresponding to a given key.
92         * bindings/v8/OptionsObject.h:
93         * bindings/v8/custom/V8EventConstructors.cpp: Added the ErrorEvent constructor.
94         * dom/ErrorEvent.idl: Added a 'V8CustomConstructor' attribute.
95
96 2011-09-27  Andy Estes  <aestes@apple.com>
97
98         WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
99         https://bugs.webkit.org/show_bug.cgi?id=68863
100
101         Reviewed by Darin Adler.
102
103         The SolarWalk binary does not link against WebKit.framework directly,
104         so calling NSVersionOfLinkTimeLibrary() will not return the version of
105         WebKit against which SolarWalk was linked. Since Solar Walk has
106         released an update that addresses the issue for which this app-specific
107         hack was originally added, we should just remove the hack.
108
109         * WebCore.exp.in: Remove applicationIsSolarWalkMac().
110         * platform/RuntimeApplicationChecks.cpp: Ditto.
111         * platform/RuntimeApplicationChecks.h: Ditto.
112
113 2011-09-28  Tim Horton  <timothy_horton@apple.com>
114
115         Fix potential SVG performance regression (over-invalidation of caches) from 96052
116         https://bugs.webkit.org/show_bug.cgi?id=68941
117         <rdar://problem/10196224>
118
119         Reviewed by Zoltan Herczeg.
120
121         Only invalidate the cache of a filter when target style changes, as of the different types of cached
122         resources, only filters make use of the style of the target element and thus need to be invalidated
123         when the target style changes.
124
125         No new tests, performance improvement.
126
127         * rendering/svg/SVGResourcesCache.cpp:
128         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
129
130 2011-09-28  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
131
132         Missing initialization of member in ImageFrameQt class
133         https://bugs.webkit.org/show_bug.cgi?id=68943
134
135         Reviewed by Kenneth Rohde Christiansen.
136
137         No new tests, this fixes internal implementation detail.
138
139         * platform/image-decoders/qt/ImageFrameQt.cpp:
140         (WebCore::ImageFrame::ImageFrame):
141         (WebCore::ImageFrame::operator=):
142
143 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
144
145         Defer call to CSSValue::isPrimitiveValue(), saves ~4% in CSSStyleSelector::applyProperty().
146         https://bugs.webkit.org/show_bug.cgi?id=68964
147
148         Reviewed by Eric Seidel.
149
150         No new tests / no functionality changed.
151
152         Doing value->isPrimitiveValue() is relatviely expensive, so moving it after the early returns but
153         before the result is used saves a significant number of cycles. (Tested with Shark profiler in Safari).
154
155         * css/CSSStyleSelector.cpp:
156         (WebCore::CSSStyleSelector::applyProperty):
157
158 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
159
160         Simplify ReplaceSelectionCommand::positionAtStartOfInsertedContent
161         https://bugs.webkit.org/show_bug.cgi?id=68939
162
163         Reviewed by Darin Adler.
164
165         Simplified ReplaceSelectionCommand::positionAtStartOfInsertedContent.
166
167         This change revealed a bug in removeUnrenderedTextNodesAtEnds that text nodes without any visible
168         text at ends are not removed when it has a render object. Fixed the bug by checking the length of
169         the rendered text. (Tested by editing/pasteboard/pasting-word-in-div-extra-line.html)
170
171         This further revealed that caretMaxRenderedOffset doesn't return an offset and caretMaxRenderedOffset
172         on InlineBox, InlineTextBox, RenderObject, RenderBR, RenderPlaced are never called. To address this
173         issue, renamed caretMaxRenderedOffset to renderedTextLength for RenderText and removed the rest.
174
175         * dom/Position.cpp:
176         (WebCore::Position::rendersInDifferentPosition):
177         * editing/ReplaceSelectionCommand.cpp:
178         (WebCore::nodeHasVisibleRenderText): Added.
179         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Calls nodeHasVisibleRenderText.
180         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Simplified.
181         * editing/visible_units.cpp:
182         (WebCore::startOfParagraph): Calls renderedTextLength.
183         (WebCore::endOfParagraph): Ditto.
184         * rendering/InlineBox.cpp: Removed caretMaxRenderedOffset.
185         * rendering/InlineBox.h: Ditto.
186         * rendering/InlineTextBox.cpp: Ditto.
187         * rendering/InlineTextBox.h: Ditto.
188         * rendering/RenderBR.cpp: Ditto.
189         * rendering/RenderBR.h: Ditto.
190         * rendering/RenderObject.cpp: Ditto.
191         * rendering/RenderObject.h: Ditto.
192         * rendering/RenderReplaced.cpp: Ditto.
193         * rendering/RenderReplaced.h: Ditto.
194         * rendering/RenderText.cpp:
195         (WebCore::RenderText::renderedTextLength): Renamed from caretMaxRenderedOffset.
196         * rendering/RenderText.h:
197
198 2011-09-27  James Robinson  <jamesr@chromium.org>
199
200         [chromium] LayerRenderChromium asserts about leaking textures.
201         https://bugs.webkit.org/show_bug.cgi?id=68190
202
203         Reviewed by Kenneth Russell.
204
205         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
206         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
207         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
208         to make sure we aren't leaking any textures.
209
210         * WebCore.gypi:
211         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
212         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
213         * platform/graphics/chromium/Canvas2DLayerChromium.h:
214         * platform/graphics/chromium/ImageLayerChromium.cpp:
215         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
216         * platform/graphics/chromium/LayerChromium.h:
217         (WebCore::LayerChromium::updateCompositorResources):
218         * platform/graphics/chromium/LayerRendererChromium.cpp:
219         (WebCore::LayerRendererChromium::LayerRendererChromium):
220         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
221         (WebCore::LayerRendererChromium::drawLayers):
222         (WebCore::LayerRendererChromium::useRenderSurface):
223         (WebCore::LayerRendererChromium::initializeSharedObjects):
224         (WebCore::LayerRendererChromium::cleanupSharedObjects):
225         * platform/graphics/chromium/LayerRendererChromium.h:
226         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
227         (WebCore::LayerRendererChromium::contentsTextureAllocator):
228         * platform/graphics/chromium/LayerTextureUpdater.h:
229         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
230         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
231         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
232         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
233         * platform/graphics/chromium/ManagedTexture.cpp:
234         (WebCore::ManagedTexture::bindTexture):
235         (WebCore::ManagedTexture::framebufferTexture2D):
236         * platform/graphics/chromium/ManagedTexture.h:
237         * platform/graphics/chromium/TextureManager.cpp:
238         (WebCore::TextureManager::memoryUseBytes):
239         (WebCore::TextureManager::deleteEvictedTextures):
240         (WebCore::TextureManager::evictAndDeleteAllTextures):
241         (WebCore::TextureManager::removeTexture):
242         (WebCore::TextureManager::allocateTexture):
243         (WebCore::TextureManager::requestTexture):
244         * platform/graphics/chromium/TextureManager.h:
245         (WebCore::TextureAllocator::~TextureAllocator):
246         * platform/graphics/chromium/TiledLayerChromium.cpp:
247         (WebCore::TiledLayerChromium::updateCompositorResources):
248         * platform/graphics/chromium/TiledLayerChromium.h:
249         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
250         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
251         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
252         (WebCore::TrackingTextureAllocator::createTexture):
253         (WebCore::TrackingTextureAllocator::deleteTexture):
254         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
255         (WebCore::TrackingTextureAllocator::create):
256         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
257         * platform/graphics/chromium/VideoLayerChromium.cpp:
258         (WebCore::VideoLayerChromium::updateCompositorResources):
259         (WebCore::VideoLayerChromium::updateTexture):
260         * platform/graphics/chromium/VideoLayerChromium.h:
261         * platform/graphics/chromium/WebGLLayerChromium.cpp:
262         (WebCore::WebGLLayerChromium::updateCompositorResources):
263         * platform/graphics/chromium/WebGLLayerChromium.h:
264         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
265         (WebCore::CCHeadsUpDisplay::draw):
266         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
267         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
268         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
269         (WebCore::CCLayerTreeHost::commitToOnCCThread):
270         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
271         (WebCore::CCLayerTreeHost::updateCompositorResources):
272         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
273         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
274         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
275         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
276         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
277         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
278         (WebCore::CCRenderSurface::drawSurface):
279         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
280         (WebCore::CCSingleThreadProxy::setNeedsCommit):
281         (WebCore::CCSingleThreadProxy::stop):
282         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
283         (WebCore::CCSingleThreadProxy::commitIfNeeded):
284         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
285         (WebCore::CCThreadProxy::commitOnCCThread):
286         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
287 2011-09-27  James Robinson  <jamesr@chromium.org>
288
289         [chromium] Only initiate the beginFrameAndCommit sequence if a commit has been requested
290         https://bugs.webkit.org/show_bug.cgi?id=68967
291
292         Reviewed by Kenneth Russell.
293
294         When updating the scheduler state, we should only initiate a new commit flow if a commit has been requested (as
295         opposed to only a redraw).
296
297         Covered by the unit test CCLayerTreeHostTestSetNeedsRedraw with USE(THREADED_COMPOSITING) set to true.
298
299         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
300         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
301
302 2011-09-27  Kentaro Hara  <haraken@chromium.com>
303
304         Implement a PageTransitionEvent constructor for V8
305         https://bugs.webkit.org/show_bug.cgi?id=68067
306
307         Reviewed by Adam Barth.
308
309         Test: fast/events/constructors/page-transition-event-constructor.html
310
311         * bindings/v8/custom/V8EventConstructors.cpp: Added the PageTransitionEvent constructor.
312         * dom/PageTransitionEvent.idl: Added a 'V8CustomConstructor' attribute.
313
314 2011-09-27  Kentaro Hara  <haraken@chromium.org>
315
316         Implement a MessageEvent constructor for JSC
317         https://bugs.webkit.org/show_bug.cgi?id=68883
318
319         Reviewed by Adam Barth.
320
321         The spec for MessageEvent is here:
322         http://www.whatwg.org/specs/web-apps/current-work/#messageevent
323
324         Currently, some tests in fast/events/constructors/message-event-constructor.html
325         are failing or crashing in DRT, as we commented in the test file.
326         This is because MessageEvent.data is implemented as SerializedScriptValue,
327         and thus it cannot keep ScriptValue passed by JavaScript.
328         This is the same issue as the bug (https://bugs.webkit.org/show_bug.cgi?id=68345).
329         We will soon make a follow-up patch to fix these failures, after this
330         patch is landed.
331
332         Test: fast/events/constructors/message-event-constructor.html
333
334         * bindings/generic/EventConstructors.h: Added a definition for the MessageEvent constructor.
335         * bindings/js/JSDictionary.cpp:
336         (WebCore::JSDictionary::convertValue): Generates MessagePortArray from the list of message ports in the format of JSValues.
337         * bindings/js/JSDictionary.h:
338         * bindings/js/JSEventConstructors.cpp: Added #includes for MessageEvent.
339         * dom/MessageEvent.cpp:
340         (WebCore::MessageEventInit::MessageEventInit):
341         (WebCore::MessageEvent::MessageEvent):
342         (WebCore::MessageEvent::initMessageEvent):
343         * dom/MessageEvent.h: Added a definition for MessageEvent. Removed an extra leading spaces.
344         (WebCore::MessageEvent::create):
345         (WebCore::MessageEvent::origin):
346         (WebCore::MessageEvent::lastEventId):
347         (WebCore::MessageEvent::source):
348         (WebCore::MessageEvent::ports):
349         (WebCore::MessageEvent::dataType):
350         (WebCore::MessageEvent::dataAsSerializedScriptValue):
351         (WebCore::MessageEvent::dataAsString):
352         (WebCore::MessageEvent::dataAsBlob):
353         (WebCore::MessageEvent::dataAsArrayBuffer):
354         * dom/MessageEvent.idl: Makes MessageEvent constructible.
355
356 2011-09-27  Eric Uhrhane  <ericu@chromium.org>
357
358         [Chromium/FileWriter] race condition in FileWriter completion can lead to assert
359         https://bugs.webkit.org/show_bug.cgi?id=67684
360
361         Reviewed by David Levin.
362
363         Tests: fast/filesystem/file-writer-abort-continue.html
364                fast/filesystem/file-writer-abort.html
365
366         Track the state of the backend and be prepared for reentrant user
367         requests.  Limit recursion depth to an arbitrary small constant.
368         * fileapi/FileWriter.cpp: Lots of event-handling changes.
369         * fileapi/FileWriter.h:
370
371 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
372
373         Unreviewed, rolling out r96141.
374         http://trac.webkit.org/changeset/96141
375         https://bugs.webkit.org/show_bug.cgi?id=68190
376
377         Breaks PrerenderBrowserTest.PrerenderHTML5Video in
378         browser_tests
379
380         * WebCore.gypi:
381         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
382         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
383         * platform/graphics/chromium/Canvas2DLayerChromium.h:
384         * platform/graphics/chromium/ImageLayerChromium.cpp:
385         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
386         * platform/graphics/chromium/LayerChromium.h:
387         (WebCore::LayerChromium::updateCompositorResources):
388         * platform/graphics/chromium/LayerRendererChromium.cpp:
389         (WebCore::LayerRendererChromium::LayerRendererChromium):
390         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
391         (WebCore::LayerRendererChromium::drawLayers):
392         (WebCore::LayerRendererChromium::createLayerTexture):
393         (WebCore::LayerRendererChromium::deleteLayerTexture):
394         (WebCore::LayerRendererChromium::useRenderSurface):
395         (WebCore::LayerRendererChromium::initializeSharedObjects):
396         (WebCore::LayerRendererChromium::cleanupSharedObjects):
397         * platform/graphics/chromium/LayerRendererChromium.h:
398         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
399         * platform/graphics/chromium/LayerTextureUpdater.h:
400         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
401         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
402         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
403         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
404         * platform/graphics/chromium/ManagedTexture.cpp:
405         (WebCore::ManagedTexture::bindTexture):
406         (WebCore::ManagedTexture::framebufferTexture2D):
407         * platform/graphics/chromium/ManagedTexture.h:
408         * platform/graphics/chromium/TextureManager.cpp:
409         (WebCore::memoryUseBytes):
410         (WebCore::TextureManager::deleteEvictedTextures):
411         (WebCore::TextureManager::evictAndDeleteAllTextures):
412         (WebCore::TextureManager::removeTexture):
413         (WebCore::TextureManager::allocateTexture):
414         (WebCore::TextureManager::requestTexture):
415         * platform/graphics/chromium/TextureManager.h:
416         * platform/graphics/chromium/TiledLayerChromium.cpp:
417         (WebCore::TiledLayerChromium::updateCompositorResources):
418         * platform/graphics/chromium/TiledLayerChromium.h:
419         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Removed.
420         * platform/graphics/chromium/TrackingTextureAllocator.h: Removed.
421         * platform/graphics/chromium/VideoLayerChromium.cpp:
422         (WebCore::VideoLayerChromium::updateCompositorResources):
423         (WebCore::VideoLayerChromium::updateTexture):
424         * platform/graphics/chromium/VideoLayerChromium.h:
425         * platform/graphics/chromium/WebGLLayerChromium.cpp:
426         (WebCore::WebGLLayerChromium::updateCompositorResources):
427         * platform/graphics/chromium/WebGLLayerChromium.h:
428         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
429         (WebCore::CCHeadsUpDisplay::draw):
430         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
431         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
432         (WebCore::CCLayerTreeHost::deleteContentsTextures):
433         (WebCore::CCLayerTreeHost::commitTo):
434         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
435         (WebCore::CCLayerTreeHost::updateCompositorResources):
436         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp.rej: Removed.
437         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
438         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
439         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
440         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
441         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
442         (WebCore::CCRenderSurface::drawSurface):
443         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
444         (WebCore::CCSingleThreadProxy::setNeedsCommit):
445         (WebCore::CCSingleThreadProxy::stop):
446         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
447         (WebCore::CCSingleThreadProxy::commitIfNeeded):
448         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
449         (WebCore::CCThreadProxy::commitOnCCThread):
450         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
451
452 2011-09-27  James Robinson  <jamesr@chromium.org>
453
454         [chromium] Guard accelerated skia drawing logic with its own define to remove dependency on USE(THREADED_COMPOSITING)
455         https://bugs.webkit.org/show_bug.cgi?id=68953
456
457         Reviewed by Kenneth Russell.
458
459         The accelerated drawing code is incompatible with threaded compositing. Rather than tying the two behaviors
460         together via USE(THREADED_COMPOSITING), this patch guards the accelerated drawing code with its own USE() guard
461         so the features can advance independently. Today, it's not safe to set both of these flags.
462
463         * platform/graphics/chromium/ContentLayerChromium.cpp:
464         (WebCore::ContentLayerChromium::createTextureUpdater):
465         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
466         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
467
468 2011-09-27  Luke Macpherson   <macpherson@chromium.org>
469
470         Slightly improve performance of CSSStyleApplyProperty handler lookup.
471         https://bugs.webkit.org/show_bug.cgi?id=68868
472
473         Reviewed by Eric Seidel.
474
475         No new tests as no functionality changed.
476
477         * css/CSSStyleApplyProperty.h:
478         (WebCore::CSSStyleApplyProperty::propertyHandler):
479         Make propertyHandler() public and remove redirecting functions.
480         * css/CSSStyleSelector.cpp:
481         (WebCore::CSSStyleSelector::applyProperty):
482         Perform property handler lookup once and reuse the result.
483
484 2011-09-27  Kent Tamura  <tkent@chromium.org>
485
486         [V8] element.dataset.nonExistingKey should return undefined.
487         https://bugs.webkit.org/show_bug.cgi?id=68877
488
489         Reviewed by Nate Chapin.
490
491         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
492         (WebCore::V8DOMStringMap::namedPropertyGetter): Uses v8StringOrUndefined() instead of v8String().
493
494 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
495
496         Add static version of JSCell::visitChildren
497         https://bugs.webkit.org/show_bug.cgi?id=68404
498
499         Reviewed by Darin Adler.
500
501         No new tests.
502
503         In this patch we just extract the bodies of the virtual visitChildren methods
504         throughout the JSCell inheritance hierarchy out into static methods, which are 
505         now called from the virtual methods.  This is an intermediate step in trying to 
506         move the virtual-ness of visitChildren into our own custom vtable stored in 
507         ClassInfo.  We need to convert the methods to static methods in order to be 
508         able to more easily store and refer to them in our custom vtable since normal 
509         member methods store some implicit information in their types, making it 
510         impossible to store them generically in ClassInfo.
511
512         * WebCore.exp.in:
513         * bindings/js/JSAttrCustom.cpp:
514         (WebCore::JSAttr::visitChildrenVirtual):
515         (WebCore::JSAttr::visitChildren):
516         * bindings/js/JSAudioContextCustom.cpp:
517         (WebCore::JSAudioContext::visitChildrenVirtual):
518         (WebCore::JSAudioContext::visitChildren):
519         * bindings/js/JSCSSRuleCustom.cpp:
520         (WebCore::JSCSSRule::visitChildrenVirtual):
521         (WebCore::JSCSSRule::visitChildren):
522         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
523         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
524         (WebCore::JSCSSStyleDeclaration::visitChildren):
525         * bindings/js/JSCanvasRenderingContextCustom.cpp:
526         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
527         (WebCore::JSCanvasRenderingContext::visitChildren):
528         * bindings/js/JSDOMGlobalObject.cpp:
529         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
530         (WebCore::JSDOMGlobalObject::visitChildren):
531         * bindings/js/JSDOMGlobalObject.h:
532         * bindings/js/JSDOMWindowCustom.cpp:
533         (WebCore::JSDOMWindow::visitChildrenVirtual):
534         (WebCore::JSDOMWindow::visitChildren):
535         * bindings/js/JSDOMWindowShell.cpp:
536         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
537         (WebCore::JSDOMWindowShell::visitChildren):
538         * bindings/js/JSDOMWindowShell.h:
539         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
540         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
541         (WebCore::JSJavaScriptAudioNode::visitChildren):
542         * bindings/js/JSMessageChannelCustom.cpp:
543         (WebCore::JSMessageChannel::visitChildrenVirtual):
544         (WebCore::JSMessageChannel::visitChildren):
545         * bindings/js/JSMessagePortCustom.cpp:
546         (WebCore::JSMessagePort::visitChildrenVirtual):
547         (WebCore::JSMessagePort::visitChildren):
548         * bindings/js/JSNamedNodeMapCustom.cpp:
549         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
550         (WebCore::JSNamedNodeMap::visitChildren):
551         * bindings/js/JSNodeCustom.cpp:
552         (WebCore::JSNode::visitChildrenVirtual):
553         (WebCore::JSNode::visitChildren):
554         * bindings/js/JSNodeFilterCustom.cpp:
555         (WebCore::JSNodeFilter::visitChildrenVirtual):
556         (WebCore::JSNodeFilter::visitChildren):
557         * bindings/js/JSNodeIteratorCustom.cpp:
558         (WebCore::JSNodeIterator::visitChildrenVirtual):
559         (WebCore::JSNodeIterator::visitChildren):
560         * bindings/js/JSSVGElementInstanceCustom.cpp:
561         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
562         (WebCore::JSSVGElementInstance::visitChildren):
563         * bindings/js/JSSharedWorkerCustom.cpp:
564         (WebCore::JSSharedWorker::visitChildrenVirtual):
565         (WebCore::JSSharedWorker::visitChildren):
566         * bindings/js/JSStyleSheetCustom.cpp:
567         (WebCore::JSStyleSheet::visitChildrenVirtual):
568         (WebCore::JSStyleSheet::visitChildren):
569         * bindings/js/JSTreeWalkerCustom.cpp:
570         (WebCore::JSTreeWalker::visitChildrenVirtual):
571         (WebCore::JSTreeWalker::visitChildren):
572         * bindings/js/JSWebGLRenderingContextCustom.cpp:
573         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
574         (WebCore::JSWebGLRenderingContext::visitChildren):
575         * bindings/js/JSWorkerContextCustom.cpp:
576         (WebCore::JSWorkerContext::visitChildrenVirtual):
577         (WebCore::JSWorkerContext::visitChildren):
578         * bindings/js/JSXMLHttpRequestCustom.cpp:
579         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
580         (WebCore::JSXMLHttpRequest::visitChildren):
581         * bindings/js/JSXPathResultCustom.cpp:
582         (WebCore::JSXPathResult::visitChildrenVirtual):
583         (WebCore::JSXPathResult::visitChildren):
584         * bindings/scripts/CodeGeneratorJS.pm:
585         (GenerateHeader):
586         (GenerateImplementation):
587         * bindings/scripts/test/JS/JSTestObj.cpp:
588         (WebCore::JSTestObj::visitChildrenVirtual):
589         (WebCore::JSTestObj::visitChildren):
590         * bindings/scripts/test/JS/JSTestObj.h:
591         * bridge/qt/qt_instance.cpp:
592         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
593         (JSC::Bindings::QtRuntimeObject::visitChildren):
594         * bridge/qt/qt_runtime.cpp:
595         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
596         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
597         * bridge/qt/qt_runtime.h:
598         * workers/WorkerContext.h:
599
600 <<<<<<< .mine
601 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
602
603         Add static version of JSCell::getCallData
604         https://bugs.webkit.org/show_bug.cgi?id=68741
605
606         Reviewed by Darin Adler.
607
608         No new tests.
609
610         In this patch we just extract the bodies of the virtual getCallData methods
611         throughout the JSCell inheritance hierarchy out into static methods, which are 
612         now called from the virtual methods.  This is an intermediate step in trying to 
613         move the virtual-ness of getCallData into our own method table stored in 
614         ClassInfo.  We need to convert the methods to static methods because static methods 
615         can be represented as function pointers rather than pointers to member functions, and
616         function pointers are smaller and faster to call than pointers to member functions.
617
618         * WebCore.exp.in:
619         * bindings/js/JSCallbackData.cpp:
620         (WebCore::JSCallbackData::invokeCallback):
621         * bindings/js/JSCustomXPathNSResolver.cpp:
622         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
623         * bindings/js/JSErrorHandler.cpp:
624         (WebCore::JSErrorHandler::handleEvent):
625         * bindings/js/JSEventListener.cpp:
626         (WebCore::JSEventListener::handleEvent):
627         * bindings/js/JSHTMLAllCollectionCustom.cpp:
628         (WebCore::JSHTMLAllCollection::getCallDataVirtual):
629         (WebCore::JSHTMLAllCollection::getCallData):
630         * bindings/js/JSHTMLAppletElementCustom.cpp:
631         (WebCore::JSHTMLAppletElement::getCallDataVirtual):
632         (WebCore::JSHTMLAppletElement::getCallData):
633         * bindings/js/JSHTMLEmbedElementCustom.cpp:
634         (WebCore::JSHTMLEmbedElement::getCallDataVirtual):
635         (WebCore::JSHTMLEmbedElement::getCallData):
636         * bindings/js/JSHTMLObjectElementCustom.cpp:
637         (WebCore::JSHTMLObjectElement::getCallDataVirtual):
638         (WebCore::JSHTMLObjectElement::getCallData):
639         * bindings/js/JSInjectedScriptHostCustom.cpp:
640         (WebCore::JSInjectedScriptHost::evaluate):
641         * bindings/js/JSPluginElementFunctions.cpp:
642         (WebCore::runtimeObjectGetCallData):
643         * bindings/scripts/CodeGeneratorJS.pm:
644         (GenerateHeader):
645         * bridge/objc/objc_runtime.h:
646         * bridge/objc/objc_runtime.mm:
647         (JSC::Bindings::ObjcFallbackObjectImp::getCallDataVirtual):
648         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
649         * bridge/qt/qt_runtime.cpp:
650         (JSC::Bindings::QtRuntimeMetaMethod::getCallDataVirtual):
651         (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
652         (JSC::Bindings::QtRuntimeConnectionMethod::call):
653         (JSC::Bindings::QtRuntimeConnectionMethod::getCallDataVirtual):
654         (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
655         (JSC::Bindings::isJavaScriptFunction):
656         * bridge/qt/qt_runtime.h:
657         * bridge/runtime_method.cpp:
658         (JSC::RuntimeMethod::getCallDataVirtual):
659         (JSC::RuntimeMethod::getCallData):
660         * bridge/runtime_method.h:
661         * bridge/runtime_object.cpp:
662         (JSC::Bindings::RuntimeObject::getCallDataVirtual):
663         (JSC::Bindings::RuntimeObject::getCallData):
664         * bridge/runtime_object.h:
665
666 =======
667 2011-09-27  Dean Jackson  <dino@apple.com>
668
669         Unreviewed. Remove duplicate FilterOperation{s}.h that were
670         accidentally added to the top level of the Xcode project.
671
672         * WebCore.xcodeproj/project.pbxproj:
673
674 >>>>>>> .r96163
675 2011-09-27  David Hyatt  <hyatt@apple.com>
676
677         https://bugs.webkit.org/show_bug.cgi?id=68940
678
679         Narrow the float/lines pagination heuristic to only kick in if
680         the previous line broke cleanly and if the floats are occurring
681         at the start of the line.
682
683         Reviewed by Dan Bernstein.
684
685         * rendering/RenderBlockLineLayout.cpp:
686         (WebCore::RenderBlock::positionNewFloatOnLine):
687
688 2011-09-27  James Robinson  <jamesr@chromium.org>
689
690         Add a mechanism to test for the compositing tree mutated during painting
691         https://bugs.webkit.org/show_bug.cgi?id=68738
692
693         Reviewed by Adam Barth.
694
695         Sets a static bool during GraphicsLayer::paintGraphicsLayerContents and ASSERT()s that we never create or
696         destroy a GraphicsLayer inside this function. Painting should never mutate the GraphicsLayer tree.
697
698         Test: compositing/video/video-with-invalid-source.html
699
700         * platform/graphics/GraphicsLayer.cpp:
701         (WebCore::GraphicsLayer::GraphicsLayer):
702         (WebCore::GraphicsLayer::~GraphicsLayer):
703         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
704
705 2011-09-27  Ojan Vafai  <ojan@chromium.org>
706
707         take padding/border on flexbox into account with direction:rtl
708         https://bugs.webkit.org/show_bug.cgi?id=68846
709
710         Reviewed by David Hyatt.
711
712         Use the logicalWidth of the flexbox instead of it's availableLogicalWidth
713         so that we include the flexbox's border and padding.
714         
715         Also, change all uses of availableLogicalWidth to contentLogicalWidth.
716         The former takes multi-column into account. Multi-column flexboxes don't
717         make any sense, so there's no point in calling availableLogicalWidth.
718
719         * rendering/RenderFlexibleBox.cpp:
720         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
721         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
722         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
723         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
724         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
725         * rendering/RenderFlexibleBox.h:
726
727 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
728
729         Unreviewed, rolling out r96139.
730         http://trac.webkit.org/changeset/96139
731         https://bugs.webkit.org/show_bug.cgi?id=68933
732
733         Broke table-percent-height.html on Mac bots (Requested by
734         mwenge2 on #webkit).
735
736         * rendering/RenderBox.cpp:
737         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
738         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
739         * rendering/RenderBox.h:
740
741 2011-09-27  Tim Horton  <timothy_horton@apple.com>
742
743         REGRESSION(65665): Pattern size being clamped to SVG size can prevent transformed elements from being fully covered by userSpaceOnUse patterns
744         https://bugs.webkit.org/show_bug.cgi?id=67700
745         <rdar://problem/10125102>
746
747         Reviewed by Darin Adler.
748
749         Clamp all resources to the same size, 4096x4096 (arbitrarily chosen), instead of to the size
750         of the <svg> element. This fixes the case where a transformed element displays part of a resource
751         outside of the size of the <svg> element.
752
753         When drawing an oversized pattern into its tile image, scale the content down to fit. When drawing
754         the tile image to the screen, scale it back up to fit the expected area. This will cause pixelation
755         when patterns are over the 4k limit.
756
757         Tests: svg/custom/transformed-pattern-clamp-svg-root.svg, svg/custom/oversized-pattern-scale.svg
758
759         * rendering/svg/RenderSVGResourceClipper.cpp:
760         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
761         * rendering/svg/RenderSVGResourceGradient.cpp:
762         (WebCore::createMaskAndSwapContextForTextGradient):
763         (WebCore::clipToTextMask):
764         * rendering/svg/RenderSVGResourceMasker.cpp:
765         (WebCore::RenderSVGResourceMasker::applyResource):
766         * rendering/svg/RenderSVGResourcePattern.cpp:
767         (WebCore::RenderSVGResourcePattern::applyResource):
768         (WebCore::RenderSVGResourcePattern::createTileImage):
769         * rendering/svg/RenderSVGResourcePattern.h:
770         * rendering/svg/SVGImageBufferTools.cpp:
771         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
772         * rendering/svg/SVGImageBufferTools.h:
773
774 2011-09-27  Dan Bernstein  <mitz@apple.com>
775
776         <rdar://problem/10098679> Assertion failure in RenderLayer::paintPaginatedChildLayer()
777
778         Reviewed by Simon Fraser.
779
780         Test: fast/dynamic/layer-no-longer-paginated.html
781
782         FrameView::layout() calls adjustViewSize() before calling RenderLayer::updateLayerPositions().
783         The former may trigger painting with a layer tree that is not entirely up-to-date. Specifically,
784         the isPaginated() state of a layer may be incorrect, leading to the assertion in this bug. Instead
785         of asserting, return early and count on the upcoming updateLayerPositions() to repaint as needed.
786
787         * rendering/RenderLayer.cpp:
788         (WebCore::RenderLayer::paintPaginatedChildLayer): Replaced the assertion with an early return.
789
790 2011-09-27  Ojan Vafai  <ojan@chromium.org>
791
792         offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
793         https://bugs.webkit.org/show_bug.cgi?id=68304
794
795         Reviewed by David Hyatt.
796
797         When grabbing the x/y values of the RenderBox, we need to take writing mode
798         flipping into account.
799
800         Test: fast/dom/offset-position-writing-modes.html
801
802         * rendering/RenderBox.cpp:
803         (WebCore::RenderBox::locationIncludingFlipping):
804         * rendering/RenderBox.h:
805         (WebCore::RenderBox::yFlippedForWritingMode):
806         (WebCore::RenderBox::xFlippedForWritingMode):
807         * rendering/RenderBoxModelObject.cpp:
808         (WebCore::RenderBoxModelObject::offsetLeft):
809         (WebCore::RenderBoxModelObject::offsetTop):
810
811 2011-09-27  Tim Horton  <timothy_horton@apple.com>
812
813         Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
814         https://bugs.webkit.org/show_bug.cgi?id=68816
815         <rdar://problem/10186468>
816
817         Reviewed by Simon Fraser.
818
819         If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
820
821         Test: svg/filters/feMorphology-zero-radius.svg
822
823         * platform/graphics/filters/FEMorphology.cpp:
824         (WebCore::FEMorphology::apply):
825         * platform/graphics/filters/FETurbulence.cpp:
826         (WebCore::FETurbulence::apply):
827
828 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
829
830         CompositeEditCommand::prune should remove subtree at once
831         https://bugs.webkit.org/show_bug.cgi?id=68866
832
833         Reviewed by Darin Adler.
834
835         Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
836         This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
837
838         * editing/CompositeEditCommand.cpp:
839         (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
840         the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
841         (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
842         (WebCore::CompositeEditCommand::prune):
843         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
844
845 2011-09-27  David Hyatt  <hyatt@apple.com>
846
847         https://bugs.webkit.org/show_bug.cgi?id=68922
848
849         Paginated floats should not grow the height of a block when they don't end
850         up being tied to a line. Floats encountered in skipLeadingWhitespace that
851         paginate can't immediately grow the height of the block, since there may not
852         end up being any actual line content. We only want to push the height of the
853         block down if we have actual line content that we want to keep with the
854         float.
855         
856         Make positionNewFloatOnLine check if the line is empty or not, and if it is,
857         it just puts the desired pagination strut into LineInfo. If and when actual
858         line content is encountered and setEmpty becomes false, we'll grow the block
859         height then.
860         
861         Reviewed by Dan Bernstein.
862
863         Added fast/multicol/float-paginate-empty-lines.html and
864         fast/regions/webkit-flow-double-pagination-float-push.html.
865
866         * rendering/RenderBlock.h:
867         * rendering/RenderBlockLineLayout.cpp:
868         (WebCore::LineWidth::LineWidth):
869         (WebCore::LineWidth::fitsOnLine):
870         (WebCore::LineWidth::currentWidth):
871         (WebCore::LineWidth::uncommittedWidth):
872         (WebCore::LineWidth::committedWidth):
873         (WebCore::LineWidth::availableWidth):
874         (WebCore::LineWidth::addUncommittedWidth):
875         (WebCore::LineWidth::commit):
876         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
877         (WebCore::LineWidth::updateAvailableWidth):
878         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
879         (WebCore::LineWidth::applyOverhang):
880         (WebCore::LineWidth::fitBelowFloats):
881         (WebCore::LineInfo::LineInfo):
882         (WebCore::LineInfo::floatPaginationStrut):
883         (WebCore::LineInfo::setEmpty):
884         (WebCore::LineInfo::setFloatPaginationStrut):
885         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
886         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
887         (WebCore::RenderBlock::positionNewFloatOnLine):
888
889 2011-09-27  Dean Jackson  <dino@apple.com>
890
891         Add 'filter' value to RenderStyle
892         https://bugs.webkit.org/show_bug.cgi?id=68471
893
894         Reviewed by Simon Fraser.
895
896         Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
897         is turned on. Similar to -webkit-transform, -webkit-filter is a
898         list of FilterOperations, each identifying what type of operation
899         it is. This change simply adds the basic objects, it does not
900         parse the property to generate the list.
901
902         * CMakeLists.txt:
903         * GNUmakefile.list.am:
904         * WebCore.gypi:
905         * WebCore.pro:
906         * WebCore.vcproj/WebCore.vcproj:
907         * WebCore.xcodeproj/project.pbxproj:
908         * platform/graphics/filters/FilterOperation.h: Added.
909         (WebCore::FilterOperation::~FilterOperation):
910         (WebCore::FilterOperation::operator!=):
911         (WebCore::FilterOperation::getOperationType):
912         (WebCore::FilterOperation::isSameType):
913         (WebCore::FilterOperation::FilterOperation):
914         (WebCore::ReferenceFilterOperation::create):
915         (WebCore::ReferenceFilterOperation::reference):
916         (WebCore::ReferenceFilterOperation::operator==):
917         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
918         (WebCore::BasicColorMatrixFilterOperation::create):
919         (WebCore::BasicColorMatrixFilterOperation::amount):
920         (WebCore::BasicColorMatrixFilterOperation::operator==):
921         (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
922         (WebCore::BasicComponentTransferFilterOperation::create):
923         (WebCore::BasicComponentTransferFilterOperation::amount):
924         (WebCore::BasicComponentTransferFilterOperation::operator==):
925         (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
926         (WebCore::GammaFilterOperation::create):
927         (WebCore::GammaFilterOperation::amplitude):
928         (WebCore::GammaFilterOperation::exponent):
929         (WebCore::GammaFilterOperation::offset):
930         (WebCore::GammaFilterOperation::operator==):
931         (WebCore::GammaFilterOperation::GammaFilterOperation):
932         (WebCore::BlurFilterOperation::create):
933         (WebCore::BlurFilterOperation::stdDeviationX):
934         (WebCore::BlurFilterOperation::stdDeviationY):
935         (WebCore::BlurFilterOperation::operator==):
936         (WebCore::BlurFilterOperation::BlurFilterOperation):
937         (WebCore::SharpenFilterOperation::create):
938         (WebCore::SharpenFilterOperation::radius):
939         (WebCore::SharpenFilterOperation::threshold):
940         (WebCore::SharpenFilterOperation::amount):
941         (WebCore::SharpenFilterOperation::operator==):
942         (WebCore::SharpenFilterOperation::SharpenFilterOperation):
943         (WebCore::DropShadowFilterOperation::create):
944         (WebCore::DropShadowFilterOperation::shadow):
945         (WebCore::DropShadowFilterOperation::operator==):
946         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
947         * platform/graphics/filters/FilterOperations.cpp: Added.
948         (WebCore::FilterOperations::FilterOperations):
949         (WebCore::FilterOperations::operator==):
950         * platform/graphics/filters/FilterOperations.h: Added.
951         (WebCore::FilterOperations::operator!=):
952         (WebCore::FilterOperations::clear):
953         (WebCore::FilterOperations::operations):
954         (WebCore::FilterOperations::size):
955         (WebCore::FilterOperations::at):
956         * rendering/style/RenderStyle.cpp:
957         (WebCore::RenderStyle::RenderStyle):
958         * rendering/style/RenderStyle.h:
959         (WebCore::InheritedFlags::filter):
960         (WebCore::InheritedFlags::hasFilter):
961         (WebCore::InheritedFlags::setFilter):
962         (WebCore::InheritedFlags::initialFilter):
963         * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
964         * rendering/style/StyleFilterData.cpp: Added.
965         (WebCore::StyleFilterData::StyleFilterData):
966         (WebCore::StyleFilterData::operator==):
967         * rendering/style/StyleFilterData.h: Added.
968         (WebCore::StyleFilterData::create):
969         (WebCore::StyleFilterData::copy):
970         (WebCore::StyleFilterData::operator!=):
971         * rendering/style/StyleRareNonInheritedData.cpp:
972         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
973         (WebCore::StyleRareNonInheritedData::operator==):
974         * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
975
976 2011-09-27  James Robinson  <jamesr@chromium.org>
977
978         [chromium] LayerRenderChromium asserts about leaking textures.
979         https://bugs.webkit.org/show_bug.cgi?id=68190
980
981         Reviewed by Kenneth Russell.
982
983         This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
984         This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
985         enum type, making it more testable.  It also allows us to track the allocations by subclassing TextureAllocator
986         to make sure we aren't leaking any textures.
987
988         * WebCore.gypi:
989         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
990         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
991         * platform/graphics/chromium/Canvas2DLayerChromium.h:
992         * platform/graphics/chromium/ImageLayerChromium.cpp:
993         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
994         * platform/graphics/chromium/LayerChromium.h:
995         (WebCore::LayerChromium::updateCompositorResources):
996         * platform/graphics/chromium/LayerRendererChromium.cpp:
997         (WebCore::LayerRendererChromium::LayerRendererChromium):
998         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
999         (WebCore::LayerRendererChromium::drawLayers):
1000         (WebCore::LayerRendererChromium::useRenderSurface):
1001         (WebCore::LayerRendererChromium::initializeSharedObjects):
1002         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1003         * platform/graphics/chromium/LayerRendererChromium.h:
1004         (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
1005         (WebCore::LayerRendererChromium::contentsTextureAllocator):
1006         * platform/graphics/chromium/LayerTextureUpdater.h:
1007         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1008         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1009         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1010         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1011         * platform/graphics/chromium/ManagedTexture.cpp:
1012         (WebCore::ManagedTexture::bindTexture):
1013         (WebCore::ManagedTexture::framebufferTexture2D):
1014         * platform/graphics/chromium/ManagedTexture.h:
1015         * platform/graphics/chromium/TextureManager.cpp:
1016         (WebCore::TextureManager::memoryUseBytes):
1017         (WebCore::TextureManager::deleteEvictedTextures):
1018         (WebCore::TextureManager::evictAndDeleteAllTextures):
1019         (WebCore::TextureManager::removeTexture):
1020         (WebCore::TextureManager::allocateTexture):
1021         (WebCore::TextureManager::requestTexture):
1022         * platform/graphics/chromium/TextureManager.h:
1023         (WebCore::TextureAllocator::~TextureAllocator):
1024         * platform/graphics/chromium/TiledLayerChromium.cpp:
1025         (WebCore::TiledLayerChromium::updateCompositorResources):
1026         * platform/graphics/chromium/TiledLayerChromium.h:
1027         * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
1028         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1029         (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
1030         (WebCore::TrackingTextureAllocator::createTexture):
1031         (WebCore::TrackingTextureAllocator::deleteTexture):
1032         * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
1033         (WebCore::TrackingTextureAllocator::create):
1034         (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
1035         * platform/graphics/chromium/VideoLayerChromium.cpp:
1036         (WebCore::VideoLayerChromium::updateCompositorResources):
1037         (WebCore::VideoLayerChromium::updateTexture):
1038         * platform/graphics/chromium/VideoLayerChromium.h:
1039         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1040         (WebCore::WebGLLayerChromium::updateCompositorResources):
1041         * platform/graphics/chromium/WebGLLayerChromium.h:
1042         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1043         (WebCore::CCHeadsUpDisplay::draw):
1044         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1045         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1046         (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
1047         (WebCore::CCLayerTreeHost::commitToOnCCThread):
1048         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
1049         (WebCore::CCLayerTreeHost::updateCompositorResources):
1050         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1051         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1052         (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
1053         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1054         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1055         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1056         (WebCore::CCRenderSurface::drawSurface):
1057         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1058         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1059         (WebCore::CCSingleThreadProxy::stop):
1060         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
1061         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1062         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1063         (WebCore::CCThreadProxy::commitOnCCThread):
1064         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
1065
1066 2011-06-28  Robert Hogan  <robert@webkit.org>
1067
1068         Reviewed by David Hyatt.
1069
1070         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
1071         https://bugs.webkit.org/show_bug.cgi?id=29447
1072
1073         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
1074         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
1075
1076         Test: fast/replaced/table-percent-width.html
1077
1078         * rendering/RenderBox.cpp:
1079         (WebCore::avoidSqueezingWidth):
1080         (WebCore::avoidSqueezingHeight):
1081         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
1082         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1083         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1084         * rendering/RenderBox.h:
1085
1086 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
1087
1088         https://bugs.webkit.org/show_bug.cgi?id=67858
1089
1090         Roll r96070 back in now that the crash has been fixed in r96130.
1091
1092         Reviewed by Darin Adler.
1093         
1094         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
1095         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
1096         
1097         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
1098         on scrollbar creation appears to happen via updating the scrollbar style.
1099
1100         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
1101         stale scrollbars when run manually, even though the green squares are missing from the
1102         pixel result (bug 67878).
1103
1104         * page/FrameView.cpp:
1105         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
1106         * platform/ScrollView.cpp:
1107         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
1108         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1109         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
1110         compute the scroll corner rect while we still have scrollbars, and then invalidate it
1111         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
1112         rect.)
1113         * platform/ScrollableArea.cpp:
1114         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
1115         compute it in the case where the scrollbars are going away.
1116         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
1117         invalidateScrollbar().
1118         * rendering/RenderLayerCompositor.cpp:
1119         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
1120         * rendering/RenderScrollbarPart.cpp: Ditto.
1121         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
1122
1123 2011-09-27  Mihai Parparita  <mihaip@chromium.org>
1124
1125         Fix Chromium Mac build after r96130.
1126
1127         * page/FrameView.cpp:
1128         (WebCore::FrameView::layerForOverhangAreas):
1129
1130 2011-09-27  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1131
1132         Autofocus on readonly inputs does not focus the element.
1133         https://bugs.webkit.org/show_bug.cgi?id=24092
1134
1135         Reviewed by Ryosuke Niwa.
1136
1137         Readonly input elements should be autofocusable. Removed the check.
1138
1139         Tests: fast/forms/autofocus-readonly-attribute.html
1140
1141         * html/HTMLFormControlElement.cpp:
1142         (WebCore::shouldAutofocus):
1143
1144 2011-09-27  Simon Fraser  <simon.fraser@apple.com>
1145
1146         Clean up how FrameView accesses the RenderView
1147         https://bugs.webkit.org/show_bug.cgi?id=68914
1148
1149         Reviewed by Sam Weinig.
1150
1151         Clean up how FrameView accesses the content renderer of its
1152         frame. Previously, this was done in several different ways,
1153         only some of which did null-checking.
1154         
1155         Use an inline method to avoid having to expose Frame
1156         in the header.
1157         
1158         Standardize the terminology to use 'root' for this RenderView.
1159
1160         * page/FrameView.cpp:
1161         (WebCore::rootRenderer):
1162         (WebCore::FrameView::setFrameRect):
1163         (WebCore::FrameView::adjustViewSize):
1164         (WebCore::FrameView::updateCompositingLayers):
1165         (WebCore::FrameView::clearBackingStores):
1166         (WebCore::FrameView::restoreBackingStores):
1167         (WebCore::FrameView::layerForHorizontalScrollbar):
1168         (WebCore::FrameView::layerForVerticalScrollbar):
1169         (WebCore::FrameView::layerForScrollCorner):
1170         (WebCore::FrameView::layerForOverhangAreas):
1171         (WebCore::FrameView::syncCompositingStateForThisFrame):
1172         (WebCore::FrameView::hasCompositedContent):
1173         (WebCore::FrameView::enterCompositingMode):
1174         (WebCore::FrameView::isSoftwareRenderable):
1175         (WebCore::FrameView::didMoveOnscreen):
1176         (WebCore::FrameView::willMoveOffscreen):
1177         (WebCore::FrameView::layout):
1178         (WebCore::FrameView::embeddedContentBox):
1179         (WebCore::FrameView::contentsInCompositedLayer):
1180         (WebCore::FrameView::scrollContentsFastPath):
1181         (WebCore::FrameView::scrollContentsSlowPath):
1182         (WebCore::FrameView::maintainScrollPositionAtAnchor):
1183         (WebCore::FrameView::scrollPositionChanged):
1184         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
1185         (WebCore::FrameView::visibleContentsResized):
1186         (WebCore::FrameView::scheduleRelayoutOfSubtree):
1187         (WebCore::FrameView::needsLayout):
1188         (WebCore::FrameView::setNeedsLayout):
1189         (WebCore::FrameView::performPostLayoutTasks):
1190         (WebCore::FrameView::updateControlTints):
1191         (WebCore::FrameView::paintContents):
1192         (WebCore::FrameView::forceLayoutForPagination):
1193         (WebCore::FrameView::adjustPageHeightDeprecated):
1194         (WebCore::FrameView::isVerticalDocument):
1195         (WebCore::FrameView::isFlippedDocument):
1196
1197 2011-09-27  Dominic Mazzoni  <dmazzoni@google.com>
1198
1199         AXObjectCache cleared unnecessarily when non-top Document is detached.
1200         https://bugs.webkit.org/show_bug.cgi?id=68636
1201
1202         Reviewed by Chris Fleizach.
1203
1204         Test: accessibility/deleting-iframe-destroys-axcache.html
1205
1206         * dom/Document.cpp:
1207         (WebCore::Document::attach):
1208         (WebCore::Document::detach):
1209
1210 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1211
1212         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
1213         http://trac.webkit.org/changeset/96108
1214         http://trac.webkit.org/changeset/96111
1215         http://trac.webkit.org/changeset/96113
1216         http://trac.webkit.org/changeset/96116
1217         https://bugs.webkit.org/show_bug.cgi?id=68913
1218
1219         Wait for working Qt5 (Requested by ossy on #webkit).
1220
1221         * WebCore.pri:
1222         * platform/graphics/qt/GraphicsLayerQt.cpp:
1223
1224 2011-09-27  Csaba Osztrogonác  <ossy@webkit.org>
1225
1226         Fix ENABLE(SQL_DATABASE)=0 build after r95919
1227         https://bugs.webkit.org/show_bug.cgi?id=68902
1228
1229         r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
1230         it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
1231
1232         Reviewed by Adam Barth.
1233
1234         * platform/sql/SQLiteAuthorizer.cpp:
1235         * platform/sql/SQLiteDatabase.cpp:
1236         * platform/sql/SQLiteFileSystem.cpp:
1237         * platform/sql/SQLiteStatement.cpp:
1238         * platform/sql/SQLiteTransaction.cpp:
1239         * storage/DatabaseAuthorizer.cpp:
1240
1241 2011-09-27  Julien Chaffraix  <jchaffraix@webkit.org>
1242
1243         Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
1244         https://bugs.webkit.org/show_bug.cgi?id=66291
1245
1246         Reviewed by Darin Adler.
1247
1248         Test: fast/canvas/crash-set-font.html
1249
1250         This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
1251         applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
1252         We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
1253         list as Font::update was never called.
1254
1255         The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
1256         Until this happens, it is better not to crash.
1257
1258         * css/CSSStyleSelector.cpp:
1259         (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
1260         mutated by the previous property change. Also added a comment explaining why it is safe to do it
1261         this way.
1262
1263 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
1264
1265         [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
1266         https://bugs.webkit.org/show_bug.cgi?id=68897
1267
1268         Reviewed by Andreas Kling.
1269
1270         No new functionality so no new tests.
1271
1272         * platform/graphics/texmap/TextureMapperNode.cpp:
1273         (WebCore::TextureMapperNode::computeAllTransforms):
1274         (WebCore::TextureMapperNode::computeTiles):
1275         (WebCore::TextureMapperNode::syncCompositingState):
1276         * platform/graphics/texmap/TextureMapperNode.h:
1277
1278 2011-09-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
1279
1280         [Texmap][Qt] Refactor texture-upload to allow direct chunk update
1281         https://bugs.webkit.org/show_bug.cgi?id=68808
1282
1283         Add a function to BitmapTexture for direct pixel updates.
1284         Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
1285         to RGBA swizzling is done inside that function, there's no need for the 
1286         RGBA32PremultipliedBuffer class to contain such function. Also,
1287         RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
1288         an old mistake.
1289
1290         Reviewed by Andreas Kling.
1291
1292         No new tests. Existing tests in LayoutTests/compositing test this.
1293
1294         * platform/graphics/opengl/TextureMapperGL.cpp:
1295         (WebCore::BitmapTextureGL::beginPaint):
1296         (WebCore::BitmapTextureGL::endPaint):
1297         (WebCore::swizzleBGRAToRGBA):
1298         (WebCore::BitmapTextureGL::updateContents):
1299         * platform/graphics/opengl/TextureMapperGL.h:
1300         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
1301         * platform/graphics/qt/TextureMapperQt.cpp:
1302         (WebCore::BitmapTextureQt::updateContents):
1303         (WebCore::BGRA32PremultimpliedBufferQt::data):
1304         (WebCore::BGRA32PremultimpliedBuffer::create):
1305         * platform/graphics/qt/TextureMapperQt.h:
1306         * platform/graphics/texmap/TextureMapper.h:
1307
1308 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1309
1310         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
1311
1312         QWidget and friends now live in the QtWidgets library. We update
1313         includes in implementation files and private headers to us the
1314         non-module-prefixed path, and leave the lookup for the include
1315         path. For public headers we have to ifdef the includes as the
1316         user might now have the modules we need in his QT config.
1317
1318         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
1319         have to update our code and use windowHandle() for setting the
1320         parent relationships.
1321
1322         https://bugs.webkit.org/show_bug.cgi?id=68687
1323
1324         Reviewed by Andreas Kling.
1325
1326         * WebCore.pri:
1327         * platform/graphics/qt/GraphicsLayerQt.cpp:
1328
1329 2011-09-27  Pavel Feldman  <pfeldman@google.com>
1330
1331         Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
1332         Send attribute name and value within the event.
1333         https://bugs.webkit.org/show_bug.cgi?id=68613
1334
1335         Reviewed by Yury Semikhatsky.
1336
1337         * dom/Element.cpp:
1338         (WebCore::Element::setAttribute):
1339         (WebCore::Element::removeAttribute):
1340         * inspector/Inspector.draft-01.json:
1341         * inspector/Inspector.json:
1342         * inspector/InspectorDOMAgent.cpp:
1343         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
1344         (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
1345         * inspector/InspectorDOMAgent.h:
1346         * inspector/InspectorInstrumentation.cpp:
1347         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
1348         (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
1349         * inspector/InspectorInstrumentation.h:
1350         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
1351         (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
1352         * inspector/front-end/DOMAgent.js:
1353         (WebInspector.DOMNode.prototype._addAttribute):
1354         (WebInspector.DOMNode.prototype._setAttribute):
1355         (WebInspector.DOMNode.prototype._removeAttribute):
1356         (WebInspector.DOMAgent.prototype._attributeModified):
1357         (WebInspector.DOMAgent.prototype._attributeRemoved):
1358         (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
1359         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
1360         (WebInspector.DOMDispatcher.prototype.attributeModified):
1361         (WebInspector.DOMDispatcher.prototype.attributeRemoved):
1362         * inspector/front-end/ElementsPanel.js:
1363         (WebInspector.ElementsPanel):
1364         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1365         * inspector/front-end/MetricsSidebarPane.js:
1366         (WebInspector.MetricsSidebarPane):
1367         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
1368         * inspector/front-end/StylesSidebarPane.js:
1369         (WebInspector.StylesSidebarPane):
1370         (WebInspector.StylesSidebarPane.prototype._attributesModified):
1371         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
1372         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
1373         (WebInspector.StylePropertyTreeElement.prototype.event):
1374         (WebInspector.StylePropertyTreeElement.prototype):
1375         * inspector/validate-protocol-compatibility:
1376
1377 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1378
1379         Unreviewed, rolling out r96070 and r96075.
1380         http://trac.webkit.org/changeset/96070
1381         http://trac.webkit.org/changeset/96075
1382         https://bugs.webkit.org/show_bug.cgi?id=68893
1383
1384         WK2 tests started crashing after r96070 for SL and Qt
1385         (Requested by torarne on #webkit).
1386
1387         * page/FrameView.cpp:
1388         (WebCore::FrameView::updateScrollCorner):
1389         * platform/ScrollView.cpp:
1390         (WebCore::ScrollView::setHasHorizontalScrollbar):
1391         (WebCore::ScrollView::setHasVerticalScrollbar):
1392         (WebCore::ScrollView::updateScrollbars):
1393         * platform/ScrollableArea.cpp:
1394         (WebCore::ScrollableArea::invalidateScrollCorner):
1395         * platform/ScrollableArea.h:
1396         * rendering/RenderLayerCompositor.cpp:
1397         (WebCore::RenderLayerCompositor::destroyRootLayer):
1398         * rendering/RenderScrollbarPart.cpp:
1399         (WebCore::RenderScrollbarPart::imageChanged):
1400
1401 2011-09-27  Andrey Kosyakov  <caseq@chromium.org>
1402
1403         Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
1404         https://bugs.webkit.org/show_bug.cgi?id=68888
1405
1406         Reviewed by Pavel Feldman.
1407
1408         * inspector/front-end/ElementsPanel.js:
1409         (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
1410
1411 2011-09-21  Pavel Podivilov  <podivilov@chromium.org>
1412
1413         Web Inspector: migrate RawSourceCode clients to SourceMapping class.
1414         https://bugs.webkit.org/show_bug.cgi?id=68524
1415
1416         Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
1417         Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
1418
1419         Reviewed by Yury Semikhatsky.
1420
1421         * inspector/front-end/BreakpointManager.js:
1422         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
1423         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
1424         * inspector/front-end/DebuggerPresentationModel.js:
1425         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
1426         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1427         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1428         (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
1429         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1430         (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
1431         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
1432         (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
1433         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1434         (WebInspector.PresentationCallFrame.prototype.get url):
1435         (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
1436         (WebInspector.PresentationCallFrame.prototype.sourceLine):
1437         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
1438         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
1439         * inspector/front-end/SourceFile.js:
1440         (WebInspector.RawSourceCode.prototype.get sourceMapping):
1441
1442 2011-09-27  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1443
1444         wrap attribute of textarea element cannot be accessed by JavaScript.
1445         https://bugs.webkit.org/show_bug.cgi?id=68592
1446
1447         Reviewed by Kent Tamura.
1448
1449         Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
1450
1451         Test: fast/forms/textarea-wrap-attribute.html
1452
1453         * html/HTMLTextAreaElement.idl:
1454
1455 2011-09-27  Xan Lopez  <xlopez@igalia.com>
1456
1457         [GTK] Add compatibility methods for DOM bindings
1458         https://bugs.webkit.org/show_bug.cgi?id=68884
1459
1460         Reviewed by Philippe Normand.
1461
1462         Add compatibility methods for our DOM bindings.
1463
1464         * bindings/gobject/WebKitDOMCustom.cpp:
1465         (webkit_dom_blob_slice): alias to the new method name.
1466         (webkit_dom_html_form_element_dispatch_form_change): this was
1467         removed from WebCore, so just print a warning about it.
1468         (webkit_dom_html_form_element_dispatch_form_input): ditto.
1469         * bindings/gobject/WebKitDOMCustom.h:
1470
1471 2011-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1472
1473         Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
1474         https://bugs.webkit.org/show_bug.cgi?id=68875
1475
1476         Reviewed by Kent Tamura.
1477
1478         Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
1479         Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
1480
1481         * editing/DeleteSelectionCommand.cpp:
1482         (WebCore::DeleteSelectionCommand::removeNode):
1483         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1484         * editing/ReplaceSelectionCommand.cpp:
1485         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1486         (WebCore::ReplaceSelectionCommand::doApply):
1487         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1488         * editing/ReplaceSelectionCommand.h:
1489         (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
1490         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
1491         (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
1492         (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
1493         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
1494         * editing/htmlediting.cpp:
1495         (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
1496         * editing/htmlediting.h:
1497
1498 2011-09-27  Arun Patole  <bmf834@motorola.com>
1499
1500         Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
1501         https://bugs.webkit.org/show_bug.cgi?id=60972
1502
1503         Reviewed by Philippe Normand.
1504
1505         The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
1506         WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
1507
1508         Test: media/media-element-play-after-eos.html
1509
1510         * html/HTMLMediaElement.cpp:
1511         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
1512
1513 2011-09-27  Rakesh KN  <rakesh.kn@motorola.com>
1514
1515         <input> with autofocus doesn't lose focus when it has a certain onblur listener
1516         https://bugs.webkit.org/show_bug.cgi?id=68513
1517
1518         Reviewed by Kent Tamura.
1519
1520         Test: fast/forms/autofocus-focus-only-once.html
1521
1522         These changes make sure that an element is focused only once when autofocus attribute is used.
1523
1524         * html/HTMLFormControlElement.cpp:
1525         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1526         (WebCore::shouldAutofocus):
1527         (WebCore::HTMLFormControlElement::attach):
1528         * html/HTMLFormControlElement.h:
1529         (WebCore::HTMLFormControlElement::hasAutofocused):
1530         (WebCore::HTMLFormControlElement::setAutofocused):
1531
1532 2011-09-26  Kentaro Hara  <haraken@chromium.org>
1533
1534         Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
1535         https://bugs.webkit.org/show_bug.cgi?id=68345
1536
1537         Reviewed by Adam Barth.
1538
1539         Previously, the following test cases fail or crash:
1540
1541         - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
1542         - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
1543
1544         This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
1545         However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
1546         since PopStateEvent can be constructed in the context that does not know ScriptValue.
1547         For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
1548         popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
1549         the corresponding ScriptValue here because the deserialization requires ExecState.
1550         In other words, although we want to store PopStateEvent.state by ScriptValue internally,
1551         PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
1552         With these observations, this patch makes the following changes:
1553
1554         - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
1555         When PopStateEvent.state is called, the ScriptValue is returned.
1556         - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
1557         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
1558         at this point). When PopStateEvent.state is called, the SerializedScriptValue is
1559         deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
1560
1561         Tests: fast/events/constructors/pop-state-event-constructor.html
1562                fast/events/fire-popstate-event.html
1563
1564         * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
1565         * UseJSC.cmake: Ditto.
1566         * WebCore.gypi: Ditto.
1567         * WebCore.pro: Ditto.
1568         * WebCore.xcodeproj/project.pbxproj: Ditto.
1569         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1570         * bindings/js/JSPopStateEventCustom.cpp:
1571         (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
1572         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1573         (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
1574         * dom/PopStateEvent.cpp:
1575         (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
1576         (WebCore::PopStateEvent::PopStateEvent): Ditto.
1577         (WebCore::PopStateEvent::create): Ditto.
1578         (WebCore::PopStateEvent::initPopStateEvent): Ditto.
1579         * dom/PopStateEvent.h:
1580         (WebCore::PopStateEvent::serializedState): Getter.
1581         (WebCore::PopStateEvent::state): Getter.
1582         * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
1583
1584 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
1585
1586         Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
1587         https://bugs.webkit.org/show_bug.cgi?id=67858
1588
1589         Reviewed by Darin Adler.
1590         
1591         When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
1592         the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
1593         
1594         Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
1595         on scrollbar creation appears to happen via updating the scrollbar style.
1596
1597         Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
1598         stale scrollbars when run manually, even though the green squares are missing from the
1599         pixel result (bug 67878).
1600
1601         * page/FrameView.cpp:
1602         (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
1603         * platform/ScrollView.cpp:
1604         (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
1605         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1606         (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
1607         compute the scroll corner rect while we still have scrollbars, and then invalidate it
1608         explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
1609         rect.)
1610         * platform/ScrollableArea.cpp:
1611         (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
1612         compute it in the case where the scrollbars are going away.
1613         * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
1614         invalidateScrollbar().
1615         * rendering/RenderLayerCompositor.cpp:
1616         (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
1617         * rendering/RenderScrollbarPart.cpp: Ditto.
1618         (WebCore::RenderScrollbarPart::imageChanged): Ditto.
1619
1620 2011-09-09  Simon Fraser  <simon.fraser@apple.com>
1621
1622         Translucent scrollbars on composited layers render incorrectly
1623         https://bugs.webkit.org/show_bug.cgi?id=58515
1624
1625         Reviewed by Sam Weinig.
1626         
1627         Scrollbars in composited elements were getting drawn twice,
1628         because r41203 moved the call to paintOverflowControls() out of
1629         RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
1630
1631         Test: compositing/scrollbar-painting.html
1632
1633         * rendering/RenderLayerBacking.cpp:
1634         (WebCore::RenderLayerBacking::paintIntoLayer):
1635
1636 2011-09-26  Nat Duca  <nduca@chromium.org>
1637
1638         [chromium] Make CCThreadProxy draw
1639         https://bugs.webkit.org/show_bug.cgi?id=67417
1640
1641         Update the CCThreadProxy to correctly implement the CCProxy
1642         interface, do all the right committing and updating steps, and
1643         draw a picture on the screen.
1644
1645         Reviewed by James Robinson.
1646
1647         * platform/graphics/IntRect.h:
1648         * platform/graphics/chromium/LayerRendererChromium.cpp:
1649         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1650         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1651         (WebCore::CCHeadsUpDisplay::enabled):
1652         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1653         (WebCore::CCLayerImpl::CCLayerImpl):
1654         (WebCore::CCLayerImpl::~CCLayerImpl):
1655         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1656         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1657         (WebCore::CCLayerTreeHost::commitTo):
1658         (WebCore::CCLayerTreeHost::commitComplete):
1659         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1660         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1661         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1662         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1663         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
1664         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1665         (WebCore::CCSingleThreadProxy::finishAllRendering):
1666         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1667         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1668         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1669         (WebCore::CCThreadProxy::CCThreadProxy):
1670         (WebCore::CCThreadProxy::~CCThreadProxy):
1671         (WebCore::CCThreadProxy::compositeAndReadback):
1672         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
1673         (WebCore::CCThreadProxy::finishAllRendering):
1674         (WebCore::CCThreadProxy::isStarted):
1675         (WebCore::CCThreadProxy::setNeedsCommit):
1676         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
1677         (WebCore::CCThreadProxy::setNeedsRedraw):
1678         (WebCore::CCThreadProxy::start):
1679         (WebCore::CCThreadProxy::stop):
1680         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
1681         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
1682         (WebCore::CCThreadProxy::beginFrameAndCommit):
1683         (WebCore::CCThreadProxy::commitOnCCThread):
1684         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
1685         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
1686         (WebCore::CCThreadProxy::drawLayersOnCCThread):
1687         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
1688         * platform/graphics/chromium/cc/CCThreadProxy.h:
1689
1690 2011-09-26  Adam Klein  <adamk@chromium.org>
1691
1692         [MutationObservers] implement MutationRecord
1693         https://bugs.webkit.org/show_bug.cgi?id=68824
1694
1695         Reviewed by Darin Adler.
1696
1697         Implements MutationRecord as specified in the thread at
1698         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
1699         including some minor naming changes from the original proposal.
1700
1701         This is a small part of the MutationObserver API, see
1702         https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
1703         this feature.
1704
1705         No new tests as this isn't yet exposed to the platform.
1706
1707         * CMakeLists.txt:
1708         * DerivedSources.cpp:
1709         * DerivedSources.make:
1710         * GNUmakefile.list.am:
1711         * WebCore.gypi:
1712         * WebCore.pro:
1713         * WebCore.vcproj/WebCore.vcproj:
1714         * WebCore.xcodeproj/project.pbxproj:
1715         * dom/MutationRecord.cpp: Added.
1716         (WebCore::MutationRecord::createChildList):
1717         (WebCore::MutationRecord::createAttributes):
1718         (WebCore::MutationRecord::createCharacterData):
1719         (WebCore::MutationRecord::MutationRecord):
1720         (WebCore::MutationRecord::~MutationRecord):
1721         * dom/MutationRecord.h: Added.
1722         (WebCore::MutationRecord::target):
1723         (WebCore::MutationRecord::addedNodes):
1724         (WebCore::MutationRecord::removedNodes):
1725         (WebCore::MutationRecord::previousSibling):
1726         (WebCore::MutationRecord::nextSibling):
1727         (WebCore::MutationRecord::attributeName):
1728         (WebCore::MutationRecord::attributeNamespace):
1729         (WebCore::MutationRecord::oldValue):
1730         (WebCore::MutationRecord::setOldValue):
1731         * dom/MutationRecord.idl: Added.
1732
1733 2011-09-26  Kentaro Hara  <haraken@chromium.org>
1734
1735         Implement a CloseEvent constructor for V8
1736         https://bugs.webkit.org/show_bug.cgi?id=68793
1737
1738         Reviewed by Adam Barth.
1739
1740         Test: fast/events/constructors/close-event-constructor.html
1741
1742         * bindings/v8/OptionsObject.cpp:
1743         (WebCore::OptionsObject::getKey): Just removed an extra space.
1744         (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
1745         * bindings/v8/OptionsObject.h:
1746         * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
1747         * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
1748
1749 2011-09-26  Nate Chapin  <japhet@chromium.org>
1750
1751         Clean up CachedResource::load(). Collapse its
1752         logic into a single callsite, taking just a
1753         CachedResourceLoader and a ResourceLoaderOptions.
1754
1755         1. Its 'incremental' parameter is redundant.
1756         2. With 'incremental' removed, the SecurityCheckPolicy is the only
1757            parameter difference between the CachedResource::load() variants.
1758            Making it a part of ResourceLoaderOptions removes yet another random
1759            enum that is passed around individually.
1760         3. We currently have to call setResourceLoaderOptions() before load() on a
1761            new CachedResource, so we should just take the ResourceLoaderOptions in load().
1762
1763         https://bugs.webkit.org/show_bug.cgi?id=67443
1764
1765         Reviewed by Antti Koivisto.
1766
1767         No new tests, refactor only.
1768
1769         * loader/DocumentThreadableLoader.cpp:
1770         * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
1771         * loader/MainResourceLoader.cpp:
1772         * loader/NetscapePlugInStreamLoader.cpp:
1773         * loader/ResourceLoadScheduler.cpp:
1774         * loader/ResourceLoadScheduler.h:
1775         * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
1776         * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
1777         * loader/SubresourceLoader.cpp:
1778         * loader/SubresourceLoader.h:
1779         * loader/cache/CachedFont.cpp:
1780         * loader/cache/CachedFont.h:
1781         * loader/cache/CachedImage.cpp:
1782         * loader/cache/CachedImage.h:
1783         * loader/cache/CachedResource.cpp:
1784         * loader/cache/CachedResource.h:
1785         * loader/cache/CachedResourceLoader.cpp:
1786         (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
1787             CachedResource loads here instead of as a default parameter on requestResource().
1788         * loader/cache/CachedResourceLoader.h:
1789         * loader/cache/CachedResourceRequest.cpp:
1790         (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
1791             is already enforced in the data() implementation of every CachedResource that doesn't want
1792             incremental loads.
1793         * loader/cache/CachedResourceRequest.h:
1794
1795 2011-09-26  Joshua Bell  <jsbell@chromium.org>
1796
1797         IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
1798         https://bugs.webkit.org/show_bug.cgi?id=68818
1799
1800         Reviewed by Tony Chang.
1801
1802         Test: storage/indexeddb/factory-basics.html
1803
1804         Adds ability to enumerate IndexedDB databases within an origin.
1805
1806         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1807         (WebCore::toV8):
1808         * storage/IDBAny.cpp:
1809         (WebCore::IDBAny::domStringList):
1810         (WebCore::IDBAny::set):
1811         * storage/IDBAny.h:
1812         * storage/IDBBackingStore.h:
1813         * storage/IDBCallbacks.h:
1814         * storage/IDBFactory.cpp:
1815         (WebCore::IDBFactory::getDatabaseNames):
1816         * storage/IDBFactory.h:
1817         * storage/IDBFactory.idl:
1818         * storage/IDBFactoryBackendImpl.cpp:
1819         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
1820         (WebCore::IDBFactoryBackendImpl::open):
1821         (WebCore::IDBFactoryBackendImpl::openBackingStore):
1822         * storage/IDBFactoryBackendImpl.h:
1823         * storage/IDBFactoryBackendInterface.h:
1824         * storage/IDBLevelDBBackingStore.cpp:
1825         (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
1826         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1827         (WebCore::IDBLevelDBBackingStore::getIndexes):
1828         * storage/IDBLevelDBBackingStore.h:
1829         * storage/IDBLevelDBCoding.cpp:
1830         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
1831         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
1832         * storage/IDBLevelDBCoding.h:
1833         * storage/IDBRequest.cpp:
1834         (WebCore::IDBRequest::onSuccess):
1835         * storage/IDBRequest.h:
1836         * storage/IDBSQLiteBackingStore.cpp:
1837         (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
1838         * storage/IDBSQLiteBackingStore.h:
1839
1840 2011-09-26  Tim Horton  <timothy_horton@apple.com>
1841
1842         <animateColor> applied to filtered ellipse does not update
1843         https://bugs.webkit.org/show_bug.cgi?id=68457
1844         <rdar://problem/10154777>
1845
1846         Reviewed by Darin Adler.
1847
1848         Invalidate the filter's cache when style changes take place so that style changes are respected.
1849
1850         Test: svg/filters/animate-fill.svg
1851
1852         * rendering/svg/SVGResourcesCache.cpp:
1853         (WebCore::SVGResourcesCache::clientStyleChanged):
1854         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
1855
1856 2011-09-26  Max Perepelitsyn  <pph34r@gmail.com>
1857
1858         Set but unused variables cleanup in v8 bindings (gcc 4.6)
1859         https://bugs.webkit.org/show_bug.cgi?id=68079
1860
1861         Reviewed by Adam Barth.
1862
1863         Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
1864
1865         * bindings/scripts/CodeGeneratorV8.pm:
1866         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1867         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1868         * bindings/scripts/test/V8/V8TestObj.cpp:
1869         (WebCore::ConfigureV8TestObjTemplate):
1870         * bindings/v8/WorkerScriptDebugServer.cpp:
1871         (WebCore::WorkerScriptDebugServer::addListener):
1872         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1873         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
1874         * bindings/v8/custom/V8WebSocketCustom.cpp:
1875         (WebCore::V8WebSocket::sendCallback):
1876
1877 2011-09-26  Tony Chang  <tony@chromium.org>
1878
1879         switch the initial value of flex-order to 0
1880         https://bugs.webkit.org/show_bug.cgi?id=68820
1881
1882         The spec changed from having an initial value of 1 to 0.
1883
1884         Reviewed by Ojan Vafai.
1885
1886         * rendering/style/RenderStyle.h:
1887         (WebCore::InheritedFlags::initialFlexOrder):
1888
1889 2011-09-26  Chris Rogers  <crogers@google.com>
1890
1891         OfflineAudioDestinationNode must wait for thread completion in uninitialize()
1892         https://bugs.webkit.org/show_bug.cgi?id=68725
1893
1894         Reviewed by Kenneth Russell.
1895
1896         No new tests.  This fixes internal implementation details.
1897
1898         * webaudio/OfflineAudioDestinationNode.cpp:
1899         (WebCore::OfflineAudioDestinationNode::uninitialize):
1900
1901 2011-09-26  Xan Lopez  <xlopez@igalia.com>
1902
1903         [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
1904         https://bugs.webkit.org/show_bug.cgi?id=68837
1905
1906         Reviewed by Martin Robinson.
1907
1908         * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
1909         setters) for 'Replaceable' attributes. Punt for the future
1910         actually making them settable, since it seems non trivial.
1911
1912 2011-09-26  Ryosuke Niwa  <rniwa@webkit.org>
1913
1914         Leopard build fix.
1915
1916         * testing/Internals.cpp:
1917         (WebCore::Internals::setZoomAnimatorTransform):
1918
1919 2011-09-26  Joshua Bell  <jsbell@chromium.org>
1920
1921         IndexedDB: Null key path gets stored as empty string key path
1922         https://bugs.webkit.org/show_bug.cgi?id=68726
1923
1924         Reviewed by Tony Chang.
1925
1926         Store additional flag to indicate if object store key path
1927         is null vs. empty. Added additional runtime tests for integrity
1928         of object store metadata.
1929
1930         * storage/IDBLevelDBBackingStore.cpp:
1931         (WebCore::checkObjectStoreAndMetaDataType):
1932         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1933         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1934         * storage/IDBLevelDBCoding.cpp:
1935
1936 2011-09-26  John Bauman  <jbauman@chromium.org>
1937
1938         Fix nonpremultiplied webgl toDataURL to jpeg
1939         https://bugs.webkit.org/show_bug.cgi?id=68366
1940
1941         The canvas spec says that toDataURL to formats without an alpha must
1942         be "composited onto a solid black background using the source-over
1943         operator." Do that.
1944
1945         Reviewed by Kenneth Russell.
1946
1947         * platform/graphics/cg/ImageBufferCG.cpp:
1948         (WebCore::CGImageToDataURL):
1949         (WebCore::ImageBuffer::toDataURL):
1950         (WebCore::ImageDataToDataURL):
1951         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1952         (WebCore::RGBAtoRGB):
1953
1954 2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
1955
1956         [CMake] Remove FindFreetype.cmake
1957         https://bugs.webkit.org/show_bug.cgi?id=68778
1958
1959         Reviewed by Adam Barth.
1960
1961         CMake has provided its own FindFreetype.cmake forever, so there is no
1962         need to have another implementation in WebKit.
1963
1964         No new tests, just a buildsystem change.
1965
1966         * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
1967         Freetype_{LIBRARIES,INCLUDE_DIRS}.
1968
1969 2011-09-26  Alexei Svitkine  <asvitkine@chromium.org>
1970
1971         Fix full-page rubber band overhang appearing when gesturing during a slow page load.
1972         https://bugs.webkit.org/show_bug.cgi?id=68568
1973
1974         Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
1975
1976         (This also happens on Safari.)
1977
1978         The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
1979
1980         Reviewed by Adam Barth.
1981
1982         No new tests, since this is highly timing-related.
1983
1984         * platform/ScrollView.cpp:
1985         (WebCore::ScrollView::overhangAmount):
1986         (WebCore::ScrollView::wheelEvent):
1987
1988 2011-09-26  W. James MacLean  <wjmaclean@chromium.org>
1989
1990         [chromium] Revise zoom animator backend to use full transform instead of just scale.
1991         https://bugs.webkit.org/show_bug.cgi?id=68535
1992
1993         Reviewed by Kenneth Russell.
1994
1995         * page/Settings.cpp:
1996         (WebCore::Settings::Settings):
1997         * page/Settings.h:
1998         (WebCore::Settings::setZoomAnimatorScale):
1999         (WebCore::Settings::zoomAnimatorScale):
2000         (WebCore::Settings::setZoomAnimatorPosition):
2001         (WebCore::Settings::zoomAnimatorPosX):
2002         (WebCore::Settings::zoomAnimatorPosY):
2003         * platform/graphics/chromium/LayerRendererChromium.cpp:
2004         (WebCore::LayerRendererChromium::LayerRendererChromium):
2005         (WebCore::LayerRendererChromium::drawLayersInternal):
2006         * platform/graphics/chromium/LayerRendererChromium.h:
2007         (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
2008         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2009         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2010         (WebCore::CCLayerTreeHost::commitTo):
2011         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
2012         (WebCore::CCLayerTreeHost::updateLayers):
2013         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2014         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2015         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
2016         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2017         * testing/Internals.cpp:
2018         (WebCore::Internals::setZoomAnimatorTransform):
2019         * testing/Internals.h:
2020         * testing/Internals.idl:
2021
2022 2011-09-26  Dan Bernstein  <mitz@apple.com>
2023
2024         REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
2025         https://bugs.webkit.org/show_bug.cgi?id=68819
2026
2027         Reviewed by Dave Hyatt.
2028
2029         * rendering/RenderObject.cpp:
2030         (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
2031         parameter of isRooted, since only the former returns 0 when the document is detached.
2032
2033 2011-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
2034
2035         Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
2036         https://bugs.webkit.org/show_bug.cgi?id=67399
2037
2038         Reviewed by Pavel Feldman.
2039
2040         * inspector/ConsoleMessage.cpp:
2041         (WebCore::ConsoleMessage::ConsoleMessage):
2042         * inspector/ConsoleMessage.h:
2043         * inspector/InspectorConsoleAgent.cpp:
2044         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2045         * inspector/InspectorConsoleAgent.h:
2046         * inspector/InspectorInstrumentation.cpp:
2047         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2048         * inspector/front-end/ConsoleMessage.js:
2049         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
2050         (WebInspector.ConsoleMessage.prototype._formatMessage):
2051         * inspector/front-end/ResourcesPanel.js:
2052         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
2053         * inspector/front-end/inspector.js:
2054         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
2055         (WebInspector.linkifyStringAsFragment):
2056
2057 2011-09-26  Jer Noble  <jer.noble@apple.com>
2058
2059         White flash when entering full-screen using element.webkitRequestFullScreen()
2060         https://bugs.webkit.org/show_bug.cgi?id=68481
2061
2062         Reviewed by Simon Fraser.
2063
2064         No new tests; covered by existing full screen tests.
2065
2066         During an animation, renderers may try to paint into the FullScreenRenderer's 
2067         GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's 
2068         background will cause these paints to fail. Remove this optimization in 
2069         containsPaintedContent, and taking non-composited elements into full screen will
2070         animate correctly.
2071
2072         * rendering/RenderLayerBacking.cpp:
2073         (WebCore::RenderLayerBacking::containsPaintedContent):
2074
2075 2011-09-26  Mihai Parparita  <mihaip@chromium.org>
2076
2077         Unreviewed, rolling out r95960.
2078         http://trac.webkit.org/changeset/95960
2079         https://bugs.webkit.org/show_bug.cgi?id=58608
2080
2081         Significantly changes table border rendering
2082
2083         * rendering/RenderObject.cpp:
2084         (WebCore::RenderObject::drawLineForBoxSide):
2085
2086 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
2087
2088         Repaint tests don't work in WebKit2
2089         https://bugs.webkit.org/show_bug.cgi?id=68453
2090
2091         Reviewed by Sam Weinig.
2092
2093         Have FrameView keep track of repaint rects when asked to, and
2094         expose this set of repaint rects via private WebKit API for later
2095         use by DumpRenderTree.
2096         
2097         The repaint rects are in WebView coordinates, so we have to
2098         unapply the scroll offset.
2099
2100         * WebCore.exp.in:
2101         * page/FrameView.cpp:
2102         (WebCore::FrameView::FrameView):
2103         (WebCore::FrameView::reset):
2104         (WebCore::FrameView::repaintContentRectangle):
2105         (WebCore::FrameView::setTracksRepaints):
2106         * page/FrameView.h:
2107         (WebCore::FrameView::isTrackingRepaints):
2108         (WebCore::FrameView::resetTrackedRepaints):
2109         (WebCore::FrameView::trackedRepaintRects):
2110
2111 2011-09-26  Antti Koivisto  <antti@apple.com>
2112
2113         Optimize matching of common pseudo classes
2114         https://bugs.webkit.org/show_bug.cgi?id=68633
2115
2116         Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
2117         
2118         :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
2119         default stylesheet) so we try to match them for all elements in the document. They take always the 
2120         slow matching path. In addition we match link styles twice due to visited link pseudo style generation
2121         so the overhead is doubled. As a result substantial portion of our style matching time is spent 
2122         dealing with these pseudo classes. 
2123         
2124         This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
2125         if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
2126         We can also enable the fast path checking for the rest of the selector in many cases.
2127     
2128         This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
2129         when loading the full HTML5 spec.
2130
2131         * css/CSSStyleSelector.cpp:
2132         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
2133         (WebCore::RuleSet::idRules):
2134         (WebCore::RuleSet::classRules):
2135         (WebCore::RuleSet::tagRules):
2136         (WebCore::RuleSet::shadowPseudoElementRules):
2137         (WebCore::RuleSet::linkPseudoClassRules):
2138         (WebCore::RuleSet::visitedPseudoClassRules):
2139         (WebCore::RuleSet::focusPseudoClassRules):
2140         (WebCore::RuleSet::universalRules):
2141         (WebCore::RuleSet::pageRules):
2142         
2143             Add a new lists, some stylistic renamings.
2144     
2145         (WebCore::CSSStyleSelector::matchRules):
2146         
2147             New link and focus checks.
2148
2149         (WebCore::CSSStyleSelector::matchRulesForList):
2150         (WebCore::CSSStyleSelector::checkSelector):
2151         
2152             Inline the rightmost selector tag checking, skip if unnecessary.
2153         
2154         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
2155         
2156             Common pseudo classes now match based on early filtering (though it is not a hash in this case).
2157
2158         (WebCore::RuleData::RuleData):
2159         (WebCore::RuleSet::~RuleSet):
2160         (WebCore::RuleSet::addRule):
2161         
2162             Sort pseudo classes to new lists.
2163         
2164         (WebCore::RuleSet::collectFeatures):
2165         (WebCore::RuleSet::shrinkToFit):
2166         (WebCore::CSSStyleSelector::matchPageRules):
2167         * css/SelectorChecker.cpp:
2168         (WebCore::SelectorChecker::checkSelector):
2169         
2170             Adopt to expanded fast path (this is used by querySelectorAll).
2171
2172         (WebCore::SelectorChecker::fastCheckRightmostSelector):
2173         (WebCore::SelectorChecker::fastCheckSelector):
2174         
2175             Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
2176             is equivalent to fastCheckRightmostSelector().
2177         
2178         (WebCore::isFastCheckableRelation):
2179         (WebCore::isFastCheckableMatch):
2180         (WebCore::isFastCheckableRightmostSelector):
2181         (WebCore::SelectorChecker::isFastCheckableSelector):
2182         (WebCore::SelectorChecker::checkOneSelector):
2183         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
2184         (WebCore::SelectorChecker::isFrameFocused):
2185         * css/SelectorChecker.h:
2186         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
2187         (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
2188         (WebCore::SelectorChecker::matchesFocusPseudoClass):
2189         (WebCore::SelectorChecker::tagMatches):
2190         
2191             Refactor a bunch of shared checks into functions.
2192
2193 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
2194
2195         REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
2196         https://bugs.webkit.org/show_bug.cgi?id=57340
2197
2198         Reviewed by Eric Seidel.
2199
2200         This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
2201
2202         To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
2203
2204         Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
2205         placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
2206         Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
2207
2208         Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
2209         B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
2210         moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
2211
2212         To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
2213         example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
2214
2215         This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
2216         end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
2217         base position on the right of A is the right end of a bidi run and the extent position between B and A is
2218         inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
2219
2220         Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
2221         a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
2222         because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
2223         when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
2224         between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
2225         the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
2226         we'll end up selecting just "c".
2227
2228         While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
2229         various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
2230
2231         Test: editing/selection/select-bidi-run.html
2232
2233         * editing/FrameSelection.cpp:
2234         (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
2235         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
2236         restores the original base as needed.
2237         * editing/FrameSelection.h:
2238         * editing/RenderedPosition.cpp:
2239         (WebCore::RenderedPosition::RenderedPosition):
2240         (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
2241         (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
2242         (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
2243         so that the rightmost position in a box and the leftmost position in the following box is considered equal.
2244         (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
2245         add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
2246         (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
2247         (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
2248         (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
2249         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
2250         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
2251         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
2252         if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
2253         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
2254         * editing/RenderedPosition.h:
2255         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
2256         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
2257         (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
2258         (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
2259         (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
2260         reinterpret_cast<InlineBox*>(1) is not an integral value.
2261         (WebCore::RenderedPosition::RenderedPosition):
2262         * editing/VisibleSelection.h:
2263         (WebCore::VisibleSelection::visibleBase): Added.
2264         (WebCore::VisibleSelection::visibleExtent): Added.
2265         * page/EventHandler.cpp:
2266         (WebCore::EventHandler::updateSelectionForMouseDrag):
2267
2268 2011-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2269
2270         Unreviewed, rolling out r95256.
2271         http://trac.webkit.org/changeset/95256
2272         https://bugs.webkit.org/show_bug.cgi?id=68814
2273
2274         Temporary CRASH calls no longer needed (Requested by enne on
2275         #webkit).
2276
2277         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2278         (WebCore::CCLayerTreeHost::commitTo):
2279
2280 2011-09-26  Mark Rowe  <mrowe@apple.com>
2281
2282         <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
2283
2284         If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
2285         while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
2286         lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
2287         thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
2288
2289         Reviewed by Anders Carlsson.
2290
2291         * loader/icon/IconDatabase.cpp:
2292         (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
2293         all pending work.
2294
2295 2011-09-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
2296
2297         Groove/inset/outset borders show solid if the color is black.
2298         https://bugs.webkit.org/show_bug.cgi?id=58608
2299
2300         Reviewed by Simon Fraser.
2301
2302         Lightened the border side colors when drawing borders with styles as
2303         Outset/Inset/Groove/Ridge.
2304
2305         Tests: fast/borders/border-groove.html
2306                fast/borders/border-inset.html
2307                fast/borders/border-outset.html
2308                fast/borders/border-ridge.html
2309
2310         * rendering/RenderObject.cpp:
2311         (WebCore::RenderObject::drawLineForBoxSide):
2312
2313 2011-09-26  Abhishek Arya  <inferno@chromium.org>
2314
2315         Delete retired custom font data only on document
2316         destruction, and not on recalc style.
2317         https://bugs.webkit.org/show_bug.cgi?id=68805
2318
2319         Reviewed by Dave Hyatt.
2320
2321         Test: fast/text/custom-font-data-crash.html
2322
2323         * dom/Document.cpp:
2324         (WebCore::Document::recalcStyle):
2325
2326 2011-09-23  Adrienne Walker  <enne@google.com>
2327
2328         [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
2329         https://bugs.webkit.org/show_bug.cgi?id=68742
2330
2331         Reviewed by James Robinson.
2332
2333         If video textures are reclaimed (such as during a visibility change on
2334         a tab), the dirty rect for the layer is empty and it skips out of
2335         updating compositor resources, leaving the video textures invalid.
2336         Instead, check the textures here to make sure they're still valid
2337         first before early out so that they can get reupdated if necessary.
2338
2339         Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
2340         videos would not get drawn because all 3 planes didn't have valid
2341         textures.
2342
2343         Test: compositing/video-page-visibility.html
2344
2345         * platform/graphics/chromium/VideoLayerChromium.cpp:
2346         (WebCore::VideoLayerChromium::VideoLayerChromium):
2347         (WebCore::VideoLayerChromium::cleanupResources):
2348         (WebCore::VideoLayerChromium::updateCompositorResources):
2349         (WebCore::VideoLayerChromium::pushPropertiesTo):
2350         (WebCore::VideoLayerChromium::setLayerTreeHost):
2351         (WebCore::VideoLayerChromium::texturesValid):
2352         * platform/graphics/chromium/VideoLayerChromium.h:
2353
2354 2011-09-26  Pavel Feldman  <pfeldman@google.com>
2355
2356         Web Inspector: introduce protocol backwards compatibility validator.
2357         https://bugs.webkit.org/show_bug.cgi?id=68800
2358
2359         Reviewed by Yury Semikhatsky.
2360
2361         * inspector/Inspector.json:
2362         * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
2363         * inspector/validate-protocol-compatibility: Added.
2364
2365 2011-09-26  Andreas Kling  <kling@webkit.org>
2366
2367         [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
2368         https://bugs.webkit.org/show_bug.cgi?id=68798
2369
2370         Reviewed by Noam Rosenthal.
2371
2372         * platform/network/qt/QNetworkReplyHandler.cpp:
2373         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
2374
2375 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
2376
2377         Second unreviewed build fix for r95941
2378
2379         * inspector/InspectorInstrumentation.cpp:
2380         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2381
2382 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
2383
2384         Unreviewed build fix for webkit builds after r95941.
2385
2386         * inspector/InspectorInstrumentation.cpp:
2387         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2388
2389 2011-09-26  Andrey Kosyakov  <caseq@chromium.org>
2390
2391         Web Inspector: [Extensions API] allow resources to hook on click on resource links
2392         https://bugs.webkit.org/show_bug.cgi?id=68528
2393
2394         Reviewed by Yury Semikhatsky.
2395
2396         * WebCore.gypi:
2397         * WebCore.vcproj/WebCore.vcproj:
2398         * inspector/front-end/ExtensionAPI.js:
2399         (injectedExtensionAPI.Console.prototype.get Severity):
2400         (injectedExtensionAPI.Panels.prototype.create):
2401         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
2402         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
2403         (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
2404         (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
2405         * inspector/front-end/ExtensionServer.js:
2406         (WebInspector.ExtensionServer):
2407         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
2408         (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
2409         (WebInspector.ExtensionServer.prototype._addExtensions):
2410         (WebInspector.ExtensionServer.prototype._addExtension):
2411         (WebInspector.ExtensionServer.prototype._registerExtension):
2412         * inspector/front-end/SettingsScreen.js:
2413         (WebInspector.SettingsScreen):
2414         (WebInspector.SettingsScreen.prototype._createCustomSetting):
2415         * inspector/front-end/WebKit.qrc:
2416         * inspector/front-end/helpScreen.css:
2417         (.help-content select):
2418         (.help-content select:disabled):
2419         (.help-content option):
2420         * inspector/front-end/inspector.html:
2421         * inspector/front-end/inspector.js:
2422         (WebInspector.set attached):
2423         (WebInspector._showAnchorLocation):
2424
2425 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
2426
2427         Web Inspector: Timeline: record root event for the function calls enforced by console eval.
2428         https://bugs.webkit.org/show_bug.cgi?id=68695
2429
2430         In a complex web application developer might want to timeline a specific piece of code.
2431
2432         In this case he can do the next steps:
2433         1) start timeline;
2434         2) eval a command in console;
2435         3) stop timeline.
2436
2437         I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
2438
2439         Reviewed by Yury Semikhatsky.
2440
2441         Test: inspector/timeline/timeline-injected-script-eval.html
2442
2443         * bindings/v8/ScriptFunctionCall.cpp:
2444         * inspector/InjectedScript.cpp:
2445         (WebCore::InjectedScript::makeCall):
2446         * inspector/InspectorInstrumentation.cpp:
2447         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
2448
2449 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
2450
2451         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
2452         https://bugs.webkit.org/show_bug.cgi?id=65473
2453
2454         Reviewed by Andreas Kling.
2455
2456         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
2457         We do that by iterating on the pixels and manually swapping each pixel's red and blue
2458         values. This can be done faster with shaders, but for now this is a working solution
2459         for platforms without BGRA support.
2460
2461         No new tests. Existing layout tests cover this.
2462
2463         * platform/graphics/opengl/TextureMapperGL.cpp:
2464         (WebCore::BitmapTextureGL::endPaint):
2465         * platform/graphics/opengl/TextureMapperGL.h:
2466         * platform/graphics/qt/TextureMapperQt.cpp:
2467         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
2468
2469 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
2470
2471         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
2472         https://bugs.webkit.org/show_bug.cgi?id=68634
2473
2474         Reviewed by Martin Robinson.
2475
2476         No new tests needed.
2477
2478         * platform/network/soup/ResourceHandleSoup.cpp:
2479         (WebCore::ResourceHandle::defaultSession):
2480
2481 2011-09-26  James Robinson  <jamesr@chromium.org>
2482
2483         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
2484         https://bugs.webkit.org/show_bug.cgi?id=68769
2485
2486         Reviewed by Simon Fraser.
2487
2488         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
2489         implicit double->long conversion, which ignores the units of the value.
2490
2491         Test: fast/animation/request-animation-frame-timestamps-advance.html
2492
2493         * dom/ScriptedAnimationController.cpp:
2494         (WebCore::ScriptedAnimationController::animationTimerFired):
2495
2496 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
2497
2498         Add custom vtable struct to ClassInfo struct
2499         https://bugs.webkit.org/show_bug.cgi?id=68567
2500
2501         Reviewed by Oliver Hunt.
2502
2503         No new tests.
2504
2505         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
2506         specified class in its ClassInfo.  Also added to it the first function to use 
2507         this macro, visitChildren.  This is part of the process of getting rid of all 
2508         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
2509         that can't easily be converted to non-virtual functions will be put into 
2510         this custom vtable structure.
2511
2512         * bindings/js/JSAudioConstructor.cpp:
2513         * bindings/js/JSDOMGlobalObject.cpp:
2514         * bindings/js/JSDOMWindowBase.cpp:
2515         * bindings/js/JSDOMWindowShell.cpp:
2516         * bindings/js/JSImageConstructor.cpp:
2517         * bindings/js/JSImageDataCustom.cpp:
2518         (WebCore::toJS):
2519         * bindings/js/JSOptionConstructor.cpp:
2520         * bindings/js/JSWorkerContextBase.cpp:
2521
2522         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
2523         necessary.
2524         * bindings/scripts/CodeGeneratorJS.pm:
2525         (GenerateImplementation):
2526         (GenerateConstructorDefinition):
2527         * bindings/scripts/test/JS/JSTestInterface.cpp:
2528         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2529         * bindings/scripts/test/JS/JSTestObj.cpp:
2530         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2531         * bridge/c/CRuntimeObject.cpp:
2532         * bridge/c/c_instance.cpp:
2533         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2534         * bridge/jni/jsc/JavaRuntimeObject.cpp:
2535         * bridge/objc/ObjCRuntimeObject.mm:
2536         * bridge/objc/objc_instance.mm:
2537         * bridge/objc/objc_runtime.mm:
2538         * bridge/qt/qt_instance.cpp:
2539         * bridge/qt/qt_pixmapruntime.cpp:
2540         * bridge/qt/qt_runtime.cpp:
2541         * bridge/runtime_array.cpp:
2542         * bridge/runtime_method.cpp:
2543         * bridge/runtime_object.cpp:
2544
2545 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
2546
2547         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
2548         https://bugs.webkit.org/show_bug.cgi?id=63502
2549
2550         Reviewed by Martin Robinson.
2551
2552         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
2553         some codes for EFL are added.
2554         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
2555         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
2556
2557         * CMakeListsEfl.txt:
2558         * GNUmakefile.list.am:
2559         * platform/cairo/WidgetBackingStore.h:
2560         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
2561         (WebCore::createSurfaceForBackingStore):
2562         (WebCore::WidgetBackingStorePrivate::create):
2563         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
2564         (WebCore::WidgetBackingStore::create):
2565         (WebCore::WidgetBackingStore::WidgetBackingStore):
2566         (WebCore::WidgetBackingStore::~WidgetBackingStore):
2567         (WebCore::WidgetBackingStore::cairoSurface):
2568         (WebCore::WidgetBackingStore::scroll):
2569         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
2570
2571 2011-09-25  Adam Barth  <abarth@webkit.org>
2572
2573         Finish removing PLATFORM(BREWMP) by removing associated code
2574         https://bugs.webkit.org/show_bug.cgi?id=68779
2575
2576         Reviewed by Sam Weinig.
2577
2578         When Geoffrey Garen removed PLATFORM(BREWMP) in
2579         http://trac.webkit.org/changeset/95555, he did not remove all the
2580         associated code.  This completes the work started in r95555 by removing
2581         all the code assoicated with PLATFORM(BREWMP).
2582
2583         * WebCore.gyp/WebCore.gyp:
2584         * WebCore.gypi:
2585         * bindings/js/ScriptControllerBrew.cpp: Removed.
2586         * editing/brew: Removed.
2587         * editing/brew/EditorBrew.cpp: Removed.
2588         * gyp/WebCore.gyp:
2589         * page/brew: Removed.
2590         * page/brew/ChromeClientBrew.h: Removed.
2591         * page/brew/DragControllerBrew.cpp: Removed.
2592         * page/brew/EventHandlerBrew.cpp: Removed.
2593         * page/brew/FrameBrew.cpp: Removed.
2594         * platform/brew: Removed.
2595         * platform/brew/ClipboardBrew.cpp: Removed.
2596         * platform/brew/ClipboardBrew.h: Removed.
2597         * platform/brew/ContextMenuBrew.cpp: Removed.
2598         * platform/brew/ContextMenuItemBrew.cpp: Removed.
2599         * platform/brew/CursorBrew.cpp: Removed.
2600         * platform/brew/DragDataBrew.cpp: Removed.
2601         * platform/brew/EventLoopBrew.cpp: Removed.
2602         * platform/brew/FileSystemBrew.cpp: Removed.
2603         * platform/brew/KURLBrew.cpp: Removed.
2604         * platform/brew/LanguageBrew.cpp: Removed.
2605         * platform/brew/LocalizedStringsBrew.cpp: Removed.
2606         * platform/brew/LoggingBrew.cpp: Removed.
2607         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
2608         * platform/brew/PasteboardBrew.cpp: Removed.
2609         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
2610         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
2611         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
2612         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
2613         * platform/brew/PopupMenuBrew.cpp: Removed.
2614         * platform/brew/PopupMenuBrew.h: Removed.
2615         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
2616         * platform/brew/ScreenBrew.cpp: Removed.
2617         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
2618         * platform/brew/ScrollbarThemeBrew.h: Removed.
2619         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
2620         * platform/brew/SearchPopupMenuBrew.h: Removed.
2621         * platform/brew/SharedBufferBrew.cpp: Removed.
2622         * platform/brew/SharedTimerBrew.cpp: Removed.
2623         * platform/brew/SoundBrew.cpp: Removed.
2624         * platform/brew/SystemTimeBrew.cpp: Removed.
2625         * platform/brew/TemporaryLinkStubs.cpp: Removed.
2626         * platform/brew/WidgetBrew.cpp: Removed.
2627         * platform/graphics/brew: Removed.
2628         * platform/graphics/brew/IconBrew.cpp: Removed.
2629         * platform/graphics/brew/ImageBrew.cpp: Removed.
2630         * platform/graphics/brew/IntPointBrew.cpp: Removed.
2631         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
2632         * platform/network/brew: Removed.
2633         * platform/network/brew/DNSBrew.cpp: Removed.
2634         * platform/network/brew/SocketStreamError.h: Removed.
2635         * platform/network/brew/SocketStreamHandle.h: Removed.
2636         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
2637         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
2638         * platform/text/brew: Removed.
2639         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
2640         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
2641         * platform/text/brew/TextCodecBrew.cpp: Removed.
2642         * platform/text/brew/TextCodecBrew.h: Removed.
2643
2644 2011-09-25  Kentaro Hara  <haraken@chromium.org>
2645
2646         Implement a CloseEvent constructor for JSC
2647         https://bugs.webkit.org/show_bug.cgi?id=68340
2648
2649         Reviewed by Oliver Hunt.
2650
2651         The spec of the CloseEvent constructor is here:
2652         http://dev.w3.org/html5/websockets/#closeevent
2653
2654         Test: fast/events/constructors/close-event-constructor.html
2655
2656         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
2657         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
2658         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
2659         (WebCore::CloseEventInit::CloseEventInit):
2660         (WebCore::CloseEvent::create):
2661         (WebCore::CloseEvent::CloseEvent):
2662         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
2663
2664 2011-09-25  Mark Rowe  <mrowe@apple.com>
2665
2666         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
2667
2668         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
2669         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
2670         work relies on wakeSyncThread having been called to signal the condition.
2671
2672         Reviewed by Sam Weinig.
2673
2674         * loader/icon/IconDatabase.cpp:
2675         (WebCore::IconDatabase::IconDatabase):
2676         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
2677         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
2678         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
2679         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
2680         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
2681         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
2682         and reacquiring the lock.
2683         * loader/icon/IconDatabase.h:
2684
2685 2011-09-25  Dan Bernstein  <mitz@apple.com>
2686
2687         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
2688
2689         Reviewed by Sam Weinig.
2690
2691         Test: fast/dynamic/subtree-unrooted.html
2692
2693         * rendering/RenderObject.cpp:
2694         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
2695         which was added in r21162, with a check that it is “rooted”.
2696
2697 2011-09-24  Abhishek Arya  <inferno@chromium.org>
2698
2699         Issues with merging block children of a ruby
2700         base with another ruby base having inline children. 
2701         https://bugs.webkit.org/show_bug.cgi?id=66124
2702
2703         Reviewed by Dan Bernstein.
2704
2705         Test: fast/ruby/ruby-base-merge-block-children-crash.html
2706
2707         * rendering/RenderRubyBase.cpp:
2708         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
2709         check to prevent empty anonymous block addition, just like
2710         moveBlockChildren method.
2711         * rendering/RenderRubyBase.cpp:
2712         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
2713         doing optimizations to see if current ruby base has only inline
2714         children before beforeChild and then trying to take out them from 
2715         their parent anonymous blocks. The problem is those inlines could
2716         be split and have continuations because of encountering a block
2717         inside inline flow. In those cases, we cannot take the inline out.
2718         So, we should just make children non-inline in the destination
2719         block and transfer the children as it-is.
2720         * rendering/RenderRubyBase.h: remove unncessary functions.
2721
2722 2011-09-25  Adam Barth  <abarth@webkit.org>
2723
2724         Remove PLATFORM(HAIKU) and associated code
2725         https://bugs.webkit.org/show_bug.cgi?id=68774
2726
2727         Reviewed by Sam Weinig.
2728
2729         As discussed on webkit-dev, the Haiku port has been inactive for over a
2730         year.  A year and a half ago, we discussed removing the port, but folks
2731         said they planned to work on it more.  That work does not appear to
2732         have happened in the intervening time.
2733
2734         * WebCore.gyp/WebCore.gyp:
2735         * WebCore.gypi:
2736         * bindings/js/ScriptControllerHaiku.cpp: Removed.
2737         * editing/haiku: Removed.
2738         * editing/haiku/EditorHaiku.cpp: Removed.
2739         * gyp/WebCore.gyp:
2740         * loader/cache/CachedFont.cpp:
2741         * page/EventHandler.cpp:
2742         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
2743         * page/haiku: Removed.
2744         * page/haiku/DragControllerHaiku.cpp: Removed.
2745         * page/haiku/EventHandlerHaiku.cpp: Removed.
2746         * page/haiku/FrameHaiku.cpp: Removed.
2747         * platform/ContextMenuItem.h:
2748         * platform/Cursor.h:
2749         * platform/DragData.h:
2750         * platform/DragImage.h:
2751         * platform/PlatformKeyboardEvent.h:
2752         * platform/PlatformMenuDescription.h:
2753         * platform/PlatformMouseEvent.h:
2754         * platform/Widget.h:
2755         * platform/graphics/BitmapImage.h:
2756         * platform/graphics/Color.h:
2757         * platform/graphics/FloatPoint.h:
2758         * platform/graphics/FloatRect.h:
2759         * platform/graphics/Gradient.h:
2760         * platform/graphics/GraphicsContext.cpp:
2761         * platform/graphics/GraphicsContext.h:
2762         * platform/graphics/ImageBufferData.h:
2763         * platform/graphics/ImageSource.h:
2764         * platform/graphics/IntPoint.h:
2765         * platform/graphics/IntRect.h:
2766         * platform/graphics/IntSize.h:
2767         * platform/graphics/Path.h:
2768         * platform/graphics/Pattern.h:
2769         * platform/graphics/SimpleFontData.h:
2770         * platform/graphics/haiku: Removed.
2771         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
2772         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
2773         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
2774         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
2775         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
2776         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
2777         * platform/graphics/haiku/FontHaiku.cpp: Removed.
2778         * platform/graphics/haiku/FontPlatformData.h: Removed.
2779         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
2780         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
2781         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
2782         * platform/graphics/haiku/IconHaiku.cpp: Removed.
2783         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
2784         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
2785         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
2786         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
2787         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
2788         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
2789         * platform/graphics/haiku/PathHaiku.cpp: Removed.
2790         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
2791         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
2792         * platform/graphics/haiku/StillImageHaiku.h: Removed.
2793         * platform/haiku: Removed.
2794         * platform/haiku/ClipboardHaiku.cpp: Removed.
2795         * platform/haiku/ClipboardHaiku.h: Removed.
2796         * platform/haiku/ContextMenuHaiku.cpp: Removed.
2797         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
2798         * platform/haiku/CookieJarHaiku.cpp: Removed.
2799         * platform/haiku/CursorHaiku.cpp: Removed.
2800         * platform/haiku/DragDataHaiku.cpp: Removed.
2801         * platform/haiku/DragImageHaiku.cpp: Removed.
2802         * platform/haiku/EventLoopHaiku.cpp: Removed.
2803         * platform/haiku/FileSystemHaiku.cpp: Removed.
2804         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
2805         * platform/haiku/LoggingHaiku.cpp: Removed.
2806         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
2807         * platform/haiku/PasteboardHaiku.cpp: Removed.
2808         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
2809         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
2810         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
2811         * platform/haiku/PopupMenuHaiku.cpp: Removed.
2812         * platform/haiku/PopupMenuHaiku.h: Removed.
2813         * platform/haiku/RenderThemeHaiku.cpp: Removed.
2814         * platform/haiku/RenderThemeHaiku.h: Removed.
2815         * platform/haiku/ScreenHaiku.cpp: Removed.
2816         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
2817         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
2818         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
2819         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
2820         * platform/haiku/SharedBufferHaiku.cpp: Removed.
2821         * platform/haiku/SharedTimerHaiku.cpp: Removed.
2822         * platform/haiku/SoundHaiku.cpp: Removed.
2823         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
2824         * platform/haiku/WidgetHaiku.cpp: Removed.
2825         * platform/image-decoders/haiku: Removed.
2826         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
2827         * platform/text/UnicodeRange.h:
2828         * platform/text/haiku: Removed.
2829         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
2830
2831 2011-09-25  Adam Barth  <abarth@webkit.org>
2832
2833         Attempted build fixes for GTK and Qt.
2834
2835         * GNUmakefile.list.am:
2836         * WebCore.pro:
2837
2838 2011-09-24  Adam Barth  <abarth@webkit.org>
2839
2840         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
2841         https://bugs.webkit.org/show_bug.cgi?id=68767
2842
2843         Reviewed by Eric Seidel.
2844
2845         As discussed on webkit-dev, almost everyone has this enable turned on
2846         and this feature is unlikely to be removed from the web platform given
2847         its popularity.
2848
2849         * CMakeLists.txt:
2850         * Configurations/FeatureDefines.xcconfig:
2851         * GNUmakefile.am:
2852         * GNUmakefile.list.am:
2853         * WebCore.exp.in:
2854         * WebCore.pro:
2855         * bindings/cpp/WebDOMEventTarget.cpp:
2856         (toWebKit):
2857         * bindings/js/JSEventTarget.cpp:
2858         (WebCore::toJS):
2859         (WebCore::toEventTarget):
2860         * bindings/v8/V8DOMWrapper.cpp:
2861         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2862         * dom/EventTarget.cpp:
2863         (WebCore::EventTarget::toDOMApplicationCache):
2864         * dom/EventTarget.h:
2865         * features.pri:
2866         * history/PageCache.cpp:
2867         (WebCore::logCanCacheFrameDecision):
2868         (WebCore::PageCache::canCachePageContainingThisFrame):
2869         * html/HTMLHtmlElement.cpp:
2870         (WebCore::HTMLHtmlElement::insertedByParser):
2871         * html/HTMLHtmlElement.h:
2872         * html/HTMLMediaElement.cpp:
2873         (WebCore::createFileURLForApplicationCacheResource):
2874         (WebCore::HTMLMediaElement::loadResource):
2875         * html/ImageDocument.cpp:
2876         (WebCore::ImageDocument::createDocumentStructure):
2877         * html/MediaDocument.cpp:
2878         (WebCore::MediaDocumentParser::createDocumentStructure):
2879         * html/PluginDocument.cpp:
2880         (WebCore::PluginDocumentParser::createDocumentStructure):
2881         * html/parser/HTMLConstructionSite.cpp:
2882         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2883         * inspector/InspectorApplicationCacheAgent.cpp:
2884         * inspector/InspectorApplicationCacheAgent.h:
2885         * inspector/InspectorController.cpp:
2886         (WebCore::InspectorController::InspectorController):
2887         (WebCore::InspectorController::connectFrontend):
2888         (WebCore::InspectorController::disconnectFrontend):
2889         * inspector/InspectorController.h:
2890         * inspector/InspectorInstrumentation.cpp:
2891         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
2892         * inspector/InspectorInstrumentation.h:
2893         (WebCore::InspectorInstrumentation::networkStateChanged):
2894         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
2895         * inspector/InstrumentingAgents.h:
2896         (WebCore::InstrumentingAgents::InstrumentingAgents):
2897         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
2898         * inspector/WorkerInspectorController.cpp:
2899         (WebCore::WorkerInspectorController::connectFrontend):
2900         * inspector/generate-inspector-idl:
2901         * loader/DocumentLoader.cpp:
2902         (WebCore::DocumentLoader::DocumentLoader):
2903         (WebCore::DocumentLoader::mainReceivedError):
2904         (WebCore::DocumentLoader::stopLoading):
2905         (WebCore::DocumentLoader::detachFromFrame):
2906         (WebCore::DocumentLoader::handledOnloadEvents):
2907         * loader/DocumentLoader.h:
2908         (WebCore::DocumentLoader::applicationCacheHost):
2909         * loader/EmptyClients.h:
2910         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
2911         * loader/FrameLoader.cpp:
2912         (WebCore::FrameLoader::loadResourceSynchronously):
2913         * loader/MainResourceLoader.cpp:
2914         (WebCore::MainResourceLoader::willSendRequest):
2915         (WebCore::MainResourceLoader::didReceiveResponse):
2916         (WebCore::MainResourceLoader::didReceiveData):
2917         (WebCore::MainResourceLoader::didFinishLoading):
2918         (WebCore::MainResourceLoader::didFail):
2919         (WebCore::MainResourceLoader::load):
2920         * loader/ResourceLoader.cpp:
2921         (WebCore::ResourceLoader::start):
2922         (WebCore::ResourceLoader::willSendRequest):
2923         (WebCore::ResourceLoader::didSendData):
2924         (WebCore::ResourceLoader::didReceiveResponse):
2925         (WebCore::ResourceLoader::didReceiveData):
2926         (WebCore::ResourceLoader::didFinishLoading):
2927         (WebCore::ResourceLoader::didFail):
2928         (WebCore::ResourceLoader::wasBlocked):
2929         (WebCore::ResourceLoader::cannotShowURL):
2930         (WebCore::ResourceLoader::shouldUseCredentialStorage):
2931         (WebCore::ResourceLoader::willCacheResponse):
2932         * loader/ResourceLoader.h:
2933         * loader/appcache/ApplicationCache.cpp:
2934         * loader/appcache/ApplicationCache.h:
2935         * loader/appcache/ApplicationCacheGroup.cpp:
2936         * loader/appcache/ApplicationCacheGroup.h:
2937         * loader/appcache/ApplicationCacheHost.cpp:
2938         * loader/appcache/ApplicationCacheHost.h:
2939         * loader/appcache/ApplicationCacheResource.cpp:
2940         * loader/appcache/ApplicationCacheResource.h:
2941         * loader/appcache/ApplicationCacheStorage.cpp:
2942         * loader/appcache/ApplicationCacheStorage.h:
2943         * loader/appcache/DOMApplicationCache.cpp:
2944         * loader/appcache/DOMApplicationCache.h:
2945         * loader/appcache/DOMApplicationCache.idl:
2946         * loader/appcache/ManifestParser.cpp:
2947         (WebCore::parseManifest):
2948         * loader/appcache/ManifestParser.h:
2949         * loader/chromium/ResourceLoaderChromium.cpp:
2950         (WebCore::ResourceLoader::didDownloadData):
2951         * page/ChromeClient.h:
2952         * page/DOMWindow.cpp:
2953         (WebCore::DOMWindow::clear):
2954         (WebCore::DOMWindow::applicationCache):
2955         * page/DOMWindow.h:
2956         (WebCore::DOMWindow::optionalApplicationCache):
2957         * page/DOMWindow.idl:
2958         * xml/parser/XMLDocumentParserLibxml2.cpp:
2959         (WebCore::XMLDocumentParser::startElementNs):
2960         * xml/parser/XMLDocumentParserQt.cpp:
2961         (WebCore::XMLDocumentParser::parseStartElement):
2962
2963 2011-09-24  Adam Barth  <abarth@webkit.org>
2964
2965         Remove ENABLE(WCSS) and associated code
2966         https://bugs.webkit.org/show_bug.cgi?id=68759
2967
2968         Reviewed by Darin Adler.
2969
2970         As discussed on webkit-dev, we are removing this feature from trunk to
2971         reduce the number of different configurations.
2972
2973         * CodeGenerators.pri:
2974         * GNUmakefile.am:
2975         * WebCore.pro:
2976         * css/CSSParser.cpp:
2977         (WebCore::CSSParser::parseValue):
2978         * css/CSSParser.h:
2979         * css/CSSPrimitiveValueMappings.h:
2980         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2981         * css/CSSStyleSelector.cpp:
2982         (WebCore::CSSStyleSelector::applyProperty):
2983         * css/WCSSPropertyNames.in: Removed.
2984         * css/WCSSValueKeywords.in: Removed.
2985         * features.pri:
2986         * html/HTMLInputElement.cpp:
2987         (WebCore::HTMLInputElement::HTMLInputElement):
2988         * html/HTMLInputElement.h:
2989         * html/TextFieldInputType.cpp:
2990         (WebCore::TextFieldInputType::sanitizeValue):
2991         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
2992         * rendering/RenderMarquee.cpp:
2993         (WebCore::RenderMarquee::start):
2994         * rendering/RenderObject.cpp:
2995         (WebCore::RenderObject::createObject):
2996         * rendering/style/RenderStyleConstants.h:
2997
2998 2011-09-24  Young Han Lee  <joybro@company100.net>
2999
3000         SVGAnimation does not support 'values' for from-to animations
3001         https://bugs.webkit.org/show_bug.cgi?id=64859
3002
3003         Reviewed by Dirk Schulze.
3004
3005         If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
3006         the keyTimes indicate the begin and the end of the animation respectively.[1][2]
3007
3008         When keyTimes is given, calculate the progress percentage of the animation with it
3009         even for from-to animation.
3010
3011         [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
3012         [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
3013
3014         Test: svg/animations/animate-from-to-keyTimes.html
3015
3016         * svg/SVGAnimationElement.cpp:
3017         (WebCore::SVGAnimationElement::calculatePercentForFromTo):
3018         (WebCore::SVGAnimationElement::updateAnimation):
3019         * svg/SVGAnimationElement.h:
3020
3021 2011-09-23  Chris Fleizach  <cfleizach@apple.com>
3022
3023         WebKit does not expose AXPlaceholder value on password fields
3024         https://bugs.webkit.org/show_bug.cgi?id=68745
3025
3026         Reviewed by Oliver Hunt.
3027
3028         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3029         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3030
3031 2011-09-23  Mark Rowe  <mrowe@apple.com>
3032
3033         Fix the build.
3034
3035         * loader/CrossOriginAccessControl.cpp:
3036         (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
3037
3038 2011-09-23  Adam Barth  <abarth@webkit.org>
3039
3040         Canvas security checks show up on HTML5GamingTest benchmark
3041         https://bugs.webkit.org/show_bug.cgi?id=68743
3042
3043         Reviewed by Oliver Hunt.
3044
3045         Prior to this patch, the canvas security checks took as much as 4% of
3046         the time on the HTML5GamingTest benchmark:
3047
3048         http://craftymind.com/factory/guimark2/HTML5GamingTest.html
3049
3050         This patch uses a couple of AtomicStrings and shuffles around the order
3051         of the security check to take this down to around 0.1% (which is near
3052         the noise floor of what I can measure with my profiler).
3053
3054         * html/canvas/CanvasRenderingContext.cpp:
3055         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
3056         * loader/CrossOriginAccessControl.cpp:
3057         (WebCore::passesAccessControlCheck):
3058
3059 2011-09-23  Justin Novosad  <junov@chromium.org>
3060
3061         Unwarranted DOM Exception when canvas2D drawImage is called with src
3062         rect out of bounds
3063         https://bugs.webkit.org/show_bug.cgi?id=65709
3064
3065         Reviewed by Oliver Hunt.
3066
3067         * html/canvas/CanvasRenderingContext2D.cpp:
3068         (WebCore::CanvasRenderingContext2D::drawImage):
3069         Return early without throwing an exception if source rectangle is out of 
3070         bounds to match the spec.
3071
3072 2011-09-23  Lukasz Slachciak  <l.slachciak@samsung.com>
3073
3074         Printing of notImplemented() when logging enabled.
3075         https://bugs.webkit.org/show_bug.cgi?id=64590
3076
3077         Printing of notImplemented() method was enabled on Debug builds only.
3078         Now it is enabled when logging is enabled.
3079
3080         Reviewed by Oliver Hunt.
3081
3082         No new tests because there is no new functionality.
3083
3084         * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
3085
3086 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
3087
3088         [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
3089         https://bugs.webkit.org/show_bug.cgi?id=68730
3090
3091         Reviewed by James Robinson.
3092
3093         Adds a missing contentsResized() call in ScrollView::setFrameRect.
3094
3095         Test: fast/dom/Window/window-resize-contents.html
3096
3097         * platform/ScrollView.cpp:
3098         (WebCore::ScrollView::setFrameRect):
3099
3100 2011-09-23  Adam Klein  <adamk@chromium.org>
3101
3102         Add ENABLE_MUTATION_OBSERVERS feature flag
3103         https://bugs.webkit.org/show_bug.cgi?id=68732
3104
3105         Reviewed by Ojan Vafai.
3106
3107         This flag will guard an implementation of the "Mutation Observers" proposed in
3108         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
3109
3110         * Configurations/FeatureDefines.xcconfig:
3111         * GNUmakefile.am:
3112
3113 2011-09-23  Varun Jain  <varunjain@google.com>
3114
3115         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
3116         https://bugs.webkit.org/show_bug.cgi?id=68198
3117
3118         Reviewed by Dimitri Glazkov.
3119
3120         Tests: fast/dom/scroll-element-to-rect-centered.html
3121                fast/dom/scroll-element-to-rect.html
3122
3123         * WebCore.exp.in:
3124         * page/FrameView.cpp:
3125         (WebCore::FrameView::scrollElementToRect):
3126         * page/FrameView.h:
3127         * testing/Internals.cpp:
3128         (WebCore::Internals::scrollElementToRect):
3129         * testing/Internals.h:
3130         * testing/Internals.idl:
3131
3132 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
3133
3134         Unreviewed, rolling out r95860.
3135         http://trac.webkit.org/changeset/95860
3136         https://bugs.webkit.org/show_bug.cgi?id=68648
3137
3138         Breaks overhang rendering on Chromium Mac
3139
3140         * platform/chromium/ScrollbarThemeChromium.cpp:
3141         * platform/chromium/ScrollbarThemeChromium.h:
3142         * platform/chromium/ScrollbarThemeChromiumMac.h:
3143         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3144         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3145         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
3146
3147 2011-09-23  Dean Jackson  <dino@apple.com>
3148
3149         Add -webkit-filter to CSSPropertyNames
3150         https://bugs.webkit.org/show_bug.cgi?id=68675
3151
3152         Reviewed by Simon Fraser.
3153
3154         Add property and rudimentary parsing for -webkit-filter. The
3155         property value isn't preserved anywhere yet. Add
3156         stub definition for computed style.
3157
3158         Test: css3/filters/filter-property.html
3159
3160         * css/CSSComputedStyleDeclaration.cpp:
3161         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3162         * css/CSSParser.cpp:
3163         (WebCore::CSSParser::parseValue):
3164         (WebCore::CSSParser::parseFilter):
3165         * css/CSSParser.h:
3166         * css/CSSPropertyNames.in:
3167         * css/CSSStyleSelector.cpp:
3168         (WebCore::CSSStyleSelector::applyProperty):
3169
3170 2011-09-23  Antoine Labour  <piman@chromium.org>
3171
3172         Remove preserves3D() from CCLayerDelegate, replacing it by setting the
3173         value explicitly after creating a layer, or setting its delegate.
3174         https://bugs.webkit.org/show_bug.cgi?id=68295
3175
3176         Reviewed by James Robinson.
3177
3178         Covered by compositing/ layeout tests.
3179
3180         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3181         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3182         (WebCore::GraphicsLayerChromium::setContentsToMedia):
3183         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3184         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3185         * platform/graphics/chromium/GraphicsLayerChromium.h:
3186         * platform/graphics/chromium/LayerChromium.cpp:
3187         (WebCore::LayerChromium::LayerChromium):
3188         * platform/graphics/chromium/LayerChromium.h:
3189         (WebCore::LayerChromium::setPreserves3D):
3190         (WebCore::LayerChromium::preserves3D):
3191
3192 2011-09-23  Julien Chaffraix  <jchaffraix@webkit.org>
3193
3194         Implicit conversion double to float in ShadowBlur::adjustBlurRadius
3195         https://bugs.webkit.org/show_bug.cgi?id=68722
3196
3197         Reviewed by Simon Fraser.
3198
3199         * platform/graphics/ShadowBlur.cpp:
3200         (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
3201         conversions.
3202
3203 2011-09-23  Dan Bernstein  <mitz@apple.com>
3204
3205         <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
3206         https://bugs.webkit.org/show_bug.cgi?id=68737
3207
3208         Reviewed by Darin Adler.
3209
3210         Test: fast/text/combining-character-sequence-fallback-crash.html
3211
3212         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3213         (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
3214         number of FontData instances in the fallback list rather than the number of font families in the
3215         font description.
3216
3217 2011-09-23  David Reveman  <reveman@chromium.org>
3218
3219         [Chromium] Fix CSS 3D corner anti-aliasing.
3220         https://bugs.webkit.org/show_bug.cgi?id=68087
3221
3222         Reviewed by James Robinson.
3223
3224         Render sharp corners more correctly by adding bounding box
3225         edges to anti-aliasing shaders.
3226
3227         Test: platform/chromium/compositing/3d-corners.html
3228
3229         * platform/graphics/chromium/ShaderChromium.cpp:
3230         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
3231         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
3232         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
3233         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
3234         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3235         (WebCore::CCRenderSurface::drawLayer):
3236         (WebCore::CCRenderSurface::drawSurface):
3237         * platform/graphics/chromium/cc/CCRenderSurface.h:
3238         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3239         (WebCore::CCTiledLayerImpl::draw):
3240         (WebCore::CCTiledLayerImpl::drawTiles):
3241         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3242
3243 2011-09-23  Oliver Hunt  <oliver@apple.com>
3244
3245         Make write barriers actually do something when enabled
3246         https://bugs.webkit.org/show_bug.cgi?id=68717
3247
3248         Reviewed by Geoffrey Garen.
3249
3250         Add a forwarding header, and fix an evaluation ordering
3251         issue that shows up if you try to use write barriers.
3252
3253         * ForwardingHeaders/heap/CardSet.h: Added.
3254         * bindings/js/JSEventListener.h:
3255         (WebCore::JSEventListener::jsFunction):
3256
3257 2011-09-23  James Robinson  <jamesr@chromium.org>
3258
3259         Avoid updating compositing state during paint
3260         https://bugs.webkit.org/show_bug.cgi?id=68727
3261
3262         Reviewed by Simon Fraser.
3263
3264         We shouldn't update our compositing state in the middle of a paint. The call to
3265         updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
3266         fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
3267
3268         * rendering/RenderLayer.cpp:
3269         (WebCore::RenderLayer::paintLayer):
3270         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
3271         * rendering/RenderLayerCompositor.cpp:
3272         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3273         * rendering/RenderLayerCompositor.h:
3274
3275 2011-09-23  Fady Samuel  <fsamuel@chromium.org>
3276
3277         Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
3278         https://bugs.webkit.org/show_bug.cgi?id=68648
3279
3280         Reviewed by Dimitri Glazkov.
3281
3282         No new tests because there's no change in functionality (yet).
3283
3284         * platform/chromium/ScrollbarThemeChromium.cpp:
3285         (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
3286         (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
3287         (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
3288         * platform/chromium/ScrollbarThemeChromium.h:
3289         * platform/chromium/ScrollbarThemeChromiumMac.h:
3290         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3291         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3292
3293 2011-09-23  Ojan Vafai  <ojan@chromium.org>
3294
3295         remove physical flex-flow values to match the updated spec
3296         https://bugs.webkit.org/show_bug.cgi?id=68728
3297
3298         Reviewed by Tony Chang.
3299
3300         * css/CSSParser.cpp:
3301         (WebCore::CSSParser::parseValue):
3302         * css/CSSPrimitiveValueMappings.h:
3303         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3304         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
3305         * css/CSSValueKeywords.in:
3306         * rendering/style/RenderStyleConstants.h:
3307
3308 2011-09-23  Abhishek Arya  <inferno@chromium.org>
3309
3310         Style not updated for :before, :after content
3311         in ruby text.
3312         https://bugs.webkit.org/show_bug.cgi?id=68625
3313
3314         Reviewed by Dave Hyatt.
3315
3316         Test: fast/ruby/ruby-text-before-after-content.html
3317
3318         * rendering/RenderRubyText.cpp:
3319         (WebCore::RenderRubyText::updateBeforeAfterContent):
3320         * rendering/RenderRubyText.h:
3321
3322 2011-09-22  Ojan Vafai  <ojan@chromium.org>
3323
3324         refactor RenderFlexibleBox to use flex-flow aware methods
3325         https://bugs.webkit.org/show_bug.cgi?id=68665
3326
3327         Reviewed by Tony Chang.
3328
3329         This is just a refactor. Just move the all the code that needs to
3330         be flow aware into helper functions. Actually making them flow-aware
3331         can be done in a followup patch.
3332
3333         * rendering/RenderBlock.cpp:
3334         * rendering/RenderBlock.h:
3335         Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
3336         * rendering/RenderFlexibleBox.cpp:
3337         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
3338         (WebCore::RenderFlexibleBox::isHorizontalFlow):
3339         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
3340         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
3341         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
3342         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
3343         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
3344         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
3345         (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
3346         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
3347         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
3348         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
3349         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
3350         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
3351         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
3352         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
3353         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
3354         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
3355         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
3356         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
3357         (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
3358         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
3359         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
3360         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
3361         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
3362         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
3363         (WebCore::RenderFlexibleBox::layoutInlineDirection):
3364         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
3365         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
3366         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
3367         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
3368         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
3369         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
3370         * rendering/RenderFlexibleBox.h:
3371
3372 2011-09-23  David Hyatt  <hyatt@apple.com>
3373
3374         https://bugs.webkit.org/show_bug.cgi?id=68719
3375         
3376         Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
3377         columns, when regions have a non-uniform height, we may need to push through multiple regions
3378         in order to find one that fits.
3379         
3380         Added an optimization for quickly noticing if regions do have a uniform height so that we can
3381         treat them like columns and pages if so.
3382
3383         Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
3384         layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
3385         the new tests.
3386
3387         Reviewed by Anders Carlsson.
3388
3389         Added new tests in fast/regions.
3390
3391         * rendering/RenderBlock.cpp:
3392         (WebCore::RenderBlock::adjustForUnsplittableChild):
3393         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
3394         (WebCore::RenderBlock::adjustLinePositionForPagination):
3395         * rendering/RenderBlock.h:
3396         * rendering/RenderBlockLineLayout.cpp:
3397         (WebCore::RenderBlock::matchedEndLine):
3398         * rendering/RenderFlowThread.cpp:
3399         (WebCore::RenderFlowThread::RenderFlowThread):
3400         (WebCore::RenderFlowThread::layout):
3401         * rendering/RenderFlowThread.h:
3402
3403 2011-09-23  Konstantin Scheglov  <scheglov@google.com>
3404
3405         Redrawing dirty parts of a large table is very slow
3406         https://bugs.webkit.org/show_bug.cgi?id=64546
3407
3408         Reviewed by David Hyatt.
3409
3410         Move CollapsedBorderValues into RenderTable.h.
3411         Calculate collapsed borders only once and re-use during paintObject().
3412         Invalidate cache when cell, row, row group, col, col group or table border is changed.
3413
3414         Tests: fast/table/border-collapsing/cached-cell-append.html
3415                fast/table/border-collapsing/cached-cell-remove.html
3416                fast/table/border-collapsing/cached-change-cell-border-color.html
3417                fast/table/border-collapsing/cached-change-cell-border-width.html
3418                fast/table/border-collapsing/cached-change-col-border-color.html
3419                fast/table/border-collapsing/cached-change-col-border-width.html
3420                fast/table/border-collapsing/cached-change-colgroup-border-color.html
3421                fast/table/border-collapsing/cached-change-colgroup-border-width.html
3422                fast/table/border-collapsing/cached-change-row-border-color.html
3423                fast/table/border-collapsing/cached-change-row-border-width.html
3424                fast/table/border-collapsing/cached-change-table-border-color.html
3425                fast/table/border-collapsing/cached-change-table-border-width.html
3426                fast/table/border-collapsing/cached-change-tbody-border-color.html
3427                fast/table/border-collapsing/cached-change-tbody-border-width.html
3428
3429         * rendering/RenderTable.cpp:
3430         (WebCore::RenderTable::RenderTable):
3431         (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
3432         (WebCore::RenderTable::layout): Invalidate cache if layout changed.
3433         (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
3434         (WebCore::RenderTable::paintObject): Use cached collapsed borders.
3435         * rendering/RenderTable.h:
3436         (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.