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