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