Unreviewed build fix.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
2
3         Unreviewed build fix.
4         remove wrong assertion
5
6         * websockets/WorkerThreadableWebSocketChannel.cpp:
7         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
8
9 2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
10
11         Reviewed by David Levin.
12
13         Add WebSocket feature in Worker
14         https://bugs.webkit.org/show_bug.cgi?id=32214
15
16         Introduce ThreadableWebSocketChannel interface and add
17         WorkerThreadableWebSocketChannel for Worker.
18         WorkerThreadableWebSocketChannel uses WebSocketChannel in the
19         main thread, which is managed by Peer and communicated via Bridge.
20
21         Test: websocket/tests/workers/worker-simple.html
22
23         * GNUmakefile.am:
24         * WebCore.gypi:
25         * WebCore.pro:
26         * WebCore.vcproj/WebCore.vcproj:
27         * WebCore.xcodeproj/project.pbxproj:
28         * bindings/js/JSWebSocketConstructor.h:
29         * bindings/js/JSWorkerContextCustom.cpp:
30         (WebCore::JSWorkerContext::webSocket):
31         * bindings/v8/WorkerContextExecutionProxy.cpp:
32         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
33         * bindings/v8/custom/V8WebSocketCustom.cpp:
34         (WebCore::V8Custom::v8WebSocketConstructorCallback):
35         * bindings/v8/custom/V8WorkerContextCustom.cpp:
36         * platform/CrossThreadCopier.cpp:
37         (WebCore::::copy):
38         * platform/CrossThreadCopier.h:
39         (WebCore::):
40         * websockets/ThreadableWebSocketChannel.cpp: Added.
41         * websockets/ThreadableWebSocketChannel.h: Added.
42         * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
43         * websockets/WebSocket.cpp:
44         (WebCore::WebSocket::connect):
45         (WebCore::WebSocket::didReceiveMessage):
46         * websockets/WebSocket.h:
47         * websockets/WebSocketChannel.h:
48         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
49         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
50         * websockets/WebSocketChannelClient.h:
51         * websockets/WebSocketHandshake.h:
52         * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
53         * websockets/WorkerThreadableWebSocketChannel.h: Added.
54         * workers/WorkerContext.idl:
55
56 2010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
57
58         Reviewed by Darin Adler.
59
60         Modified EventSource event-stream parser to support a single CR as line ending.
61         https://bugs.webkit.org/show_bug.cgi?id=33207
62
63         * page/EventSource.cpp:
64         (WebCore::EventSource::EventSource):
65         (WebCore::EventSource::parseEventStream):
66         * page/EventSource.h:
67
68 2010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
69
70         Reviewed by Xan Lopez.
71
72         https://bugs.webkit.org/show_bug.cgi?id=30883
73         [Gtk] Implement AtkText for HTML elements which contain text
74
75         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
76         (getInterfaceMaskFromObject):
77         (getPangoLayoutForAtk):
78         (webkit_accessible_text_get_text):
79         * accessibility/gtk/AccessibilityObjectAtk.cpp:
80         (AccessibilityObject::accessibilityPlatformIncludesObject):
81
82 2010-01-06  Dan Bernstein  <mitz@apple.com>
83
84         Reviewed by Sam Weinig.
85
86         <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
87         https://bugs.webkit.org/show_bug.cgi?id=32794
88
89         Test: platform/mac/fast/text/line-breaking-with-kerning.html
90
91         * rendering/RenderBlockLineLayout.cpp:
92         (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
93         the trailing space when measuring a word, then subtract its width. This
94         accounts for kerning between the last glyph of the word and the following space.
95
96 2010-01-06  Kevin Decker  <kdecker@apple.com>
97
98         Reviewed by Simon Fraser
99
100         Second step of:
101         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
102
103         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
104         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
105         (-[WebHostedNetscapePluginView pluginLayer]): Added.
106         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
107         * Plugins/WebNetscapePluginView.mm:
108         (-[WebNetscapePluginView pluginLayer]): Added.
109
110 2010-01-06  Adam Barth  <abarth@webkit.org>
111
112         No review, rolling out r52877.
113         http://trac.webkit.org/changeset/52877
114         https://bugs.webkit.org/show_bug.cgi?id=33243
115
116         I screwed up landing this patch and only partially applied the patch I
117         was trying to land.
118
119         * bindings/ScriptControllerBase.cpp:
120         * bindings/js/ScriptController.cpp:
121         (WebCore::ScriptController::executeScriptInWorld):
122         * bindings/v8/ScriptController.cpp:
123         (WebCore::ScriptController::ScriptController):
124         (WebCore::ScriptController::~ScriptController):
125         (WebCore::ScriptController::updateSecurityOrigin):
126         (WebCore::ScriptController::evaluateInIsolatedWorld):
127         (WebCore::ScriptController::haveInterpreter):
128         (WebCore::ScriptController::mainWorldWindowShell):
129         (WebCore::ScriptController::clearWindowShell):
130         (WebCore::ScriptController::clearForClose):
131         (WebCore::ScriptController::destroyWindowShell):
132         (WebCore::ScriptController::updateDocument):
133         * bindings/v8/ScriptController.h:
134         (WebCore::ScriptController::proxy):
135         (WebCore::ScriptController::windowShell):
136         (WebCore::ScriptController::existingWindowShell):
137         (WebCore::ScriptController::evaluateInWorld):
138         * bindings/v8/V8DOMWindowShell.cpp:
139         (WebCore::V8DOMWindowShell::create):
140         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
141         (WebCore::V8DOMWindowShell::initContextIfNeeded):
142
143 2010-01-06  Eric Seidel  <eric@webkit.org>
144
145         Unreviewed.  Rolling back in a change I should not have rolled out.
146
147         The original commit http://trac.webkit.org/changeset/52862
148         was rolled out again in http://trac.webkit.org/changeset/52871
149         but I now believe that rollout to be in error.
150         My sincerest apologies for the churn.
151
152         Fix the bug in previous commit: we shouldn't finish
153         decoding if "sizeOnly" is true.
154         https://bugs.webkit.org/show_bug.cgi?id=33258
155
156         * platform/image-decoders/png/PNGImageDecoder.cpp:
157         (WebCore::PNGImageReader::decode):
158
159 2010-01-06  Adam Barth  <abarth@webkit.org>
160
161         Reviewed by Eric Seidel.
162
163         [v8] Let ScriptController have more than one windowShell
164         https://bugs.webkit.org/show_bug.cgi?id=33243
165
166         This patch lets ScriptController have more than one windowShell.  We're
167         currently only using one of them (for the main world), but this patch
168         lets us use other ones for isolated worlds soon.
169
170         * bindings/ScriptControllerBase.cpp:
171         (WebCore::ScriptController::executeScriptInWorld):
172         * bindings/js/ScriptController.cpp:
173         * bindings/v8/ScriptController.cpp:
174         (WebCore::ScriptController::createWorld):
175         (WebCore::ScriptController::initScript):
176         (WebCore::ScriptController::ScriptController):
177         (WebCore::ScriptController::~ScriptController):
178         (WebCore::ScriptController::updateSecurityOrigin):
179         (WebCore::ScriptController::evaluateInIsolatedWorld):
180         (WebCore::ScriptController::evaluateInWorld):
181         (WebCore::ScriptController::mainWorldWindowShell):
182         (WebCore::ScriptController::clearWindowShell):
183         (WebCore::ScriptController::clearForClose):
184         (WebCore::ScriptController::destroyWindowShell):
185         (WebCore::ScriptController::updateDocument):
186         * bindings/v8/ScriptController.h:
187         (WebCore::ScriptController::windowShell):
188         (WebCore::ScriptController::existingWindowShell):
189         (WebCore::ScriptController::globalObject):
190         (WebCore::ScriptController::proxy):
191         * bindings/v8/V8DOMWindowShell.cpp:
192         (WebCore::V8DOMWindowShell::create):
193         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
194         (WebCore::V8DOMWindowShell::initContextIfNeeded):
195         * bindings/v8/V8DOMWindowShell.h:
196         * bindings/v8/V8DOMWrapper.cpp:
197         (WebCore::V8DOMWrapper::instantiateV8Object):
198         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
199
200 2010-01-06  Mark Rowe  <mrowe@apple.com>
201
202         Fix the Mac build.
203
204         * WebCore.base.exp: Export symbols WebKit would like to use.
205         * plugins/PluginWidget.h:
206         (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
207
208 2010-01-06  Kevin Decker  <kdecker@apple.com>
209
210         Reviewed by Eric Carlson.
211         
212         First step toward:
213         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
214         
215         Small refactoring moving the PluginWidget class from WebKit to WebCore.          
216         * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
217         * platform/Widget.h: Added isPluginWidget(). 
218         (WebCore::Widget::isPluginWidget):
219         * plugins/PluginWidget.h: Added.
220         (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
221         * plugins/mac/PluginWidgetMac.mm: Added.
222         (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
223         
224 2010-01-06  Eric Seidel  <eric@webkit.org>
225
226         No review, rolling out r52862.
227         http://trac.webkit.org/changeset/52862
228         https://bugs.webkit.org/show_bug.cgi?id=33258
229
230         Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
231         Leopard Release builder.
232
233         * platform/image-decoders/png/PNGImageDecoder.cpp:
234         (WebCore::PNGImageReader::decode):
235
236 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
237
238         Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
239
240         * Configurations/Base.xcconfig:
241
242 2010-01-05  Nate Chapin  <japhet@chromium.org>
243
244         Reviewed by Dimitri Glazkov.
245
246         Generate header declarations for V8 binding security checks
247         and delete V8CustomBinding.cpp
248
249         * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
250         * WebCore.gypi: Removed V8CustomBinding.cpp.
251         * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
252         * bindings/v8/V8DOMWindowShell.cpp:
253         (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
254         (WebCore::reportUnsafeJavaScriptAccess):
255         (WebCore::V8DOMWindowShell::createNewContext):
256         (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
257         * bindings/v8/V8DOMWindowShell.h:
258         * bindings/v8/V8DOMWrapper.cpp:
259         (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
260         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
261         (WebCore::V8DOMWrapper::getTemplate):
262         * bindings/v8/custom/V8CustomBinding.cpp: Removed.
263         * bindings/v8/custom/V8CustomBinding.h:
264         * bindings/v8/custom/V8DOMWindowCustom.cpp:
265         (WebCore::V8DOMWindow::locationAccessorSetter):
266         (WebCore::V8DOMWindow::namedSecurityCheck):
267         (WebCore::V8DOMWindow::indexedSecurityCheck):
268         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
269         (WebCore::V8Document::locationAccessorSetter):
270         * bindings/v8/custom/V8HistoryCustom.cpp:
271         (WebCore::V8History::indexedSecurityCheck):
272         (WebCore::V8History::namedSecurityCheck):
273         * bindings/v8/custom/V8LocationCustom.cpp:
274         (WebCore::V8Location::indexedSecurityCheck):
275         (WebCore::V8Location::namedSecurityCheck):
276
277 2010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
278
279         Reviewed by Dirk Schulze.
280
281         Marker code is buggy: referencePoint translation is off
282         https://bugs.webkit.org/show_bug.cgi?id=33012
283
284         Rewrite marker code, as it had many issues:
285         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
286         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
287         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
288         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
289           can have three different resources of the same type (three markers, start/mid/end markers)
290
291         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
292
293         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
294         Test: svg/custom/marker-referencePoint.svg
295               svg/custom/marker-opacity.svg
296               svg/custom/marker-strokeWidth-changes.svg
297
298         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
299         * GNUmakefile.am: Ditto.
300         * WebCore.gypi: Ditto.
301         * WebCore.pro: Ditto.
302         * WebCore.vcproj/WebCore.vcproj: Ditto.
303         * WebCore.xcodeproj/project.pbxproj: Ditto.
304         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
305         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
306         * rendering/RenderPath.cpp:
307         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
308         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
309         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
310         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
311         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
312         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
313         (WebCore::RenderPath::path): Inline this accessor.
314         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
315         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
316         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
317         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
318         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
319         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
320         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
321         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
322         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
323         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
324         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
325         (WebCore::SVGMarkerData::updateOutslope): Ditto.
326         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
327         (WebCore::SVGMarkerData::updateInslope): Helper method.
328         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
329         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
330         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
331         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
332         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
333         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
334         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
335         * rendering/SVGMarkerLayoutInfo.h: Added.
336         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
337         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
338         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
339         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
340         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
341         (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
342         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
343         * svg/SVGSVGElement.cpp:
344         (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
345         * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
346         (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
347         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
348                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
349                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
350                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
351         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
352         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
353         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
354         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
355         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
356         * svg/graphics/SVGResourceMarker.cpp:
357         (WebCore::SVGResourceMarker::SVGResourceMarker):
358         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
359         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
360         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
361         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
362         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
363         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
364         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
365
366 2010-01-06  Dirk Schulze  <krit@webkit.org>
367
368         Reviewed by Nikolas Zimmermann.
369
370         SVG feImage support
371         https://bugs.webkit.org/show_bug.cgi?id=31905
372
373         This implements the SVG Filter effect feImage with support of fragment urls.
374         It also includes a bug fix for feComposite. feComposite didn't cover values
375         bigger than 255 correctly on composite oeprator arithmetic.
376
377         Tests: There are already many feImage tests in trunk. They just needed updated
378                pixel test results.
379                The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
380                and depends on feImage.
381
382         * platform/graphics/filters/FEComposite.cpp:
383         (WebCore::arithmetic):
384         * rendering/RenderSVGImage.cpp:
385         (WebCore::RenderSVGImage::paint):
386         * rendering/RenderSVGImage.h:
387         * svg/SVGFEImageElement.cpp:
388         (WebCore::SVGFEImageElement::requestImageResource):
389         (WebCore::SVGFEImageElement::parseMappedAttribute):
390         (WebCore::SVGFEImageElement::notifyFinished):
391         (WebCore::SVGFEImageElement::build):
392         * svg/SVGFEImageElement.h:
393         * svg/SVGFEImageElement.idl:
394         * svg/SVGPreserveAspectRatio.cpp:
395         (WebCore::SVGPreserveAspectRatio::transformRect):
396         * svg/SVGPreserveAspectRatio.h:
397         * svg/graphics/filters/SVGFEImage.cpp:
398         (WebCore::FEImage::FEImage):
399         (WebCore::FEImage::create):
400         (WebCore::FEImage::apply):
401         * svg/graphics/filters/SVGFEImage.h:
402
403 2010-01-06  Yong Li  <yoli@rim.com>
404
405         Reviewed by Darin Adler.
406
407         Fix the bug in previous commit: we shouldn't finish
408         decoding if "sizeOnly" is true.
409         https://bugs.webkit.org/show_bug.cgi?id=33258
410
411         * platform/image-decoders/png/PNGImageDecoder.cpp:
412         (WebCore::PNGImageReader::decode):
413
414 2010-01-06  Eric Seidel  <eric@webkit.org>
415
416         No review, rolling out r52855.
417         http://trac.webkit.org/changeset/52855
418         https://bugs.webkit.org/show_bug.cgi?id=33222
419
420         Caused 6 layout tests to fail on Mac
421
422         * loader/DocumentLoader.cpp:
423         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
424         * loader/MainResourceLoader.cpp:
425         (WebCore::MainResourceLoader::continueAfterContentPolicy):
426         * loader/ResourceLoader.cpp:
427         * loader/ResourceLoader.h:
428
429 2010-01-06  Yong Li  <yoli@rim.com>
430
431         Reviewed by Darin Adler.
432
433         Let ReourceLoader deliver segmented data
434         when loading resource from a SharedBuffer object.
435         https://bugs.webkit.org/show_bug.cgi?id=33222
436
437         * loader/DocumentLoader.cpp:
438         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
439         * loader/MainResourceLoader.cpp:
440         (WebCore::MainResourceLoader::continueAfterContentPolicy):
441         * loader/ResourceLoader.cpp:
442         (WebCore::ResourceLoader::didReceiveData):
443         * loader/ResourceLoader.h:
444
445 2010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
446
447         Unreviewed trivial Qt build fix.
448
449         Prefix the phonon includes with phonon/ to avoid conflicts with the S60
450         audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
451
452         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
453
454 2010-01-05  Darin Fisher  <darin@chromium.org>
455
456         Reviewed by Adam Barth.
457
458         Moving v8::HandleScope up above declaration of v8::Local to fix a
459         Chromium startup crash.
460
461         * bindings/v8/V8Proxy.cpp:
462         (WebCore::V8Proxy::setContextDebugId):
463
464 2010-01-05  Adam Barth  <abarth@webkit.org>
465
466         Reviewed by Dimitri Glazkov.
467
468         [v8] Move V8DOMWindowShell to ScriptController
469         https://bugs.webkit.org/show_bug.cgi?id=33232
470
471         This patch moves V8DOMWindow shell to ScriptController, where the
472         window shells live in JSC land.  The next step will be to allow for
473         more than one window shell per script controller.
474
475         * bindings/v8/ScriptController.cpp:
476         (WebCore::ScriptController::ScriptController):
477         (WebCore::ScriptController::~ScriptController):
478         (WebCore::ScriptController::updateSecurityOrigin):
479         (WebCore::ScriptController::evaluateInIsolatedWorld):
480         (WebCore::ScriptController::haveInterpreter):
481         (WebCore::ScriptController::mainWorldWindowShell):
482         (WebCore::ScriptController::clearWindowShell):
483         (WebCore::ScriptController::clearForClose):
484         (WebCore::ScriptController::destroyWindowShell):
485         (WebCore::ScriptController::updateDocument):
486         * bindings/v8/ScriptController.h:
487         * bindings/v8/V8DOMWindowShell.cpp:
488         (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
489         * bindings/v8/V8DOMWindowShell.h:
490         (WebCore::V8DOMWindowShell::localHandleForContext):
491         * bindings/v8/V8DOMWrapper.cpp:
492         (WebCore::V8DOMWrapper::instantiateV8Object):
493         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
494         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
495         * bindings/v8/V8IsolatedContext.cpp:
496         (WebCore::V8IsolatedContext::V8IsolatedContext):
497         * bindings/v8/V8Proxy.cpp:
498         (WebCore::V8Proxy::V8Proxy):
499         (WebCore::V8Proxy::~V8Proxy):
500         (WebCore::V8Proxy::handleOutOfMemory):
501         (WebCore::V8Proxy::evaluateInIsolatedWorld):
502         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
503         (WebCore::V8Proxy::context):
504         (WebCore::V8Proxy::mainWorldContext):
505         (WebCore::V8Proxy::currentContext):
506         (WebCore::V8Proxy::setContextDebugId):
507         * bindings/v8/V8Proxy.h:
508         * bindings/v8/WorldContextHandle.cpp:
509         (WebCore::WorldContextHandle::adjustedContext):
510
511 2010-01-05  Kent Tamura  <tkent@chromium.org>
512
513         Reviewed by Maciej Stachowiak.
514
515         Implement HTML5 <header> and <footer> elements.
516         https://bugs.webkit.org/show_bug.cgi?id=32943
517
518         <header> and <footer> should behave the same as <nav>, <section>,
519         <article>, and <aside>. The HTML parser doesn't need to restrict
520         the nesting of header/footer elements.
521
522         Tests: fast/html/footer-element.html
523                fast/html/header-element.html
524
525         * css/html.css: Add header/footer as block elements.
526         * editing/htmlediting.cpp:
527         (WebCore::validBlockTag): Add headerTag and footerTag.
528         * html/HTMLElement.cpp:
529         (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
530         (WebCore::blockTagList): Add headerTag and footerTag.
531         * html/HTMLParser.cpp:
532         (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
533         (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
534         (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
535         * html/HTMLParser.h:
536           - Rename isHeaderTag() to isHeadingTag()
537           - Remove non-existing popNestedHeaderTag().
538         * html/HTMLTagNames.in: Add header and footer.
539
540 2010-01-05  Darin Adler  <darin@apple.com>
541
542         Reviewed by Dan Bernstein.
543
544         CDATA sections are merged into Text nodes when normalize() is used
545         https://bugs.webkit.org/show_bug.cgi?id=33191
546
547         Test: fast/dom/Node/normalize-with-cdata.html
548
549         * dom/Node.cpp:
550         (WebCore::Node::normalize): Use nodeType instead of isTextNode.
551
552 2010-01-05  James Robinson  <jamesr@google.com>
553
554         Reviewed by Eric Seidel.
555
556         Typing in Google Wave repaints the whole screen
557         https://bugs.webkit.org/show_bug.cgi?id=32295
558
559         Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
560         The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
561         fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
562         painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
563         structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
564
565         Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
566
567         * rendering/RenderBlockLineLayout.cpp:
568         (WebCore::RenderBlock::layoutInlineChildren):
569
570 2010-01-05  James Robinson  <jamesr@chromium.org>
571
572         Reviewed by David Hyatt.
573
574         Cleans up line box clearing when a RenderBlock loses its last child.
575         https://bugs.webkit.org/show_bug.cgi?id=33228
576
577         The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
578
579
580         No new tests.
581
582         * rendering/RenderBlock.cpp:
583         (WebCore::RenderBlock::removeChild):
584         * rendering/RenderBlockLineLayout.cpp:
585         (WebCore::RenderBlock::layoutInlineChildren):
586
587 2010-01-05  Alexander Pavlov  <apavlov@chromium.org>
588
589         Reviewed by Pavel Feldman.
590
591         Provide the "documentURL" property for documents and frame owner elements
592
593         This is necessary to determine owner document URLs for nodes (all nodes have
594         the top-level document set as ownerDocument).
595         https://bugs.webkit.org/show_bug.cgi?id=33025
596
597         * inspector/InspectorDOMAgent.cpp:
598         (WebCore::InspectorDOMAgent::buildObjectForNode):
599         * inspector/front-end/DOMAgent.js:
600         (WebInspector.DOMNode):
601
602 2010-01-05  Peter Kasting  <pkasting@google.com>
603
604         Reviewed by Adam Barth.
605
606         Public GIF decoder should stop decoding when allocation fails
607         https://bugs.webkit.org/show_bug.cgi?id=33231
608
609         * platform/image-decoders/gif/GIFImageDecoder.cpp:
610         (WebCore::GIFImageDecoder::haveDecodedRow):
611         * platform/image-decoders/gif/GIFImageDecoder.h:
612         * platform/image-decoders/gif/GIFImageReader.cpp:
613         (GIFImageReader::output_row):
614         (GIFImageReader::do_lzw):
615         (GIFImageReader::read):
616         * platform/image-decoders/gif/GIFImageReader.h:
617
618 2010-01-05  Yong Li  <yoli@rim.com>
619
620         Reviewed by Darin Adler.
621
622         Make PNG image decoder work with segmented SharedBuffer
623         https://bugs.webkit.org/show_bug.cgi?id=33213
624
625         * platform/image-decoders/ImageDecoder.cpp:
626         (WebCore::ImageDecoder::create):
627         * platform/image-decoders/ImageDecoder.h:
628         (WebCore::ImageDecoder::ImageDecoder):
629         (WebCore::ImageDecoder::isAllDataReceived):
630         (WebCore::ImageDecoder::setData):
631         * platform/image-decoders/png/PNGImageDecoder.cpp:
632         (WebCore::PNGImageReader::PNGImageReader):
633         (WebCore::PNGImageReader::close):
634         (WebCore::PNGImageReader::currentBufferSize):
635         (WebCore::PNGImageReader::setComplete):
636         (WebCore::PNGImageReader::decode):
637         (WebCore::PNGImageDecoder::decode):
638         (WebCore::PNGImageDecoder::headerAvailable):
639         (WebCore::PNGImageDecoder::pngComplete):
640
641 2010-01-05  Adam Barth  <abarth@webkit.org>
642
643         Rubber stamped by Dimitri Glazkov.
644
645         Fix namespace indent for ScriptController.
646
647         * bindings/v8/ScriptController.h:
648         (WebCore::ScriptController::proxy):
649         (WebCore::ScriptController::windowShell):
650         (WebCore::ScriptController::existingWindowShell):
651         (WebCore::ScriptController::xssAuditor):
652         (WebCore::ScriptController::setProcessingTimerCallback):
653         (WebCore::ScriptController::setPaused):
654         (WebCore::ScriptController::isPaused):
655         (WebCore::ScriptController::sourceURL):
656         (WebCore::ScriptController::evaluateInWorld):
657
658 2010-01-05  Rachel Petterson  <rlp@google.com>
659
660         Reviewed by Simon Fraser.
661
662         Implement most cases of texImage2D and texSubImage2D
663         https://bugs.webkit.org/show_bug.cgi?id=31562
664         
665         This fix is with Chris Marrin  <cmarrin@apple.com>.
666         Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
667
668         From Chris:
669         This implements all cases except HTMLVideoElement. It changes
670         the bindings to accept all parameter forms of the call. Then
671         it plumbs the calls through WebGLRenderingContext down to
672         GraphicsContext3D for the actual implementation.
673
674         From Rachel:
675         This implements texImage2D for chromium. It also implements the V8
676         bindings for texSubImage2D and updates the V8 bindings for texImage2D.
677
678         Tests: fast/canvas/webgl/texImage2DImageDataTest.html
679                   fast/canvas/webgl/texImageTest.html
680
681         * bindings/js/JSWebGLRenderingContextCustom.cpp:
682         (WebCore::JSWebGLRenderingContext::texImage2D):
683         (WebCore::JSWebGLRenderingContext::texSubImage2D):
684         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
685         (WebCore::CALLBACK_FUNC_DECL):
686         * html/canvas/WebGLRenderingContext.cpp:
687         (WebCore::WebGLRenderingContext::texImage2D):
688         (WebCore::WebGLRenderingContext::texSubImage2D):
689         * html/canvas/WebGLRenderingContext.h:
690         * html/canvas/WebGLRenderingContext.idl:
691         * platform/graphics/GraphicsContext3D.h:
692         * platform/graphics/mac/GraphicsContext3DMac.cpp:
693         (WebCore::imageToTexture):
694         (WebCore::GraphicsContext3D::texImage2D):
695         (WebCore::GraphicsContext3D::texSubImage2D):
696
697 2010-01-04  Brian Weinstein  <bweinstein@apple.com>
698
699         Reviewed by Tim Hatcher.
700
701         Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
702         Web Inspector: Context Menus should be used in more places.
703         
704         Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
705         we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
706         breakpoints), but this is hard to discover and behaves differently than Xcode.
707         
708         Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
709         removes it if there is one.
710         
711         On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
712         Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
713         the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
714
715         * English.lproj/localizedStrings.js: Added localized context menu entries.
716         * inspector/front-end/SourceFrame.js:
717         (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
718         (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
719         (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
720
721 2010-01-05  Chris Fleizach  <cfleizach@apple.com>
722
723         Reviewed by Eric Seidel.
724
725         AX: need a way to get the progress of a webpage load
726         https://bugs.webkit.org/show_bug.cgi?id=33221
727
728         Test: platform/mac/accessibility/estimated-progress.html
729
730         * accessibility/AccessibilityObject.h:
731         (WebCore::AccessibilityObject::estimatedLoadingProgress):
732         * accessibility/AccessibilityRenderObject.cpp:
733         (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
734         * accessibility/AccessibilityRenderObject.h:
735         * accessibility/mac/AccessibilityObjectWrapper.mm:
736         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
737         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
738
739 2010-01-05  Yael Aharon  <yael.aharon@nokia.com>
740
741         Reviewed by Kenneth Rohde Christiansen.
742
743         [Qt] Drag & drop layout tests fail even when run manually
744         https://bugs.webkit.org/show_bug.cgi?id=33055
745
746         No new tests. Fix 3 layout tests when run manually.
747         fast/events/drag-and-drop.html
748         fast/events/drag-and-drop-dataTransfer-types-nocrash.html
749         fast/events/drag-and-drop-fire-drag-dragover.html
750         Running these tests in DRT will be fixed in 31332.
751
752         * page/qt/DragControllerQt.cpp:
753         (WebCore::DragController::cleanupAfterSystemDrag):
754         Cleanup the drag operation if it failed to complete,
755         Otherwise, new drag operations will not be possible.
756
757 2010-01-05  Gustavo Noronha Silva <gns@gnome.org>
758
759         Reviewed by Xan Lopez.
760
761         Based on idea and original patch by Evan Martin.
762
763         Remove libWebCore intermediate library, to improve link time.
764
765         [GTK] Build time must be reduced
766         https://bugs.webkit.org/show_bug.cgi?id=32921
767
768         * GNUmakefile.am:
769
770 2010-01-05  Nate Chapin  <japhet@chromium.org>
771
772         Reviewed by Adam Barth.
773
774         Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
775         remove the v8-specific pieces.
776
777         https://bugs.webkit.org/show_bug.cgi?id=33182
778
779         * bindings/BindingSecurity.h:
780         (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
781         (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
782         * bindings/v8/custom/V8AttrCustom.cpp:
783         (WebCore::V8Attr::valueAccessorSetter):
784         * bindings/v8/custom/V8CustomBinding.cpp:
785         * bindings/v8/custom/V8CustomBinding.h:
786         * bindings/v8/custom/V8ElementCustom.cpp:
787         (WebCore::V8Element::setAttributeCallback):
788         (WebCore::V8Element::setAttributeNodeCallback):
789         (WebCore::V8Element::setAttributeNSCallback):
790         (WebCore::V8Element::setAttributeNodeNSCallback):
791         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
792         (WebCore::V8HTMLFrameElement::srcAccessorSetter):
793         (WebCore::V8HTMLFrameElement::locationAccessorSetter):
794         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
795         (WebCore::V8HTMLIFrameElement::srcAccessorSetter):
796
797 2010-01-05  Adam Barth  <abarth@webkit.org>
798
799         Reviewed by Dimitri Glazkov.
800
801         [V8] Separate DOMWrapperWorld from V8IsolatedWorld
802         https://bugs.webkit.org/show_bug.cgi?id=33087
803
804         This change separate DOMWrapperWorld and IsolatedWorld from
805         V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
806         V8IsolatedContext in preparation for having more than one context in a
807         single isolated world.
808
809         This patch moves us closer to two goals:
810         1) Matching the structure of the JSC implementation of isolated worlds.
811         2) Letting scripts running in isolated contexts see into other iframes
812            (which requires having more than one context in an isolated world.)
813
814         * WebCore.gypi:
815         * bindings/v8/DOMWrapperWorld.cpp: Added.
816         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
817         (WebCore::mainThreadNormalWorld):
818         * bindings/v8/DOMWrapperWorld.h: Added.
819         (WebCore::DOMWrapperWorld::create):
820         * bindings/v8/IsolatedWorld.cpp: Added.
821         (WebCore::IsolatedWorld::IsolatedWorld):
822         (WebCore::IsolatedWorld::~IsolatedWorld):
823         * bindings/v8/IsolatedWorld.h: Added.
824         (WebCore::IsolatedWorld::create):
825         (WebCore::IsolatedWorld::count):
826         (WebCore::IsolatedWorld::domDataStore):
827         * bindings/v8/MainThreadDOMData.cpp:
828         (WebCore::MainThreadDOMData::getMainThreadStore):
829         * bindings/v8/ScriptController.cpp:
830         (WebCore::ScriptController::currentScriptState):
831         * bindings/v8/ScriptState.cpp:
832         * bindings/v8/ScriptState.h:
833         * bindings/v8/V8DOMWindowShell.cpp:
834         * bindings/v8/V8DOMWrapper.cpp:
835         (WebCore::V8DOMWrapper::instantiateV8Object):
836         * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
837         (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
838         (WebCore::V8IsolatedContext::V8IsolatedContext):
839         (WebCore::V8IsolatedContext::destroy):
840         (WebCore::V8IsolatedContext::~V8IsolatedContext):
841         (WebCore::V8IsolatedContext::scriptState):
842         * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
843         (WebCore::V8IsolatedContext::getEntered):
844         (WebCore::V8IsolatedContext::world):
845         * bindings/v8/V8IsolatedWorld.cpp: Removed.
846         * bindings/v8/V8IsolatedWorld.h: Removed.
847         * bindings/v8/V8Proxy.cpp:
848         (WebCore::V8Proxy::evaluateInIsolatedWorld):
849         (WebCore::V8Proxy::context):
850         * bindings/v8/V8Proxy.h:
851         * bindings/v8/WorldContextHandle.cpp:
852         (WebCore::WorldContextHandle::WorldContextHandle):
853
854 2010-01-05  Adam Barth  <abarth@webkit.org>
855
856         Reviewed by Dimitri Glazkov.
857
858         [V8] Move createWindow into generic bindings so it can be shared with JSC
859         https://bugs.webkit.org/show_bug.cgi?id=33201
860
861         This patch moves createWindow from V8-specific code into the generic
862         bindings so that is can be re-used by the JavaScriptCore bindings.  I
863         haven't actually moved the JSC bindings over to using this yet.
864
865         Also, I organized the generic bindings a bit more as it's becoming
866         clearer how things are going to shape up.  There are still some
867         question marks, but hopefully the answers will become clear as we
868         progress.
869
870         * WebCore.gyp/WebCore.gyp:
871         * WebCore.gypi:
872         * bindings/generic/BindingDOMWindow.h: Added.
873         (WebCore::::createWindow):
874         * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
875         (WebCore::BindingSecurity::BindingSecurity):
876         (WebCore::::canAccessWindow):
877         (WebCore::::canAccessFrame):
878         (WebCore::::checkNodeSecurity):
879         * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
880         (WebCore::BindingSecurityBase::getDOMWindow):
881         (WebCore::BindingSecurityBase::getFrame):
882         (WebCore::BindingSecurityBase::canAccess):
883         * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
884         * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
885         (WebCore::):
886         * bindings/v8/V8Binding.h:
887         * bindings/v8/custom/V8DOMWindowCustom.cpp:
888         (WebCore::V8DOMWindow::showModalDialogCallback):
889         (WebCore::V8DOMWindow::openCallback):
890         * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
891         (WebCore::V8BindingDOMWindow::storeDialogArgs):
892         * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
893         (WebCore::::Only):
894         (WebCore::::getActiveWindow):
895         (WebCore::::immediatelyReportUnsafeAccessTo):
896         * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
897         (WebCore::):
898
899 2010-01-05  Dominic Mazzoni  <dmazzoni@google.com>
900
901         Reviewed by Darin Adler.
902
903         https://bugs.webkit.org/show_bug.cgi?id=32571
904
905         For an object with an aria role of "checkbox" or "radiobutton",
906         Use the "aria-checked" attribute to determine if it's checked.
907
908         Test: accessibility/aria-checkbox-checked.html
909
910         * accessibility/AccessibilityRenderObject.cpp:
911         (WebCore::AccessibilityRenderObject::isChecked):
912
913 2010-01-05  Yong Li  <yoli@rim.com>
914
915         Reviewed by Adam Roben.
916
917         Fix  build warnings blindly
918         https://bugs.webkit.org/show_bug.cgi?id=33178
919
920         * platform/SharedBuffer.cpp:
921         * platform/SharedBuffer.h:
922         (WebCore::SharedBuffer::append):
923
924 2010-01-05  Dan Bernstein  <mitz@apple.com>
925
926         Build fix
927
928         * platform/SharedBuffer.cpp:
929
930 2010-01-05  Yong Li  <yong.li@torchmobile.com>
931
932         Reviewed by Darin Adler.
933
934         Fix an obvious bug and build errors in previous commit (r52795)
935         https://bugs.webkit.org/show_bug.cgi?id=33178
936
937         * platform/SharedBuffer.h:
938         (WebCore::SharedBuffer::isEmpty):
939         * platform/cf/SharedBufferCF.cpp:
940         (WebCore::SharedBuffer::maybeTransferPlatformData):
941
942 2010-01-04  Yong Li  <yoli@rim.com>
943
944         Reviewed by Darin Adler.
945
946         Let SharedBuffer use a group of memory segments internally.
947         It will merge the segments into a flat consecutive buffer only when
948         necessary.
949         https://bugs.webkit.org/show_bug.cgi?id=33178
950
951         * platform/SharedBuffer.cpp:
952         (WebCore::allocateSegment):
953         (WebCore::freeSegment):
954         (WebCore::SharedBuffer::SharedBuffer):
955         (WebCore::SharedBuffer::~SharedBuffer):
956         (WebCore::SharedBuffer::adoptVector):
957         (WebCore::SharedBuffer::size):
958         (WebCore::SharedBuffer::data):
959         (WebCore::SharedBuffer::append):
960         (WebCore::SharedBuffer::clear):
961         (WebCore::SharedBuffer::copy):
962         (WebCore::SharedBuffer::buffer):
963         (WebCore::SharedBuffer::getSomeData):
964         * platform/SharedBuffer.h:
965         * platform/cf/SharedBufferCF.cpp:
966         (WebCore::SharedBuffer::maybeTransferPlatformData):
967         * platform/haiku/SharedBufferHaiku.cpp:
968         (WebCore::SharedBuffer::createWithContentsOfFile):
969         * platform/qt/SharedBufferQt.cpp:
970         (WebCore::SharedBuffer::createWithContentsOfFile):
971         * platform/win/SharedBufferWin.cpp:
972         (WebCore::SharedBuffer::createWithContentsOfFile):
973
974 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
975
976         Unreviewed trivial Symbian build fix
977
978         * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion
979
980 2010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
981
982         Reviewed by Tor Arne Vestbø.
983
984         [Qt] Fix broken export macros in package builds.
985
986         https://bugs.webkit.org/show_bug.cgi?id=33202
987
988         Always define QT_MAKEDLL unless we're doing a static
989         build or we're building inside of Qt. When building
990         inside of Qt the correct define is pulled from qbase.pri.
991
992         * WebCore.pro:
993
994 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
995
996         Reviewed by Darin Fisher.
997
998         Reorganize, document and rename OS() platform macros.
999         https://bugs.webkit.org/show_bug.cgi?id=33198
1000
1001         Adapt to name changes. Also fixed a few incorrect OS checks.
1002
1003         * accessibility/AccessibilityObject.h:
1004         * config.h:
1005         * dom/SelectElement.cpp:
1006         (WebCore::SelectElement::listBoxDefaultEventHandler):
1007         * inspector/InspectorFrontendHost.cpp:
1008         (WebCore::InspectorFrontendHost::platform):
1009         * loader/CachedFont.cpp:
1010         * loader/FTPDirectoryDocument.cpp:
1011         * loader/FTPDirectoryParser.cpp:
1012         * page/EventHandler.cpp:
1013         * page/Frame.cpp:
1014         (WebCore::Frame::setUseSecureKeyboardEntry):
1015         * page/NavigatorBase.cpp:
1016         (WebCore::NavigatorBase::platform):
1017         * page/Page.h:
1018         * page/Settings.cpp:
1019         (WebCore::Settings::Settings):
1020         * page/Settings.h:
1021         * page/chromium/DragControllerChromium.cpp:
1022         (WebCore::DragController::isCopyKeyDown):
1023         * page/chromium/EventHandlerChromium.cpp:
1024         (WebCore::EventHandler::accessKeyModifiers):
1025         * page/win/EventHandlerWin.cpp:
1026         (WebCore::EventHandler::createDraggingClipboard):
1027         * platform/FileSystem.h:
1028         * platform/KeyboardCodes.h:
1029         * platform/PurgeableBuffer.h:
1030         * platform/chromium/ChromiumBridge.h:
1031         * platform/chromium/ClipboardChromium.cpp:
1032         (WebCore::ClipboardChromium::writeRange):
1033         * platform/chromium/ClipboardUtilitiesChromium.cpp:
1034         * platform/chromium/ClipboardUtilitiesChromium.h:
1035         * platform/chromium/PasteboardChromium.cpp:
1036         (WebCore::Pasteboard::writeSelection):
1037         (WebCore::Pasteboard::writePlainText):
1038         (WebCore::Pasteboard::documentFragment):
1039         * platform/chromium/PlatformKeyboardEventChromium.cpp:
1040         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1041         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
1042         * platform/chromium/PopupMenuChromium.cpp:
1043         (WebCore::PopupListBox::layout):
1044         (WebCore::PopupMenu::show):
1045         * platform/graphics/BitmapImage.h:
1046         (WebCore::BitmapImage::mayFillWithSolidColor):
1047         * platform/graphics/FloatPoint.h:
1048         * platform/graphics/FloatRect.h:
1049         * platform/graphics/FloatSize.h:
1050         * platform/graphics/FontCache.cpp:
1051         (WebCore::alternateFamilyName):
1052         * platform/graphics/FontCache.h:
1053         * platform/graphics/FontFastPath.cpp:
1054         (WebCore::Font::glyphDataForCharacter):
1055         * platform/graphics/GlyphBuffer.h:
1056         (WebCore::GlyphBuffer::advanceAt):
1057         (WebCore::GlyphBuffer::add):
1058         * platform/graphics/Gradient.h:
1059         * platform/graphics/GraphicsContext.cpp:
1060         * platform/graphics/GraphicsContext.h:
1061         * platform/graphics/GraphicsContext3D.h:
1062         * platform/graphics/ImageSource.h:
1063         * platform/graphics/IntRect.h:
1064         * platform/graphics/MediaPlayer.cpp:
1065         * platform/graphics/Path.h:
1066         * platform/graphics/Pattern.h:
1067         * platform/graphics/SimpleFontData.h:
1068         * platform/graphics/cg/ColorCG.cpp:
1069         * platform/graphics/cg/GraphicsContextCG.cpp:
1070         * platform/graphics/chromium/FontCustomPlatformData.cpp:
1071         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1072         (WebCore::FontCustomPlatformData::fontPlatformData):
1073         (WebCore::createFontCustomPlatformData):
1074         * platform/graphics/chromium/FontCustomPlatformData.h:
1075         * platform/graphics/chromium/FontPlatformData.h:
1076         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1077         * platform/graphics/opentype/OpenTypeUtilities.h:
1078         * platform/graphics/qt/GraphicsContextQt.cpp:
1079         (WebCore::GraphicsContext::getWindowsContext):
1080         * platform/graphics/qt/ImageQt.cpp:
1081         * platform/graphics/skia/GraphicsContextSkia.cpp:
1082         (WebCore::GraphicsContext::clipToImageBuffer):
1083         * platform/graphics/skia/ImageBufferSkia.cpp:
1084         (WebCore::ImageBuffer::ImageBuffer):
1085         * platform/graphics/skia/PlatformContextSkia.cpp:
1086         (PlatformContextSkia::State::State):
1087         (PlatformContextSkia::PlatformContextSkia):
1088         (PlatformContextSkia::save):
1089         (PlatformContextSkia::restore):
1090         * platform/graphics/skia/PlatformContextSkia.h:
1091         * platform/graphics/win/IconWin.cpp:
1092         (WebCore::Icon::createIconForFiles):
1093         (WebCore::Icon::paint):
1094         * platform/graphics/wx/GraphicsContextWx.cpp:
1095         * platform/gtk/FileSystemGtk.cpp:
1096         (WebCore::filenameToString):
1097         (WebCore::filenameFromString):
1098         (WebCore::filenameForDisplay):
1099         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1100         * platform/network/curl/ResourceHandleManager.cpp:
1101         * platform/network/soup/ResourceHandleSoup.cpp:
1102         (WebCore::):
1103         * platform/text/String.cpp:
1104         (WebCore::String::format):
1105         (WebCore::String::number):
1106         * platform/text/TextEncoding.cpp:
1107         (WebCore::TextEncoding::encode):
1108         * platform/text/TextEncodingRegistry.cpp:
1109         (WebCore::buildBaseTextCodecMaps):
1110         (WebCore::extendTextCodecMaps):
1111         * platform/text/TextStream.cpp:
1112         * platform/text/TextStream.h:
1113         * platform/text/qt/TextCodecQt.cpp:
1114         (WebCore::TextCodecQt::decode):
1115         * platform/win/PlatformMouseEventWin.cpp:
1116         (WebCore::messageToEventType):
1117         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1118         * platform/win/PlatformScreenWin.cpp:
1119         (WebCore::deviceInfoForWidget):
1120         (WebCore::screenIsMonochrome):
1121         * platform/win/PopupMenuWin.cpp:
1122         (WebCore::PopupMenu::show):
1123         (WebCore::PopupMenu::paint):
1124         (WebCore::PopupMenu::registerClass):
1125         (WebCore::PopupMenu::PopupMenuWndProc):
1126         (WebCore::PopupMenu::wndProc):
1127         * platform/win/SystemTimeWin.cpp:
1128         (WebCore::userIdleTime):
1129         * platform/wx/FileSystemWx.cpp:
1130         (WebCore::unloadModule):
1131         * plugins/PluginDatabase.cpp:
1132         * plugins/PluginPackage.cpp:
1133         (WebCore::PluginPackage::compareFileVersion):
1134         * plugins/PluginPackage.h:
1135         * plugins/PluginView.cpp:
1136         (WebCore::PluginView::setFrameRect):
1137         (WebCore::PluginView::stop):
1138         (WebCore::PluginView::PluginView):
1139         * plugins/PluginView.h:
1140         * plugins/win/PluginDatabaseWin.cpp:
1141         (WebCore::addWindowsMediaPlayerPluginDirectory):
1142         (WebCore::addMacromediaPluginDirectories):
1143         * plugins/win/PluginPackageWin.cpp:
1144         (WebCore::PluginPackage::load):
1145         * plugins/win/PluginViewWin.cpp:
1146         (WebCore::registerPluginView):
1147         (WebCore::PluginView::wndProc):
1148         (WebCore::PluginView::updatePluginWidget):
1149         (WebCore::PluginView::paintIntoTransformedContext):
1150         (WebCore::PluginView::paintWindowedPluginIntoContext):
1151         (WebCore::PluginView::paint):
1152         (WebCore::PluginView::handleMouseEvent):
1153         (WebCore::PluginView::setParent):
1154         (WebCore::PluginView::setNPWindowRect):
1155         (WebCore::PluginView::platformStart):
1156
1157 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
1158
1159         Reviewed by Darin Adler.
1160
1161         Add ARIA "Live Region" support
1162         https://bugs.webkit.org/show_bug.cgi?id=33117
1163
1164         Tests: platform/mac/accessibility/aria-liveregions-attributes.html
1165                platform/mac/accessibility/aria-liveregions-notifications.html
1166
1167         * accessibility/AXObjectCache.cpp:
1168         (WebCore::AXObjectCache::contentChanged):
1169         * accessibility/AXObjectCache.h:
1170         (WebCore::AXObjectCache::):
1171         * accessibility/AccessibilityObject.cpp:
1172         (WebCore::AccessibilityObject::isChildOfARIALiveRegion):
1173         (WebCore::AccessibilityObject::supportsARIALiveRegion):
1174         * accessibility/AccessibilityObject.h:
1175         (WebCore::AccessibilityObject::contentChanged):
1176         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
1177         (WebCore::AccessibilityObject::ariaLiveRegionRelevant):
1178         (WebCore::AccessibilityObject::ariaLiveRegionAtomic):
1179         (WebCore::AccessibilityObject::ariaLiveRegionBusy):
1180         * accessibility/AccessibilityRenderObject.cpp:
1181         (WebCore::AccessibilityRenderObject::elementAttributeValue):
1182         (WebCore::AccessibilityRenderObject::contentChanged):
1183         (WebCore::AccessibilityRenderObject::childrenChanged):
1184         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
1185         (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
1186         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
1187         (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy):
1188         * accessibility/AccessibilityRenderObject.h:
1189         (WebCore::AccessibilityRenderObject::areChildrenDirty):
1190         * accessibility/mac/AXObjectCacheMac.mm:
1191         (WebCore::AXObjectCache::postPlatformNotification):
1192         * accessibility/mac/AccessibilityObjectWrapper.h:
1193         * accessibility/mac/AccessibilityObjectWrapper.mm:
1194         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1195         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1196         (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]):
1197         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
1198         * dom/Element.cpp:
1199         (WebCore::Element::updateAfterAttributeChanged):
1200         * html/HTMLAttributeNames.in:
1201         * rendering/RenderText.cpp:
1202         (WebCore::RenderText::setText):
1203
1204 2010-01-04  Chris Evans  <cevans@chromium.org>
1205
1206         Reviewed by Adam Barth.
1207
1208         Adopt a more conservative approach for loading CSS cross-origin. When
1209         loading CSS cross-origin, it must be start with valid CSS if the MIME
1210         type is broken.
1211
1212         https://bugs.webkit.org/show_bug.cgi?id=29820
1213
1214         Test: http/tests/security/cross-origin-css.html
1215         Test: http/tests/security/cross-origin-css-in-xml.xml
1216
1217         * html/HTMLLinkElement.cpp:
1218         (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load
1219         requirements for cross-origin loads.
1220         * css/CSSImportRule.cpp:
1221         (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load
1222         requirements for cross-origin loads.
1223         * css/CSSStyleSheet.h:
1224         * css/CSSStyleSheet.cpp:
1225         * css/CSSParser.cpp:
1226         * css/CSSGrammar.y:
1227         * css/CSSParser.h:
1228         Add ability to tell whether the CSS parse started with a syntactically
1229         valid CSS rule.
1230         * loader/CachedCSSStyleSheet.h:
1231         * loader/CachedCSSStyleSheet.cpp:
1232         (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return
1233         whether the MIME type was acceptable for CSS.
1234         (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return
1235         whether the MIME type was valid or not.
1236         * dom/ProcessingInstruction.cpp
1237         (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict
1238         mode explicit and add comment.
1239
1240 2010-01-04  Dan Bernstein  <mitz@apple.com>
1241
1242         Reviewed by Simon Fraser.
1243
1244         <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly
1245         <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds
1246
1247         Test: accessibility/dimensions-include-descendants.html
1248
1249         * accessibility/AccessibilityRenderObject.cpp:
1250         (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads()
1251         for non-text renderers. The focus ring encompasses descendants, which is
1252         what we want for the accessibility indicator.
1253         * rendering/RenderObject.cpp:
1254         (WebCore::RenderObject::absoluteFocusRingQuads): Added.
1255         * rendering/RenderObject.h:
1256
1257 2010-01-04  Ojan Vafai  <ojan@ojanmacpro.sfo.corp.google.com>
1258
1259         Reviewed by Dan Bernstein.
1260
1261         Remove unnecessary division by a constant in SimpleFontDataMac.mm.
1262         https://bugs.webkit.org/show_bug.cgi?id=33189
1263
1264         This was added in http://trac.webkit.org/changeset/8104 and seems like
1265         it was just there to match the previously private function which we no
1266         longer use.
1267
1268         No new tests. No change in behavior.
1269
1270         * platform/graphics/mac/SimpleFontDataMac.mm:
1271
1272 2010-01-04  Darin Adler  <darin@apple.com>
1273
1274         Reviewed by Maciej Stachowiak.
1275
1276         Selection-related code needs stricter rules about how it relates to layout
1277         https://bugs.webkit.org/show_bug.cgi?id=32882
1278
1279         Covered by existing tests along with the new assertions.
1280
1281         * dom/Document.cpp:
1282         (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
1283         already false by the time post-attach callbacks are done so that
1284         layout triggered inside those callbacks can work properly.
1285
1286         * editing/SelectionController.cpp:
1287         (WebCore::SelectionController::layout): Added code to trigger a
1288         layout when it's needed.
1289         (WebCore::SelectionController::recomputeCaretRect): Removed unneeded
1290         code to do nothing when FrameView is 0. Added an assertion that layout
1291         is not needed at the time the function is called.
1292         (WebCore::SelectionController::invalidateCaretRect): Added code to
1293         trigger a layout when it's needed.
1294         (WebCore::SelectionController::paintCaret): Added an assertion that
1295         layout is not needed at the time the function is called.
1296
1297         * html/HTMLFormControlElement.cpp:
1298         (WebCore::shouldAutofocus): Added. Helper function that expresses
1299         the rule for which form control elements should auto-focus.
1300         (WebCore::focusPostAttach): Added. Called post-attach to focus an
1301         element if we discover it should be focused during attach.
1302         (WebCore::HTMLFormControlElement::attach): Refactored code for
1303         which elements need auto-focus into a separate function. Instead
1304         of focusing right away, use the focusPostAttach function to focus
1305         after attach is done. Also added calls to suspendPostAttachCallbacks
1306         and resumePostAttachCallbacks so post-attach callbacks happen late
1307         enough. Before, they could run inside the base attach function.
1308
1309         * html/HTMLInputElement.cpp:
1310         (WebCore::HTMLInputElement::attach): Added calls to
1311         suspendPostAttachCallbacks and resumePostAttachCallbacks so
1312         post-attach callbacks happen late enough
1313
1314         * page/Frame.cpp:
1315         (WebCore::Frame::revealSelection): Added code to trigger a layout
1316         when it's needed.
1317
1318 2010-01-04  Gavin Barraclough <barraclough@apple.com>
1319
1320         Reviewed by Sam Weinig.
1321
1322         https://bugs.webkit.org/show_bug.cgi?id=33163
1323         Use WTF's string hashing functions from StringImpl.
1324
1325         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
1326         * platform/text/StringHash.h:
1327         * platform/text/StringImpl.h:
1328         (WebCore::StringImpl::computeHash):
1329
1330 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
1331
1332         Qt build fix. Unreviewed.
1333
1334         * accessibility/AXObjectCache.h:
1335         (WebCore::AXObjectCache::postNotification):
1336
1337 2010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
1338
1339         MSAA: <select> elements should broadcast value change events
1340
1341         https://bugs.webkit.org/show_bug.cgi?id=33088
1342
1343         <rdar://problem/7332364>
1344
1345         Reviewed by Darin Adler.
1346
1347         * accessibility/AXObjectCache.cpp:
1348         (WebCore::AXObjectCache::postNotification):
1349         If the post type is async, follow the old code path; otherwise, call
1350         postPlatformNotification().
1351
1352         * accessibility/AXObjectCache.h:
1353         (WebCore::AXObjectCache::):
1354         Added a new accessibility notification, AXMenuListValueChanged. Added
1355         a new parameter to postNotification() to specify whether the post should
1356         be synchronous or asynchronous.
1357
1358         * accessibility/win/AXObjectCacheWin.cpp:
1359         (WebCore::AXObjectCache::postPlatformNotification):
1360         If the WebCore notification is AXMenuListValueChanged, broadcast an
1361         EVENT_OBJECT_VALUECHANGE event.
1362
1363         * dom/SelectElement.cpp:
1364         (WebCore::SelectElement::setSelectedIndex):
1365         When the selected index of a RenderMenuList is changed, call
1366         RenderMenuList::didSetSelectedIndex().
1367
1368         * rendering/RenderMenuList.cpp:
1369         (WebCore::RenderMenuList::RenderMenuList):
1370         Initialize new member
1371         (WebCore::RenderMenuList::didSetSelectedIndex):
1372         If the selected index has changed, post AXMenuListValueChanged to the
1373         object synchronously.
1374
1375         * rendering/RenderMenuList.h:
1376         Declare didSetSelectedIndex(), and add a member to hold the last
1377         selected index.
1378
1379 2010-01-04  Darin Adler  <darin@apple.com>
1380
1381         Reviewed by Sam Weinig.
1382
1383         Added missing null check in BarInfo code.
1384
1385         Test: fast/dom/Window/BarInfo-after-frame-removed.html
1386
1387         * page/BarInfo.cpp:
1388         (WebCore::BarInfo::visible): Added null check. A few other
1389         cleanups.
1390
1391 2010-01-04  Mark Rowe  <mrowe@apple.com>
1392
1393         Rubber-stamped by Jon Honeycutt.
1394
1395         Delete an empty and unused JavaScript file.
1396
1397         * WebCore.vcproj/WebCore.vcproj:
1398         * inspector/front-end/InspectorControllerStub.js: Removed.
1399
1400 2010-01-04  Kevin Ollivier  <kevino@theolliviers.com>
1401
1402         [wx] Build fix, add a couple include dirs to the build.
1403
1404         * wscript:
1405
1406 2010-01-04  Dan Bernstein  <mitz@apple.com>
1407
1408         Windows build fix
1409
1410         * page/FrameView.cpp:
1411         (WebCore::FrameView::layout):
1412
1413 2010-01-04  Simon Fraser  <simon.fraser@apple.com>
1414
1415         Reviewed by Dan Bernstein.
1416
1417         Repaint issues in text input under a scale transform
1418         https://bugs.webkit.org/show_bug.cgi?id=32086
1419         
1420         When doing a subtree layout we have to look up the container chain to see if there
1421         are any properties, such as transforms or reflections, that mean that we are unable
1422         to use layoutState.
1423
1424         Test: fast/repaint/subtree-layoutstate-transform.html
1425
1426         * page/FrameView.cpp:
1427         (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine
1428         whether it's OK to use layoutState.
1429         
1430         * rendering/RenderView.h:
1431         * rendering/RenderView.cpp:
1432         (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's
1433         OK to use layoutState when doing a subtree layout from the given root.
1434
1435 2010-01-04  Darin Adler  <darin@apple.com>
1436
1437         Reviewed by Dan Bernstein.
1438
1439         Reentrancy problem with selection in some edge cases.
1440         https://bugs.webkit.org/show_bug.cgi?id=32842
1441         rdar://problem/7449974
1442
1443         Test: fast/forms/selection-layout-reentry-strange-case.html
1444
1445         Move the selection display update process done in the
1446         selectionLayoutChanged function into the layout timer
1447         instead of doing it immediately when selection changes occur.
1448
1449         * dom/Document.cpp:
1450         (WebCore::Document::updateLayout): Changed this to use the
1451         definition of needsLayout from FrameView rather than rolling
1452         its own.
1453
1454         * editing/SelectionController.cpp:
1455         (WebCore::SelectionController::SelectionController):
1456         Initialize m_needsDisplayUpdate to false.
1457         (WebCore::SelectionController::setSelection): Call
1458         the new setNeedsDisplayUpdate function instead of the old
1459         badly named Frame::selectionLayoutChanged function.
1460         (WebCore::SelectionController::setNeedsDisplayUpdate):
1461         Set m_needsDisplayUpdate. If it is just becoming true, then
1462         call FrameView::scheduleRelayout.
1463
1464         * editing/SelectionController.h: Added setNeedsDisplayUpdate,
1465         needsDisplayUpdate, and m_needsDisplayUpdate.
1466
1467         * page/Frame.cpp:
1468         (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
1469         (WebCore::Frame::selectionLayoutChanged): Call
1470         setNeedsDisplayUpdate to set it to false, since this is the
1471         function that performs "selection display update". Later I want
1472         to rename this function. Also added a global reentrancy check
1473         since that's the easiest way I could think of to prevent infinite
1474         recursion in the case where recomputeCaretRect ends up triggering
1475         a layout. As a side effect, fixed theoretical problems in
1476         TEXT_CARET builds by improving the ifdef.
1477         (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a
1478         bit. Later we might want to decouple caret rect from caret state
1479         a bit more and add these assertions back.
1480         (WebCore::Frame::selectionBounds): Call Document::updateLayout.
1481         This function is for external clients and they do not currently
1482         do anything to make sure layout is up to date.
1483
1484         * page/FrameView.cpp:
1485         (WebCore::FrameView::needsLayout): Add a new clause, since
1486         we need a call to layout if needsDisplayUpdate is true.
1487
1488 2010-01-04  Brent Fulgham  <bfulgham@webkit.org>
1489
1490         Reviewed by Adam Roben.
1491
1492         Correct debug assertion (and possible runtime errors) by
1493         checking validity of bitmap settings used to create
1494         the Windows Cairo contexts.
1495         https://bugs.webkit.org/show_bug.cgi?id=33164.
1496
1497         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1498         (WebCore::createCairoContextWithHDC): Check validity of selected
1499           OBJ_BITMAP retrieved, and only create 32-bit context when
1500           a valid bitmap is provided.
1501
1502 2010-01-04  Dmitry Titov  <dimich@chromium.org>
1503
1504         Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC.
1505         Patch produced by 'git revert' and then reverting back ChangeLog files.
1506
1507         * Android.mk:
1508         * GNUmakefile.am:
1509         * WebCore.gypi:
1510         * WebCore.pro:
1511         * WebCore.vcproj/WebCore.vcproj:
1512         * WebCore.xcodeproj/project.pbxproj:
1513         * page/FrameView.cpp:
1514         (WebCore::FrameView::layout):
1515         * rendering/RenderPath.cpp:
1516         (WebCore::RenderPath::repaintRectInLocalCoordinates):
1517         (WebCore::RenderPath::setPath):
1518         (WebCore::RenderPath::path):
1519         (WebCore::RenderPath::paint):
1520         (WebCore::):
1521         (WebCore::DrawMarkersData::DrawMarkersData):
1522         (WebCore::drawMarkerWithData):
1523         (WebCore::updateMarkerDataForElement):
1524         (WebCore::drawStartAndMidMarkers):
1525         (WebCore::RenderPath::drawMarkersIfNeeded):
1526         * rendering/RenderPath.h:
1527         (WebCore::RenderPath::markerBoundingBox):
1528         * rendering/RenderSVGContainer.h:
1529         * rendering/RenderSVGViewportContainer.cpp:
1530         (WebCore::RenderSVGViewportContainer::paint):
1531         * rendering/RenderSVGViewportContainer.h:
1532         * rendering/SVGMarkerData.h: Removed.
1533         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
1534         * rendering/SVGMarkerLayoutInfo.h: Removed.
1535         * svg/SVGMarkerElement.cpp:
1536         (WebCore::SVGMarkerElement::canvasResource):
1537         * svg/graphics/SVGResource.cpp:
1538         (WebCore::SVGResource::SVGResource):
1539         (WebCore::ResourceSet::ResourceSet):
1540         (WebCore::clientMap):
1541         (WebCore::SVGResource::~SVGResource):
1542         (WebCore::SVGResource::removeClient):
1543         (WebCore::SVGResource::addClient):
1544         * svg/graphics/SVGResourceMarker.cpp:
1545         (WebCore::SVGResourceMarker::SVGResourceMarker):
1546         (WebCore::SVGResourceMarker::setMarker):
1547         (WebCore::SVGResourceMarker::setRef):
1548         (WebCore::SVGResourceMarker::draw):
1549         (WebCore::SVGResourceMarker::cachedBounds):
1550         (WebCore::SVGResourceMarker::externalRepresentation):
1551         * svg/graphics/SVGResourceMarker.h:
1552         (WebCore::SVGResourceMarker::refX):
1553         (WebCore::SVGResourceMarker::refY):
1554
1555 2010-01-04  Dan Bernstein  <mitz@apple.com>
1556
1557         Reviewed by Ada Chan and Mark Rowe.
1558
1559         Updated copyright string
1560
1561         * Info.plist:
1562         * WebCore.vcproj/QTMovieWin.rc:
1563
1564 2010-01-04  Chris Fleizach  <cfleizach@apple.com>
1565
1566         Reviewed by Darin Adler.
1567
1568         AX: any DIV with an aria role should not be ignored
1569         https://bugs.webkit.org/show_bug.cgi?id=33090
1570
1571         Test: platform/mac/accessibility/aria-divs-not-ignored.html
1572
1573         * accessibility/AccessibilityRenderObject.cpp:
1574         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1575
1576 2010-01-04  Nate Chapin  <japhet@chromium.org>
1577
1578         Reviewed by Dimitri Glazkov.
1579
1580         Generate declarations for V8 runtime enablers.
1581
1582         https://bugs.webkit.org/show_bug.cgi?id=33156
1583
1584         * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations.
1585         * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers.
1586         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1587         * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used.
1588         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1589
1590 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
1591
1592         Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build.
1593
1594         * WebCore.gypi:
1595
1596 2010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
1597
1598         Reviewed by Dirk Schulze.
1599
1600         Marker code is buggy: referencePoint translation is off
1601         https://bugs.webkit.org/show_bug.cgi?id=33012
1602
1603         Rewrite marker code, as it had many issues:
1604         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
1605         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
1606         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
1607         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
1608           can have three different resources of the same type (three markers, start/mid/end markers)
1609
1610         Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
1611
1612         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
1613         Test: svg/custom/marker-referencePoint.svg
1614               svg/custom/marker-opacity.svg
1615
1616         * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
1617         * GNUmakefile.am: Ditto.
1618         * WebCore.pro: Ditto.
1619         * WebCore.vcproj/WebCore.vcproj: Ditto.
1620         * WebCore.xcodeproj/project.pbxproj: Ditto.
1621         * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
1622         (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
1623         * rendering/RenderPath.cpp:
1624         (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
1625         (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
1626         (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
1627         (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
1628         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
1629         * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
1630         (WebCore::RenderPath::path): Inline this accessor.
1631         * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
1632         * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
1633         (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
1634         (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
1635         * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
1636         * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
1637         (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
1638         (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
1639         (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
1640         (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
1641         (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
1642         (WebCore::SVGMarkerData::updateOutslope): Ditto.
1643         (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
1644         (WebCore::SVGMarkerData::updateInslope): Helper method.
1645         * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
1646         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
1647         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
1648         (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
1649         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
1650         (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
1651         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
1652         * rendering/SVGMarkerLayoutInfo.h: Added.
1653         (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
1654         (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
1655         (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
1656         (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
1657         * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
1658         (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
1659         * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
1660                                         and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
1661                                         ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
1662                                         per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
1663         (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
1664         (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
1665         (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
1666         (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
1667         (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
1668         * svg/graphics/SVGResourceMarker.cpp:
1669         (WebCore::SVGResourceMarker::SVGResourceMarker):
1670         (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
1671         (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
1672         (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
1673         * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
1674         (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
1675         (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
1676         (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
1677
1678 2010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>
1679
1680         Reviewed by Tor Arne Vestbø.
1681
1682         [Qt] Fix standalone package builds.
1683
1684         * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds.
1685
1686 2010-01-04  Yongjun Zhang  <yongjun.zhang@nokia.com>
1687
1688         Reviewed by Laszlo Gombos.
1689
1690         https://bugs.webkit.org/show_bug.cgi?id=29048
1691         [Qt] make RenderStyle.h compile in winscw compiler.
1692
1693         Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 
1694         error when compareEqual is defined as template.
1695
1696         The compiler bug is reported at:
1697         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447
1698
1699         * rendering/style/RenderStyle.h:
1700
1701 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
1702
1703         Reviewed by Simon Hausmann.
1704
1705         Fix some PLATFORM(*_ENDIAN) uses to CPU()
1706         https://bugs.webkit.org/show_bug.cgi?id=33148
1707
1708         * platform/image-decoders/bmp/BMPImageReader.h:
1709         (WebCore::BMPImageReader::readUint16):
1710         (WebCore::BMPImageReader::readUint32):
1711         (WebCore::BMPImageReader::readCurrentPixel):
1712
1713 2010-01-04  Maciej Stachowiak  <mjs@apple.com>
1714
1715         Reviewed by Adam Barth.
1716
1717         Reorganize, document and rename CPU() platform macros.
1718         https://bugs.webkit.org/show_bug.cgi?id=33145
1719
1720         * page/NavigatorBase.cpp:
1721         * platform/text/AtomicString.cpp:
1722         (WebCore::equal):
1723         * platform/text/StringHash.h:
1724         (WebCore::StringHash::equal):
1725
1726 2009-12-22  Philippe Normand  <pnormand@igalia.com>
1727
1728         Reviewed by Eric Seidel.
1729
1730         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
1731         https://bugs.webkit.org/show_bug.cgi?id=32661
1732
1733         Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't
1734         complain about NULL usage in g_object_{get,set} anymore.
1735
1736         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1737         (WebCore::MediaPlayerPrivate::hasVideo):
1738         (WebCore::MediaPlayerPrivate::hasAudio):
1739         (WebCore::MediaPlayerPrivate::setVolume):
1740         (WebCore::MediaPlayerPrivate::setRate):
1741         (WebCore::MediaPlayerPrivate::updateStates):
1742         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
1743
1744 2010-01-04  Alex Milowski  <alex@milowski.com>
1745
1746         Reviewed by Eric Seidel.
1747
1748         Updated license to match recommended header license.
1749
1750         * mathml/MathMLElement.cpp:
1751         * mathml/MathMLElement.h:
1752         * mathml/MathMLInlineContainerElement.cpp:
1753         * mathml/MathMLInlineContainerElement.h:
1754         * mathml/MathMLMathElement.cpp:
1755         * mathml/MathMLMathElement.h:
1756
1757 2010-01-04  Dirk Schulze  <krit@webkit.org>
1758
1759         Reviewed by Nikolas Zimmermann.
1760
1761         SVGResources don't invalidate if target object changes attributes
1762         https://bugs.webkit.org/show_bug.cgi?id=33091
1763
1764         It's neccessary to invalidate all resources of an object, if the attributes of this
1765         target change. Otherwise the saved resource data (like ImageBuffers) don't match
1766         to the new object properties. 
1767
1768         Test: svg/custom/resource-invalidate-on-target-update.svg
1769
1770         * svg/SVGStyledElement.cpp:
1771         (WebCore::SVGStyledElement::svgAttributeChanged):
1772         (WebCore::SVGStyledElement::invalidateResources):
1773         * svg/SVGStyledElement.h:
1774
1775 2010-01-03  Kenneth Russell  <kbr@google.com>
1776
1777         Reviewed by Maciej Stachowiak.
1778
1779         Index validation code must always copy client data
1780         https://bugs.webkit.org/show_bug.cgi?id=32748
1781
1782         Client data must always be copied during bufferData and
1783         bufferSubData calls, because otherwise the data the GL uses to
1784         draw may differ from that checked by the index validation code.
1785
1786         Test: fast/canvas/webgl/index-validation-copies-indices.html
1787
1788         * html/canvas/WebGLBuffer.cpp:
1789         (WebCore::WebGLBuffer::WebGLBuffer):
1790         (WebCore::WebGLBuffer::associateBufferData):
1791         (WebCore::WebGLBuffer::associateBufferSubData):
1792         * html/canvas/WebGLBuffer.h:
1793
1794 2010-01-03  Adam Barth  <abarth@webkit.org>
1795
1796         Reviewed by Eric Seidel.
1797
1798         [Chromium] Implement CookieJarChromium::cookiesEnabled
1799         https://bugs.webkit.org/show_bug.cgi?id=33123
1800
1801         Call out to ChromiumBridge to find out if cookies are enabled.
1802
1803         * platform/chromium/ChromiumBridge.h:
1804         * platform/network/chromium/CookieJarChromium.cpp:
1805         (WebCore::cookiesEnabled):
1806
1807 2010-01-03  Adam Barth  <abarth@webkit.org>
1808
1809         Reviewed by Eric Seidel.
1810
1811         [Chromium] Remove evaluateInNewContext (it's useless)
1812         https://bugs.webkit.org/show_bug.cgi?id=33068
1813
1814         This function has no clients and makes life complicated.  Isolated
1815         worlds won out over NewContext and there's not really any going back
1816         now.
1817
1818         No new tests because this is all minus lines.
1819
1820         * bindings/v8/ScriptController.cpp:
1821         * bindings/v8/ScriptController.h:
1822         * bindings/v8/V8DOMWrapper.cpp:
1823         (WebCore::V8DOMWrapper::convertWindowToV8Object):
1824         * bindings/v8/V8Proxy.cpp:
1825         * bindings/v8/V8Proxy.h:
1826
1827 2010-01-03  Sam Weinig  <sam@webkit.org>
1828
1829         Rubber-stamped by Dan Bernstein.
1830
1831         Remove out of date commented out attributes in IDLs. We have implemented onpopstate.
1832
1833         * html/HTMLBodyElement.idl:
1834         * html/HTMLFrameSetElement.idl:
1835         * page/DOMWindow.idl:
1836
1837 2010-01-03  Dirk Schulze  <krit@webkit.org>
1838
1839         Reviewed by Nikolas Zimmermann.
1840
1841         Mark more filter effect as alphaImage if possible
1842         https://bugs.webkit.org/show_bug.cgi?id=33111
1843
1844         Mark more effects as alphaImage if the previous effect is a
1845         alphaImage. This can reduce the calculation on the next effect
1846         like feGaussianBlur.
1847         
1848         Test: This changes don't affect any LayoutTests and can't be tested
1849               somehow, since the changes are 'invisible'.
1850
1851         * platform/graphics/filters/FEColorMatrix.cpp:
1852         (WebCore::FEColorMatrix::apply):
1853         * svg/graphics/filters/SVGFEMorphology.cpp:
1854         (WebCore::FEMorphology::apply):
1855         * svg/graphics/filters/SVGFEOffset.cpp:
1856         (WebCore::FEOffset::apply):
1857         * svg/graphics/filters/SVGFETile.cpp:
1858         (WebCore::FETile::apply):
1859
1860 2010-01-01  Simon Fraser  <simon.fraser@apple.com>
1861
1862         Reviewed by Dan Bernstein.
1863
1864         Scrollbar of overflow:scroll div in compositing layer fails to render
1865         https://bugs.webkit.org/show_bug.cgi?id=32439
1866         
1867         When deciding whether a RenderLayer needs backing store, check whether it has
1868         overflow controls that need painting.
1869
1870         Test: compositing/overflow/scrollbar-painting.html
1871
1872         * rendering/RenderLayer.cpp:
1873         (WebCore::RenderLayer::hasOverflowControls):
1874         * rendering/RenderLayer.h:
1875         * rendering/RenderLayerBacking.cpp:
1876         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
1877
1878 2009-12-31  Christian Dywan  <christian@twotoasts.de>
1879
1880         Reviewed by Gustavo Noronha Silva.
1881
1882         [GTK] context menu overriding API is very limited
1883         https://bugs.webkit.org/show_bug.cgi?id=27546
1884
1885         Only show font menu items in rich text areas in the GTK+ port.
1886
1887         * platform/ContextMenu.cpp:
1888         (WebCore::ContextMenu::populate):
1889
1890 2009-12-31  Christian Dywan  <christian@twotoasts.de>
1891
1892         Reviewed by Gustavo Noronha Silva.
1893
1894         [GTK] context menu overriding API is very limited
1895         https://bugs.webkit.org/show_bug.cgi?id=27546
1896
1897         Don't show spell checking menu items in text areas in the GTK+ port.
1898
1899         * platform/ContextMenu.cpp:
1900         (WebCore::ContextMenu::populate):
1901
1902 2009-12-31  Dan Bernstein  <mitz@apple.com>
1903
1904         Reviewed by Simon Fraser.
1905
1906         <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
1907         https://bugs.webkit.org/show_bug.cgi?id=33067
1908
1909         Test: fast/repaint/table-cell-overflow.html
1910
1911         * rendering/RenderTableCell.h:
1912         (WebCore::RenderTableCell::hasVisibleOverflow): Added.
1913         * rendering/RenderTableSection.cpp:
1914         (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
1915         any cell has visible overflow, like it was before r47440.
1916
1917 2009-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1918
1919         Reviewed by Kenneth Rohde Christiansen.
1920
1921         Do not include Frame.h under WebCore/html/canvas
1922         https://bugs.webkit.org/show_bug.cgi?id=33082
1923
1924         No new tests, as there is no new functionality.
1925
1926         * html/canvas/CanvasRenderingContext2D.cpp:
1927
1928 2009-12-30  Darin Fisher  <darin@chromium.org>
1929
1930         Reviewed by David Levin.
1931
1932         [Chromium] Delete ResourceRequest::securityInfo
1933         https://bugs.webkit.org/show_bug.cgi?id=26847
1934
1935         * platform/network/chromium/ResourceRequest.h:
1936
1937 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
1938
1939         Reviewed by Adam Barth.
1940
1941         Remove unused code from V8DOMWrapper.
1942
1943         * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used.
1944         * bindings/v8/V8DOMWrapper.h: Ditto.
1945
1946 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
1947
1948         Reviewed by Adam Barth.
1949
1950         [V8] Generate configuring undetectable collection.
1951         https://bugs.webkit.org/show_bug.cgi?id=33063
1952
1953         Refactoring, covered by existing tests.
1954
1955         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined.
1956         * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy.
1957         * bindings/v8/V8DOMWrapper.cpp:
1958         (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring.
1959
1960 2009-12-30  Zelidrag Hornung  <zelidrag@chromium.org>
1961
1962         Reviewed by Dimitri Glazkov.
1963
1964         Added ability for PopupMenuClient to signal when
1965         a) selection changed, and
1966         b) weather suggested value should be accepted when popup menu closes
1967
1968         No new tests since this new functionality (autocomplete suggestions)
1969         is intentionally hidden from everything else than renderer.
1970
1971         * platform/PopupMenuClient.h:
1972         * platform/chromium/PopupMenuChromium.cpp:
1973         (WebCore::PopupContainer::hidePopup):
1974         (WebCore::PopupListBox::handleKeyEvent):
1975         (WebCore::PopupListBox::abandon):
1976         (WebCore::PopupListBox::acceptIndex):
1977         (WebCore::PopupListBox::selectIndex):
1978         (WebCore::PopupListBox::clearSelection):
1979         (WebCore::PopupListBox::hidePopup):
1980         * platform/gtk/PopupMenuGtk.cpp:
1981         (WebCore::PopupMenu::menuUnmapped):
1982         * platform/mac/PopupMenuMac.mm:
1983         (WebCore::PopupMenu::show):
1984         * platform/qt/QtFallbackWebPopup.cpp:
1985         (WebCore::QtFallbackWebPopup::hidePopup):
1986         * platform/win/PopupMenuWin.cpp:
1987         (WebCore::PopupMenu::hide):
1988         * platform/wx/PopupMenuWx.cpp:
1989         (WebCore::PopupMenu::OnMenuItemSelected):
1990         * rendering/RenderMenuList.cpp:
1991         (WebCore::RenderMenuList::popupDidHide):
1992         * rendering/RenderMenuList.h:
1993         (WebCore::RenderMenuList::selectionChanged):
1994         * rendering/RenderTextControlSingleLine.cpp:
1995         (WebCore::RenderTextControlSingleLine::popupDidHide):
1996         * rendering/RenderTextControlSingleLine.h:
1997         (WebCore::RenderTextControlSingleLine::selectionChanged):
1998
1999 2009-12-30  Nate Chapin  <japhet@chromium.org>
2000
2001         Reviewed by Dimitri Glazkov.
2002
2003         Auto-generate V8 bindings header declarations for
2004         property accessor getter/setters, and remove a couple of
2005         unnecessarily custom bindings that weren't properly declared
2006         custom anyway.
2007
2008         * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp.
2009         * WebCore.gypi: Remove V8NavigatorCustom.cpp.
2010         * bindings/scripts/CodeGeneratorV8.pm:
2011         * bindings/v8/V8DOMWrapper.cpp:
2012         * bindings/v8/custom/V8AttrCustom.cpp:
2013         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2014         * bindings/v8/custom/V8ClipboardCustom.cpp:
2015         * bindings/v8/custom/V8CoordinatesCustom.cpp:
2016         * bindings/v8/custom/V8CustomBinding.cpp:
2017         * bindings/v8/custom/V8CustomBinding.h:
2018         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2019         * bindings/v8/custom/V8DocumentCustom.cpp:
2020         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2021         * bindings/v8/custom/V8EventCustom.cpp:
2022         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2023         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2024         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2025         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2026         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2027         * bindings/v8/custom/V8LocationCustom.cpp:
2028         * bindings/v8/custom/V8MessageEventCustom.cpp:
2029         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
2030         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2031         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2032         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2033
2034 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2035
2036         Unreviewed, build fix.
2037
2038         [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds.
2039
2040         * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break.
2041
2042 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2043
2044         Reviewed by Adam Barth.
2045
2046         [V8] Generate configuring of call-as-function callbacks.
2047         https://bugs.webkit.org/show_bug.cgi?id=33061
2048
2049         Refactoring, covered by existing tests.
2050
2051         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and
2052             GenerateImplementationCustomCall.
2053         * bindings/v8/V8DOMWrapper.cpp:
2054         (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function
2055             callbacks.
2056         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2057         (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added.
2058         (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added.
2059         (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added.
2060         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed.
2061
2062 2009-12-30  Adam Barth  <abarth@webkit.org>
2063
2064         Reviewed by Eric Seidel.
2065
2066         [v8] Move world-specific state out of V8Proxy
2067         https://bugs.webkit.org/show_bug.cgi?id=33034
2068
2069         This is the first step towards unifying the V8 implementation of
2070         isolated worlds with the JSC implementation.  We need an object to
2071         encapulate all the world-specific bindings state.  Previoulsy, we used
2072         V8Proxy for this purpose (along with a million other things), but
2073         there's a one-to-one mapping between V8Proxy objects and Frame objects.
2074
2075         This patch takes the world-specific state and moves it to a new object,
2076         affectionately called V8DOMWindowShell.  This object is the moral
2077         equivalent of JSDOMWindowShell but with more data members because life
2078         is more complicated in V8-land.
2079
2080         This patch is almost entirely code motion.  Future patches will clean
2081         up this class as we use it to represent window shells in isolated
2082         worlds as well as the main world.
2083
2084         * WebCore.gypi:
2085         * bindings/v8/ScriptController.cpp:
2086         (WebCore::ScriptController::updateSecurityOrigin):
2087         (WebCore::ScriptController::haveInterpreter):
2088         (WebCore::ScriptController::updateDocument):
2089         * bindings/v8/V8DOMWindowShell.cpp: Added.
2090         (WebCore::handleFatalErrorInV8):
2091         (WebCore::reportFatalErrorInV8):
2092         (WebCore::reportUnsafeJavaScriptAccess):
2093         (WebCore::V8DOMWindowShell::create):
2094         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2095         (WebCore::V8DOMWindowShell::isContextInitialized):
2096         (WebCore::V8DOMWindowShell::disposeContextHandles):
2097         (WebCore::V8DOMWindowShell::destroyGlobal):
2098         (WebCore::V8DOMWindowShell::clearForClose):
2099         (WebCore::V8DOMWindowShell::clearForNavigation):
2100         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2101         (WebCore::V8DOMWindowShell::createNewContext):
2102         (WebCore::V8DOMWindowShell::installDOMWindow):
2103         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
2104         (WebCore::V8DOMWindowShell::clearDocumentWrapper):
2105         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
2106         (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
2107         (WebCore::V8DOMWindowShell::setSecurityToken):
2108         (WebCore::V8DOMWindowShell::updateDocument):
2109         (WebCore::V8DOMWindowShell::updateSecurityOrigin):
2110         (WebCore::V8DOMWindowShell::getHiddenObjectPrototype):
2111         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype):
2112         (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase):
2113         * bindings/v8/V8DOMWindowShell.h: Added.
2114         (WebCore::V8DOMWindowShell::context):
2115         (WebCore::V8DOMWindowShell::createWrapperFromCache):
2116         * bindings/v8/V8DOMWrapper.cpp:
2117         (WebCore::V8DOMWrapper::getConstructorForContext):
2118         (WebCore::V8DOMWrapper::instantiateV8Object):
2119         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
2120         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2121         * bindings/v8/V8IsolatedWorld.cpp:
2122         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2123         * bindings/v8/V8Proxy.cpp:
2124         (WebCore::V8Proxy::V8Proxy):
2125         (WebCore::V8Proxy::~V8Proxy):
2126         (WebCore::V8Proxy::handleOutOfMemory):
2127         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2128         (WebCore::V8Proxy::evaluateInNewContext):
2129         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2130         (WebCore::V8Proxy::clearForClose):
2131         (WebCore::V8Proxy::clearForNavigation):
2132         (WebCore::V8Proxy::mainWorldContext):
2133         (WebCore::V8Proxy::setContextDebugId):
2134         * bindings/v8/V8Proxy.h:
2135         (WebCore::V8Proxy::windowShell):
2136         (WebCore::V8Proxy::extensions):
2137
2138 2009-12-30  Dirk Schulze  <krit@webkit.org>
2139
2140         Reviewed by Eric Seidel.
2141
2142         SVGResourceClipper needs to invalidate content
2143         https://bugs.webkit.org/show_bug.cgi?id=33054
2144
2145         Added invalidate() to SVGResourceClipper to reset clipData
2146         and drawing area after attribute changes.
2147
2148         This fixes two LayoutTests.
2149
2150         * svg/graphics/SVGResourceClipper.cpp:
2151         (WebCore::SVGResourceClipper::resetClipData):
2152         (WebCore::SVGResourceClipper::invalidate):
2153         * svg/graphics/SVGResourceClipper.h:
2154
2155 2009-12-30  Carol Szabo  <carol.szabo@nokia.com>
2156
2157         Reviewed by Laszlo Gombos.
2158
2159          [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded.
2160         https://bugs.webkit.org/show_bug.cgi?id=33035
2161
2162         This patch:
2163         - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions,
2164         - extracts the palette initialization code to a separate function in order to
2165         provide for readable pointer checking and moves this code up in the function to
2166         allow for future changes to the palette brushes needed for bug 30173,
2167         - optimizes some of the code in the function for readability, speed and size.
2168         - fixes some minor style issues
2169
2170         No new tests because code behavior is not changed.
2171
2172         * platform/qt/RenderThemeQt.cpp:
2173         (WebCore::RenderThemeQt::paintButton):
2174         (WebCore::RenderThemeQt::paintTextField):
2175         (WebCore::RenderThemeQt::paintMenuList):
2176         (WebCore::RenderThemeQt::paintMenuListButton):
2177         (WebCore::initPaletteFromPageClientIfExists):
2178         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
2179         * platform/qt/RenderThemeQt.h:
2180
2181 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2182
2183         Reviewed by Simon Hausmann.
2184
2185         [Qt] It should be possible to disable inspector
2186         https://bugs.webkit.org/show_bug.cgi?id=32724
2187
2188         This makes the r48430 available for other ports as well.
2189         No new tests, as there is no new functionality.
2190
2191         * inspector/InjectedScriptHost.idl: Guard the interface with
2192         INSPECTOR guard.
2193
2194         * inspector/InspectorBackend.idl: Ditto.
2195
2196         * inspector/InspectorFrontendHost.idl: Ditto.
2197
2198 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2199
2200         Reviewed by Adam Barth.
2201
2202         [V8] Generate configuring of all indexers.
2203         https://bugs.webkit.org/show_bug.cgi?id=33031
2204
2205         Refactorig, covered by existing tests.
2206
2207         * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for
2208             special cases.
2209         * bindings/v8/V8DOMWrapper.cpp:
2210         (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of
2211             indexers.
2212         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
2213             elements (these will be generated, too -- later.)
2214         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2215         (WebCore::npObjectIndexedGetter): Moved common code to a separate method.
2216         (WebCore::npObjectIndexedSetter): Ditto.
2217         (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
2218           all calling the common method.
2219         (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
2220
2221 2009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
2222
2223         Reviewed by Adam Barth.
2224
2225         [V8] Generate configuring of all named property getters/setters/enumerators.
2226         https://bugs.webkit.org/show_bug.cgi?id=32996
2227
2228         Refactoring, covered by existing tests.
2229
2230         * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers
2231             for special cases (See bug for more info).
2232         * bindings/v8/V8DOMWrapper.cpp:
2233         (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named
2234             property handlers.
2235         * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
2236             elements (these will be generated, too -- later.)
2237         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2238         (WebCore::npObjectNamedGetter): Moved common code to a separate method.
2239         (WebCore::npObjectNamedSetter): Ditto.
2240         (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
2241           all calling the common method.
2242         (WebCore::NAMED_PROPERTY_SETTER): Ditto.
2243
2244 2009-12-30  Jakub Wieczorek  <faw217@gmail.com>
2245
2246         Reviewed by Simon Hausmann.
2247
2248         [Qt] Fix PluginView::handlePostReadFile().
2249         https://bugs.webkit.org/show_bug.cgi?id=33052
2250
2251         The function should actually rewrite the given file to the buffer.
2252
2253         This change fixes http/tests/plugins/post-url-file.html, which can be unskipped
2254         now along with other passing http/plugins tests.
2255
2256         * plugins/qt/PluginViewQt.cpp:
2257         (WebCore::PluginView::handlePostReadFile):
2258
2259 2009-12-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2260
2261         Rubber stamped by Simon Hausmann.
2262
2263         https://bugs.webkit.org/show_bug.cgi?id=32121
2264         [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
2265
2266         The implementation appears to either run into an ASSERT
2267         or leak memory at runtime as the m_buffer, m_reader may
2268         already exist. The bug was reopened and we do have a plan now.
2269
2270         * platform/graphics/qt/ImageDecoderQt.cpp:
2271         (WebCore::ImageDecoderQt::setData):
2272         (WebCore::ImageDecoderQt::clearFrameBufferCache):
2273         * platform/graphics/qt/ImageDecoderQt.h:
2274
2275 2009-12-30  Janne Koskinen  <janne.p.koskinen@digia.com>
2276
2277         Reviewed by Simon Hausmann.
2278
2279         [Qt] Add support for Symbian def files
2280
2281         * WebCore.pro:
2282
2283 2009-12-30  Simon Hausmann  <simon.hausmann@nokia.com>
2284
2285         Unreviewed Qt/Symbian build fix.
2286
2287         Don't build network state notifier support when building inside of Qt.
2288         Otherwise the Qt build depends on an external module that itself depends
2289         on Qt again.
2290
2291         * WebCore.pro:
2292
2293 2009-12-30  Yury Semikhatsky  <yurys@chromium.org>
2294
2295         Reviewed by Dimitri Glazkov.
2296
2297         [v8] Use current isolated world's context for ScriptCallStack.
2298
2299         https://bugs.webkit.org/show_bug.cgi?id=33016
2300
2301         * bindings/v8/ScriptCallStack.cpp:
2302         (WebCore::ScriptCallStack::ScriptCallStack):
2303         * bindings/v8/ScriptCallStack.h:
2304         (WebCore::ScriptCallStack::state):
2305         * bindings/v8/ScriptController.cpp:
2306         (WebCore::ScriptController::mainWorldScriptState):
2307         (WebCore::ScriptController::currentScriptState):
2308         (WebCore::ScriptController::clearWindowShell):
2309         * bindings/v8/ScriptController.h:
2310         * bindings/v8/V8IsolatedWorld.cpp:
2311         (WebCore::V8IsolatedWorld::scriptState):
2312         * bindings/v8/V8IsolatedWorld.h:
2313
2314 2009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2315
2316         Reviewed by Simon Hausmann.
2317
2318         Turn off DataGrid support by default.
2319
2320         No new tests, as there is no new functionality.
2321
2322         * WebCore.pro:
2323
2324 2009-12-29  Dirk Schulze  <krit@webkit.org>
2325
2326         Reviewed by Nikolas Zimmermann.
2327
2328         Detailed boundingBoxes in SVG Renderer
2329         https://bugs.webkit.org/show_bug.cgi?id=32815
2330
2331         Add new bounding boxes for strokes, filters, masker and clipper in SVG.
2332         These new bounding boxes help to fix repaintRectInLocalCoordinates.
2333         We calculate the smallest repaint rect considering the new bounding boxes
2334         now, filters get the correct paint area, masker clip the mask image size
2335         to the visible area of the target.
2336
2337         Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates
2338                affect the LayoutTests.     
2339
2340         * rendering/RenderForeignObject.h:
2341         (WebCore::RenderForeignObject::strokeBoundingBox):
2342         * rendering/RenderObject.cpp:
2343         (WebCore::RenderObject::toSVGRenderBase):
2344         * rendering/RenderObject.h:
2345         * rendering/RenderPath.cpp:
2346         (WebCore::RenderPath::strokeBoundingBox):
2347         (WebCore::RenderPath::repaintRectInLocalCoordinates):
2348         (WebCore::RenderPath::setPath):
2349         * rendering/RenderPath.h:
2350         (WebCore::RenderPath::markerBoundingBox):
2351         * rendering/RenderSVGBlock.h:
2352         (WebCore::RenderSVGBlock::toSVGRenderBase):
2353         * rendering/RenderSVGContainer.cpp:
2354         (WebCore::RenderSVGContainer::strokeBoundingBox):
2355         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
2356         * rendering/RenderSVGContainer.h:
2357         * rendering/RenderSVGImage.cpp:
2358         (WebCore::RenderSVGImage::layout):
2359         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
2360         * rendering/RenderSVGImage.h:
2361         (WebCore::RenderSVGImage::toSVGRenderBase):
2362         (WebCore::RenderSVGImage::strokeBoundingBox):
2363         * rendering/RenderSVGInline.h:
2364         (WebCore::RenderSVGInline::objectBoundingBox):
2365         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
2366         * rendering/RenderSVGModelObject.h:
2367         (WebCore::RenderSVGModelObject::toSVGRenderBase):
2368         * rendering/RenderSVGRoot.h:
2369         (WebCore::RenderSVGRoot::strokeBoundingBox):
2370         * rendering/RenderSVGText.cpp:
2371         (WebCore::RenderSVGText::strokeBoundingBox):
2372         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
2373         * rendering/RenderSVGText.h:
2374         (WebCore::RenderSVGText::toSVGRenderBase):
2375         * rendering/SVGRenderSupport.cpp:
2376         (WebCore::SVGRenderBase::~SVGRenderBase):
2377         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2378         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2379         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
2380         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
2381         * rendering/SVGRenderSupport.h:
2382         (WebCore::SVGRenderBase::toSVGRenderBase):
2383         (WebCore::SVGRenderBase::strokeBoundingBox):
2384         (WebCore::SVGRenderBase::markerBoundingBox):
2385         * rendering/SVGRootInlineBox.h:
2386         (WebCore::SVGRootInlineBox::toSVGRenderBase):
2387         (WebCore::SVGRootInlineBox::objectBoundingBox):
2388         (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates):
2389         * svg/SVGFilterElement.cpp:
2390         (WebCore::SVGFilterElement::filterBoundingBox):
2391         * svg/SVGFilterElement.h:
2392         * svg/SVGMaskElement.cpp:
2393         (WebCore::SVGMaskElement::maskBoundingBox):
2394         (WebCore::SVGMaskElement::drawMaskerContent):
2395         * svg/SVGMaskElement.h:
2396         * svg/graphics/SVGResourceClipper.cpp:
2397         (WebCore::SVGResourceClipper::clipperBoundingBox):
2398         * svg/graphics/SVGResourceClipper.h:
2399         * svg/graphics/SVGResourceFilter.cpp:
2400         (WebCore::SVGResourceFilter::filterBoundingBox):
2401         (WebCore::shouldProcessFilter):
2402         (WebCore::SVGResourceFilter::prepareFilter):
2403         * svg/graphics/SVGResourceFilter.h:
2404         * svg/graphics/SVGResourceMasker.cpp:
2405         (WebCore::SVGResourceMasker::maskerBoundingBox):
2406         (WebCore::SVGResourceMasker::applyMask):
2407         * svg/graphics/SVGResourceMasker.h:
2408
2409 2009-12-29  Andrei Popescu  <andreip@google.com>
2410
2411         Reviewed by Adam Barth.
2412
2413         Add Android hook to NetworkStateNotifier class
2414         so that the Java side can notify WebCore when the
2415         network state changes.
2416         https://bugs.webkit.org/show_bug.cgi?id=32871
2417
2418         No new tests required, this is platform code.
2419
2420         * platform/network/NetworkStateNotifier.h:
2421         * platform/network/android/NetworkStateNotifierAndroid.cpp: Added.
2422         (WebCore::NetworkStateNotifier::networkStateChange):
2423
2424 2009-12-29  Eric Seidel  <eric@webkit.org>
2425
2426         No review, rolling out r52630.
2427         http://trac.webkit.org/changeset/52630
2428
2429         Change caused layout tests failures and crashes.
2430
2431         * Android.mk:
2432         * GNUmakefile.am:
2433         * WebCore.pro:
2434         * WebCore.vcproj/WebCore.vcproj:
2435         * WebCore.xcodeproj/project.pbxproj:
2436         * rendering/RenderPath.cpp:
2437         (WebCore::RenderPath::repaintRectInLocalCoordinates):
2438         (WebCore::RenderPath::setPath):
2439         (WebCore::RenderPath::path):
2440         (WebCore::RenderPath::paint):
2441         (WebCore::):
2442         (WebCore::DrawMarkersData::DrawMarkersData):
2443         (WebCore::drawMarkerWithData):
2444         (WebCore::updateMarkerDataForElement):
2445         (WebCore::drawStartAndMidMarkers):
2446         (WebCore::RenderPath::drawMarkersIfNeeded):
2447         * rendering/RenderPath.h:
2448         * rendering/RenderSVGContainer.h:
2449         * rendering/RenderSVGViewportContainer.cpp:
2450         (WebCore::RenderSVGViewportContainer::paint):
2451         * rendering/RenderSVGViewportContainer.h:
2452         * rendering/SVGMarkerLayoutInfo.cpp: Removed.
2453         * rendering/SVGMarkerLayoutInfo.h: Removed.
2454         * svg/SVGMarkerElement.cpp:
2455         (WebCore::SVGMarkerElement::canvasResource):
2456         * svg/graphics/SVGResource.cpp:
2457         (WebCore::SVGResource::SVGResource):
2458         (WebCore::ResourceSet::ResourceSet):
2459         (WebCore::clientMap):
2460         (WebCore::SVGResource::~SVGResource):
2461         (WebCore::SVGResource::removeClient):
2462         (WebCore::SVGResource::addClient):
2463         * svg/graphics/SVGResourceMarker.cpp:
2464         (WebCore::SVGResourceMarker::SVGResourceMarker):
2465         (WebCore::SVGResourceMarker::setMarker):
2466         (WebCore::SVGResourceMarker::setRef):
2467         (WebCore::SVGResourceMarker::draw):
2468         (WebCore::SVGResourceMarker::cachedBounds):
2469         (WebCore::SVGResourceMarker::externalRepresentation):
2470         * svg/graphics/SVGResourceMarker.h:
2471         (WebCore::SVGResourceMarker::refX):
2472         (WebCore::SVGResourceMarker::refY):
2473
2474 2009-12-29  Dan Bernstein  <mitz@apple.com>
2475
2476         Reviewed by Sam Weinig.
2477
2478         Move the focus ring rect array, width and offset out of GraphicsContext
2479         https://bugs.webkit.org/show_bug.cgi?id=33028
2480
2481         * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(),
2482         clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(),
2483         focusRingWidth(), focusRingOffset(), and focusRingRects().
2484         * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect
2485         vector, width and offset as parameters to drawFocusRing().
2486         * platform/graphics/GraphicsContextPrivate.h:
2487         (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style.
2488         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed
2489         m_focusRingRects, m_focusRingWidth and m_focusRingOffset.
2490         * platform/graphics/IntRect.cpp:
2491         (WebCore::unionRect): Added this helper function.
2492         * platform/graphics/IntRect.h:
2493         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2494         (WebCore::GraphicsContext::drawFocusRing): 
2495         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2496         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2497         * platform/graphics/mac/GraphicsContextMac.mm:
2498         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2499         * platform/graphics/qt/GraphicsContextQt.cpp:
2500         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2501         * platform/graphics/skia/GraphicsContextSkia.cpp:
2502         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2503         * platform/graphics/win/GraphicsContextCGWin.cpp:
2504         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2505         * platform/graphics/wince/GraphicsContextWince.cpp:
2506         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2507         * platform/graphics/wx/GraphicsContextWx.cpp:
2508         (WebCore::GraphicsContext::drawFocusRing): Ditto.
2509         * rendering/RenderBlock.cpp:
2510         (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype.
2511         Added empty rect checks that were previously done in
2512         GraphicsContext::addFocusRingRect().
2513         * rendering/RenderBlock.h:
2514         * rendering/RenderBox.cpp:
2515         (WebCore::RenderBox::addFocusRingRects): Ditto.
2516         * rendering/RenderBox.h:
2517         * rendering/RenderInline.cpp:
2518         (WebCore::RenderInline::addFocusRingRects): Ditto.
2519         (WebCore::RenderInline::paintOutline): Collect focus ring rects into a
2520         vector and pass it to drawFocusRing(). Use unionRect() instead of
2521         focusRingBoundingRect().
2522         * rendering/RenderInline.h:
2523         * rendering/RenderObject.cpp:
2524         (WebCore::RenderObject::paintOutline): Ditto.
2525         * rendering/RenderObject.h:
2526         (WebCore::RenderObject::addFocusRingRects): Changed to take a
2527         Vector<IntRect> to which the rects are added.
2528         * rendering/RenderPath.cpp:
2529         (WebCore::RenderPath::addFocusRingRects): Updated for new prototype.
2530         Added empty rect check that was previously done in
2531         GraphicsContext::addFocusRingRect().
2532         * rendering/RenderPath.h:
2533         * rendering/RenderSVGContainer.cpp:
2534         (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype.
2535         Added empty rect check that was previously done in
2536         GraphicsContext::addFocusRingRect().
2537         * rendering/RenderSVGContainer.h:
2538         * rendering/RenderSVGImage.cpp:
2539         (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype.
2540         Added empty rect check that was previously done in
2541         GraphicsContext::addFocusRingRect().
2542         * rendering/RenderSVGImage.h:
2543         * rendering/RenderTextControl.cpp:
2544         (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype.
2545         Added empty rect check that was previously done in
2546         GraphicsContext::addFocusRingRect().
2547         * rendering/RenderTextControl.h:
2548
2549 2009-12-28  Dumitru Daniliuc  <dumi@chromium.org>
2550
2551         Reviewed by Maciej Stachowiak.
2552
2553         1. Changes the order in which some functions are called to match
2554         the pre-r52536 order. Namely, when a new Database object is
2555         created, DatabaseTracker::addOpenDatabase() is called in the
2556         constructor, before doing anything else related to that database
2557         (like trying to get a file handle to the database
2558         file). Chromium's implementation depends on this ordering.
2559         2. Changes Database::performOpenAndVerify() to close the open
2560         handle to the database file immediately if the database version
2561         does not match the expected one. The current behavior is to add
2562         the Database object to a DatabaseThread collection and let the
2563         database thread close the handle when it's destroyed.
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=33005
2566
2567         All LayoutTests/storage tests pass in clean WebKit and Chromium
2568         clients.
2569
2570         * storage/Database.cpp:
2571         (WebCore::Database::openDatabase): Notify DatabaseTracker and
2572         Document that a Database object is about to be destroyed (when a
2573         database file cannot be opened, or its version doesn't match the
2574         expected one).
2575         (WebCore::Database::Database): Notify DatabaseTracker and Document
2576         that a new Database object was created.
2577         (WebCore::Database::performOpenAndVerify): If a database version
2578         does not match the expected one, immediately close the open file
2579         handle to the database file.
2580
2581 2009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2582
2583         Reviewed by Dirk Schulze.
2584
2585         Marker code is buggy: referencePoint translation is off
2586         https://bugs.webkit.org/show_bug.cgi?id=33012
2587
2588         Rewrite marker code, as it was buggy:
2589         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
2590         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
2591         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
2592         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
2593           can have three different resources of the same type (three markers, start/mid/end markers)
2594
2595         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
2596         Test: svg/custom/marker-referencePoint.svg
2597
2598         * Android.mk:
2599         * GNUmakefile.am:
2600         * WebCore.pro:
2601         * WebCore.vcproj/WebCore.vcproj:
2602         * WebCore.xcodeproj/project.pbxproj:
2603         * rendering/RenderPath.cpp:
2604         (WebCore::RenderPath::repaintRectInLocalCoordinates):
2605         (WebCore::RenderPath::setPath):
2606         (WebCore::RenderPath::paint):
2607         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
2608         * rendering/RenderPath.h:
2609         (WebCore::RenderPath::path):
2610         * rendering/RenderSVGContainer.h:
2611         * rendering/RenderSVGViewportContainer.cpp:
2612         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
2613         * rendering/RenderSVGViewportContainer.h:
2614         * rendering/SVGMarkerLayoutInfo.cpp: Added.
2615         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
2616         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
2617         (WebCore::SVGMarkerLayoutInfo::initialize):
2618         (WebCore::updateMarkerDataForElement):
2619         (WebCore::recordMarkerData):
2620         (WebCore::processStartAndMidMarkers):
2621         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
2622         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
2623         * rendering/SVGMarkerLayoutInfo.h: Added.
2624         (WebCore::MarkerData::):
2625         (WebCore::MarkerData::MarkerData):
2626         (WebCore::MarkerLayout::MarkerLayout):
2627         * svg/SVGMarkerElement.cpp:
2628         (WebCore::SVGMarkerElement::canvasResource):
2629         * svg/graphics/SVGResource.cpp:
2630         (WebCore::resourceSet):
2631         (WebCore::SVGResource::SVGResource):
2632         (WebCore::SVGResource::~SVGResource):
2633         (WebCore::SVGResource::removeClient):
2634         (WebCore::SVGResource::addClient):
2635         * svg/graphics/SVGResourceMarker.cpp:
2636         (WebCore::SVGResourceMarker::SVGResourceMarker):
2637         (WebCore::SVGResourceMarker::markerBoundaries):
2638         (WebCore::SVGResourceMarker::markerTransformation):
2639         (WebCore::SVGResourceMarker::draw):
2640         (WebCore::SVGResourceMarker::externalRepresentation):
2641         * svg/graphics/SVGResourceMarker.h:
2642         (WebCore::SVGResourceMarker::setRenderer):
2643         (WebCore::SVGResourceMarker::setReferencePoint):
2644         (WebCore::SVGResourceMarker::referencePoint):
2645
2646 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
2647
2648         Reviewed by Pavel Feldman.
2649
2650         Fix UI nits in the Audits panel.
2651         https://bugs.webkit.org/show_bug.cgi?id=32932
2652
2653         * inspector/front-end/AuditLauncherView.js:
2654         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
2655         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
2656         (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
2657         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
2658         * inspector/front-end/AuditResultView.js:
2659         (WebInspector.AuditResultView):
2660         (WebInspector.AuditRuleResultPane):
2661         * inspector/front-end/audits.css:
2662
2663 2009-12-29  Johnny Ding  <jnd@chromium.org>
2664
2665         Reviewed by Dimitri Glazkov.
2666
2667         https://bugs.webkit.org/show_bug.cgi?id=32863
2668         Make NodeList support call-as-function
2669
2670         Test: fast/dom/NodeList/nodelist-item-call-as-function.html
2671
2672         * bindings/scripts/CodeGeneratorV8.pm:
2673         * bindings/v8/V8DOMWrapper.cpp:
2674         (WebCore::V8DOMWrapper::getTemplate):
2675         * bindings/v8/custom/V8NodeListCustom.cpp:
2676         (WebCore::V8NodeList::callAsFunctionCallback):
2677
2678 2009-12-29  Simon Fraser  <simon.fraser@apple.com>
2679
2680         Reviewed by Dan Bernstein.
2681
2682         Typed text in table not correctly redrawn on page with compositing layers
2683         https://bugs.webkit.org/show_bug.cgi?id=32874
2684         
2685         Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
2686         to decide when to use layoutState, which is to test for layoutStateEnabled()
2687         and no repaint container.
2688
2689         Not possible to make a repaint test that exercises the problem, so no test.
2690
2691         * rendering/RenderTableCell.cpp:
2692         (WebCore::RenderTableCell::computeRectForRepaint):
2693
2694 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
2695
2696         Reviewed by Timothy Hatcher.
2697
2698         Discard port from cookie domain when matching cookies.
2699
2700         WebKit cookies do not hold the port information, so we should match only hostnames.
2701         https://bugs.webkit.org/show_bug.cgi?id=31787
2702
2703         * inspector/front-end/inspector.js:
2704         (WebInspector.updateResource):
2705
2706 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2707
2708         Reviewed by Kenneth Rohde Christiansen.
2709
2710         [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
2711         https://bugs.webkit.org/show_bug.cgi?id=33019
2712
2713         No new tests as there is no new functionality.
2714
2715         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2716         (WebCore::MediaPlayerPrivate::totalTimeChanged):
2717
2718 2009-12-29  Kent Tamura  <tkent@chromium.org>
2719
2720         Reviewed by Maciej Stachowiak.
2721
2722         Implement HTML5 <aside> element.
2723         https://bugs.webkit.org/show_bug.cgi?id=32943
2724
2725         <aside> should behave the same as <nav>, <section>, and <article>.
2726
2727         Test: fast/html/aside-element.html
2728
2729         * css/html.css: Add aside as a block element.
2730         * editing/htmlediting.cpp:
2731         (WebCore::validBlockTag): Add asideTag.
2732         * html/HTMLElement.cpp:
2733         (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
2734         (WebCore::blockTagList): Add asideTag.
2735         * html/HTMLParser.cpp:
2736         (WebCore::HTMLParser::getNode): Add asideTag.
2737         * html/HTMLTagNames.in: Add aside.
2738
2739 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2740
2741         Reviewed by Eric Seidel.
2742
2743         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
2744         https://bugs.webkit.org/show_bug.cgi?id=33003
2745
2746         No new tests as there is no new functionality.
2747
2748         * editing/CompositeEditCommand.cpp:
2749         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2750         * page/animation/ImplicitAnimation.cpp:
2751         (WebCore::ImplicitAnimation::sendTransitionEvent):
2752         * page/animation/KeyframeAnimation.cpp:
2753         (WebCore::KeyframeAnimation::sendAnimationEvent):
2754         * rendering/RenderSVGContainer.h:
2755         (WebCore::toRenderSVGContainer):
2756         * rendering/style/RenderStyle.cpp:
2757         (WebCore::RenderStyle::setTextShadow):
2758         * svg/graphics/SVGPaintServerGradient.cpp:
2759         (WebCore::SVGPaintServerGradient::setup):
2760         * svg/graphics/SVGPaintServerPattern.cpp:
2761         (WebCore::SVGPaintServerPattern::setup):
2762
2763 2009-12-28  Andrei Popescu  <andreip@google.com>
2764
2765         Reviewed by Dmitry Titov.
2766
2767         On Android, ResourceHandle instances make use of a pointer to a
2768         ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
2769         the load, if necessary. Since this pointer is an internal implementation
2770         details of ResourceHandle on Android, it needs to be stored in the
2771         ResourceHandleInternal class. This patch adds this pointer.
2772         https://bugs.webkit.org/show_bug.cgi?id=32873
2773
2774         No new tests needed, this is platform-specific code.
2775
2776         * platform/network/ResourceHandle.h:
2777         * platform/network/ResourceHandleInternal.h:
2778         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2779
2780 2009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
2781
2782         Reviewed by Maciej Stachowiak.
2783
2784         Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
2785         since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
2786         <noscript> are always parsed and rendered.
2787         https://bugs.webkit.org/show_bug.cgi?id=32706
2788
2789         Tests: fast/parser/noscript-with-javascript-disabled.html
2790                fast/parser/noscript-with-javascript-enabled.html
2791
2792         * html/HTMLParser.cpp:
2793         (WebCore::HTMLParser::getNode):
2794
2795 2009-12-28  Kinuko Yasuda  <kinuko@chromium.org>
2796
2797         Reviewed by Maciej Stachowiak.
2798
2799         Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
2800         as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
2801         https://bugs.webkit.org/show_bug.cgi?id=28247
2802
2803         Test: fast/events/keydown-numpad-keys.html
2804
2805         * platform/mac/KeyEventMac.mm:
2806         (WebCore::isKeypadEvent):
2807
2808 2009-12-28  Mike Moretti  <webkit9@mordent.com>
2809
2810         Reviewed by Darin Adler.
2811
2812         Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string
2813
2814         Test: fast/dom/insert-span-into-long-text-bug-28245.html
2815
2816         * rendering/RenderBlockLineLayout.cpp:
2817         (WebCore::RenderBlock::findNextLineBreak):
2818
2819 2009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2820
2821         Rubber-stamped by Xan Lopez.
2822
2823         Follow Apple's decision to disable HTML DataGrid by default.
2824
2825         * GNUmakefile.am:
2826
2827 2009-12-28  Gustavo Noronha Silva  <gns@gnome.org>
2828
2829         Reviewed by Ariya Hidayat.
2830
2831         Fix warnings when generating files using gperf. The warnings are
2832         currently harmless, but some changes in the build system may make
2833         them fatal.
2834
2835         [GTK] Build time must be reduced
2836         https://bugs.webkit.org/show_bug.cgi?id=32921
2837
2838         * GNUmakefile.am:
2839
2840 2009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2841
2842         Reviewed by Adam Barth.
2843
2844         [Qt] Fix build break for Qt 4.4
2845         https://bugs.webkit.org/show_bug.cgi?id=30327
2846
2847         No new tests, as there is no new functionality.
2848
2849         * platform/graphics/qt/GraphicsContextQt.cpp:
2850         (WebCore::GraphicsContext::clipOut): Use intersected() instead of
2851         operator &, which was only introduced in Qt version 4.5.
2852
2853         * platform/qt/ScrollbarThemeQt.cpp:
2854         (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
2855         argument to fillColor() introduced in r50760
2856
2857 2009-12-28  Kent Tamura  <tkent@chromium.org>
2858
2859         Reviewed by Maciej Stachowiak.
2860
2861         Implement HTML5 <article> element.
2862         https://bugs.webkit.org/show_bug.cgi?id=32936
2863
2864         <article> should behave the same as <nav> and <section>.
2865
2866         Test: fast/html/article-element.html
2867
2868         * css/html.css: Add article as a block element.
2869         * editing/htmlediting.cpp:
2870         (WebCore::validBlockTag): Add articleTag.
2871         * html/HTMLElement.cpp:
2872         (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
2873         (WebCore::blockTagList): Add articleTag.
2874         * html/HTMLParser.cpp:
2875         (WebCore::HTMLParser::getNode): Add articleTag.
2876         * html/HTMLTagNames.in: Add article.
2877
2878 2009-12-27  Jakub Wieczorek  <faw217@gmail.com>
2879
2880         Reviewed by Eric Seidel.
2881
2882         [Qt] Support upload progress events in XMLHttpRequest
2883         https://bugs.webkit.org/show_bug.cgi?id=32969
2884
2885         Make QNetworkReplyHandler report the upload progress to the client.
2886
2887         Already covered by tests:
2888         http/tests/xmlhttprequest/upload-onload-event.html
2889         http/tests/xmlhttprequest/upload-onloadstart-event.html
2890         http/tests/xmlhttprequest/upload-progress-events.html
2891         http/tests/xmlhttprequest/upload-onprogress-event.html
2892
2893         which have been unskipped.
2894
2895         * platform/network/qt/QNetworkReplyHandler.cpp:
2896         (WebCore::QNetworkReplyHandler::uploadProgress):
2897         (WebCore::QNetworkReplyHandler::start):
2898         * platform/network/qt/QNetworkReplyHandler.h:
2899
2900 2009-12-27  Dirk Schulze  <krit@webkit.org>
2901
2902         Reviewed by Nikolas Zimmermann.
2903
2904         SVG: Stop rendering of objects with empty mask and filter content
2905         https://bugs.webkit.org/show_bug.cgi?id=32968
2906
2907         It's not neccessary to continue rendering of an object and its' childs
2908         if the mask clips the complete content away.
2909         The same for filters, if the filter rendering is discontinued or either
2910         width or height are zero.
2911         We might also stop rendering if repaintRectInLocalCoordinates is empty.
2912         But it needs to be fixed first.
2913
2914         Test: svg/custom/empty-mask.svg
2915
2916         * rendering/RenderPath.cpp:
2917         (WebCore::RenderPath::paint):
2918         * rendering/RenderSVGContainer.cpp:
2919         (WebCore::RenderSVGContainer::paint):
2920         * rendering/RenderSVGImage.cpp:
2921         (WebCore::RenderSVGImage::paint):
2922         * rendering/RenderSVGRoot.cpp:
2923         (WebCore::RenderSVGRoot::paint):
2924         * rendering/SVGRenderSupport.cpp:
2925         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2926         * rendering/SVGRenderSupport.h:
2927         * rendering/SVGRootInlineBox.cpp:
2928         (WebCore::SVGRootInlineBox::paint):
2929         * svg/SVGMaskElement.cpp:
2930         (WebCore::SVGMaskElement::drawMaskerContent):
2931         * svg/SVGMaskElement.h:
2932         * svg/graphics/SVGResourceFilter.cpp:
2933         (WebCore::SVGResourceFilter::prepareFilter):
2934         (WebCore::SVGResourceFilter::applyFilter):
2935         * svg/graphics/SVGResourceFilter.h:
2936         * svg/graphics/SVGResourceMasker.cpp:
2937         (WebCore::SVGResourceMasker::SVGResourceMasker):
2938         (WebCore::SVGResourceMasker::applyMask):
2939         * svg/graphics/SVGResourceMasker.h:
2940
2941 2009-12-27  Christian Dywan  <christian@twotoasts.de>
2942
2943         Reviewed by Eric Seidel.
2944
2945         [GTK] Spell Check Suggestions (Do not work)
2946         https://bugs.webkit.org/show_bug.cgi?id=30908
2947
2948         * platform/gtk/ContextMenuItemGtk.cpp:
2949         (WebCore::ContextMenuItem::ContextMenuItem):
2950         (WebCore::ContextMenuItem::title):
2951         (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
2952         and set the title from the native menu item.
2953
2954 2009-12-27  Dirk Schulze  <krit@webkit.org>
2955
2956         Reviewed by Nikolas Zimmermann.
2957
2958         SVG Mask result wrong, if two different objects call the same mask id
2959         https://bugs.webkit.org/show_bug.cgi?id=32787
2960
2961         At the moment we create one resource per maskId. Some resources (like mask)
2962         create ImageBuffers and depends on the properties of the RenderObject,
2963         thus we can't use it for a second object.
2964         This patch stores multiple mask resources for one maskId and different
2965         RenderObject can use the same maskId.
2966         Clipper, Filter and Patterns also need to store multiple resources later.
2967
2968         Test: svg/custom/mask-on-multiple-objects.svg
2969
2970         * rendering/RenderPath.cpp:
2971         (WebCore::RenderPath::drawMarkersIfNeeded):
2972         * rendering/RenderSVGContainer.cpp:
2973         (WebCore::RenderSVGContainer::selfWillPaint):
2974         * rendering/RenderSVGGradientStop.cpp:
2975         (WebCore::RenderSVGGradientStop::styleDidChange):
2976         * rendering/RenderSVGRoot.cpp:
2977         (WebCore::RenderSVGRoot::selfWillPaint):
2978         * rendering/SVGRenderSupport.cpp:
2979         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2980         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2981         * rendering/SVGRenderTreeAsText.cpp:
2982         (WebCore::writeRenderResources):
2983         * svg/SVGClipPathElement.cpp:
2984         (WebCore::SVGClipPathElement::canvasResource):
2985         * svg/SVGClipPathElement.h:
2986         * svg/SVGFilterElement.cpp:
2987         (WebCore::SVGFilterElement::canvasResource):
2988         * svg/SVGFilterElement.h:
2989         * svg/SVGGradientElement.cpp:
2990         (WebCore::SVGGradientElement::canvasResource):
2991         * svg/SVGGradientElement.h:
2992         * svg/SVGMarkerElement.cpp:
2993         (WebCore::SVGMarkerElement::canvasResource):
2994         * svg/SVGMarkerElement.h:
2995         * svg/SVGMaskElement.cpp:
2996         (WebCore::SVGMaskElement::svgAttributeChanged):
2997         (WebCore::SVGMaskElement::childrenChanged):
2998         (WebCore::SVGMaskElement::canvasResource):
2999         * svg/SVGMaskElement.h:
3000         * svg/SVGPatternElement.cpp:
3001         (WebCore::SVGPatternElement::canvasResource):
3002         * svg/SVGPatternElement.h:
3003         * svg/SVGStyledElement.cpp:
3004         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
3005         * svg/SVGStyledElement.h:
3006         (WebCore::SVGStyledElement::canvasResource):
3007         * svg/graphics/SVGPaintServer.cpp:
3008         (WebCore::getPaintServerById):
3009         (WebCore::SVGPaintServer::fillPaintServer):
3010         (WebCore::SVGPaintServer::strokePaintServer):
3011         * svg/graphics/SVGPaintServer.h:
3012         * svg/graphics/SVGResource.cpp:
3013         (WebCore::getResourceById):
3014         * svg/graphics/SVGResource.h:
3015         * svg/graphics/SVGResourceClipper.cpp:
3016         (WebCore::getClipperById):
3017         * svg/graphics/SVGResourceClipper.h:
3018         * svg/graphics/SVGResourceFilter.cpp:
3019         (WebCore::getFilterById):
3020         * svg/graphics/SVGResourceFilter.h:
3021         * svg/graphics/SVGResourceMarker.cpp:
3022         (WebCore::getMarkerById):
3023         * svg/graphics/SVGResourceMarker.h:
3024         * svg/graphics/SVGResourceMasker.cpp:
3025         (WebCore::getMaskerById):
3026         * svg/graphics/SVGResourceMasker.h:
3027
3028 2009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3029
3030         Reviewed by Dirk Schulze.
3031
3032         Cleanup RenderPath code, related to markers. Pass around
3033         PaintInfo objects instead of GraphicsContext directly, to
3034         avoid having to recreate a new PaintInfo object in
3035         SVGResourceMarker::draw().
3036
3037         No layout test changes.
3038
3039         * rendering/RenderPath.cpp:
3040         (WebCore::RenderPath::paint):
3041         (WebCore::DrawMarkersData::DrawMarkersData):
3042         (WebCore::drawMarkerWithData):
3043         (WebCore::drawStartAndMidMarkers):
3044         (WebCore::RenderPath::drawMarkersIfNeeded):
3045         * rendering/RenderPath.h:
3046         * svg/graphics/SVGResourceMarker.cpp:
3047         (WebCore::SVGResourceMarker::draw):
3048         * svg/graphics/SVGResourceMarker.h:
3049
3050 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
3051
3052         Reviewed by Eric Seidel.
3053
3054         WinCE buildfix (added missing header)
3055
3056         * platform/text/wince/TextBreakIteratorWince.cpp:
3057
3058 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
3059
3060         Reviewed by Eric Seidel.
3061
3062         Buildfix after r50760 and some style fixes.
3063
3064         * rendering/RenderThemeWince.cpp:
3065         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
3066         (WebCore::RenderThemeWince::paintSliderTrack):
3067         (WebCore::RenderThemeWince::paintSliderThumb):
3068         (WebCore::RenderThemeWince::paintMediaMuteButton):
3069         (WebCore::RenderThemeWince::paintMediaPlayButton):
3070
3071 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
3072
3073         Reviewed by Adam Barth.
3074
3075         WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)
3076
3077         * platform/wince/MIMETypeRegistryWince.cpp:
3078         * platform/wince/SearchPopupMenuWince.cpp:
3079         * platform/wince/SharedTimerWince.cpp:
3080         (WebCore::initializeOffScreenTimerWindow):
3081
3082 2009-12-26  Eric Seidel  <eric@webkit.org>
3083
3084         No review, rolling out r52554.
3085         http://trac.webkit.org/changeset/52554
3086
3087         https://bugs.webkit.org/show_bug.cgi?id=32955
3088         The original change was covered under
3089         https://bugs.webkit.org/show_bug.cgi?id=32913
3090
3091         r52554 was itself a rollout of r52536.
3092         However it caused two layout tests to fail on Leopard:
3093         storage/open-database-while-transaction-in-progress.html
3094         svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)
3095
3096         So I'm rolling out the rollout in an attempt to get the bots green.
3097         r52554 did not explain why it was rolled out, so I do not know
3098         what might fail for Chromium after this change.  I warned the folks
3099         in #chromium that it was coming.
3100
3101         * storage/Database.cpp:
3102         (WebCore::Database::openDatabase):
3103         (WebCore::Database::Database):
3104         (WebCore::Database::performOpenAndVerify):
3105
3106 2009-12-26  Dan Bernstein  <mitz@apple.com>
3107
3108         Reviewed by Sam Weinig.
3109
3110         <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
3111         https://bugs.webkit.org/show_bug.cgi?id=32690
3112
3113         Test: fast/block/float/clear-to-fit.html
3114
3115         * rendering/RenderBlock.cpp:
3116         (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
3117         fit the child on the line.
3118
3119 2009-12-25  Kent Tamura  <tkent@chromium.org>
3120
3121         Reviewed by Darin Adler.
3122
3123         Implement HTML5 section element.
3124         https://bugs.webkit.org/show_bug.cgi?id=32936
3125
3126         <section> should behave the same as <nav>.
3127
3128         Test: fast/html/section-element.html
3129
3130         * css/html.css: Add section as a block element.
3131         * editing/htmlediting.cpp:
3132         (WebCore::validBlockTag): Add sectionTag.
3133         * html/HTMLElement.cpp:
3134         (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
3135         (WebCore::blockTagList): Add sectionTag.
3136         * html/HTMLParser.cpp:
3137         (WebCore::HTMLParser::getNode): Add sectionTag.
3138         * html/HTMLTagNames.in: Add section.
3139
3140 2009-12-25  Daniel Bates  <dbates@webkit.org>
3141
3142         Reviewed by Adam Barth.
3143
3144         https://bugs.webkit.org/show_bug.cgi?id=32938
3145
3146         Cleans up XSSAuditor.
3147
3148         Currently, we pass various parameters through to XSSAuditor::findInRequest
3149         that are used to determine how to decode the HTTP input parameters so that
3150         we can perform a match against the script source. Instead, we have defined
3151         a structure XSSAuditor::FindTask that can hold all of these parameters.
3152
3153         No functionality was changed. So, no new tests.
3154
3155         * page/XSSAuditor.cpp:
3156         (WebCore::XSSAuditor::canEvaluate): Modified to use struct
3157         XSSAuditor::FindTask.
3158         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
3159         (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
3160         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
3161         (WebCore::XSSAuditor::canLoadObject): Ditto.
3162         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
3163         (WebCore::XSSAuditor::findInRequest): Ditto.
3164         * page/XSSAuditor.h:
3165         (WebCore::XSSAuditor::FindTask::FindTask): Added.
3166
3167 2009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3168
3169         Reviewed by Dirk Schulze.
3170
3171         DOMWindow is missing lots of SVG* constructor objects
3172         https://bugs.webkit.org/show_bug.cgi?id=20430
3173
3174         Expose all implemented SVG 1.1 constructors.
3175
3176         Test: svg/custom/global-constructors.js
3177
3178         * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
3179         * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
3180         * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
3181         * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
3182         * svg/SVGAnimatedPoints.idl: Ditto.
3183
3184 2009-12-25  Alexander Pavlov  <apavlov@chromium.org>
3185
3186         Reviewed by Pavel Feldman.
3187
3188         AuditsPanel for Web Inspector (hidden, no preset audits).
3189
3190         https://bugs.webkit.org/show_bug.cgi?id=31665
3191
3192         * English.lproj/localizedStrings.js:
3193         * WebCore.gypi:
3194         * WebCore.vcproj/WebCore.vcproj:
3195         * inspector/front-end/AuditLauncherView.js: Added.
3196         (WebInspector.AuditLauncherView.categorySortFunction):
3197         (WebInspector.AuditLauncherView):
3198         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
3199         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
3200         (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
3201         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
3202         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
3203         (WebInspector.AuditLauncherView.prototype._categoryClicked):
3204         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
3205         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
3206         (WebInspector.AuditLauncherView.prototype._updateButton):
3207         (WebInspector.AuditLauncherView.prototype.resize):
3208         * inspector/front-end/AuditResultView.js: Added.
3209         (WebInspector.AuditResultView.entrySortFunction):
3210         (WebInspector.AuditResultView):
3211         (WebInspector.AuditCategoryResultPane):
3212         (WebInspector.AuditRuleResultPane):
3213         (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
3214         (WebInspector.AuditRuleResultChildSection):
3215         (WebInspector.AuditRuleResultChildSection.prototype.set title):
3216         (WebInspector.AuditRuleResultChildSection.prototype.expand):
3217         * inspector/front-end/AuditsPanel.js: Added.
3218         (WebInspector.AuditsPanel):
3219         (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
3220         (WebInspector.AuditsPanel.prototype.get statusBarItems):
3221         (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
3222         (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
3223         (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
3224         (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
3225         (WebInspector.AuditsPanel.prototype.get categoriesById):
3226         (WebInspector.AuditsPanel.prototype.get visibleView):
3227         (WebInspector.AuditsPanel.prototype._constructCategories):
3228         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
3229         (WebInspector.AuditsPanel.prototype._executeAudit):
3230         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
3231         (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback):
3232         (WebInspector.AuditsPanel.prototype.initiateAudit):
3233         (WebInspector.AuditsPanel.prototype._reloadResources):
3234         (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
3235         (WebInspector.AuditsPanel.prototype.showResults):
3236         (WebInspector.AuditsPanel.prototype.showLauncherView):
3237         (WebInspector.AuditsPanel.prototype.showView):
3238         (WebInspector.AuditsPanel.prototype.show):
3239         (WebInspector.AuditsPanel.prototype.attach):
3240         (WebInspector.AuditsPanel.prototype.resize):
3241         (WebInspector.AuditsPanel.prototype.updateMainViewWidth):
3242         (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
3243         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
3244         (WebInspector.AuditsPanel.prototype._closeVisibleView):
3245         (WebInspector.AuditCategory):
3246         (WebInspector.AuditCategory.prototype.get id):
3247         (WebInspector.AuditCategory.prototype.get displayName):
3248         (WebInspector.AuditCategory.prototype.get ruleCount):
3249         (WebInspector.AuditCategory.prototype.addRule):
3250         (WebInspector.AuditCategory.prototype.runRules):
3251         (WebInspector.AuditRule):
3252         (WebInspector.AuditRule.prototype.get id):
3253         (WebInspector.AuditRule.prototype.get displayName):
3254         (WebInspector.AuditRule.prototype.run):
3255         (WebInspector.AuditRule.prototype.doRun):
3256         (WebInspector.AuditRule.prototype.getValue):
3257         (WebInspector.AuditCategoryResult):
3258         (WebInspector.AuditCategoryResult.prototype.addEntry):
3259         (WebInspector.AuditRuleResult):
3260         (WebInspector.AuditRuleResult.prototype.appendChild):
3261         (WebInspector.AuditRuleResult.prototype.set type):
3262         (WebInspector.AuditRuleResult.prototype.get type):
3263         (WebInspector.AuditsSidebarTreeElement):
3264         (WebInspector.AuditsSidebarTreeElement.prototype.onattach):
3265         (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
3266         (WebInspector.AuditsSidebarTreeElement.prototype.get selectable):
3267         (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
3268         (WebInspector.AuditResultSidebarTreeElement):
3269         (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
3270         (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
3271         * inspector/front-end/WebKit.qrc:
3272         * inspector/front-end/audits.css: Added.
3273         * inspector/front-end/inspector.html:
3274         * inspector/front-end/inspector.js:
3275         (WebInspector._createPanels):
3276         (WebInspector.updateResource):
3277
3278 2009-12-25  Pavel Feldman  <pfeldman@chromium.org>
3279
3280         Reviewed by Timothy Hatcher.
3281
3282         Web Inspector: Implement Edit Inner HTML action.
3283
3284         https://bugs.webkit.org/show_bug.cgi?id=32924
3285
3286         * English.lproj/localizedStrings.js:
3287         * bindings/js/JSInjectedScriptHostCustom.cpp:
3288         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
3289         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3290         (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback):
3291         * inspector/InjectedScriptHost.cpp:
3292         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
3293         * inspector/InjectedScriptHost.h:
3294         * inspector/InjectedScriptHost.idl:
3295         * inspector/InspectorDOMAgent.h:
3296         * inspector/front-end/ElementsPanel.js:
3297         (WebInspector.ElementsPanel.prototype.show):
3298         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon):
3299         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
3300         * inspector/front-end/ElementsTreeOutline.js:
3301         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3302         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
3303         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
3304         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
3305         ():
3306         * inspector/front-end/InjectedScript.js:
3307         (InjectedScript.getNodePropertyValue):
3308         (InjectedScript.setOuterHTML):
3309         (InjectedScript.performSearch.addNodesToResults):
3310         (InjectedScript._inspectObject):
3311         (InjectedScript._copy):
3312         (InjectedScript.pushNodeToFrontend):
3313         * inspector/front-end/InjectedScriptAccess.js:
3314         * inspector/front-end/InspectorFrontendHostStub.js:
3315         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
3316         (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading):
3317         * inspector/front-end/inspector.css:
3318         * inspector/front-end/inspector.js:
3319         (WebInspector.startEditing.keyDownEventListener):
3320         (WebInspector.startEditing):
3321
3322 2009-12-24  Dan Bernstein  <mitz@apple.com>
3323
3324         Reviewed by Timothy Hatcher.
3325
3326         Web Inspector: Console should force long URLs to wrap
3327         https://bugs.webkit.org/show_bug.cgi?id=32927
3328
3329         * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to
3330         the #console-messages rule.
3331
3332 2009-12-24  Shinichiro Hamaji  <hamaji@chromium.org>
3333
3334         Unreviewed Chromium test fix by reverting r52536.
3335
3336         Do not a new Database pointer to any structure until its version has been verified
3337         https://bugs.webkit.org/show_bug.cgi?id=32913
3338
3339         * storage/Database.cpp:
3340         (WebCore::Database::openDatabase):
3341         (WebCore::Database::Database):
3342         (WebCore::Database::performOpenAndVerify):
3343
3344 2009-12-24  Jessie Berlin  <jberlin@webkit.org>
3345
3346         Reviewed by Dan Bernstein.
3347
3348         Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis
3349         should not show cut off text
3350         https://bugs.webkit.org/show_bug.cgi?id=29968
3351
3352         Also fixes the issue on both Mac OS X and Windows where the highlight
3353         would extend only partway into the ellipsis based on the size of the
3354         characters being truncated.
3355
3356         Test: editing/selection/select-text-overflow-ellipsis.html
3357
3358         * rendering/EllipsisBox.cpp:
3359         (WebCore::EllipsisBox::paint):
3360         When the ellipsis have been selected, paints them with the color for
3361         selected text.
3362         (WebCore::EllipsisBox::selectionRect):
3363         Returns the selection rect for the ellipsis text.
3364         (WebCore::EllipsisBox::paintSelection):
3365         Paints the selection highlight around the ellipsis text.
3366
3367         * rendering/EllipsisBox.h:
3368         (WebCore::EllipsisBox::EllipsisBox):
3369         Default the selection state of the EllipsisBox to SelectionNone.
3370         (WebCore::EllipsisBox::setSelectionState):
3371         Allow the selection state to be explicitly set by the InlineTextBox
3372         that it is associated with, since the selection state depends on the
3373         position of the selection within the truncated text.
3374         (WebCore::EllipsisBox::selectionState):
3375         Return the cached selection state.
3376         
3377         * rendering/InlineTextBox.cpp:
3378         (WebCore::InlineTextBox::selectionState):
3379         If the text is truncated and the selection extends into the truncation
3380         where there are ellipsis, set the selection state on the EllipsisBox.
3381         (WebCore::paintTextWithShadows):
3382         Allow for an upper bound to be specified on the maximum length of the
3383         text to be painted.
3384         (WebCore::InlineTextBox::paint):
3385         Make sure the text that is drawn gets appropriately truncated. This was
3386         not an issue before on Mac OS X because it wasn't necessary to draw the
3387         selected text separately (the selected text had the same color as the
3388         non-selected text).
3389         (WebCore::InlineTextBox::paintSelection):
3390         If the text is being truncated, let whatever is being painted in the
3391         space after the truncated text paint its own highlight. 
3392         
3393         * rendering/InlineTextBox.h:
3394         (WebCore::InlineTextBox::truncation):
3395         Allow RenderText to access the truncation status.
3396         
3397         * rendering/RenderText.cpp:
3398         (WebCore::RenderText::selectionRectForRepaint):
3399         Make sure that any ellipsis box that falls within the selection also
3400         gets repainted.
3401
3402 2009-12-24  Pavel Feldman  <pfeldman@chromium.org>
3403
3404         Reviewed by Timothy Hatcher.
3405
3406         Web Inspector: add Settings.js class that would manage
3407         frontend settings.
3408
3409         This change:
3410         - Splits preferences and settings
3411         - Pushes settings to the frontend on load
3412         - Stores settings on each change
3413         - Stores showInheritedStyles as setting.
3414
3415         https://bugs.webkit.org/show_bug.cgi?id=32832
3416
3417         * WebCore.gypi:
3418         * WebCore.vcproj/WebCore.vcproj:
3419         * inspector/InspectorBackend.cpp:
3420         (WebCore::InspectorBackend::saveFrontendSettings):
3421         * inspector/InspectorBackend.h:
3422         * inspector/InspectorBackend.idl:
3423         * inspector/InspectorController.cpp:
3424         (WebCore::InspectorController::populateScriptObjects):
3425         * inspector/InspectorController.h:
3426         * inspector/InspectorFrontend.cpp:
3427         (WebCore::InspectorFrontend::populateFrontendSettings):
3428         * inspector/InspectorFrontend.h:
3429         * inspector/InspectorFrontendHost.cpp:
3430         * inspector/InspectorFrontendHost.h:
3431         * inspector/InspectorFrontendHost.idl:
3432         * inspector/front-end/EventListenersSidebarPane.js:
3433         (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
3434         (WebInspector.EventListenersSidebarPane.prototype):
3435         ():
3436         * inspector/front-end/InspectorBackendStub.js:
3437         (.WebInspector.InspectorBackendStub):
3438         (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings):
3439         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
3440         * inspector/front-end/InspectorFrontendHostStub.js:
3441         (.WebInspector.InspectorFrontendHostStub):
3442         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
3443         * inspector/front-end/ResourcesPanel.js:
3444         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
3445         (WebInspector.ResourcesPanel.prototype._settingsLoaded):
3446         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
3447         (WebInspector.ResourcesPanel.prototype._setLargerResources):
3448         * inspector/front-end/ScriptsPanel.js:
3449         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3450         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
3451         * inspector/front-end/Settings.js: Added.
3452         (WebInspector.populateFrontendSettings):
3453         (WebInspector.Settings):
3454         (WebInspector.Settings.prototype._load):
3455         (WebInspector.Settings.prototype._installSetting):
3456         (WebInspector.Settings.prototype._get):
3457         (WebInspector.Settings.prototype._set):
3458         * inspector/front-end/StylesSidebarPane.js:
3459         (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
3460         (WebInspector.StylesSidebarPane.prototype.update):
3461         (WebInspector.StylesSidebarPane.prototype._changeSetting):
3462         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
3463         (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
3464         (WebInspector.StylePropertiesSection):
3465         * inspector/front-end/WatchExpressionsSidebarPane.js:
3466         (WebInspector.WatchExpressionsSidebarPane):
3467         (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
3468         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
3469         (WebInspector.WatchExpressionsSection):
3470         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
3471         * inspector/front-end/WebKit.qrc:
3472         * inspector/front-end/inspector.html:
3473         * inspector/front-end/inspector.js:
3474         (WebInspector.loaded):
3475
3476 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
3477
3478         Reviewed by Timothy Hatcher.
3479
3480         Web Inspector: [REGRESSION] console's clear command does not work.
3481
3482         https://bugs.webkit.org/show_bug.cgi?id=32897
3483
3484         Test: inspector/console-clear.html
3485
3486         * inspector/InjectedScriptHost.cpp:
3487         (WebCore::InjectedScriptHost::clearConsoleMessages):
3488         * inspector/InjectedScriptHost.h:
3489         * inspector/InjectedScriptHost.idl:
3490         * inspector/InspectorBackend.cpp:
3491         * inspector/InspectorBackend.h:
3492         * inspector/InspectorBackend.idl:
3493         * inspector/InspectorController.cpp:
3494         (WebCore::InspectorController::clearConsoleMessages):
3495         (WebCore::InspectorController::didCommitLoad):
3496         * inspector/InspectorController.h:
3497         * inspector/front-end/ConsoleView.js:
3498         (WebInspector.ConsoleView):
3499         (WebInspector.ConsoleView.prototype.requestClearConsoleMessages):
3500         (WebInspector.ConsoleView.prototype.clearConsoleMessages):
3501         (WebInspector.ConsoleView.prototype._clearButtonClicked):
3502         * inspector/front-end/InjectedScript.js:
3503         (InjectedScript.clearConsoleMessages):
3504         (InjectedScript._ensureCommandLineAPIInstalled):
3505         * inspector/front-end/InjectedScriptAccess.js:
3506         * inspector/front-end/inspector.js:
3507         (WebInspector.clearConsoleMessages):
3508         (WebInspector.reset):
3509
3510 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
3511
3512         Reviewed by Timothy Hatcher.
3513
3514         Web Inspector: Console dumps strings in escaped form.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=32488
3517
3518         * inspector/front-end/ConsoleView.js:
3519         (WebInspector.ConsoleMessage.prototype._formatIndividualValue):
3520
3521 2009-12-23  Alexey Proskuryakov  <ap@apple.com>
3522
3523         Reviewed by Darin Adler.
3524
3525         https://bugs.webkit.org/show_bug.cgi?id=32905
3526         With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion
3527
3528         Test: platform/mac/editing/input/selection-change-closes-typing.html
3529
3530         * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed
3531         to change selection, it needs to close the current typing command - otherwise, its idea of
3532         selection would be used for future typing.
3533
3534 2009-12-23  Yuta Kitamura  <yutak@chromium.org>
3535
3536         Reviewed by Eric Seidel.
3537
3538         PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image.
3539         
3540         This method should limit the current painting window to the bounds of the given
3541         image, but it did not. Due to this bug, unnecessary contents