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