2010-02-26 Robert Kroeger <rjkroege@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-26  Robert Kroeger  <rjkroege@chromium.org>
2
3         Reviewed by Nate Chapin
4
5         To fire each event handler registered on an SVG node once per
6         event, Chromium needs an implementation of wasCreatedFromMarkup
7         added to V8LazyEventListener.h that matches the one in
8         WebKit/WebCore/bindings/js/JSLazyEventListener.h.
9         
10         This patch adds such a matching implementation of wasCreatedFromMarkup
11         to V8LazyEventListener.h.
12         
13         https://bugs.webkit.org/show_bug.cgi?id=35325
14
15         * bindings/v8/V8LazyEventListener.h:
16         (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
17
18 2010-02-26  Arno Renevier  <arno@renevier.net>
19
20         Reviewed by Gustavo Noronha Silva.
21
22         [Gtk] use geoclue_position_get_position_async to get geolocation position.
23         https://bugs.webkit.org/show_bug.cgi?id=35355
24
25         No new tests, behaviour depends on system.
26
27         * platform/gtk/GeolocationServiceGtk.cpp:
28         (WebCore::GeolocationServiceGtk::startUpdating):
29         (WebCore::GeolocationServiceGtk::get_position):
30         * platform/gtk/GeolocationServiceGtk.h:
31
32 2010-02-26  Yaar Schnitman  <yaar@chromium.org>
33
34         Chromium Win build fix.
35
36         * WebCore.gyp/WebCore.gyp: Added missing file to action input.
37
38 2010-02-12  Brett Wilson  <brettw@chromium.org>
39
40         Reviewed by Adam Barth.
41
42         Update the Google-URL version of KURL and the V8 bindings to the new
43         behavior of KURL.IsStandard.
44
45         https://bugs.webkit.org/show_bug.cgi?id=34859
46
47         This is covered by fast/dom/Window/invalid-protocol.html
48
49         * bindings/v8/custom/V8LocationCustom.cpp:
50         (WebCore::V8Location::protocolAccessorSetter):
51         * platform/KURLGoogle.cpp:
52         (WebCore::KURL::setProtocol):
53         (WebCore::KURL::isHierarchical):
54
55 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
56
57         Reviewed by NOBODY (Build fix following r55312).
58
59         * bridge/qt/qt_pixmapruntime.cpp:
60         (JSC::Bindings::QtPixmapInstance::invokeMethod):
61
62 2010-02-26  Yaar Schnitman  <yaar@chromium.org>
63
64         Reviewed by Dimitri Glazkov.
65
66         [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
67         https://bugs.webkit.org/show_bug.cgi?id=33048
68
69         * WebCore.gyp/WebCore.gyp:
70         * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
71         * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
72
73 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
74
75         Reviewed by NOBODY (Build fix following r55312).
76
77         * bridge/qt/qt_pixmapruntime.cpp:
78         (JSC::Bindings::QtPixmapInstance::invokeMethod):
79
80 2010-02-26  Alexey Proskuryakov  <ap@apple.com>
81
82         Reviewed by Anders Carlsson.
83
84         https://bugs.webkit.org/show_bug.cgi?id=35450
85         Crash when a Java array property accessor raises an exception
86
87         Test: java/inaccessible-class.html
88
89         * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
90         is null before interpreting it as an object or array.
91
92 2010-02-26  Dirk Schulze  <krit@webkit.org>
93
94         Reviewed by Nikolas Zimmermann.
95
96         Extend AffineTransform to mapQuad
97         https://bugs.webkit.org/show_bug.cgi?id=35444
98
99         This makes mapQuad available for AffineTransform. So that platforms
100         can make use of it after the switch from TransformationMatrix to
101         AffineTransform in GraphicsContext.
102
103         * platform/graphics/transforms/AffineTransform.cpp:
104         (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the
105                                              boundingBox of the resulting FloatQuad.
106         (WebCore::AffineTransform::mapQuad):
107         * platform/graphics/transforms/AffineTransform.h:
108
109 2010-02-26  Brady Eidson  <beidson@apple.com>
110
111         Reviewed by Pavel Feldman.
112
113         Arrow keys do not scroll source view in Resources pane or Scripts pane.
114         <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356
115
116         Handle vertical scrolling in the Text Viewer:
117         * inspector/front-end/TextViewer.js:
118         (WebInspector.TextViewer): Listen for the keydown event.
119         (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers
120           to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line"
121           value in ScrollBar.h.
122
123 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
124
125         Reviewed by Alexey Proskuryakov.
126
127         Bug 35401 - Fix handling of errors in handling calls over bridge,
128         where base object bridge-type does not match method bridge-type.
129
130         The code assumes users will only attempt to invoke a Java method
131         on a Java base object, etc.
132         Add language specific subclasses of RuntimeMethod, and pass the
133         RuntimeMethod into invokeMethod, so we can typecheck before
134         casting.  Throw an exception on type mismatch.
135
136         * WebCore.base.exp:
137         * WebCore.xcodeproj/project.pbxproj:
138         * bridge/c/c_instance.cpp:
139         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
140         (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
141         (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
142         * bridge/c/c_instance.h:
143         * bridge/jni/jsc/JavaInstanceJSC.cpp:
144         (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
145         (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
146         (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
147         * bridge/jni/jsc/JavaInstanceJSC.h:
148         * bridge/jsc/BridgeJSC.h:
149         * bridge/objc/objc_instance.h:
150         * bridge/objc/objc_instance.mm:
151         (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
152         (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
153         (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
154         (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
155         * bridge/objc/objc_runtime.mm:
156         (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
157         * bridge/runtime_method.cpp:
158         (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
159         * bridge/runtime_object.cpp:
160         (JSC::RuntimeObject::methodGetter): use new getMethod method.
161
162 2010-02-26  Oliver Hunt  <oliver@apple.com>
163
164         Reviewed by Geoff Garen.
165
166         Make the lookup table generator include an explicit cast to expected
167         type of the function.  We do this because otherwise the blind intptr_t
168         cast that is subsequently applied allows incorrectly typed functions
169         to be inserted into the table, where they will only fail at runtime.
170         This change makes such errors produce a compile time failure.
171
172         * WebCore.xcodeproj/project.pbxproj:
173         * bindings/scripts/CodeGeneratorJS.pm:
174
175 >>>>>>> .r55317
176 2010-02-26  Alex Milowski  <alex@milowski.com>
177
178         Reviewed by Kenneth Rohde Christiansen.
179
180         Added basic support for the munder, munderover, and mover elements.
181
182         Tests: mathml/presentation/over.xhtml
183                mathml/presentation/under.xhtml
184                mathml/presentation/underover.xhtml
185
186         * WebCore.xcodeproj/project.pbxproj:
187         * mathml/MathMLInlineContainerElement.cpp:
188         (WebCore::MathMLInlineContainerElement::createRenderer):
189         * mathml/RenderMathMLUnderOver.cpp: Added.
190         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
191         (WebCore::RenderMathMLUnderOver::addChild):
192         (WebCore::getOffsetHeight):
193         (WebCore::RenderMathMLUnderOver::stretchToHeight):
194         (WebCore::RenderMathMLUnderOver::layout):
195         (WebCore::RenderMathMLUnderOver::baselinePosition):
196         (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
197         * mathml/RenderMathMLUnderOver.h: Added.
198         (WebCore::RenderMathMLUnderOver::hasBase):
199         (WebCore::RenderMathMLUnderOver::):
200
201 2010-02-24  Stephen White  <senorblanco@chromium.org>
202
203         Reviewed by Darin Adler.
204
205         This CL implements a simple ad-hoc parser for CSS rgb() values.
206         If it fails, it returns false and the normal lex/yacc parser will
207         be invoked.
208         
209         https://bugs.webkit.org/show_bug.cgi?id=35362
210
211         Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
212         and many more.
213
214         * css/CSSParser.cpp:
215         (WebCore::parseInt):
216         (WebCore::CSSParser::parseColor):
217
218 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
219
220         Reviewed by Kenneth Rohde Christiansen.
221
222         https://bugs.webkit.org/show_bug.cgi?id=35419
223         3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING
224         was enabled but not from run-time settings. Added run-time 
225         check that compositing is enabled.
226
227         * html/canvas/WebGLRenderingContext.cpp:
228         (WebCore::WebGLRenderingContext::markContextChanged):
229
230 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
231
232         Reviewed by Kenneth Rohde Christiansen.
233
234         Compilation failed because functions glSampleCoverage, glBlendEquation
235         and glActiveTexture were not available.
236         https://bugs.webkit.org/show_bug.cgi?id=35423
237
238         * platform/graphics/qt/GraphicsContext3DQt.cpp:
239         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
240         (WebCore::GraphicsContext3D::activeTexture):
241         (WebCore::GraphicsContext3D::blendEquation):
242         (WebCore::GraphicsContext3D::sampleCoverage):
243
244 2010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
245  
246          Reviewed by Kenneth Rohde Christiansen.
247
248          https://bugs.webkit.org/show_bug.cgi?id=35380
249          Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
250  
251          * css/MediaQueryEvaluator.cpp:
252          (WebCore::transform_3dMediaFeatureEval):
253
254 2010-02-26  Nicholas Young  <nicholas.young@nokia.com>
255
256         Reviewed by Tor Arne Vestbø.
257
258         [Qt] Incorrect painting after a size changed.
259         https://bugs.webkit.org/show_bug.cgi?id=35412
260
261         No new tests. Bug fix in backend.
262
263         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
264         (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
265
266 2010-02-26  Nicholas Young  <nicholas.young@nokia.com>
267
268         Reviewed by Tor Arne Vestbø.
269
270         [Qt] Incorrect handling of MIME types in Media Player
271         https://bugs.webkit.org/show_bug.cgi?id=35413
272
273         No new tests. Bug fix in backend.
274
275         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
276         (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
277
278 2010-02-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
279
280         Reviewed by Xan Lopez.
281
282         https://bugs.webkit.org/show_bug.cgi?id=35418
283         [Gtk] Every table, including layout tables, should be exposed as a table
284
285         This patch exposes layout tables as tables. (Addressing the problematic table
286         hierarchy remains to be done.)
287
288         * accessibility/gtk/AccessibilityObjectAtk.cpp:
289         (AccessibilityObject::accessibilityPlatformIncludesObject):
290         * accessibility/AccessibilityRenderObject.cpp:
291         (AccessibilityRenderObject::determineAccessibilityRole):
292
293 2010-02-26  Adam Barth  <abarth@webkit.org>
294
295         Reviewed by Darin Adler.
296
297         XSSAuditor is super super super slow
298         https://bugs.webkit.org/show_bug.cgi?id=35373
299
300         In this patch, we separate the decoding cache for the page's URL and
301         form data.  Previously, we used the same cache for both, which caused
302         us miss the cache every time when the page had form data (because the
303         cache only stored one entry).  When the form data is large, we were
304         wasting a lot of time canonicalizing.
305
306         * page/XSSAuditor.cpp:
307         (WebCore::XSSAuditor::findInRequest):
308         * page/XSSAuditor.h:
309
310 2010-02-26  Dirk Schulze  <krit@webkit.org>
311
312         Reviewed by Nikolas Zimmermann.
313
314         SVGResourceClipper needs to be moved to RenderSVGResourceClipper
315         https://bugs.webkit.org/show_bug.cgi?id=35421
316
317         Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes
318         of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement
319         and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are
320         more readable for clipPath's now. It's possible to see the unit type of clipper, as
321         well as it's childs instead of just one path.
322
323         * Android.mk:
324         * GNUmakefile.am:
325         * WebCore.vcproj/WebCore.vcproj:
326         * WebCore.xcodeproj/project.pbxproj:
327         * rendering/RenderSVGResource.h:
328         (WebCore::):
329         * rendering/RenderSVGResourceClipper.cpp: Added.
330         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
331         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
332         (WebCore::RenderSVGResourceClipper::invalidateClients):
333         (WebCore::RenderSVGResourceClipper::invalidateClient):
334         (WebCore::RenderSVGResourceClipper::applyResource):
335         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
336         * rendering/RenderSVGResourceClipper.h: Added.
337         (WebCore::RenderSVGResourceClipper::renderName):
338         (WebCore::RenderSVGResourceClipper::resourceType):
339         (WebCore::RenderSVGResourceClipper::clipPathUnits):
340         * rendering/SVGRenderSupport.cpp:
341         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
342         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
343         (WebCore::SVGRenderBase::deregisterFromResources):
344         * rendering/SVGRenderTreeAsText.cpp:
345         (WebCore::operator<<):
346         (WebCore::writeStyle):
347         (WebCore::writeSVGResource):
348         (WebCore::writeResources):
349         * svg/SVGClipPathElement.cpp:
350         (WebCore::SVGClipPathElement::svgAttributeChanged):
351         (WebCore::SVGClipPathElement::childrenChanged):
352         (WebCore::SVGClipPathElement::createRenderer):
353         * svg/SVGClipPathElement.h:
354         (WebCore::SVGClipPathElement::isValid):
355         * svg/SVGStyledElement.cpp:
356         (WebCore::SVGStyledElement::invalidateResources):
357         * svg/graphics/SVGResource.h:
358         (WebCore::):
359         (WebCore::SVGResource::isPaintServer):
360         (WebCore::SVGResource::isFilter):
361         (WebCore::SVGResource::isMarker):
362         * svg/graphics/SVGResourceClipper.cpp: Removed.
363         * svg/graphics/SVGResourceClipper.h: Removed.
364
365 2010-02-26  Ben Murdoch  <benm@google.com>
366
367         Reviewed by Kenneth Rohde Christiansen.
368
369         The element that a touchevent is dispatched to isn't always right
370         https://bugs.webkit.org/show_bug.cgi?id=35431
371
372         The element that touch events are dispatched on is not always the
373         correct one, as the cached m_touchEventTarget member is only updated
374         when the first element of the PlatformTouchEvent touch list is in the
375         TouchPressed state.
376
377         This patch changes this behavior to dispatch the event to the target
378         of the touch that caused the event to be generated and eliminates the
379         m_touchEventTarget in favour of using the touch target hashmap. It also
380         simplifies the way in which the touchTargets list is generated as we
381         no longer have m_touchEventTarget (which was used previously to build
382         the list). The new behavior matches the observed behavior of the
383         iPhone and Android.
384
385         * page/EventHandler.cpp:
386         (WebCore::assembleTargetTouches): Added. new function to build the
387             targetTouches list. Filters a list of touches (passed) about
388             another given touch.
389         (WebCore::EventHandler::handleTouchEvent): Remove the
390             m_touchEventTarget member, and simplify the generation of the
391             TouchLists that are bundled with the TouchEVent object. Dispatch
392             the event to the target of the touch that caused the event to be
393             fired.
394         * page/EventHandler.h: Remove m_touchEventTarget.
395
396 2010-02-26  Dirk Pranke  <dpranke@chromium.org>
397
398         Reviewed by Darin Fisher.
399
400         Fix the handling of updates to #hash fragments to check for differences
401         post-canonicalization rather than comparing pre- to post-. Chromium
402         had a bug where we would set the #hash on an about:blank URL and generate
403         an onload event because we thought the URL (not just the fragment) was
404         changing.
405
406         http://bugs.webkit.org/show_bug.cgi?id=35180
407
408         Test: fast/loader/about-blank-hash-change.html
409
410         * bindings/v8/custom/V8LocationCustom.cpp:
411         (WebCore::V8Location::hashAccessorSetter):
412
413 2010-02-26  Zhenyao Mo  <zmo@google.com>
414
415         Reviewed by David Levin.
416
417         texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
418         https://bugs.webkit.org/show_bug.cgi?id=34459
419
420         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
421
422         * html/canvas/WebGLRenderingContext.cpp:
423         (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data.
424         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
425         * platform/graphics/GraphicsContext3D.cpp:
426         (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha.
427         * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration.
428
429 2010-02-26  Zhenyao Mo  <zmo@google.com>
430
431         Reviewed by David Levin.
432
433         Set viewport to canvas size upon context creation
434         https://bugs.webkit.org/show_bug.cgi?id=35057
435
436         Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
437
438         * html/canvas/WebGLRenderingContext.cpp:
439         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
440
441 2010-02-26  Pavel Feldman  <pfeldman@chromium.org>
442
443         Not reviewed: touch InspectorController to force front-end deployment.
444
445         * inspector/InspectorController.cpp:
446
447 2010-02-26  Ilya Tikhonovsky  <loislo@chromium.org>
448
449         Reviewed by Pavel Feldman.
450
451         WebInspector: While the current timeline view in DevTools provides a great overview of
452         things happening, we should make it easier to locate the cause of an event,
453         e.g., link to JS where relevant.
454         Caller info support for all kind of Timeline events and new Function Call event will be added.
455         JSC can be patched the same way as it will be done for V8.
456
457         https://bugs.webkit.org/show_bug.cgi?id=33995
458
459         * bindings/js/ScriptCallStack.cpp:
460         (WebCore::ScriptCallStack::callLocation):
461         * bindings/js/ScriptCallStack.h:
462         * bindings/v8/ScriptCallStack.cpp:
463         (WebCore::ScriptCallStack::create):
464         (WebCore::ScriptCallStack::callLocation):
465         * bindings/v8/ScriptCallStack.h:
466         * bindings/v8/V8Proxy.cpp:
467         (WebCore::V8Proxy::callFunction):
468         * inspector/InspectorTimelineAgent.cpp:
469         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
470         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
471         (WebCore::InspectorTimelineAgent::willCallFunction):
472         (WebCore::InspectorTimelineAgent::didCallFunction):
473         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
474         * inspector/InspectorTimelineAgent.h:
475         (WebCore::):
476         (WebCore::InspectorTimelineAgent::instanceCount):
477         * inspector/TimelineRecordFactory.cpp:
478         (WebCore::TimelineRecordFactory::createGenericRecord):
479         (WebCore::TimelineRecordFactory::createFunctionCallData):
480         * inspector/TimelineRecordFactory.h:
481         * inspector/front-end/Popover.js:
482         (WebInspector.Popover.prototype.hideWhenClicked):
483         (WebInspector.Popover.prototype._positionElement):
484         * inspector/front-end/TimelineAgent.js:
485         * inspector/front-end/TimelinePanel.js:
486         (WebInspector.TimelinePanel):
487         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
488         (WebInspector.TimelinePanel.prototype._formatRecord):
489         (WebInspector.TimelinePanel.prototype._getRecordDetails):
490         (WebInspector.TimelinePanel.prototype.reset):
491         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
492         (WebInspector.TimelinePanel.prototype._onScroll):
493         (WebInspector.TimelinePanel.prototype._refresh):
494         (WebInspector.TimelinePanel.prototype._refreshRecords):
495         (WebInspector.TimelineRecordListRow):
496         (WebInspector.TimelineRecordListRow.prototype.update):
497         (WebInspector.TimelineRecordListRow.prototype._createCell):
498         (WebInspector.TimelineRecordListRow.prototype._createRow):
499         (WebInspector.TimelineRecordListRow.prototype._createLinkRow):
500         (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent):
501         (WebInspector.TimelineRecordListRow.prototype._onClick):
502         * inspector/front-end/WebKit.qrc:
503         * inspector/front-end/inspector.js:
504         (WebInspector.linkifyResourceAsNode):
505
506 2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>
507
508         Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
509         https://bugs.webkit.org/show_bug.cgi?id=30946
510
511         * editing/CompositeEditCommand.cpp:
512         (WebCore::isWhitespace):
513         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
514         * editing/InsertTextCommand.cpp:
515         (WebCore::InsertTextCommand::input):
516         * editing/InsertTextCommand.h:
517         * editing/htmlediting.cpp:
518         * editing/htmlediting.h:
519
520 2010-02-25  Mark Rowe  <mrowe@apple.com>
521
522         Reviewed by Brady Eidson.
523
524         <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
525
526         Null-check the document's page to avoid dereferencing a null page.
527
528         No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is
529         not testable from within DumpRenderTree.
530
531         * page/FocusController.cpp:
532         (WebCore::dispatchEventsOnWindowAndFocusedNode):
533
534 2010-02-25  Oliver Hunt  <oliver@apple.com>
535
536         Reviewed by Simon Fraser.
537
538         Multiple repaints on apple.com
539         https://bugs.webkit.org/show_bug.cgi?id=35409
540
541         apple.com was triggering the fast scaling path for background images due to
542         repeated repaints as more content came in.  This occured due to a two problems
543         in the logic to detect scaling.  The first is that the main context is flipped
544         on mac so fails the identity or translation check.  We work around this by adding
545         an function that allows the scaling for a flipped CTM.  The other problem was that
546         we were looking at the destination rect size instead of the destination tile size
547         when deciding if the size we were drawn at would cause scaling.
548
549         * platform/graphics/transforms/AffineTransform.h:
550         (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
551         * rendering/RenderBoxModelObject.cpp:
552         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
553         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
554
555 2010-02-25  Enrica Casucci  <enrica@apple.com>
556
557         Reviewed by Adele Peterson.
558
559         Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
560         https://bugs.webkit.org/show_bug.cgi?id=30946
561         <rdar://problem/7639184>
562
563         Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout.
564         This patch was originally made by Justin Garcia.
565         
566         Test: editing/inserting/rebalance-whitespace-1.html
567
568         * editing/CompositeEditCommand.cpp:
569         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here,
570         just pushed the code that determined the extent of whitespace surrounding a position
571         to its own helper function.
572         * editing/InsertTextCommand.cpp:
573         (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added.  Find 
574         whitespace surrounding the insertion position, add the text to insert, rebalance that entire
575         string, then insert it into the document.
576         (WebCore::InsertTextCommand::input):
577         * editing/InsertTextCommand.h:
578         * editing/htmlediting.cpp:
579         (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp.
580         (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper
581         function.  Obtains the offset of the start and end of whitespace around a particular position.
582         * editing/htmlediting.h:
583
584 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
585
586         Reviewed by Anders Carlsson.
587
588         https://bugs.webkit.org/show_bug.cgi?id=35406
589         <rdar://problem/6945502> Make generic array methods work with JavaArray
590
591         Test: java/array-sort.html
592
593         Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
594
595         * bridge/runtime_array.cpp:
596         (JSC::RuntimeArray::RuntimeArray):
597         (JSC::RuntimeArray::~RuntimeArray):
598         * bridge/runtime_array.h:
599         (JSC::RuntimeArray::classInfo):
600         (JSC::RuntimeArray::getConcreteArray):
601
602 2010-02-25  Dan Bernstein  <mitz@apple.com>
603
604         Reviewed by Alexey Proskuryakov.
605
606         Fixed a regression introduced in r44243, which made the assertion in checkListItems()
607         ineffective.
608
609         * dom/SelectElement.cpp:
610         (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it,
611         then assert that the newly-computed vector is equal to the copy.
612
613 2010-02-25  Dirk Schulze  <krit@webkit.org>
614
615         Reviewed by Nikolas Zimmermann.
616
617         SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
618         https://bugs.webkit.org/show_bug.cgi?id=35354
619
620         This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText
621         dependent on SVGBaseRenderer.
622         The SVG spec want as to use the object bounding box of the text root as the bounding box
623         for text-childs. So we search for the text root and use it's bounding box, stroke rect and
624         repaint rect for further calculations.
625
626         Test: svg/filters/filter-on-tspan.svg
627
628         * rendering/RenderSVGInline.cpp:
629         (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box.
630         (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect
631         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect
632         * rendering/RenderSVGInline.h:
633         (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now.
634         * rendering/RenderSVGTSpan.h:
635         (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers.
636         * rendering/SVGRenderSupport.cpp:
637         (WebCore::findTextRootObject): Search for the text root.
638         * rendering/SVGRenderSupport.h:
639         * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport
640
641 2010-02-25  Dirk Schulze  <krit@webkit.org>
642
643         Reviewed by Nikolas Zimmermann.
644
645         Use-element doesn't transform clipPath
646         https://bugs.webkit.org/show_bug.cgi?id=35375
647
648         If the use element is a child of clipPath, any settings on x, y or transform does not
649         transform the clipPath it references.
650         The use-element just misses this transformation in toClipPath.
651
652         Test: svg/custom/use-on-clip-path-with-transformation.svg
653
654         * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction.
655         (WebCore::Path::translate):
656         * svg/SVGUseElement.cpp:
657         (WebCore::SVGUseElement::toClipPath):
658
659 2010-02-25  Jian Li  <jianli@chromium.org>
660
661         Reviewed by Dmitry Titov.
662
663         File.type support.
664         https://bugs.webkit.org/show_bug.cgi?id=35361
665
666         Test: LayoutTests/editing/pasteboard/file-input-files-access.html
667
668         * html/File.cpp:
669         (WebCore::File::File):
670         * html/File.h:
671         (WebCore::File::type):
672         * html/File.idl:
673
674 2010-02-25  Alexander Pavlov  <apavlov@chromium.org>
675
676         Reviewed by Pavel Feldman.
677
678         Javascript console should not attempt to scroll to end of console if console is not visible
679
680         https://bugs.webkit.org/show_bug.cgi?id=22992
681
682         * inspector/front-end/ConsoleView.js:
683         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
684         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
685         (WebInspector.ConsoleView.prototype.addMessage):
686
687 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
688
689         Qt and Gtk build fixes.
690
691         * GNUmakefile.am:
692         * WebCore.pro:
693         Added CRuntimeObject.{c,cpp}.
694
695 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
696
697         Windows build fix.
698
699         * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
700
701 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
702
703         Reviewed by Geoffrey Garen.
704
705         https://bugs.webkit.org/show_bug.cgi?id=35394
706         <rdar://problem/7685262> Make passing objects between Java and plug-ins work
707
708         * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
709
710         * bridge/runtime_object.cpp:
711         (JSC::Bindings::callRuntimeObject):
712         (JSC::Bindings::callRuntimeConstructor):
713         Assert that a runtime object is passed as function.
714
715         * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
716         related classes.
717
718         * bridge/jni/jni_jsobject.mm:
719         (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when
720         constructing a string, but this function now takes it for the sake of Object.
721         (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not
722         just RuntimeObject.
723
724         * bridge/jni/jsc/JNIBridgeJSC.cpp:
725         (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
726         (JavaArray::setValueAt): Ditto.
727
728         * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument,
729         because one is needed to gcProtect an object ghtat is wrapped into JSObject.
730
731         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert
732         JavaScript objects to Java JSObject ones. This was already happening in other code paths,
733         which we should change to use common code.
734
735         * bridge/jni/jsc/JavaInstanceJSC.cpp:
736         (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass,
737         which is JavaRuntimeObject for Java.
738         (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects.
739
740         * WebCore.xcodeproj/project.pbxproj:
741         * bindings/objc/WebScriptObject.mm:
742         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
743         * bridge/c/CRuntimeObject.cpp: Added.
744         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
745         (JSC::Bindings::CRuntimeObject::~CRuntimeObject):
746         (JSC::Bindings::CRuntimeObject::getInternalCInstance):
747         * bridge/c/CRuntimeObject.h: Added.
748         (JSC::Bindings::CRuntimeObject::classInfo):
749         * bridge/c/c_instance.cpp:
750         (JSC::Bindings::CInstance::newRuntimeObject):
751         * bridge/c/c_instance.h:
752         * bridge/c/c_utility.cpp:
753         (JSC::Bindings::convertValueToNPVariant):
754         * bridge/jni/jsc/JavaInstanceJSC.h:
755         * bridge/jni/jsc/JavaRuntimeObject.cpp: Added.
756         (JSC::Bindings::):
757         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
758         (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject):
759         (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance):
760         * bridge/jni/jsc/JavaRuntimeObject.h: Added.
761         (JSC::Bindings::JavaRuntimeObject::classInfo):
762         * bridge/jsc/BridgeJSC.h:
763         * bridge/objc/ObjCRuntimeObject.h: Added.
764         (JSC::Bindings::ObjCRuntimeObject::classInfo):
765         * bridge/objc/ObjCRuntimeObject.mm: Added.
766         (JSC::Bindings::):
767         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
768         (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject):
769         (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance):
770         * bridge/objc/objc_instance.h:
771         * bridge/objc/objc_instance.mm:
772         (ObjcInstance::newRuntimeObject):
773         * bridge/objc/objc_runtime.mm:
774         (JSC::Bindings::callObjCFallbackObject):
775         * bridge/runtime_root.h:
776         Added RuntimeObject subclasses for each instance type, and use them for type casting.
777
778 2010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
779
780         Rubber-stamped by Xan Lopez.
781
782         Adopt the same string as the one that is expected by
783         fast/parser/fragment-parser.html for the description used by the
784         <isindex> element.
785
786         * platform/gtk/LocalizedStringsGtk.cpp:
787         (WebCore::searchableIndexIntroduction):
788
789 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
790
791         Reviewed by Timothy Hatcher.
792
793         Web Inspector: evaluate-on-hover does not work on HTML files.
794
795         https://bugs.webkit.org/show_bug.cgi?id=35378
796
797         * inspector/front-end/SourceCSSTokenizer.re2js:
798         * inspector/front-end/SourceHTMLTokenizer.js:
799         (WebInspector.SourceHTMLTokenizer):
800         (WebInspector.SourceHTMLTokenizer.prototype.set line):
801         (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
802         (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
803         (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
804         (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
805         (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
806         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
807         * inspector/front-end/SourceHTMLTokenizer.re2js:
808         * inspector/front-end/SourceJavaScriptTokenizer.js:
809         (WebInspector.SourceJavaScriptTokenizer):
810         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
811         * inspector/front-end/SourceTokenizer.js:
812         (WebInspector.SourceTokenizer.prototype.set condition):
813         (WebInspector.SourceTokenizer.prototype.get condition):
814         (WebInspector.SourceTokenizer.prototype.get subTokenizer):
815         (WebInspector.SourceTokenizer.prototype.getLexCondition):
816         (WebInspector.SourceTokenizer.prototype.setLexCondition):
817         * inspector/front-end/TextEditorHighlighter.js:
818         (WebInspector.TextEditorHighlighter):
819         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
820         (WebInspector.TextEditorHighlighter.prototype.highlight):
821         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
822         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
823         (WebInspector.TextEditorHighlighter.prototype._highlightLine):
824         * inspector/front-end/TextViewer.js:
825         (WebInspector.TextViewer.prototype._paintLine):
826
827 2010-02-25  Xan Lopez  <xlopez@igalia.com>
828
829         Reviewed by Gustavo Noronha.
830
831         Simple style cleanups.
832
833         * plugins/gtk/PluginViewGtk.cpp:
834         (WebCore::plugRemovedCallback):
835         (WebCore::plugAddedCallback):
836         (WebCore::PluginView::platformStart):
837
838 2010-02-25  Andreas Kling  <andreas.kling@nokia.com>
839
840         Reviewed by Darin Adler.
841
842         Optimize decoding of Latin-1 text by exploiting the fact that most of it will
843         be ASCII-only data.
844
845         https://bugs.webkit.org/show_bug.cgi?id=35233
846
847         * platform/text/TextCodecLatin1.cpp:
848         (WebCore::TextCodecLatin1::decode):
849
850 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
851
852         Reviewed by Dimitri Glazkov.
853
854         Web Inspector: make script lines count calculation lazy.
855
856         https://bugs.webkit.org/show_bug.cgi?id=35392
857
858         * inspector/front-end/Script.js:
859         (WebInspector.Script):
860         (WebInspector.Script.prototype.get linesCount):
861         * inspector/front-end/ScriptsPanel.js:
862         * inspector/front-end/SourceView.js:
863         (WebInspector.SourceView.prototype._addBreakpoint):
864
865 2010-02-25  James Choi  <jchoi42@pha.jhu.edu>
866
867         Reviewed by David Levin.
868
869         Change hardcoded gcc paths to be Solaris friendly
870         https://bugs.webkit.org/show_bug.cgi?id=35213
871
872         * bindings/scripts/CodeGeneratorObjC.pm:
873         * bindings/scripts/IDLParser.pm:
874         * css/make-css-file-arrays.pl:
875         * dom/make_names.pl:
876
877 2010-02-25  Xan Lopez  <xlopez@igalia.com>
878
879         Reviewed by Gustavo Noronha.
880
881         Workaround Java plugins not drawing themselves properly on first
882         expose by doing a late size-allocate after 'plug-added' has been
883         emitted on the embedding GtkSocket. It's unclear to me if this is
884         a bug in our side or theirs, but this should be pretty safe and
885         fixes the annoyance while we investigate it further.
886
887         * plugins/gtk/PluginViewGtk.cpp:
888         (WebCore::plugAddedCallback):
889         (WebCore::PluginView::platformStart):
890
891 2010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
892
893         Reviewed by Tor Arne Vestbø.
894
895         Add missing include guards
896
897         * loader/CrossOriginPreflightResultCache.h:
898         * loader/MainResourceLoader.h:
899
900 2010-02-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
901
902         Reviewed by Tor Arne Vestbø.
903
904         [Qt] Restrict the optimization flags for Symbian to release builds.
905
906         * WebCore.pro:
907
908 2010-02-25  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
909
910         Reviewed by Kenneth Rohde Christiansen.
911
912         Qt WebGL support
913
914         Adds GraphicsContext3D QtWebKit implementation.
915         https://bugs.webkit.org/show_bug.cgi?id=35153
916
917         * WebCore.pri:
918         * WebCore.pro:
919         * platform/graphics/GraphicsContext3D.h:
920         * platform/graphics/qt/GraphicsContext3DQt.cpp: Added.
921         (WebCore::GraphicsContext3DInternal::isValid):
922         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
923         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
924         (WebCore::GraphicsContext3DInternal::getProcAddress):
925         (WebCore::GraphicsContext3D::create):
926         (WebCore::GraphicsContext3D::GraphicsContext3D):
927         (WebCore::GraphicsContext3D::~GraphicsContext3D):
928         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
929         (WebCore::GraphicsContext3D::platformTexture):
930         (WebCore::GraphicsContext3D::makeContextCurrent):
931         (WebCore::GraphicsContext3D::beginPaint):
932         (WebCore::GraphicsContext3D::endPaint):
933         (WebCore::GraphicsContext3D::reshape):
934         (WebCore::GraphicsContext3D::activeTexture):
935         (WebCore::GraphicsContext3D::attachShader):
936         (WebCore::GraphicsContext3D::bindAttribLocation):
937         (WebCore::GraphicsContext3D::bindBuffer):
938         (WebCore::GraphicsContext3D::bindFramebuffer):
939         (WebCore::GraphicsContext3D::bindRenderbuffer):
940         (WebCore::GraphicsContext3D::bindTexture):
941         (WebCore::GraphicsContext3D::blendColor):
942         (WebCore::GraphicsContext3D::blendEquation):
943         (WebCore::GraphicsContext3D::blendEquationSeparate):
944         (WebCore::GraphicsContext3D::blendFunc):
945         (WebCore::GraphicsContext3D::blendFuncSeparate):
946         (WebCore::GraphicsContext3D::bufferData):
947         (WebCore::GraphicsContext3D::bufferSubData):
948         (WebCore::GraphicsContext3D::checkFramebufferStatus):
949         (WebCore::GraphicsContext3D::clearColor):
950         (WebCore::GraphicsContext3D::clear):
951         (WebCore::GraphicsContext3D::clearDepth):
952         (WebCore::GraphicsContext3D::clearStencil):
953         (WebCore::GraphicsContext3D::colorMask):
954         (WebCore::GraphicsContext3D::compileShader):
955         (WebCore::GraphicsContext3D::copyTexImage2D):
956         (WebCore::GraphicsContext3D::copyTexSubImage2D):
957         (WebCore::GraphicsContext3D::cullFace):
958         (WebCore::GraphicsContext3D::depthFunc):
959         (WebCore::GraphicsContext3D::depthMask):
960         (WebCore::GraphicsContext3D::depthRange):
961         (WebCore::GraphicsContext3D::detachShader):
962         (WebCore::GraphicsContext3D::disable):
963         (WebCore::GraphicsContext3D::disableVertexAttribArray):
964         (WebCore::GraphicsContext3D::drawArrays):
965         (WebCore::GraphicsContext3D::drawElements):
966         (WebCore::GraphicsContext3D::enable):
967         (WebCore::GraphicsContext3D::enableVertexAttribArray):
968         (WebCore::GraphicsContext3D::finish):
969         (WebCore::GraphicsContext3D::flush):
970         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
971         (WebCore::GraphicsContext3D::framebufferTexture2D):
972         (WebCore::GraphicsContext3D::frontFace):
973         (WebCore::GraphicsContext3D::generateMipmap):
974         (WebCore::GraphicsContext3D::getActiveAttrib):
975         (WebCore::GraphicsContext3D::getActiveUniform):
976         (WebCore::GraphicsContext3D::getAttribLocation):
977         (WebCore::GraphicsContext3D::getContextAttributes):
978         (WebCore::GraphicsContext3D::getError):
979         (WebCore::GraphicsContext3D::getString):
980         (WebCore::GraphicsContext3D::hint):
981         (WebCore::GraphicsContext3D::isBuffer):
982         (WebCore::GraphicsContext3D::isEnabled):
983         (WebCore::GraphicsContext3D::isFramebuffer):
984         (WebCore::GraphicsContext3D::isProgram):
985         (WebCore::GraphicsContext3D::isRenderbuffer):
986         (WebCore::GraphicsContext3D::isShader):
987         (WebCore::GraphicsContext3D::isTexture):
988         (WebCore::GraphicsContext3D::lineWidth):
989         (WebCore::GraphicsContext3D::linkProgram):
990         (WebCore::GraphicsContext3D::pixelStorei):
991         (WebCore::GraphicsContext3D::polygonOffset):
992         (WebCore::GraphicsContext3D::readPixels):
993         (WebCore::GraphicsContext3D::releaseShaderCompiler):
994         (WebCore::GraphicsContext3D::renderbufferStorage):
995         (WebCore::GraphicsContext3D::sampleCoverage):
996         (WebCore::GraphicsContext3D::scissor):
997         (WebCore::GraphicsContext3D::shaderSource):
998         (WebCore::GraphicsContext3D::stencilFunc):
999         (WebCore::GraphicsContext3D::stencilFuncSeparate):
1000         (WebCore::GraphicsContext3D::stencilMask):
1001         (WebCore::GraphicsContext3D::stencilMaskSeparate):
1002         (WebCore::GraphicsContext3D::stencilOp):
1003         (WebCore::GraphicsContext3D::stencilOpSeparate):
1004         (WebCore::GraphicsContext3D::texParameterf):
1005         (WebCore::GraphicsContext3D::texParameteri):
1006         (WebCore::GraphicsContext3D::uniform1f):
1007         (WebCore::GraphicsContext3D::uniform1fv):
1008         (WebCore::GraphicsContext3D::uniform2f):
1009         (WebCore::GraphicsContext3D::uniform2fv):
1010         (WebCore::GraphicsContext3D::uniform3f):
1011         (WebCore::GraphicsContext3D::uniform3fv):
1012         (WebCore::GraphicsContext3D::uniform4f):
1013         (WebCore::GraphicsContext3D::uniform4fv):
1014         (WebCore::GraphicsContext3D::uniform1i):
1015         (WebCore::GraphicsContext3D::uniform1iv):
1016         (WebCore::GraphicsContext3D::uniform2i):
1017         (WebCore::GraphicsContext3D::uniform2iv):
1018         (WebCore::GraphicsContext3D::uniform3i):
1019         (WebCore::GraphicsContext3D::uniform3iv):
1020         (WebCore::GraphicsContext3D::uniform4i):
1021         (WebCore::GraphicsContext3D::uniform4iv):
1022         (WebCore::GraphicsContext3D::uniformMatrix2fv):
1023         (WebCore::GraphicsContext3D::uniformMatrix3fv):
1024         (WebCore::GraphicsContext3D::uniformMatrix4fv):
1025         (WebCore::GraphicsContext3D::useProgram):
1026         (WebCore::GraphicsContext3D::validateProgram):
1027         (WebCore::GraphicsContext3D::vertexAttrib1f):
1028         (WebCore::GraphicsContext3D::vertexAttrib1fv):
1029         (WebCore::GraphicsContext3D::vertexAttrib2f):
1030         (WebCore::GraphicsContext3D::vertexAttrib2fv):
1031         (WebCore::GraphicsContext3D::vertexAttrib3f):
1032         (WebCore::GraphicsContext3D::vertexAttrib3fv):
1033         (WebCore::GraphicsContext3D::vertexAttrib4f):
1034         (WebCore::GraphicsContext3D::vertexAttrib4fv):
1035         (WebCore::GraphicsContext3D::vertexAttribPointer):
1036         (WebCore::GraphicsContext3D::viewport):
1037         (WebCore::GraphicsContext3D::getBooleanv):
1038         (WebCore::GraphicsContext3D::getBufferParameteriv):
1039         (WebCore::GraphicsContext3D::getFloatv):
1040         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1041         (WebCore::GraphicsContext3D::getIntegerv):
1042         (WebCore::GraphicsContext3D::getProgramiv):
1043         (WebCore::GraphicsContext3D::getProgramInfoLog):
1044         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1045         (WebCore::GraphicsContext3D::getShaderiv):
1046         (WebCore::GraphicsContext3D::getShaderInfoLog):
1047         (WebCore::GraphicsContext3D::getShaderSource):
1048         (WebCore::GraphicsContext3D::getTexParameterfv):
1049         (WebCore::GraphicsContext3D::getTexParameteriv):
1050         (WebCore::GraphicsContext3D::getUniformfv):
1051         (WebCore::GraphicsContext3D::getUniformiv):
1052         (WebCore::GraphicsContext3D::getUniformLocation):
1053         (WebCore::GraphicsContext3D::getVertexAttribfv):
1054         (WebCore::GraphicsContext3D::getVertexAttribiv):
1055         (WebCore::GraphicsContext3D::getVertexAttribOffset):
1056         (WebCore::GraphicsContext3D::texImage2D):
1057         (WebCore::GraphicsContext3D::texSubImage2D):
1058         (WebCore::GraphicsContext3D::createBuffer):
1059         (WebCore::GraphicsContext3D::createFramebuffer):
1060         (WebCore::GraphicsContext3D::createProgram):
1061         (WebCore::GraphicsContext3D::createRenderbuffer):
1062         (WebCore::GraphicsContext3D::createShader):
1063         (WebCore::GraphicsContext3D::createTexture):
1064         (WebCore::GraphicsContext3D::deleteBuffer):
1065         (WebCore::GraphicsContext3D::deleteFramebuffer):
1066         (WebCore::GraphicsContext3D::deleteProgram):
1067         (WebCore::GraphicsContext3D::deleteRenderbuffer):
1068         (WebCore::GraphicsContext3D::deleteShader):
1069         (WebCore::GraphicsContext3D::deleteTexture):
1070         (WebCore::GraphicsContext3D::sizeInBytes):
1071         (WebCore::GraphicsContext3D::synthesizeGLError):
1072         (WebCore::GraphicsContext3D::getImageData):
1073
1074 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
1075
1076         Reviewed by Timothy Hatcher.
1077
1078         Web Inspector: Swap images for activate and deactivate breakpoints.
1079
1080         https://bugs.webkit.org/show_bug.cgi?id=35383
1081
1082         * WebCore.gypi:
1083         * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png.
1084         * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png.
1085         * inspector/front-end/WebKit.qrc:
1086         * inspector/front-end/inspector.css:
1087
1088 2010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1089
1090         Reviewed by Xan Lopez.
1091
1092         Go back on symlink resolution if we are loading the flash plugin,
1093         and the path contains /netscape/, following what Chromium does.
1094
1095         Thanks to Evan Martin for the help on this!
1096
1097         * plugins/gtk/PluginPackageGtk.cpp:
1098         (WebCore::PluginPackage::load):
1099
1100 2010-02-25  Pavel Feldman  <pfeldman@chromium.org>
1101
1102         Reviewed by Timothy Hatcher.
1103
1104         Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=35232
1107
1108         * inspector/front-end/Panel.js:
1109         (WebInspector.Panel.prototype.canShowSourceLine):
1110         (WebInspector.Panel.prototype.showSourceLine):
1111         * inspector/front-end/ResourcesPanel.js:
1112         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
1113         (WebInspector.ResourcesPanel.prototype.showSourceLine):
1114         * inspector/front-end/Script.js:
1115         (WebInspector.Script):
1116         * inspector/front-end/ScriptView.js:
1117         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
1118         * inspector/front-end/ScriptsPanel.js:
1119         (WebInspector.ScriptsPanel.prototype.show):
1120         (WebInspector.ScriptsPanel.prototype.get searchableViews):
1121         (WebInspector.ScriptsPanel.prototype.addScript):
1122         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1123         (WebInspector.ScriptsPanel.prototype.addBreakpoint):
1124         (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
1125         (WebInspector.ScriptsPanel.prototype.reset):
1126         (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
1127         (WebInspector.ScriptsPanel.prototype.showSourceLine):
1128         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
1129         (WebInspector.ScriptsPanel.prototype.showView):
1130         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
1131         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1132         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
1133         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1134         * inspector/front-end/SourceView.js:
1135         (WebInspector.SourceView.prototype._addBreakpoint):
1136         * inspector/front-end/inspector.js:
1137         (WebInspector.documentClick.followLink):
1138         (WebInspector.documentClick):
1139         (WebInspector._choosePanelToShowSourceLine):
1140         (WebInspector.canShowSourceLine):
1141         (WebInspector.showSourceLine):
1142
1143 2010-02-25  Ben Murdoch  <benm@google.com>
1144
1145         Reviewed by Kenneth Rohde Christiansen.
1146
1147         The target element of a Touch should be the target where that touch originated, not where it is now.
1148         https://bugs.webkit.org/show_bug.cgi?id=34585
1149
1150         Currently the target of a touch is set to the resulting node of the hit test where the touch currently
1151         is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler
1152         to keep track of the target element when a touch is first started. This target is then used as the target
1153         for subsequent touches with the same id. This matches observed behavior on iPhone and Android.
1154
1155         Tests:
1156         fast/events/touch/touch-target.html: Added.
1157         fast/events/touch/basic-single-touch-events.html: Updated.
1158
1159         * page/EventHandler.cpp:
1160         (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap
1161             so that we can reuse that target for future events caused by that touch. This matches observed behavior
1162             on iPhone and Android.
1163         * page/EventHandler.h: Add hashmap as a member.
1164         * platform/PlatformTouchPoint.h:
1165         (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned.
1166         * platform/qt/PlatformTouchPointQt.cpp: 
1167         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API
1168             docs state that it will always be >= 0.
1169
1170 2010-02-24  Antonio Gomes  <tonikitoo@webkit.org>
1171
1172         Reviewed by Simon Fraser.
1173         Patch by Antonio Gomes <tonikitoo@webkit.org>
1174
1175         Add a convenient center() method to IntRect
1176         https://bugs.webkit.org/show_bug.cgi?id=35346
1177
1178         As it is a convenience method, and implemention is
1179         based on FloatRect's one, patch does not provide a
1180         layout test.
1181
1182         * platform/graphics/IntRect.h:
1183         (WebCore::IntRect::center):
1184
1185 2010-02-25  Andrey Kosyakov  <caseq@chromium.org>
1186
1187         Reviewed by Pavel Feldman.
1188
1189         Fake workers implementation that simulates workers using iframe and timer,
1190         needed to support workers debugging. Also, a facility to inject scripts into
1191         inspected page upon load.
1192         https://bugs.webkit.org/show_bug.cgi?id=35148
1193
1194         * WebCore.gypi:
1195         * WebCore.vcproj/WebCore.vcproj:
1196         * inspector/InspectorBackend.cpp:
1197         (WebCore::InspectorBackend::addScriptToEvaluateOnLoad):
1198         (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad):
1199         * inspector/InspectorBackend.h:
1200         * inspector/InspectorBackend.idl:
1201         * inspector/InspectorController.cpp:
1202         (WebCore::InspectorController::didCommitLoad):
1203         (WebCore::InspectorController::addScriptToEvaluateOnLoad):
1204         (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad):
1205         * inspector/InspectorController.h:
1206         * inspector/front-end/InjectedFakeWorker.js: Added.
1207         (InjectedFakeWorker.Worker):
1208         (InjectedFakeWorker.FakeWorker):
1209         (InjectedFakeWorker.FakeWorker.prototype.postMessage):
1210         (InjectedFakeWorker.FakeWorker.prototype.terminate):
1211         (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper):
1212         (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage):
1213         (InjectedFakeWorker.FakeWorker.prototype._handleException):
1214         (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
1215         (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler):
1216         (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
1217         (InjectedFakeWorker.FakeWorker.prototype._importScripts):
1218         (InjectedFakeWorker.FakeWorker.prototype._loadScript):
1219         (InjectedFakeWorker.URL):
1220         (InjectedFakeWorker.URL.prototype.urlRegEx.split):
1221         (InjectedFakeWorker.URL.prototype.mockLocation):
1222         (InjectedFakeWorker.URL.prototype.completeWith):
1223         (InjectedFakeWorker.URL.prototype.sameOrigin):
1224         (InjectedFakeWorker.DOMCoreException.formatError):
1225         (InjectedFakeWorker.DOMCoreException):
1226         (InjectedFakeWorker.noop):
1227         * inspector/front-end/InspectorBackendStub.js:
1228         (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
1229         (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad):
1230         (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad):
1231         * inspector/front-end/WebKit.qrc:
1232         * inspector/front-end/inspector.html:
1233
1234 2010-02-24  Nicholas Young  <nicholas.young@nokia.com>
1235
1236         Reviewed by Eric Carlson.
1237
1238         Add mediaPlayerOwningDocument() to MediaPlayerClient.
1239         https://bugs.webkit.org/show_bug.cgi?id=35374
1240
1241         No new tests. These are interface changes only.
1242
1243         * html/HTMLMediaElement.cpp:
1244         (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element.
1245         * html/HTMLMediaElement.h:
1246         * platform/graphics/MediaPlayer.h:
1247         (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method.
1248
1249 2010-02-24  Andreas Kling  <andreas.kling@nokia.com>
1250
1251         Reviewed by Kenneth Rohde Christiansen.
1252
1253         Optimized Font::normalizeSpaces() by caching the String::characters()
1254         instead of repeatedly calling operator[]
1255
1256         https://bugs.webkit.org/show_bug.cgi?id=35336
1257
1258         * platform/graphics/Font.cpp:
1259         (WebCore::Font::normalizeSpaces):
1260
1261 2010-02-24  Jungshik Shin  <jshin@chromium.org>
1262
1263         Reviewed by David Levin.
1264
1265         [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters
1266         https://bugs.webkit.org/show_bug.cgi?id=35319
1267
1268         No visible change in the layout test.
1269
1270         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
1271         (WebCore::):
1272
1273 2010-02-24  Anthony Ricaud  <rik@webkit.org>
1274
1275         Reviewed by Pavel Feldman.
1276
1277         Web Inspector: Reduce the timer to show the eval popover
1278         https://bugs.webkit.org/show_bug.cgi?id=35344
1279
1280         * inspector/front-end/SourceFrame.js:
1281         (WebInspector.SourceFrame.prototype._mouseMove):
1282
1283 2010-02-24  Jay Campan  <jcampan@google.com>
1284
1285         Reviewed by David Levin.
1286
1287         Don't show the autofill popup when the input text is disabled or read only.
1288
1289         Test: manual-tests/chromium/no-autofill-on-readonly.html
1290
1291         https://bugs.webkit.org/show_bug.cgi?id=35129
1292
1293         * src/EditorClientImpl.cpp:
1294         (WebKit::EditorClientImpl::autofill):
1295         *  manual-tests/chromium/no-autofill-on-readonly.html: Added.
1296
1297 2010-02-24  Dominic Mazzoni  <dmazzoni@chromium.org>
1298
1299         Reviewed by Jeremy Orlow.
1300
1301         Wraps includes of SVG headers so that it's possible to
1302         compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'.
1303         https://bugs.webkit.org/show_bug.cgi?id=35345
1304
1305         No new tests.
1306
1307         * bindings/v8/V8DOMWrapper.cpp:
1308         * bindings/v8/V8Proxy.cpp:
1309         * bindings/v8/custom/V8CSSValueCustom.cpp:
1310         * bindings/v8/custom/V8DocumentCustom.cpp:
1311         * bindings/v8/custom/V8ElementCustom.cpp:
1312         * bindings/v8/custom/V8EventCustom.cpp:
1313         * bindings/v8/custom/V8SVGElementCustom.cpp:
1314
1315 2010-02-24  Maciej Stachowiak  <mjs@apple.com>
1316
1317         Unreviewed build fix.
1318
1319         Fix gtk build.
1320
1321         Include JSC headers as runtime/ instead of JavaScriptCore/
1322
1323         * bindings/js/JSDOMWrapper.h:
1324         * bindings/js/ScriptWrappable.h:
1325
1326 2010-02-24  Maciej Stachowiak  <mjs@apple.com>
1327
1328         Reviewed by Oliver Hunt.
1329
1330         Cache JavaScript wrappers inline in DOM nodes
1331         https://bugs.webkit.org/show_bug.cgi?id=35226
1332
1333         <rdar://problem/7664202>
1334         
1335         7.4% speedup on Dromaeo DOM Core tests.
1336         2.3% speedup on Hixie DOM Core tests.
1337
1338         This fixes the following things from the last attempt:
1339         - Now builds in both debug and release and passes all tests
1340         - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable
1341         - Properly look in the appropriate per-document or per-world map
1342         - Added an assert that would have caught any of the problems I found
1343         - Handle clearing the inline cache properly in all cases
1344         
1345         * bindings/js/JSDOMBinding.cpp:
1346         (WebCore::cacheDOMObjectWrapper): Adjust for name changes.
1347         (WebCore::forgetDOMNode): Clear wrapper pointer.
1348         (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
1349         * bindings/js/JSDOMBinding.h:
1350         (WebCore::Document::getWrapperCache): Inlined.
1351         (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline.
1352         * bindings/js/JSDOMWrapper.h: Added.
1353         (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include
1354         cycle. I think the class should be renamed, I picked a forward-looking header name because
1355         we already have a DOMObject.h
1356         * bindings/js/JSNodeCustom.cpp:
1357         (WebCore::createWrapperInline): Renamed version of original createWrapper.
1358         (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
1359         (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
1360         * bindings/js/JSNodeCustom.h: Added.
1361         (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here,
1362         so it could inline everywhere without creating an include cycle. Consider inline
1363         cache.
1364         (WebCore::toJS): Moved to header to inline.
1365         * bindings/js/ScriptWrappable.h:
1366         (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
1367         way for JavaScriptCore. (Using a WeakGCPtr).
1368         (WebCore::ScriptWrappable::wrapper):
1369         (WebCore::ScriptWrappable::setWrapper):
1370         (WebCore::ScriptWrappable::clearWrapper):
1371         * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
1372         in the header, not just the impl file, so they can add inlining.
1373         * dom/Node.idl: Add CustomHeader directive.
1374         
1375         Add new files to build.
1376
1377         * GNUmakefile.am:
1378         * WebCore.gypi:
1379         * WebCore.pro:
1380         * WebCore.vcproj/WebCore.vcproj:
1381         * WebCore.xcodeproj/project.pbxproj:
1382
1383
1384 2010-02-24  Jochen Eisinger  <jochen@chromium.org>
1385
1386         Reviewed by Jeremy Orlow.
1387
1388         Expose Database object of currently active task on the database thread
1389         https://bugs.webkit.org/show_bug.cgi?id=35341
1390
1391         * storage/DatabaseThread.cpp:
1392         (WebCore::DatabaseThread::DatabaseThread):
1393         (WebCore::DatabaseThread::databaseThread):
1394         * storage/DatabaseThread.h:
1395         (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
1396
1397 2010-02-24  Nicholas Young  <nicholas.young@nokia.com>
1398
1399         Reviewed by Eric Carlson.
1400
1401         supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
1402         https://bugs.webkit.org/show_bug.cgi?id=35327
1403
1404         No new tests. Refactoring Only.
1405
1406         * html/HTMLMediaElement.cpp:
1407         (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting()
1408         (WebCore::HTMLMediaElement::updateVolume): Set volume and muted
1409         * platform/graphics/MediaPlayer.cpp:
1410         (WebCore::MediaPlayer::setVolume): Check supportsMuting()
1411         (WebCore::MediaPlayer::setMuted): Check supportsMuting()
1412         * platform/graphics/MediaPlayer.h: Remove supportsMuting()
1413
1414 2010-02-24  Adam Barth  <abarth@webkit.org>
1415
1416         Reviewed by Darin Fisher.
1417
1418         [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
1419         https://bugs.webkit.org/show_bug.cgi?id=35205
1420
1421         For clients that want to show a user interface element when JavaScript
1422         was blocked on a page, we need to disambiguate between querying the
1423         client for whether JavaScript is enabled from actually failing to
1424         execute some script.
1425
1426         This patch adds a new FrameLoaderClient callback for when WebCore would
1427         like to execute JavaScript but fails to because JavaScript is disabled.
1428
1429         This patch also touches every client of canExecuteScripts so they can
1430         indicate whether we should make this callback.  I was hoping there was
1431         a better choke point, but my first two attempts were wrong in subtle
1432         ways.  pkasting points out that this will be easy to screw up in the
1433         future, so it's better to make all the clients be explicit.
1434
1435         * WebCore.PluginHostProcess.exp:
1436         * bindings/ScriptControllerBase.cpp:
1437         (WebCore::ScriptController::canExecuteScripts):
1438         (WebCore::ScriptController::executeScript):
1439         * bindings/js/JSEventListener.cpp:
1440         (WebCore::JSEventListener::handleEvent):
1441         * bindings/js/JSLazyEventListener.cpp:
1442         (WebCore::JSLazyEventListener::initializeJSFunction):
1443         * bindings/js/ScheduledAction.cpp:
1444         (WebCore::ScheduledAction::execute):
1445         * bindings/js/ScriptController.cpp:
1446         (WebCore::ScriptController::bindingRootObject):
1447         (WebCore::ScriptController::windowScriptNPObject):
1448         (WebCore::ScriptController::jsObjectForPluginElement):
1449         (WebCore::ScriptController::executeScriptInWorld):
1450         * bindings/js/ScriptController.h:
1451         (WebCore::):
1452         * bindings/js/ScriptControllerMac.mm:
1453         (WebCore::ScriptController::windowScriptObject):
1454         * bindings/js/ScriptDebugServer.cpp:
1455         (WebCore::ScriptDebugServer::setJavaScriptPaused):
1456         * bindings/js/ScriptEventListener.cpp:
1457         (WebCore::createAttributeEventListener):
1458         * bindings/js/ScriptState.cpp:
1459         (WebCore::scriptStateFromNode):
1460         * bindings/v8/ScriptController.cpp:
1461         (WebCore::ScriptController::windowScriptNPObject):
1462         (WebCore::ScriptController::createScriptObjectForPluginElement):
1463         * bindings/v8/ScriptController.h:
1464         (WebCore::):
1465         * bindings/v8/ScriptEventListener.cpp:
1466         (WebCore::createAttributeEventListener):
1467         * bindings/v8/V8Proxy.cpp:
1468         (WebCore::V8Proxy::retrieve):
1469         * dom/ScriptElement.cpp:
1470         (WebCore::ScriptElementData::evaluateScript):
1471         * dom/XMLTokenizerLibxml2.cpp:
1472         (WebCore::XMLTokenizer::startElementNs):
1473         * html/HTMLMediaElement.cpp:
1474         (WebCore::HTMLMediaElement::controls):
1475         * html/HTMLTokenizer.cpp:
1476         (WebCore::HTMLTokenizer::parseTag):
1477         (WebCore::HTMLTokenizer::processToken):
1478         * inspector/InspectorController.cpp:
1479         (WebCore::canPassNodeToJavaScript):
1480         * loader/FrameLoader.cpp:
1481         (WebCore::FrameLoader::isProcessingUserGesture):
1482         (WebCore::FrameLoader::open):
1483         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
1484         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1485         * loader/FrameLoaderClient.h:
1486         (WebCore::FrameLoaderClient::didNotAllowScript):
1487
1488 2010-02-24  Adam Barth  <abarth@webkit.org>
1489
1490         Reviewed by Darin Fisher.
1491
1492         Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
1493         https://bugs.webkit.org/show_bug.cgi?id=34997
1494
1495         If we want to let the FrameLoaderClient override arePluginsEnabled,
1496         then we need to call out to the FrameLoaderClient every time we read
1497         the setting.
1498
1499         We don't have testing infrustructure for these changes, which is lame.
1500         I'm supposed to fix that in Bug 33991.
1501
1502         * dom/DOMImplementation.cpp:
1503         (WebCore::DOMImplementation::createDocument):
1504         * loader/MainResourceLoader.cpp:
1505         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
1506         * loader/PluginDocument.cpp:
1507         (WebCore::PluginTokenizer::writeRawData):
1508         * page/Page.cpp:
1509         (WebCore::Page::pluginData):
1510         * plugins/MimeType.cpp:
1511         (WebCore::MimeType::enabledPlugin):
1512
1513 2010-02-24  James Robinson  <jamesr@chromium.org>
1514
1515         Reviewed by Dmitry Titov.
1516
1517         Do not fire focus events while a modal dialog is up.
1518         https://bugs.webkit.org/show_bug.cgi?id=33962
1519
1520         Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events.
1521         This flag is set while a modal dialog (like a window.alert or window.confirm) is up.  Firing the events causes
1522         assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run.
1523
1524         Manual tests only as DumpRenderTree does not support modal dialogs
1525
1526         * manual-tests/modal-dialog-blur-selfclose.html: Added.
1527         * manual-tests/modal-dialog-blur.html: Added.
1528         * page/FocusController.cpp:
1529         (WebCore::dispatchEventsOnWindowAndFocusedNode):
1530
1531 2010-02-24  Dan Bernstein  <mitz@apple.com>
1532
1533         Reviewed by Anders Carlsson.
1534
1535         <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
1536
1537         Test: fast/parser/fragment-parser.html
1538
1539         Ensure that fragment parsing has no side effects on the fragment’s owner
1540         document.
1541
1542         * html/HTMLParser.cpp:
1543         (WebCore::HTMLParser::insertNode): Don’t call
1544         dispatchDocumentElementAvailable() for fragments.
1545         (WebCore::HTMLParser::handleError): Don’t copy attributes to the owner
1546         document’s <html> and <body> elements when a redundant <html> or <body>
1547         is encountered while parsing a fragment.
1548         (WebCore::HTMLParser::framesetCreateErrorCheck): Don’t change the owner
1549         document’s <body> element’s style when parsing a fragment.
1550         (WebCore::HTMLParser::createHead): Don’t attach the new <head> to the
1551         ownder document of a fragment.
1552
1553 2010-02-24  David Levin  <levin@chromium.org>
1554
1555         Reviewed by Darin Adler.
1556
1557         Need to create a CanvasSurface base class for HTMLCanvasElement.
1558         https://bugs.webkit.org/show_bug.cgi?id=35322
1559
1560         This is an initial step in making the OffscreenCanvas object.
1561
1562         No new functionality so no new tests.
1563
1564         * GNUmakefile.am: Added CanvasSurface to the build.
1565         * WebCore.gypi: ditto
1566         * WebCore.pro: ditto
1567         * WebCore.vcproj/WebCore.vcproj: ditto
1568         * WebCore.xcodeproj/project.pbxproj: ditto
1569         * dom/CanvasSurface.cpp: Added.
1570         * dom/CanvasSurface.h: Added.
1571         * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface.
1572
1573 2010-02-24  Peter Kasting  <pkasting@google.com>
1574
1575         Reviewed by Adam Barth.
1576
1577         Fix regression in calculating an animated image's start time.
1578         https://bugs.webkit.org/show_bug.cgi?id=35115
1579
1580         * platform/graphics/BitmapImage.cpp:
1581         (WebCore::BitmapImage::startAnimation):
1582
1583 2010-02-24  Dan Bernstein  <mitz@apple.com>
1584
1585         Reviewed by Simon Fraser.
1586
1587         <rdar://problem/7682827> Text with :first-letter lingers after being removed
1588
1589         Test: fast/css/first-letter-set-text.html
1590
1591         * rendering/RenderTextFragment.cpp:
1592         (WebCore::RenderTextFragment::setTextInternal): Set this back as the
1593         text node’s renderer, as removing the first letter has resets the node’s
1594         renderer.
1595
1596 2010-02-24  Ariya Hidayat  <ariya.hidayat@gmail.com>
1597
1598         Reviewed by Kenneth Rohde Christiansen.
1599
1600         [Qt] Faster cut-off for rectangle fill without shadow.
1601         https://bugs.webkit.org/show_bug.cgi?id=35337
1602
1603         * platform/graphics/qt/GraphicsContextQt.cpp:
1604
1605 2010-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1606
1607         Reviewed by nobody, build fix.
1608
1609         [Qt] Corrects build break of QtLauncher on Windows.
1610         The VERSION variable was not set anymore while building in trunk.
1611
1612         * WebCore.pro:
1613
1614 2010-02-24  Alexander Pavlov  <apavlov@chromium.org>
1615
1616         Reviewed by Pavel Feldman.
1617
1618         Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
1619
1620         Fix style and add the new images to the related file sets.
1621         https://bugs.webkit.org/show_bug.cgi?id=35307
1622
1623         * WebCore.gypi:
1624         * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png:
1625         * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png:
1626         * inspector/front-end/WebKit.qrc:
1627         * inspector/front-end/inspector.css:
1628
1629 2010-02-24  Xan Lopez  <xlopez@igalia.com>
1630
1631         Reviewed by Gustavo Noronha.
1632
1633         Get rid of an extra call to
1634         setNPWindowIfNeeded. updatePluginWidget already calls this for us
1635         if needed.
1636
1637         * plugins/gtk/PluginViewGtk.cpp:
1638         (WebCore::PluginView::platformStart):
1639
1640 2010-02-24  Xan Lopez  <xlopez@igalia.com>
1641
1642         Reviewed by Gustavo Noronha.
1643
1644         Try to sanitize a bit the geometry management of plugins.
1645
1646         Stop doing contradictory things in updatePluginWidget (we were at
1647         the same time pretending the geometry setting was delayed until
1648         ::paint and setting the geometry not once but twice) and just set
1649         it any time the windowRect or clipRect for the plugin has changed.
1650
1651         This is closer to what the Mac port does, and fixes instances of
1652         the plugins not being drawn until the window is resized or
1653         scrolled. Other than that all manual and layout tests seems to
1654         still work.
1655
1656         * plugins/gtk/PluginViewGtk.cpp:
1657         (WebCore::PluginView::updatePluginWidget):
1658         (WebCore::PluginView::setNPWindowIfNeeded):
1659
1660 2010-02-23  Geoff Garen  <ggaren@apple.com>
1661
1662         Reviewed by Oliver Hunt.
1663
1664         Simplify animation lifetime handling.  Previously we manually
1665         determined whether our base element was safe when we unregistered
1666         our listener, now we simply ensure that the base element itself
1667         registers and unregisters the animation listener.
1668
1669         * svg/animation/SVGSMILElement.cpp:
1670         (WebCore::ConditionEventListener::create):
1671         (WebCore::ConditionEventListener::disconnectAnimation):
1672         (WebCore::ConditionEventListener::ConditionEventListener):
1673         (WebCore::ConditionEventListener::operator==):
1674         (WebCore::ConditionEventListener::handleEvent):
1675         (WebCore::SVGSMILElement::eventBaseFor):
1676         (WebCore::SVGSMILElement::connectConditions):
1677         (WebCore::SVGSMILElement::disconnectConditions):
1678         * svg/animation/SVGSMILElement.h:
1679
1680 2010-02-23  Dmitry Titov  <dimich@chromium.org>
1681
1682         Reviewed by David Levin.
1683
1684         Chromium: Use V8::TerminateExecution to actually terminate workers.
1685         https://bugs.webkit.org/show_bug.cgi?id=35137
1686
1687         Test: existing fast/workers/stress-js-execution.html which is currently failing
1688         on Mac and Linux bots for Chromium.
1689
1690         * bindings/v8/WorkerContextExecutionProxy.cpp:
1691         (WebCore::WorkerContextExecutionProxy::evaluate):
1692         * bindings/v8/WorkerScriptController.cpp:
1693         (WebCore::WorkerScriptController::forbidExecution):
1694
1695 2010-02-23  Enrica Casucci  <enrica@apple.com>
1696
1697         Reviewed by Simon Fraser.
1698
1699         REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
1700         <rdar://problem/7651935>
1701         https://bugs.webkit.org/show_bug.cgi?id=34957
1702
1703         Fixing a regression introduced with revision 53085. Anchor elements should not be considered
1704         in editable content when calculating the position in the parent before the node.
1705         
1706         Test: editing/execCommand/delete-image-in-anchor.html
1707
1708         * dom/Position.cpp:
1709         (WebCore::Position::getInlineBoxAndOffset):
1710
1711 2010-02-23  Tony Chang  <tony@chromium.org>
1712
1713         Reviewed by Eric Seidel.
1714
1715         https://bugs.webkit.org/show_bug.cgi?id=34634
1716         Pasting a list into the middle of another list item should split the target
1717         list item into two separate list items.  This matches the behavior in other
1718         browsers.
1719
1720         Test: editing/pasteboard/paste-list-004.html
1721
1722         * editing/ReplaceSelectionCommand.cpp:
1723         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1724
1725 2010-02-23  Brady Eidson  <beidson@apple.com>
1726
1727         Reviewed by Tim Hatcher and Pavel Feldman.
1728
1729         Regression (r55107) - WebInspector docking is busted.
1730         https://bugs.webkit.org/show_bug.cgi?id=35274
1731
1732         * inspector/InspectorController.cpp:
1733         (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation,
1734           not the preferred height.
1735         (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is
1736           often called partway through the show or dock procedure after some of the initial conditions have
1737           changed. Let the front-end itself and the InspectorClient's make the policy decision at the start
1738           of the show/dock operation.
1739
1740         * inspector/InspectorFrontendHost.cpp:
1741         (WebCore::InspectorFrontendHost::canAttachWindow):
1742         * inspector/InspectorFrontendHost.h:
1743         * inspector/InspectorFrontendHost.idl:
1744
1745         * inspector/front-end/inspector.js:
1746         (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
1747
1748 2010-02-23  Mark Rowe  <mrowe@apple.com>
1749
1750         Reviewed by Geoff Garen.
1751
1752         <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
1753
1754         CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the
1755         complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by
1756         special-casing all frames except the last in an image and treating them as complete if they are present and reported as
1757         being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new
1758         frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is
1759         truly the last frame of the image rather than just the last that we currently have data for.
1760
1761         * platform/graphics/cg/ImageSourceCG.cpp:
1762         (WebCore::ImageSource::frameIsCompleteAtIndex):
1763
1764 2010-02-23  Enrica Casucci  <enrica@apple.com>
1765
1766         Reviewed by Darin Adler.
1767
1768         Crash in createContextualFragment when inserting a list in a non HTML document.
1769         <rdar://problem/7666670>
1770         https://bugs.webkit.org/show_bug.cgi?id=35305
1771         
1772         createFragmentFromMarkup did not handle correctly the case where documentElement is
1773         not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
1774         crash.
1775         
1776         Test: editing/execCommand/insert-list-xml.xhtml
1777
1778         * dom/Element.cpp:
1779         (WebCore::Element::createContextualFragment): Added.
1780         * dom/Element.h: Added createContextualFragment virtual function.
1781         * editing/markup.cpp:
1782         (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement.
1783         * html/HTMLElement.cpp:
1784         (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks
1785         that are specific for an HTMLElement object. The rest of the logic has been moved to the
1786         corresponding method in the Element class.
1787
1788 2010-02-23  Steve Falkenburg  <sfalken@apple.com>
1789
1790         Reviewed by Adam Roben.
1791
1792         WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
1793         https://bugs.webkit.org/show_bug.cgi?id=35309
1794
1795         * platform/graphics/cg/ImageSourceCG.cpp:
1796         (WebCore::ImageSource::clear):
1797
1798 2010-02-23  Leandro Pereira  <leandro@profusion.mobi>
1799
1800         Reviewed by Gustavo Noronha Silva.
1801
1802         Changes references of GOwnPtr to reflect their new place.
1803         http://webkit.org/b/35084
1804
1805         * WebCore/platform/KURL.cpp
1806         * WebCore/platform/TextEncoding.cpp:
1807         * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp: 
1808         * WebCore/platform/text/gtk/TextCodecGtk.cpp:
1809
1810 2010-02-23  Brady Eidson  <beidson@apple.com>
1811
1812         Reviewed by Alexey Proskuryakov.
1813
1814         HTTP 307 after a 303 after a POST re-sends POST data from the original request.
1815         <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410
1816
1817         Test: http/tests/loading/307-after-303-after-post.html
1818
1819         Remember the last HTTP method send out during a redirect chain for a resource handle:
1820         * platform/network/ResourceHandle.cpp:
1821         (WebCore::ResourceHandle::lastHTTPMethod):
1822         * platform/network/ResourceHandle.h:
1823         * platform/network/ResourceHandleInternal.h:
1824         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1825
1826         Refer to the last HTTP method used instead of the original method:
1827         * platform/network/cf/ResourceHandleCFNet.cpp:
1828         (WebCore::willSendRequest):
1829         (WebCore::ResourceHandle::willSendRequest):
1830         * platform/network/mac/ResourceHandleMac.mm:
1831         (WebCore::ResourceHandle::willSendRequest):
1832         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1833
1834 2010-02-23  Crystal Zhang  <haizhang@rim.com>
1835
1836         Unreviewed build fix.
1837
1838         Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
1839         As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
1840         to former one.
1841
1842         * html/HTMLMediaElement.cpp:
1843
1844 2010-02-23  Evan Martin  <evan@chromium.org>
1845
1846         Reviewed by Jeremy Orlow.
1847
1848         [chromium] fix previous SVG-disabling patch
1849         https://bugs.webkit.org/show_bug.cgi?id=35298
1850
1851         * WebCore.gypi: rename variable
1852         * WebCore.gyp/WebCore.gyp: actually use the variable
1853
1854 2010-02-23  Michael Lotz <mmlr@mlotz.ch>
1855
1856         Reviewed by David Levin.
1857
1858         [Haiku] Fix conversion from BString to String
1859         https://bugs.webkit.org/show_bug.cgi?id=35082
1860
1861         The previous patch to this file was broken (sorry). First of all,
1862         the conversion from UTF8 was accidentally removed. Second, for
1863         empty strings, we need to point the implementation at StringImpl::empty().
1864
1865         Covered by existing tests.
1866
1867         * platform/text/haiku/StringHaiku.cpp:
1868         (WebCore::String::String):
1869
1870 2010-02-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1871
1872         Reviewed by Eric Carlson.
1873
1874         [Qt] Prevent the media backend from handling non-audio or -video mime types
1875
1876         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1877
1878 2010-02-23  Evan Martin  <evan@chromium.org>
1879
1880         Reviewed by Jeremy Orlow.
1881
1882         [chromium] Allow building without SVG
1883         https://bugs.webkit.org/show_bug.cgi?id=31522
1884
1885         * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag.
1886         * bindings/v8/custom/V8SVGDocumentCustom.cpp,
1887           bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG).
1888
1889 2010-02-23  Leandro Pereira  <leandro@profusion.mobi>
1890
1891         Reviewed by Gustavo Noronha Silva.
1892
1893         Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
1894         again.
1895         http://webkit.org/b/35084
1896
1897         * WebCore/platform/gtk/DataObjectGtk.h:
1898         * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1899
1900 2010-02-23  Ariya Hidayat  <ariya.hidayat@gmail.com>
1901
1902         Reviewed by Kenneth Rohde Christiansen.
1903
1904         [Qt] Faster cut-off for rectangle drawing without shadow.
1905         https://bugs.webkit.org/show_bug.cgi?id=35267
1906
1907         * platform/graphics/qt/GraphicsContextQt.cpp:
1908         (WebCore::GraphicsContext::drawRect):
1909
1910 2010-02-23  Steve Block  <steveblock@google.com>
1911
1912         Reviewed by Jeremy Orlow.
1913
1914         Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
1915         https://bugs.webkit.org/show_bug.cgi?id=35242
1916
1917         No new tests, removing dead code only.
1918
1919         * page/Settings.cpp:
1920         * page/Settings.h:
1921
1922 2010-02-23  Ben Murdoch  <benm@google.com>
1923
1924         Reviewed by Eric Seidel.
1925
1926         pageX/Y co-ordinates of TouchEvent should be 0,0
1927         https://bugs.webkit.org/show_bug.cgi?id=35239
1928
1929         The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior.
1930
1931         * page/EventHandler.cpp:
1932         (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone.
1933         * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos.
1934
1935 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
1936
1937         Reviewed by Eric Seidel.
1938
1939         [Haiku] Various improvements to EventHandlerHaiku.
1940         https://bugs.webkit.org/show_bug.cgi?id=34685
1941
1942         Covered by existing tests.
1943
1944         Fix the build by not including PlatformScrollBar.h.
1945
1946         * page/haiku/EventHandlerHaiku.cpp:
1947         (WebCore::isKeyboardOptionTab):
1948             Use the correct keycode for tab keys.
1949         (WebCore::EventHandler::focusDocumentView):
1950             Use proper locking. In any case, Haiku doesn't append platform
1951             widgets to WebCore widgets. But if it did, this implementation
1952             would be correct.
1953         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1954             Implemented.
1955         (WebCore::EventHandler::eventActivatedView):
1956             Removed notImplemented() and added note.
1957         (WebCore::EventHandler::passMousePressEventToSubframe):
1958             Implemented.
1959         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1960             Implemented.
1961         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1962             Implemented.
1963         (WebCore::EventHandler::accessKeyModifiers):
1964             Added note.
1965
1966 2010-02-23  Tony Chang  <tony@chromium.org>
1967
1968         Not reviewed.
1969         Revert r55135 because the layout test is failing on all the bots.
1970         https://bugs.webkit.org/show_bug.cgi?id=34634
1971
1972         * editing/ReplaceSelectionCommand.cpp:
1973         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1974
1975 2010-02-17  Steve Block  <steveblock@google.com>
1976
1977         Reviewed by Ariya Hidayat.
1978
1979         Adds cache to store Geolocation positions between browser sessions.
1980         https://bugs.webkit.org/show_bug.cgi?id=34084
1981
1982         This is required to fully implement the Geolocation maximumAge property.
1983         See Bug 30676.
1984
1985         No new tests, will add tests for maximumAge once complete.
1986
1987         * Android.mk: Modified. Added GeolocationPositionCache.cpp
1988         * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
1989         * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
1990         * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
1991         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
1992         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
1993         * page/GeolocationPositionCache.cpp: Added.
1994         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
1995         (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
1996         (WebCore::GeolocationPositionCache::setCachedPosition):
1997         (WebCore::GeolocationPositionCache::cachedPosition):
1998         (WebCore::GeolocationPositionCache::setDatabasePath):
1999         (WebCore::GeolocationPositionCache::readFromDB):
2000         (WebCore::GeolocationPositionCache::writeToDB):
2001         * page/GeolocationPositionCache.h: Added.
2002
2003 2010-02-23  Yuta Kitamura  <yutak@chromium.org>
2004
2005         Reviewed by Dan Bernstein.
2006
2007         Fix alignment of vertical-align: text-bottom inside an inline-block.
2008         
2009         This patch is based on a fix provided by Takahito Hirano.
2010
2011         display: inline-block + vertical-align: text-bottom causes misalignment.
2012         https://bugs.webkit.org/show_bug.cgi?id=30846
2013
2014         Test: fast/inline-block/inline-block-vertical-align-2.html
2015
2016         * rendering/RenderBoxModelObject.cpp:
2017         (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
2018         We cannot cut corners for inline blocks, since they may have their own
2019         text metrics.
2020
2021 2010-02-23  Steve Block  <steveblock@google.com>
2022
2023         Reviewed by David Levin.
2024
2025         Sets default values of V8 runtime enabler flags to match behavior with JSC
2026         https://bugs.webkit.org/show_bug.cgi?id=35095
2027
2028         No new tests, modifies a Chromium feature only.
2029
2030         * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
2031         * storage/Database.cpp: Modified. Sets database flag default to 'on'.
2032
2033 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
2034
2035         Reviewed by Eric Seidel.
2036
2037         [Haiku] Fix various issues in keyboard event generation.
2038         https://bugs.webkit.org/show_bug.cgi?id=34685
2039
2040         Covered by existing tests.
2041
2042         Fixed backspace keycode.
2043         Fixed using the appropriate fields from the Haiku event for mapping
2044         to the VK_* codes and added mapping a great deal more codes.
2045         Added extraction of modifier key flags.
2046         Completed implementation of disambiguateKeyDownEvent()
2047         Implemented currentCapsLockState().
2048
2049         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
2050         (WebCore::keyIdentifierForHaikuKeyCode):
2051         (WebCore::windowsKeyCodeForKeyEvent):
2052         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2053         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2054         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2055
2056 2010-02-23  Steve Block  <steveblock@google.com>
2057
2058         Reviewed by Darin Adler.
2059
2060         Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
2061         https://bugs.webkit.org/show_bug.cgi?id=34962
2062
2063         These methods are required so that a Geolocation object can cancel an
2064         asynchronous permission request. This allows the chrome client to cancel
2065         any UI it is showing for the permission request.
2066
2067         No new tests, as this is for the purposes of browser UI only.
2068
2069         * loader/EmptyClients.h: Modified
2070         (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
2071         * page/Chrome.cpp: Modified.
2072         (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
2073         * page/Chrome.h: Modified.
2074         * page/ChromeClient.h: Modified.
2075         (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
2076         * page/Geolocation.cpp: Modified.
2077         (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
2078
2079 2010-02-23  Tony Chang  <tony@chromium.org>
2080
2081         Reviewed by Eric Seidel.
2082
2083         https://bugs.webkit.org/show_bug.cgi?id=34634
2084         Pasting a list into the middle of another list item should split the target
2085         list item into two separate list items.  This matches the behavior in other
2086         browsers.
2087
2088         Test: editing/pasteboard/paste-list-004.html
2089
2090         * editing/ReplaceSelectionCommand.cpp:
2091         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2092
2093 2010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2094
2095         Reviewed by Laszlo Gombos.
2096
2097         [Qt] Correct build problems while building QtWebKit inside Qt.
2098         https://bugs.webkit.org/show_bug.cgi?id=34975
2099
2100         * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
2101
2102 2010-02-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
2103
2104         Reviewed by Ariya Hidayat.
2105
2106         [Qt] Connect video with accelerated compositing
2107         https://bugs.webkit.org/show_bug.cgi?id=35276
2108
2109         MediaControlPrivate and GraphicsLayer are patched together via
2110         a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
2111         QGraphicsVideoItem from MediaControl becomes part of the scene 
2112         associsated with GraphicsLayer
2113
2114         Test: http://double.co.nz/video_test/test1.html with AC turned on
2115
2116         * platform/graphics/qt/GraphicsLayerQt.cpp:
2117         (WebCore::GraphicsLayerQtImpl::): mediaLayer member
2118         (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
2119         (WebCore::GraphicsLayerQtImpl::paint): don't paint video
2120         (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
2121         (WebCore::GraphicsLayerQt::setContentsToMedia): notify
2122         * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
2123         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2124         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
2125         (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
2126         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
2127         reimp from MediaPlayerPrivateInterface to support AC
2128         (WebCore::MediaPlayerPrivate::platformLayer): ditto
2129         * platform/graphics/qt/MediaPlayerPrivateQt.h: 
2130         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
2131
2132 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
2133
2134         Reviewed by Eric Seidel.
2135
2136         Fix various issues in PlatformWheelEventHaiku.
2137         https://bugs.webkit.org/show_bug.cgi?id=34685
2138
2139         Covered by existing tests.
2140         
2141         Fixed coding style violations.
2142         Synced extracting the correct coordinates with Haiku WebKit implementation.
2143         Added extracting modifier key flags.
2144
2145         * platform/haiku/PlatformWheelEventHaiku.cpp:
2146         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2147
2148 2010-02-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2149
2150         Reviewed by Eric Seidel.
2151
2152         Build fix for PluginView
2153         https://bugs.webkit.org/show_bug.cgi?id=35230
2154
2155         No new tests, build fix only.
2156
2157         * plugins/PluginView.cpp:
2158         * plugins/PluginView.h:
2159         * plugins/PluginViewNone.cpp:
2160
2161 2010-02-23  Kwang Yul Seo  <skyul@company100.net>
2162
2163         Reviewed by Eric Seidel.
2164
2165         [BREWMP] Port ScriptController::createScriptInstanceForWidget
2166         https://bugs.webkit.org/show_bug.cgi?id=34413
2167
2168         * bindings/js/ScriptControllerBrew.cpp: Added.
2169         (WebCore::ScriptController::createScriptInstanceForWidget):
2170
2171 2010-02-23  José Millán Soto  <jmillan@igalia.com>
2172
2173         Reviewed by Eric Seidel.
2174
2175         [Gtk] Webkit crashes when using orca
2176         https://bugs.webkit.org/show_bug.cgi?id=35169
2177
2178         Made webkit_accessible_text_get_caret_offset check if end selection
2179         node is null.
2180
2181         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2182         (webkit_accessible_text_get_caret_offset):
2183
2184 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
2185
2186         Reviewed by Eric Seidel.
2187
2188         [Haiku] Implemented PopupMenu support.
2189         https://bugs.webkit.org/show_bug.cgi?id=35078
2190
2191         Covered by existing tests.
2192
2193         The implementation is currently very simple: Added a PopupMenuHaiku
2194         class that derives from a native BPopUpMenu. It attaches a BHandler
2195         derivative to the BApplication (WebCore main thread) which receives
2196         the item invokation and menu hidden events and informs the PopupMenuClient
2197         accordingly.
2198
2199         * platform/PopupMenu.h:
2200             Changed type of m_menu for Haiku.
2201         * platform/haiku/PopupMenuHaiku.cpp:
2202         (WebCore::PopupMenuHandler::PopupMenuHandler):
2203         (WebCore::PopupMenuHandler::MessageReceived):
2204         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
2205         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
2206         (WebCore::PopupMenuHaiku::show):
2207         (WebCore::PopupMenuHaiku::hide):
2208         (WebCore::PopupMenuHaiku::Hide):
2209         (WebCore::PopupMenu::PopupMenu):
2210         (WebCore::PopupMenu::~PopupMenu):
2211             Removed bogus code.
2212         (WebCore::PopupMenu::show):
2213             Implemented using new PopupMenuHaiku class.
2214         (WebCore::PopupMenu::hide):
2215             Implemented using new PopupMenuHaiku class.
2216         (WebCore::PopupMenu::updateFromElement):
2217             Implemented.
2218         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
2219             Implemented according to Gtk port.
2220
2221 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
2222
2223         Reviewed by Eric Seidel.
2224
2225         Fix various issues in PlatformMouseEventHaiku.
2226         https://bugs.webkit.org/show_bug.cgi?id=34685
2227
2228         Covered by existing tests.
2229         
2230         Mapping Haiku button constants (bit field) to WebCore buttons was broken.
2231         Extracting event time was broken (supposed to be in seconds).
2232         Wrong coordinate was being extracted, needs to be content local.
2233         Added extracting modifier key flags.
2234
2235         * platform/haiku/PlatformMouseEventHaiku.cpp:
2236         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2237
2238 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
2239
2240         Reviewed by Eric Seidel.
2241
2242         [Haiku] Implement creating and filling platform gradients.
2243         https://bugs.webkit.org/show_bug.cgi?id=34683
2244
2245         Covered by existing tests.
2246
2247         * platform/graphics/Gradient.h:
2248             Typedef PlatformGradient to BGradient
2249         * platform/graphics/haiku/GradientHaiku.cpp:
2250         (WebCore::Gradient::platformDestroy):
2251             Delete the cached BGradient object.
2252         (WebCore::Gradient::platformGradient):
2253             Create a BGradient object according to the type of Gradient.
2254             Return the cached object.
2255         (WebCore::Gradient::fill):
2256             use BView API to fill with the platform gradient.
2257
2258 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
2259
2260         Reviewed by Eric Seidel.
2261
2262         Build fix for debug builds of GlyphPageTreeNode.cpp
2263         https://bugs.webkit.org/show_bug.cgi?id=34528
2264
2265         Covered by existing tests.
2266
2267         * platform/graphics/GlyphPageTreeNode.cpp:
2268             include <stdio.h> since printf() is used if NDEBUG is not defined.
2269
2270 2010-02-22  Nate Chapin  <japhet@chromium.org>
2271
2272         Unreviewed, Chromium build fix.
2273
2274         Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
2275
2276         CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
2277         that a custom named getter was needed. That hint was removed in
2278         http://trac.webkit.org/changeset/55104.
2279
2280         * bindings/scripts/CodeGeneratorV8.pm:
2281
2282 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
2283
2284         Rubber-stamped by Geoff Garen.
2285
2286         Rename RuntimeObjectImp to RuntimeObject.
2287
2288         * WebCore.PluginHostProcess.exp:
2289         * bindings/js/JSPluginElementFunctions.cpp:
2290         (WebCore::getRuntimeObject):
2291         (WebCore::runtimeObjectPropertyGetter):
2292         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
2293         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2294         (WebCore::runtimeObjectCustomPut):
2295         * bindings/objc/WebScriptObject.mm:
2296         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2297         * bridge/c/c_utility.cpp:
2298         (JSC::Bindings::convertValueToNPVariant):
2299         * bridge/jni/jni_jsobject.mm:
2300         (JavaJSObject::convertValueToJObject):
2301         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2302         (JSC::Bindings::convertValueToJValue):
2303         * bridge/jsc/BridgeJSC.cpp:
2304         (JSC::Bindings::Instance::createRuntimeObject):
2305         (JSC::Bindings::Instance::newRuntimeObject):
2306         * bridge/jsc/BridgeJSC.h:
2307         * bridge/objc/objc_runtime.mm:
2308         (JSC::Bindings::callObjCFallbackObject):
2309         * bridge/qt/qt_instance.cpp:
2310         (JSC::Bindings::QtRuntimeObject::markChildren):
2311         (JSC::Bindings::):
2312         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
2313         (JSC::Bindings::QtInstance::getInstance):
2314         (JSC::Bindings::QtInstance::newRuntimeObject):
2315         * bridge/qt/qt_instance.h:
2316         * bridge/qt/qt_pixmapruntime.cpp:
2317         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
2318         (JSC::Bindings::):
2319         (JSC::Bindings::QtPixmapInstance::variantFromObject):
2320         (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
2321         * bridge/qt/qt_runtime.cpp:
2322         (JSC::Bindings::valueRealType):
2323         * bridge/runtime_method.cpp:
2324         (JSC::callRuntimeMethod):
2325         * bridge/runtime_object.cpp:
2326         (JSC::RuntimeObject::RuntimeObject):
2327         (JSC::RuntimeObject::~RuntimeObject):
2328         (JSC::RuntimeObject::invalidate):
2329         (JSC::RuntimeObject::fallbackObjectGetter):
2330         (JSC::RuntimeObject::fieldGetter):
2331         (JSC::RuntimeObject::methodGetter):
2332         (JSC::RuntimeObject::getOwnPropertySlot):
2333         (JSC::RuntimeObject::getOwnPropertyDescriptor):
2334         (JSC::RuntimeObject::put):
2335         (JSC::RuntimeObject::deleteProperty):
2336         (JSC::RuntimeObject::defaultValue):
2337         (JSC::callRuntimeObject):
2338         (JSC::RuntimeObject::getCallData):
2339         (JSC::callRuntimeConstructor):
2340         (JSC::RuntimeObject::getConstructData):
2341         (JSC::RuntimeObject::getOwnPropertyNames):
2342         (JSC::RuntimeObject::throwInvalidAccessError):
2343         * bridge/runtime_object.h:
2344         * bridge/runtime_root.cpp:
2345         (JSC::Bindings::RootObject::invalidate):
2346         (JSC::Bindings::RootObject::addRuntimeObject):
2347         (JSC::Bindings::RootObject::removeRuntimeObject):
2348         * bridge/runtime_root.h:
2349
2350 2010-02-19  Peter Kasting  <pkasting@google.com>
2351
2352         Reviewed by Eric Seidel.
2353
2354         Avoid recursion when trying to get the size of a PNG; it's unnecessary
2355         and in the worst case can lead to heap corruption.
2356         https://bugs.webkit.org/show_bug.cgi?id=35167
2357
2358         Test: fast/images/bad-png.html
2359
2360         * platform/image-decoders/png/PNGImageDecoder.cpp:
2361         (WebCore::PNGImageReader::decode):
2362
2363 2010-02-22  Brady Eidson  <beidson@apple.com>
2364
2365         Reviewed by Tim Hatcher.
2366
2367         Disable WebView docking to views that are too small.
2368         <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
2369
2370         * WebCore.base.exp:
2371         * inspector/InspectorController.cpp:
2372         (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
2373           decision based on if attachment would be allowed or not.
2374         (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
2375         * inspector/InspectorController.h:
2376
2377 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
2378
2379         Build fix.
2380
2381         * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
2382
2383 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
2384
2385         Undo a small part of the previous commit.
2386
2387         * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
2388         variable as RefPtr for safety.
2389
2390 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
2391
2392         Reviewed by Darin Adler.
2393
2394         https://bugs.webkit.org/show_bug.cgi?id=35260
2395         Eliminate __apple_runtime_object
2396
2397         No change in functionality, so no tests.
2398
2399         * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
2400
2401         * bindings/js/JSHTMLAppletElementCustom.cpp:
2402         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2403         * bindings/js/JSHTMLObjectElementCustom.cpp:
2404         * html/HTMLAppletElement.idl:
2405         * html/HTMLEmbedElement.idl:
2406         * html/HTMLObjectElement.idl:
2407         These objects no longer need overriding name getters, as they no longer intercept the
2408         __apple_runtime_object property.
2409
2410         * bindings/js/JSPluginElementFunctions.cpp:
2411         (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
2412         this file, and now it's also used elsewhere when calling plug-in methods.
2413         (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
2414         name getters.
2415
2416         * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
2417
2418         * bindings/objc/WebScriptObject.mm:
2419         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2420         * bridge/runtime_method.cpp:
2421         (JSC::callRuntimeMethod):
2422         Take plug-in element's instance directly, without relying on fake attribute lookup.
2423         One change resulting from this is that RuntimeObjectImp may not be created in some cases -
2424         this code only needs an instance, but the old code had to pass the instance wrapped into
2425         RuntimeObjectImp.
2426
2427 2010-02-22  John Sullivan  <sullivan@apple.com>
2428         
2429         Reviewed by Tim Hatcher.
2430
2431         https://bugs.webkit.org/show_bug.cgi?id=35256
2432         HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
2433
2434         No new tests because this code path is not used for JS-initiated changes.
2435
2436         * html/HTMLSelectElement.cpp:
2437         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
2438         Bail out if the to-be-selected index matches the already-selected index.
2439
2440 2010-02-22  Enrica Casucci  <enrica@apple.com>
2441
2442         Reviewed by Dan Bernstein.
2443
2444         Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
2445         <rdar://problem/7615758>
2446         https://bugs.webkit.org/show_bug.cgi?id=35060
2447
2448         Test: editing/selection/extend-byline-withfloat.html
2449
2450         * editing/visible_units.cpp:
2451         (WebCore::previousLinePosition): Skip elements with zero height.
2452         (WebCore::nextLinePosition): Skip elements with zero height.
2453
2454 2010-02-22  Nate Chapin  <japhet@chromium.org>
2455
2456         Unreviewed, Chromium build fix.
2457
2458         * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
2459
2460 2010-02-22  Nate Chapin  <japhet@chromium.org>
2461
2462         Reviewed by Dimitri Glazkov.
2463
2464         [V8] Streamline V8 event listener code. Merge all the variants of
2465         V8DOMWrapper::getEventListner() into a single version and generate
2466         addEventListener() and removeEventListener() bindings for all objects 
2467         except DOMWindow.
2468
2469         https://bugs.webkit.org/show_bug.cgi?id=35245
2470
2471         * Android.v8bindings.mk:
2472         * WebCore.gypi:
2473         * bindings/scripts/CodeGeneratorV8.pm:
2474         * bindings/v8/V8DOMWrapper.cpp:
2475         (WebCore::V8DOMWrapper::getEventListener):
2476         * bindings/v8/V8DOMWrapper.h:
2477         * bindings/v8/WorkerContextExecutionProxy.cpp:
2478         * bindings/v8/WorkerContextExecutionProxy.h:
2479         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
2480         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
2481         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2482         (WebCore::V8DOMWindow::addEventListenerCallback):
2483         (WebCore::V8DOMWindow::removeEventListenerCallback):
2484         * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
2485         * bindings/v8/custom/V8MessagePortCustom.cpp:
2486         * bindings/v8/custom/V8NodeCustom.cpp:
2487         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2488         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
2489         * bindings/v8/custom/V8WebSocketCustom.cpp:
2490         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2491         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2492         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
2493         * dom/MessagePort.idl:
2494         * dom/Node.idl:
2495         * loader/appcache/DOMApplicationCache.idl:
2496         * notifications/Notification.idl:
2497         * page/EventSource.idl:
2498         * svg/SVGElementInstance.idl:
2499         * websockets/WebSocket.idl:
2500         * workers/AbstractWorker.idl:
2501         * workers/WorkerContext.idl:
2502         * xml/XMLHttpRequest.idl:
2503         * xml/XMLHttpRequestUpload.idl:
2504
2505 2010-02-22  Chris Fleizach  <cfleizach@apple.com>
2506
2507         Reviewed by Beth Dakin.
2508
2509         AX: AXFocused is not writable like it should be on nodes
2510         https://bugs.webkit.org/show_bug.cgi?id=35186
2511
2512         Test: platform/mac/accessibility/element-focus.html
2513
2514         * accessibility/AccessibilityRenderObject.cpp:
2515         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2516
2517 2010-02-22  Simon Fraser  <simon.fraser@apple.com>
2518
2519         Reviewed by Dan Bernstein, Darin Adler.
2520
2521         Remove addScrolledContentOffset/subtractScrolledContentOffset
2522         https://bugs.webkit.org/show_bug.cgi?id=35225
2523
2524         Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
2525         methods, and instead use the existing scrolledContentOffset(), and use
2526         IntSize and IntPoint instead of lots of x, y variables.
2527         
2528         Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
2529         which is needed in a few places.
2530         
2531         * page/EventHandler.cpp:
2532         (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
2533         * platform/graphics/IntPoint.h:
2534         (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
2535         * rendering/LayoutState.cpp:
2536         (WebCore::LayoutState::LayoutState):
2537         * rendering/RenderBlock.cpp:
2538         (WebCore::RenderBlock::layoutBlock):
2539         (WebCore::RenderBlock::paintObject):
2540         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2541         (WebCore::RenderBlock::nodeAtPoint):
2542         (WebCore::RenderBlock::offsetForContents):
2543         * rendering/RenderBoxModelObject.cpp:
2544         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2545         * rendering/RenderInline.cpp:
2546         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2547         * rendering/RenderLayer.cpp:
2548         (WebCore::RenderLayer::updateLayerPosition):
2549         * rendering/RenderLayer.h:
2550         (WebCore::RenderLayer::size):
2551         * rendering/RenderObject.cpp:
2552         (WebCore::RenderObject::computeRectForRepaint):
2553         * rendering/TextControlInnerElements.cpp:
2554         (WebCore::RenderTextControlInnerBlock::positionForPoint):
2555
2556 2009-02-22  Adam Langley  <agl@google.com>
2557
2558         Reviewed by Darin Fisher.
2559
2560         fontconfig on Linux can change the render preferences on a per strike
2561         basis (a strike a combination of face and size). Because of this, we
2562         need to query fontconfig each time a new FontPlatformData is created
2563         for a new size.
2564
2565         This patch adds support for querying this via ChromiumBridge.
2566
2567         https://bugs.webkit.org/show_bug.cgi?id=33065
2568
2569         * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
2570         * platform/graphics/chromium/FontCacheLinux.cpp:
2571         (WebCore::FontCache::createFontPlatformData):
2572         * platform/graphics/chromium/FontCustomPlatformData.cpp:
2573         (WebCore::FontCustomPlatformData::fontPlatformData):
2574         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2575         (WebCore::FontPlatformData::FontPlatformData):
2576         (WebCore::FontPlatformData::operator=):
2577         (WebCore::FontPlatformData::setupPaint):
2578         (WebCore::FontPlatformData::queryStyle):
2579           add code to query fontconfig via ChromiumBridge
2580         * platform/graphics/chromium/FontPlatformDataLinux.h:
2581
2582 2010-02-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2583
2584         Build fix for make distcheck.
2585
2586         * GNUmakefile.am:
2587
2588 2010-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2589
2590         Reviewed by Kenneth Rohde Christiansen.
2591
2592         Fix compiler warning "suggest parentheses around"
2593         https://bugs.webkit.org/show_bug.cgi?id=35197
2594
2595         No new tests as there is no new functionality.
2596
2597         * wml/WMLVariables.cpp:
2598         (WebCore::substituteVariableReferences):
2599
2600 2010-02-22  Gustavo Noronha Silva  <gns@gnome.org>
2601
2602         Reviewed by Xan Lopez.
2603
2604         [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
2605         https://bugs.webkit.org/show_bug.cgi?id=35093
2606
2607         Store message flags in WebCore objects, and set them on the
2608         SoupMessage, when creating one from them.
2609
2610         No behaviour change.
2611
2612         * platform/network/soup/ResourceHandleSoup.cpp:
2613         (WebCore::fillResponseFromMessage):
2614         * platform/network/soup/ResourceRequest.h:
2615         (WebCore::ResourceRequest::soupMessageFlags):
2616         (WebCore::ResourceRequest::setSoupMessageFlags):
2617         * platform/network/soup/ResourceRequestSoup.cpp:
2618         (WebCore::ResourceRequest::toSoupMessage):
2619         (WebCore::ResourceRequest::updateFromSoupMessage):
2620         * platform/network/soup/ResourceResponse.h:
2621         (WebCore::ResourceResponse::soupMessageFlags):
2622         (WebCore::ResourceResponse::setSoupMessageFlags):
2623         * platform/network/soup/ResourceResponseSoup.cpp:
2624         (WebCore::ResourceResponse::toSoupMessage):
2625         (WebCore::ResourceResponse::updateFromSoupMessage):
2626
2627 2010-02-22  Steve Block  <steveblock@google.com>
2628
2629         Reviewed by Nate Chapin.
2630
2631         Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
2632         https://bugs.webkit.org/show_bug.cgi?id=35238
2633
2634         No new tests, build fix only.
2635
2636         * bindings/v8/V8DOMWrapper.cpp:
2637         (WebCore::globalObjectPrototypeIsDOMWindow):
2638
2639 2010-02-22  Steve Block  <steveblock@google.com>
2640
2641         Reviewed by Simon Fraser.
2642
2643         Simplifies calculation of the transform in RenderLayer::paintLayer
2644         https://bugs.webkit.org/show_bug.cgi?id=35101
2645
2646         No new tests, optimization only.
2647
2648         * rendering/RenderLayer.cpp:
2649         (WebCore::RenderLayer::paintLayer):
2650
2651 2010-02-22  Nicholas Young  <nicholas.young@nokia.com>
2652
2653         Reviewed by Tor Arne Vestbø.
2654
2655         [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
2656
2657         https://bugs.webkit.org/show_bug.cgi?id=34631
2658
2659         No new tests. This patch only affects multimedia backend.
2660
2661         * WebCore.pro: Build depends on Qt version.
2662         * css/mediaControlsQt.css: Updated media controls.
2663         * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
2664         * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
2665         (WebCore::MediaPlayerPrivate::create):
2666         (WebCore::MediaPlayerPrivate::registerMediaEngine):
2667         (WebCore::MediaPlayerPrivate::getSupportedTypes):
2668         (WebCore::MediaPlayerPrivate::supportsType):
2669         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2670         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
2671         (WebCore::MediaPlayerPrivate::hasVideo):
2672         (WebCore::MediaPlayerPrivate::hasAudio):
2673         (WebCore::MediaPlayerPrivate::load):
2674         (WebCore::MediaPlayerPrivate::cancelLoad):
2675         (WebCore::MediaPlayerPrivate::play):
2676         (WebCore::MediaPlayerPrivate::pause):
2677         (WebCore::MediaPlayerPrivate::paused):
2678         (WebCore::MediaPlayerPrivate::seek):
2679         (WebCore::MediaPlayerPrivate::seeking):
2680         (WebCore::MediaPlayerPrivate::duration):
2681         (WebCore::MediaPlayerPrivate::currentTime):
2682         (WebCore::MediaPlayerPrivate::buffered):
2683         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2684         (WebCore::MediaPlayerPrivate::bytesLoaded):
2685         (WebCore::MediaPlayerPrivate::totalBytes):
2686         (WebCore::MediaPlayerPrivate::setRate):
2687         (WebCore::MediaPlayerPrivate::setVolume):
2688         (WebCore::MediaPlayerPrivate::supportsMuting):
2689         (WebCore::MediaPlayerPrivate::setMuted):
2690         (WebCore::MediaPlayerPrivate::networkState):
2691         (WebCore::MediaPlayerPrivate::readyState):
2692         (WebCore::MediaPlayerPrivate::setVisible):
2693         (WebCore::MediaPlayerPrivate::mediaStatusChanged):
2694         (WebCore::MediaPlayerPrivate::handleError):
2695         (WebCore::MediaPlayerPrivate::stateChanged):
2696         (WebCore::MediaPlayerPrivate::nativeSizeChanged):
2697         (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
2698         (WebCore::MediaPlayerPrivate::seekTimeout):
2699         (WebCore::MediaPlayerPrivate::positionChanged):
2700         (WebCore::MediaPlayerPrivate::durationChanged):
2701         (WebCore::MediaPlayerPrivate::volumeChanged):
2702         (WebCore::MediaPlayerPrivate::mutedChanged):
2703         (WebCore::MediaPlayerPrivate::updateStates):
2704         (WebCore::MediaPlayerPrivate::setSize):
2705         (WebCore::MediaPlayerPrivate::naturalSize):
2706         (WebCore::MediaPlayerPrivate::paint):
2707         (WebCore::MediaPlayerPrivate::repaint):
2708         * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
2709         (WebCore::MediaPlayerPrivate::isAvailable):
2710         (WebCore::MediaPlayerPrivate::supportsFullscreen):
2711         * platform/qt/RenderThemeQt.cpp:
2712         (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
2713         (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
2714         (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
2715         (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
2716         (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
2717         (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
2718         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
2719         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
2720         (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
2721         (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
2722         (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
2723         * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
2724
2725 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
2726
2727         Not reviewed: mac build fix
2728
2729         * bindings/js/ScriptDebugServer.cpp:
2730         (WebCore::ScriptDebugServer::ScriptDebugServer):
2731
2732 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
2733
2734         Reviewed by Pavel Feldman.
2735
2736         Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
2737         https://bugs.webkit.org/show_bug.cgi?id=33217
2738
2739         * English.lproj/localizedStrings.js:
2740         * bindings/js/ScriptDebugServer.cpp:
2741         (WebCore::ScriptDebugServer::ScriptDebugServer):
2742         (WebCore::ScriptDebugServer::hasBreakpoint):
2743         (WebCore::ScriptDebugServer::setBreakpointsActivated):
2744         * bindings/js/ScriptDebugServer.h:
2745         * bindings/v8/ScriptDebugServer.h:
2746         (WebCore::ScriptDebugServer::setBreakpointsActivated):
2747         * inspector/InspectorBackend.cpp:
2748         (WebCore::InspectorBackend::activateBreakpoints):
2749         (WebCore::InspectorBackend::deactivateBreakpoints):
2750         * inspector/InspectorBackend.h:
2751         * inspector/InspectorBackend.idl:
2752         * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
2753         * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
2754         * inspector/front-end/InspectorBackendStub.js:
2755         (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
2756         (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
2757         * inspector/front-end/ScriptsPanel.js:
2758         (WebInspector.ScriptsPanel):
2759         (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
2760         (WebInspector.ScriptsPanel.prototype.addBreakpoint):
2761         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
2762         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
2763         * inspector/front-end/inspector.css:
2764         * inspector/front-end/textViewer.css:
2765
2766 2010-02-22  Mark Rowe  <mrowe@apple.com>
2767
2768         Rubber-stamped by Sam Weinig and Maciej Stachowiak.
2769
2770         REGRESSION (r55039): Animation starts from near end when loaded over slow network
2771         <http://webkit.org/b/35222> / <rdar://problem/7673523>
2772
2773         Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
2774         to skip intermediate frames when loading over a slower network.
2775
2776         * platform/graphics/BitmapImage.cpp:
2777         (WebCore::BitmapImage::startAnimation):
2778
2779 2010-02-22  Maciej Stachowiak  <mjs@apple.com>
2780
2781         Not reviewed, build fix.
2782         
2783         Revert the previous change.
2784         
2785 2010-02-21  Maciej Stachowiak  <mjs@apple.com>
2786
2787         Reviewed by Darin Adler.
2788
2789         Cache JavaScript wrappers inline in DOM nodes
2790         https://bugs.webkit.org/show_bug.cgi?id=35226
2791         <rdar://problem/7664202>
2792
2793         8.8% speedup on Dromaeo DOM Core tests.
2794         3.3% speedup on Hixie DOM Core tests.
2795         
2796         * bindings/js/JSDOMBinding.cpp:
2797         (WebCore::forgetDOMNode): Clear wrapper pointer.
2798         (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
2799         * bindings/js/JSDOMBinding.h:
2800         (WebCore::DOMObjectWrapperMapFor): 
2801         * bindings/js/JSDocumentCustom.cpp:
2802         (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
2803         * bindings/js/JSNodeCustom.cpp:
2804         (WebCore::createWrapperInline): Renamed version of original createWrapper.
2805         (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
2806         (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
2807         * bindings/js/JSNodeCustom.h: Added.
2808         (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
2809         (WebCore::toJS): Moved here so it can be inlined.
2810         * bindings/js/ScriptWrappable.h:
2811         (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
2812         way for JavaScriptCore.
2813         (WebCore::ScriptWrappable::wrapper):
2814         (WebCore::ScriptWrappable::setWrapper):
2815         (WebCore::ScriptWrappable::clearWrapper):
2816         * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
2817         in the header, not just the impl file, so they can add inlining.
2818         * dom/Node.idl: Add CustomHeader directive.
2819         
2820         Add new files to build.
2821
2822         * GNUmakefile.am:
2823         * WebCore.gypi:
2824         * WebCore.pro:
2825         * WebCore.vcproj/WebCore.vcproj:
2826
2827 2010-02-22  Pavel Feldman  <pfeldman@chromium.org>
2828
2829         Not reviewed: windows build fix.
2830
2831 2010-02-21  Pavel Feldman  <pfeldman@chromium.org>
2832
2833         Reviewed by Timothy Hatcher.
2834
2835         Web Inspector: stop on inline breakpoints on reload.
2836         - ScriptBreakpoint struct has been introduced and reused in InspectorController
2837           and debug server.
2838         - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
2839           There were no changes to semantics, only some mechanical changes:
2840             - addBreakpoint and updateBreakpoint were merged into setBreakpoint
2841             - ScriptDebugServer now operates ScriptBreakpoint instances instead of
2842               BreakpointInfo.
2843             - It no longer allocates maps and breakpoint info in heap - all done on stack.
2844             - JavaScriptDebugListener is now ScriptDebugServer::Listener
2845             - Listener methods no longer have ExecState (was unused).
2846             - addListener/removeListener pair wuth no page argument removed (was unused).
2847         - InspectorController now binds sourceID to url and maintains a map of 'sticky'
2848           breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
2849           breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
2850           Front-end no longer stores map of sticky breakpoints.
2851             - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
2852         - A bunch of if(USE_JSC/V8/other) forks removed.
2853         - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
2854
2855         https://bugs.webkit.org/show_bug.cgi?id=28799
2856
2857         * GNUmakefile.am:
2858         * WebCore.base.exp:
2859         * WebCore.gypi:
2860         * WebCore.order:
2861         * WebCore.pro:
2862         * WebCore.vcproj/WebCore.vcproj:
2863         * WebCore.xcodeproj/project.pbxproj:
2864         * bindings/js/JSInjectedScriptHostCustom.cpp:
2865         (WebCore::JSInjectedScriptHost::currentCallFrame):
2866         (WebCore::JSInjectedScriptHost::isActivation):
2867         * bindings/js/ScriptDebugServer.cpp:
2868         (WebCore::ScriptDebugServer::shared):
2869         (WebCore::ScriptDebugServer::ScriptDebugServer):
2870         (WebCore::ScriptDebugServer::~ScriptDebugServer):
2871         (WebCore::ScriptDebugServer::addListener):
2872         (WebCore::ScriptDebugServer::removeListener):
2873         (WebCore::ScriptDebugServer::pageCreated):
2874         (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
2875         (WebCore::ScriptDebugServer::setBreakpoint):
2876         (WebCore::ScriptDebugServer::removeBreakpoint):
2877         (WebCore::ScriptDebugServer::hasBreakpoint):
2878         (WebCore::ScriptDebugServer::clearBreakpoints):
2879         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2880         (WebCore::ScriptDebugServer::pauseProgram):
2881         (WebCore::ScriptDebugServer::continueProgram):
2882         (WebCore::ScriptDebugServer::stepIntoStatement):
2883         (WebCore::ScriptDebugServer::stepOverStatement):
2884         (WebCore::ScriptDebugServer::stepOutOfFunction):
2885         (WebCore::ScriptDebugServer::currentCallFrame):
2886         (WebCore::ScriptDebugServer::currentCallFrameState):
2887         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2888         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
2889         (WebCore::toPage):
2890         (WebCore::ScriptDebugServer::detach):
2891         (WebCore::ScriptDebugServer::sourceParsed):
2892         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
2893         (WebCore::ScriptDebugServer::setJavaScriptPaused):
2894         (WebCore::ScriptDebugServer::pauseIfNeeded):
2895         (WebCore::ScriptDebugServer::callEvent):
2896         (WebCore::ScriptDebugServer::atStatement):
2897         (WebCore::ScriptDebugServer::returnEvent):
2898         (WebCore::ScriptDebugServer::exception):
2899         (WebCore::ScriptDebugServer::willExecuteProgram):
2900         (WebCore::ScriptDebugServer::didExecuteProgram):
2901         (WebCore::ScriptDebugServer::didReachBreakpoint):
2902         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
2903         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
2904         (WebCore::ScriptDebugServer::didAddListener):
2905         (WebCore::ScriptDebugServer::didRemoveListener):
2906         (WebCore::ScriptDebugServer::didRemoveLastListener):
2907         * bindings/js/ScriptDebugServer.h:
2908         (WebCore::ScriptDebugServer::Listener::~Listener):
2909         (WebCore::ScriptDebugServer::):
2910         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2911         (WebCore::ScriptDebugServer::hasListeners):
2912         (WebCore::ScriptDebugServer::hasGlobalListeners):
2913         * bindings/v8/ScriptDebugServer.cpp:
2914         (WebCore::ScriptDebugServer::shared):
2915         * bindings/v8/ScriptDebugServer.h:
2916         (WebCore::ScriptDebugServer::Listener::~Listener):
2917         (WebCore::ScriptDebugServer::addListener):
2918         (WebCore::ScriptDebugServer::removeListener):
2919         (WebCore::ScriptDebugServer::setBreakpoint):
2920         (WebCore::ScriptDebugServer::removeBreakpoint):
2921         (WebCore::ScriptDebugServer::clearBreakpoints):
2922         (WebCore::ScriptDebugServer::):
2923         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2924         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2925         (WebCore::ScriptDebugServer::pauseProgram):
2926         (WebCore::ScriptDebugServer::continueProgram):
2927         (WebCore::ScriptDebugServer::stepIntoStatement):
2928         (WebCore::ScriptDebugServer::stepOverStatement):
2929         (WebCore::ScriptDebugServer::stepOutOfFunction):
2930         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
2931         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
2932         (WebCore::ScriptDebugServer::currentCallFrameState):
2933         (WebCore::ScriptDebugServer::pageCreated):
2934         (WebCore::ScriptDebugServer::ScriptDebugServer):
2935         (WebCore::ScriptDebugServer::~ScriptDebugServer):
2936         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2937         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2938         (WebCore::V8InjectedScriptHost::isActivationCallback):
2939         * inspector/InjectedScriptHost.cpp:
2940         * inspector/InjectedScriptHost.h:
2941         * inspector/InjectedScriptHost.idl:
2942         * inspector/InspectorBackend.cpp:
2943         (WebCore::InspectorBackend::setBreakpoint):
2944         (WebCore::InspectorBackend::removeBreakpoint):
2945         (WebCore::InspectorBackend::pauseInDebugger):
2946         (WebCore::InspectorBackend::stepOverStatementInDebugger):
2947         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
2948         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
2949         (WebCore::InspectorBackend::pauseOnExceptionsState):
2950         (WebCore::InspectorBackend::setPauseOnExceptionsState):
2951         * inspector/InspectorBackend.h:
2952         * inspector/InspectorBackend.idl:
2953         * inspector/ScriptBreakpoint.h: Added.
2954         (WebCore::InspectorBreakpoint::InspectorBreakpoint):
2955         * inspector/InspectorController.cpp:
2956         (WebCore::InspectorController::InspectorController):
2957         (WebCore::InspectorController::setWindowVisible):
2958         (WebCore::InspectorController::scriptObjectReady):
2959         (WebCore::InspectorController::close):
2960         (WebCore::InspectorController::didCommitLoad):
2961         (WebCore::InspectorController::addProfile):
2962         (WebCore::InspectorController::startUserInitiatedProfiling):
2963         (WebCore::InspectorController::stopUserInitiatedProfiling):
2964         (WebCore::InspectorController::enableProfiler):
2965         (WebCore::InspectorController::disableProfiler):
2966         (WebCore::InspectorController::enableDebuggerFromFrontend):
2967         (WebCore::InspectorController::disableDebugger):
2968         (WebCore::InspectorController::resumeDebugger):
2969         (WebCore::InspectorController::setBreakpoint):
2970         (WebCore::InspectorController::removeBreakpoint):
2971         (WebCore::InspectorController::didParseSource):
2972         (WebCore::InspectorController::failedToParseSource):
2973         (WebCore::InspectorController::didPause):
2974         * inspector/InspectorController.h:
2975         * inspector/InspectorFrontend.cpp:
2976         (WebCore::InspectorFrontend::parsedScriptSource):
2977         (WebCore::InspectorFrontend::restoredBreakpoint):
2978         (WebCore::InspectorFrontend::failedToParseScriptSource):
2979         (WebCore::InspectorFrontend::resumedScript):
2980         * inspector/InspectorFrontend.h:
2981         * inspector/JavaScriptDebugListener.h: Removed.
2982         * inspector/JavaScriptDebugServer.cpp: Removed.
2983         * inspector/JavaScriptDebugServer.h: Removed.
2984         * inspector/front-end/Breakpoint.js:
2985         (WebInspector.Breakpoint.prototype.set condition):
2986         * inspector/front-end/BreakpointsSidebarPane.js:
2987         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
2988         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
2989         * inspector/front-end/InspectorBackendStub.js:
2990         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
2991         * inspector/front-end/ResourcesPanel.js:
2992         (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
2993         * inspector/front-end/ScriptsPanel.js:
2994         (WebInspector.ScriptsPanel):
2995         (WebInspector.ScriptsPanel.prototype.addScript):
2996         (WebInspector.ScriptsPanel.prototype.addBreakpoint):
2997         (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
2998         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2999         * inspector/front-end/inspector.js:
3000         (WebInspector.restoredBreakpoint):
3001         * page/Page.cpp:
3002         (WebCore::Page::Page):
3003         * platform/android/TemporaryLinkStubs.cpp:
3004
3005 2010-02-21  Gavin Barraclough  <barraclough@apple.com>
3006
3007         Reviewed by Oliver Hunt.
3008
3009         Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
3010
3011         * platform/text/StringImpl.cpp:
3012         (WebCore::StringImpl::sharedBuffer):
3013         * platform/text/StringImpl.h:
3014
3015 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
3016
3017         Reviewed by Eric Seidel.
3018
3019         When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
3020         RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
3021         Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
3022         https://bugs.webkit.org/show_bug.cgi?id=9526
3023
3024         Test: printing/page-break-always-for-overflow.html
3025
3026         * rendering/RenderBlock.cpp:
3027         (WebCore::RenderBlock::paintChildren):
3028         * rendering/RenderBlock.h:
3029
3030 2010-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
3031
3032         Reviewed by Eric Seidel.
3033
3034         Remove auto_ptr usage in WebCore.
3035         https://bugs.webkit.org/show_bug.cgi?id=35157
3036
3037         The changes consists of:
3038
3039         - Changing auto_ptr arguments or return types to PassOwnPtr.
3040
3041         - Replacing local auto_ptr by OwnPtr.
3042
3043         - Removing now unneeded <memory> inclusion.
3044
3045         * css/CSSParser.cpp:
3046         (WebCore::CSSParser::addProperty):
3047         * loader/WorkerThreadableLoader.cpp:
3048         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
3049         (WebCore::workerContextDidReceiveResponse):
3050         (WebCore::workerContextDidReceiveData):
3051         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
3052         (WebCore::workerContextDidReceiveAuthenticationCancellation):
3053         * loader/WorkerThreadableLoader.h:
3054         * loader/icon/IconLoader.cpp:
3055         (WebCore::IconLoader::create):
3056         * loader/icon/IconLoader.h:
3057         * platform/ContextMenu.cpp:
3058         (WebCore::separatorItem):
3059         * platform/CrossThreadCopier.h:
3060         (WebCore::):
3061         * platform/network/HTTPHeaderMap.cpp:
3062         (WebCore::HTTPHeaderMap::copyData):
3063         (WebCore::HTTPHeaderMap::adopt):
3064         * platform/network/HTTPHeaderMap.h:
3065         * platform/network/ResourceRequestBase.cpp:
3066         (WebCore::ResourceRequestBase::adopt):
3067         (WebCore::ResourceRequestBase::copyData):
3068         * platform/network/ResourceRequestBase.h:
3069         * platform/network/ResourceResponseBase.cpp:
3070         (WebCore::ResourceResponseBase::adopt):
3071         (WebCore::ResourceResponseBase::copyData):
3072         * platform/network/ResourceResponseBase.h:
3073         * svg/SVGDocumentExtensions.cpp:
3074         (WebCore::SVGDocumentExtensions::removePendingResource):
3075         * svg/SVGDocumentExtensions.h:
3076         * svg/SVGElement.cpp:
3077         (WebCore::SVGElement::insertedIntoDocument):
3078         * workers/GenericWorkerTask.h:
3079         * workers/WorkerThread.cpp:
3080         (WebCore::WorkerThreadStartupData::create):
3081
3082 2010-02-21  Simon Fraser  <simon.fraser@apple.com>
3083
3084         Reviewed by Dan Bernstein.
3085
3086         https://bugs.webkit.org/show_bug.cgi?id=22215
3087         Avoid calling absoluteClippedOverflowRect() so many times
3088
3089         RenderLayer::updateLayerPositions() computes the clipped overflow rect
3090         and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
3091         which can compute the same rects all over again. Avoid this by passing
3092         these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
3093         reduces the time spent in updateLayerPositions() for some content.
3094
3095         * rendering/RenderLayer.cpp:
3096         (WebCore::RenderLayer::updateLayerPositions):
3097         * rendering/RenderObject.cpp:
3098         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3099         * rendering/RenderObject.h:
3100
3101 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
3102
3103         Reviewed by Maciej Stachowiak.
3104
3105         https://bugs.webkit.org/show_bug.cgi?id=35202
3106         <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
3107
3108         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
3109         other JS types.
3110
3111 2010-02-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3112
3113         Reviewed by Darin Adler.
3114
3115         Fix compiler warning "suggest parentheses around"
3116         https://bugs.webkit.org/show_bug.cgi?id=35197
3117
3118         No new tests as there is no new functionality.
3119
3120         * html/DateComponents.cpp:
3121         (WebCore::beforeGregorianStartDate):
3122         * plugins/PluginDatabase.cpp:
3123         (WebCore::PluginDatabase::findPlugin):
3124
3125 2010-02-20  Noam Rosenthal  <noam.rosenthal@nokia.com>
3126
3127         Reviewed by Laszlo Gombos.
3128
3129         [Qt] ENABLE_3D_RENDERING should be optional
3130         https://bugs.webkit.org/show_bug.cgi?id=35100
3131
3132         No new tests: this is a build fix.
3133
3134         * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
3135
3136 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
3137
3138         Reviewed by Maciej Stachowiak.
3139
3140         https://bugs.webkit.org/show_bug.cgi?id=23742
3141         Applet methods can not return arrays to JS
3142
3143         * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
3144         m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
3145
3146         * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
3147         Also, added an ifdef around  code that's only needed on Tiger, and removed a comment saying
3148         it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
3149         could refer to back then.
3150
3151 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
3152
3153         Reviewed by Timothy Hatcher.
3154
3155         Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
3156
3157         https://bugs.webkit.org/show_bug.cgi?id=35192
3158
3159         * inspector/front-end/ResourcesPanel.js:
3160         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3161         * inspector/front-end/ScriptsPanel.js:
3162         (WebInspector.ScriptsPanel.prototype.show):
3163         (WebInspector.ScriptsPanel.prototype.viewRecreated):
3164
3165 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
3166
3167         Reviewed by Timothy Hatcher.
3168
3169         Web Inspector: need to highlight the evaluated expression used for popovers.
3170
3171         https://bugs.webkit.org/show_bug.cgi?id=35126
3172
3173         * inspector/front-end/SourceFrame.js:
3174         (WebInspector.SourceFrame.prototype._mouseMove):
3175         (WebInspector.SourceFrame.prototype._hidePopup):
3176         (WebInspector.SourceFrame.prototype._mouseHover):
3177         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
3178         (WebInspector.SourceFrame.prototype._showPopup):
3179         * inspector/front-end/inspector.css:
3180
3181 2010-02-20  Gustavo Noronha Silva  <gns@gnome.org>
3182
3183         Roll out 55047 because it causes layout, and API tests to fail
3184
3185 2010-02-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3186
3187         Reviewed by Xan Lopez.
3188
3189         [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
3190         https://bugs.webkit.org/show_bug.cgi?id=35093
3191
3192         Refactor updating of ResourceResponse objects from soup message
3193         objects, to avoid code duplication.
3194
3195         No behaviour change.
3196
3197         * platform/network/soup/ResourceHandleSoup.cpp:
3198         (WebCore::fillResponseFromMessage):
3199         * platform/network/soup/ResourceResponseSoup.cpp:
3200         (WebCore::ResourceResponse::updateFromSoupMessage):
3201
3202 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
3203
3204         Reviewed by Maciej Stachowiak.
3205
3206         https://bugs.webkit.org/show_bug.cgi?id=35190
3207         Don't use system malloc in Java bindings
3208
3209         * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
3210
3211 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
3212
3213         Reviewed by Maciej Stachowiak.
3214
3215         https://bugs.webkit.org/show_bug.cgi?id=9761
3216         LiveConnect string conversion fails for java.lang.Object
3217
3218         Can't test Java in DRT (I wonder why).
3219
3220         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
3221         Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
3222
3223 2010-02-19  Maciej Stachowiak  <mjs@apple.com>
3224
3225         Reviewed by David Levin.
3226
3227         Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
3228         https://bugs.webkit.org/show_bug.cgi?id=35147
3229
3230         I made ENABLE(SANDBOX) only control the sandbox attribute itself;
3231         I did not ifdef the infrastructure to make sandboxing
3232         switchable. This is because the likely concerns about sandboxing
3233         are not stability of the infrastructure code, but rather the fact
3234         that the security model exposed to authors is still evolving.
3235
3236         * Configurations/FeatureDefines.xcconfig:
3237         * GNUmakefile.am:
3238         * WebCore.pri:
3239         * html/HTMLIFrameElement.cpp:
3240         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3241
3242 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
3243
3244         Reviewed by Maciej Stachowiak.
3245
3246         https://bugs.webkit.org/show_bug.cgi?id=35132
3247         <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
3248
3249         * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
3250         pointer when above a plug-in or applet to prevent flicker.
3251
3252 2010-02-18  Peter Kasting  <pkasting@google.com>
3253
3254         Reviewed by Adam Barth.
3255
3256         Fix regression in calculating an animated image's start time.
3257         https://bugs.webkit.org/show_bug.cgi?id=35115
3258
3259         * platform/graphics/BitmapImage.cpp:
3260         (WebCore::BitmapImage::startAnimation):
3261
3262 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
3263
3264         Reviewed by Geoffrey Garen.
3265
3266         https://bugs.webkit.org/show_bug.cgi?id=35178
3267         LiveConnect code uses hand-rolled fprintf logging
3268
3269         Changed to use LOG, LOG_ERROR and ASSERT.
3270
3271         * platform/Logging.cpp:
3272         (WebCore::getChannelFromName):
3273         * platform/Logging.h:
3274         * platform/mac/LoggingMac.mm:
3275         (WebCore::InitializeLoggingChannelsIfNecessary):
3276         * platform/win/LoggingWin.cpp:
3277         (WebCore::InitializeLoggingChannelsIfNecessary):
3278         TextConversion channel was (almost) unused, renamed to LiveConnect.
3279
3280         * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
3281         The only use of this channel was in platform specific code, commandeered it for cross-platform
3282         needs.
3283
3284         * bridge/jni/JNIBridge.cpp:
3285         * bridge/jni/JNIUtility.cpp:
3286         (JSC::Bindings::getJavaVM):
3287         (JSC::Bindings::getJNIEnv):
3288         (JSC::Bindings::getJNIField):
3289         * bridge/jni/JNIUtility.h:
3290         (JSC::Bindings::callJNIMethodV):
3291         (JSC::Bindings::callJNIStaticMethod):
3292         * bridge/jni/jni_jsobject.mm:
3293         (completedJavaScriptAccess):
3294         (dispatchToJavaScriptThread):
3295         (performJavaScriptAccess):
3296         (JavaJSObject::invoke):
3297         (JavaJSObject::call):
3298         (JavaJSObject::eval):
3299         (JavaJSObject::getMember):
3300         (JavaJSObject::setMember):
3301         (JavaJSObject::removeMember):
3302         (JavaJSObject::getSlot):
3303         (JavaJSObject::setSlot):
3304         (JavaJSObject::toString):
3305         (JavaJSObject::createNative):
3306         * bridge/jni/jsc/JNIBridgeJSC.cpp:
3307         (JavaField::valueFromInstance):
3308         (JavaField::setValueToInstance):
3309         * bridge/jni/jsc/JavaClassJSC.cpp:
3310         (JavaClass::JavaClass):
3311         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3312         (JavaInstance::invokeMethod):
3313         (JObjectWrapper::JObjectWrapper):
3314         (JObjectWrapper::~JObjectWrapper):
3315
3316 2010-02-19  Dirk Schulze  <krit@webkit.org>
3317
3318         Reviewed by Nikolas Zimmermann.
3319
3320         RenderSVGResourceMasker causes an Assert on Wind builds during DRT
3321         https://bugs.webkit.org/show_bug.cgi?id=35182
3322
3323         We remove the Assert for now and return earlier, if the HashMap of the Masker
3324         does not contain the RenderObject. The RenderObject is an identifiert to get
3325         a already calculated mask.
3326         A race condition during parsing can cause the invalidation call, before the mask
3327         got calculated (only during DRT on Win build bots).
3328         The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
3329
3330         * rendering/RenderSVGResourceMasker.cpp:
3331         (WebCore::RenderSVGResourceMasker::invalidateClient):
3332
3333 2010-02-18  Peter Kasting  <pkasting@google.com>
3334
3335         Reviewed by Darin Fisher.
3336
3337         Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
3338         up some code.
3339         https://bugs.webkit.org/show_bug.cgi?id=35136
3340
3341         * loader/ImageLoader.cpp:
3342         (WebCore::ImageLoader::updateRenderer): Shorten some code.
3343         * page/DragController.cpp:
3344         (WebCore::getImage): Shorten some code.
3345         * platform/chromium/PasteboardChromium.cpp:
3346         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
3347         * platform/gtk/PasteboardGtk.cpp:
3348         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
3349         * platform/mac/PasteboardMac.mm:
3350         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
3351         * platform/qt/PasteboardQt.cpp:
3352         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
3353         * platform/win/PasteboardWin.cpp:
3354         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
3355
3356 2010-02-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3357
3358         Rubberstamped by Noam Rosenthal, who wrote the original code.
3359
3360         Make mouse wheel scrolling work when using the GraphicsLayer.
3361
3362         * platform/graphics/qt/GraphicsLayerQt.cpp:
3363         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
3364
3365 2010-02-19  Nate Chapin  <japhet@chromium.org>
3366
3367         Reviewed by Dimitri Glazkov.
3368
3369         [V8] Fix Worker crash regression in r54972
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=35166
3372
3373         * bindings/v8/V8DOMWrapper.cpp:
3374         (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
3375
3376 2010-02-19  Steve Block  <steveblock@google.com>
3377
3378         Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
3379
3380         * bindings/generic/RuntimeEnabledFeatures.cpp:
3381         * storage/Database.cpp:
3382
3383 2010-02-19  Steve Block  <steveblock@google.com>
3384
3385         Reviewed by David Levin.
3386
3387         Sets default values of V8 runtime enabler flags to match behavior with JSC
3388         https://bugs.webkit.org/show_bug.cgi?id=35095
3389
3390         No new tests, modifies a Chromium feature only.
3391
3392         * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
3393         * storage/Database.cpp: Modified. Sets database flag default to 'on'.
3394
3395 2010-02-19  Alexander Pavlov  <apavlov@chromium.org>
3396
3397         Reviewed by Pavel Feldman.
3398
3399         WebInspector: Elements panel: Correctly show empty elements' ending tags
3400         for XML and HTML documents.
3401         https://bugs.webkit.org/show_bug.cgi?id=26315
3402
3403         Test: inspector/elements-panel-xhtml-structure.xhtml
3404
3405         * inspector/InspectorController.cpp:
3406         (WebCore::InspectorController::populateScriptObjects):
3407         * inspector/front-end/ElementsTreeOutline.js:
3408         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
3409         (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
3410         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
3411         (WebInspector.ElementsTreeElement.prototype.onexpand):
3412         (WebInspector.ElementsTreeElement.prototype.oncollapse):
3413         (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
3414         (WebInspector.ElementsTreeElement.prototype.updateTitle):
3415         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
3416
3417 2010-02-19  Pavel Feldman  <pfeldman@chromium.org>
3418
3419         Not reviewed. Chromium build fix: reverting r54997 and r54998.
3420
3421         * bindings/v8/custom/V8LocationCustom.cpp:
3422         (WebCore::V8Location::protocolAccessorSetter):
3423         * platform/KURLGoogle.cpp:
3424         (WebCore::KURL::setProtocol):
3425         (WebCore::KURL::isHierarchical):
3426
3427 2010-02-17  Philippe Normand  <pnormand@igalia.com>
3428
3429         Reviewed by Eric Seidel.
3430
3431         [GTK] RTP/RTSP streams playback support
3432         https://bugs.webkit.org/show_bug.cgi?id=33662
3433
3434         Added live pipelines support in updateStates().
3435
3436         * manual-tests/video-rtsp.html: Added.
3437         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3438         (WebCore::MediaPlayerPrivate::seek):
3439         (WebCore::MediaPlayerPrivate::updateStates):
3440
3441 2010-02-18  Yaar Schnitman  <yaar@chromium.org>
3442
3443         Reviewed by Darin Adler.
3444
3445         Normalize custom ctors for Image, Option, Audio
3446         https://bugs.webkit.org/show_bug.cgi?id=34782
3447
3448         Test: fast/js/custom-constructors.html
3449
3450         * bindings/js/JSAudioConstructor.cpp:
3451         (WebCore::JSAudioConstructor::JSAudioConstructor):
3452         (WebCore::constructAudio):
3453         * bindings/js/JSImageConstructor.cpp:
3454         (WebCore::constructImage):
3455         * bindings/js/JSOptionConstructor.cpp:
3456         (WebCore::constructHTMLOptionElement):
3457         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3458         (WebCore::v8HTMLAudioElementConstructorCallback):
3459         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3460         (WebCore::v8HTMLImageElementConstructorCallback):
3461         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3462         (WebCore::v8HTMLOptionElementConstructorCallback):
3463         * html/HTMLAudioElement.cpp:
3464         (WebCore::HTMLAudioElement::HTMLAudioElement):
3465         (WebCore::HTMLAudioElement::createForJSConstructor):
3466         * html/HTMLAudioElement.h:
3467         * html/HTMLImageElement.cpp:
3468         (WebCore::HTMLImageElement::createForJSConstructor):
3469         (WebCore::HTMLImageElement::mapToEntry):
3470         (WebCore::HTMLImageElement::createRenderer):
3471         (WebCore::HTMLImageElement::attach):
3472         (WebCore::HTMLImageElement::width):
3473         (WebCore::HTMLImageElement::height):
3474         (WebCore::HTMLImageElement::naturalHeight):
3475         * html/HTMLImageElement.h:
3476         * html/HTMLOptionElement.cpp:
3477         (WebCore::HTMLOptionElement::HTMLOptionElement):
3478         (WebCore::HTMLOptionElement::createForJSConstructor):
3479         (WebCore::HTMLOptionElement::ownerSelectElement):
3480         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
3481         (WebCore::HTMLOptionElement::disabled):
3482         (WebCore::HTMLOptionElement::insertedIntoTree):
3483         * html/HTMLOptionElement.h:
3484
3485 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
3486
3487         No Review.
3488
3489         Remove a couple of extraneous spaces that got added to the project file
3490         by hand-ending.
3491
3492         * WebCore.xcodeproj/project.pbxproj:
3493
3494 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
3495
3496         Reviewed by Dan Bernstein.
3497
3498         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
3499         
3500         Add logic to determine when painting via the software rendering path will give an equivalent
3501         result to the accelerated compositing presentation. This tests for the presence of 3D transforms
3502         via the existing RenderLayerCompositor::has3DContent() method.
3503         
3504         * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
3505         * page/FrameView.h:
3506         * page/FrameView.cpp:
3507         (WebCore::FrameView::isSoftwareRenderable): New method.
3508         (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
3509
3510 2010-02-18  Dan Bernstein  <mitz@apple.com>
3511
3512         Reviewed by John Sullivan.
3513
3514         <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
3515         when there are pending style sheets
3516
3517         Test: fast/css/getComputedStyle/pending-stylesheet.html
3518
3519         When querying a property of a computed style declaration for a non-rendered element,
3520         CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
3521         would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
3522         the document causing it to recalculate style. On the next computed style property access,
3523         style would be recalculated for the document, but then the flag would get set again if the
3524         element did not have a renderer.
3525
3526         * dom/Document.cpp:
3527         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
3528         m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
3529         * dom/Document.h:
3530         * dom/Element.cpp:
3531         (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
3532
3533 2010-02-18  Dirk Schulze  <krit@webkit.org>
3534
3535         Reviewed by Nikolas Zimmermann.
3536
3537         Move SVGResources to Renderers, starting with Masker
3538         https://bugs.webkit.org/show_bug.cgi?id=35020
3539
3540         We have rendering specific code in WebCore/svg/graphics. The goal is to move
3541         this code into suitable Renderers. This helps us to clean up the code and makes
3542         maintenance easier. It also makes it possible to remove rendering specific code
3543         from SVG*Elements into this renderers. So the Renderer contains everything that
3544         is needed to use the resource.
3545         RenderSVGResource will be the base class for all new resource render classes like
3546         RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
3547
3548         This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
3549         Another benefit is the much more useful result in DRT on using masker.
3550
3551         * Android.mk:
3552         * GNUmakefile.am:
3553         * WebCore.gypi:
3554         * WebCore.pro:
3555         * WebCore.vcproj/WebCore.vcproj:
3556         * WebCore.xcodeproj/project.pbxproj:
3557         * rendering/RenderObject.cpp:
3558         (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
3559         * rendering/RenderObject.h:
3560         (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
3561         * rendering/RenderPath.cpp:
3562         * rendering/RenderSVGImage.cpp:
3563         (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
3564         * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
3565         (WebCore::RenderSVGImage::toSVGRenderBase):
3566         (WebCore::RenderSVGImage::renderName):
3567         (WebCore::RenderSVGImage::isSVGImage):
3568         (WebCore::RenderSVGImage::localToParentTransform):
3569         (WebCore::RenderSVGImage::strokeBoundingBox):
3570         (WebCore::RenderSVGImage::requiresLayer):
3571         (WebCore::RenderSVGImage::localTransform):
3572         * rendering/RenderSVGInlineText.h:
3573         (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
3574         * rendering/RenderSVGModelObject.cpp:
3575         (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
3576         * rendering/RenderSVGModelObject.h:
3577         * rendering/RenderSVGResource.h: Added.
3578         (WebCore::): Base class for all Resource renderers like masker, clipper and others.
3579         (WebCore::RenderSVGResource::RenderSVGResource):
3580         (WebCore::RenderSVGResource::cast):
3581         (WebCore::RenderSVGResource::toRenderSVGResource):
3582         (WebCore::RenderSVGResource::isSVGResource):