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