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