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