77f709e739de99d6223efe2c4298c0408113bb2b
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-27  Jens Alfke  <snej@chromium.org>
2
3         Reviewed by Darin Fisher.
4
5         [Chromium] Add some notifications and an accessor to WebKit API
6         https://bugs.webkit.org/show_bug.cgi?id=37625
7
8         * dom/Node.cpp:
9         (WebCore::Node::hasNonEmptyBoundingBox): New method.
10         * dom/Node.h:
11         * html/HTMLAnchorElement.cpp:
12         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
13
14 2010-04-27  Jochen Eisinger  <jochen@chromium.org>
15
16         Reviewed by Shinichiro Hamaji.
17
18         Fix gyp build on Mac OS X with enable_svg=0.
19         https://bugs.webkit.org/show_bug.cgi?id=38192
20
21         * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
22         * css/CSSComputedStyleDeclaration.cpp:
23         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
24
25 2010-04-27  Kinuko Yasuda  <kinuko@chromium.org>
26
27         Reviewed by Jian Li.
28
29         [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
30         https://bugs.webkit.org/show_bug.cgi?id=38207
31
32         No new tests.
33
34         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
35
36 2010-04-27  François Sausset  <sausset@gmail.com>
37
38         Reviewed by Kenneth Rohde Christiansen.
39
40         Implementation of the MathML mroot & msqrt elements.
41         https://bugs.webkit.org/show_bug.cgi?id=37044
42
43         Test: mathml/presentation/roots.xhtml
44
45         * WebCore.xcodeproj/project.pbxproj:
46         * css/mathml.css:
47         (mroot):
48         (mroot > * + *):
49         (mroot > * + mrow, mroot > * + mfenced):
50         * mathml/MathMLInlineContainerElement.cpp:
51         (WebCore::MathMLInlineContainerElement::createRenderer):
52         * mathml/RenderMathMLRoot.cpp: Added.
53         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
54         (WebCore::RenderMathMLRoot::addChild):
55         (WebCore::RenderMathMLRoot::paint):
56         (WebCore::RenderMathMLRoot::layout):
57         * mathml/RenderMathMLRoot.h: Added.
58         * mathml/RenderMathMLSquareRoot.cpp: Added.
59         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
60         (WebCore::RenderMathMLSquareRoot::paint):
61         (WebCore::RenderMathMLSquareRoot::layout):
62         * mathml/RenderMathMLSquareRoot.h: Added.
63
64 2010-04-27  Darin Adler  <darin@apple.com>
65
66         Reviewed by Maciej Stachowiak.
67
68         I noticed an unused forwarding header.
69
70         * ForwardingHeaders/runtime/PropertyMap.h: Removed.
71
72 2010-04-27  James Robinson  <jamesr@chromium.org>
73
74         Reviewed by Adam Barth.
75
76         Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
77         https://bugs.webkit.org/show_bug.cgi?id=38153
78
79         * bindings/scripts/CodeGeneratorV8.pm:
80         * bindings/v8/V8Proxy.cpp:
81         (WebCore::V8Proxy::callFunction):
82
83 2010-04-27  Eric Seidel  <eric@webkit.org>
84
85         Unreviewed, rolling out r58318.
86         http://trac.webkit.org/changeset/58318
87         https://bugs.webkit.org/show_bug.cgi?id=37215
88
89         Broke test on Tiger.  Might just need updated results,
90         unclear.
91
92         * inspector/InspectorController.cpp:
93         (WebCore::InspectorController::didReceiveResponse):
94         (WebCore::InspectorController::didFailLoading):
95         * inspector/front-end/Resource.js:
96         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
97         * inspector/front-end/ResourcesPanel.js:
98         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
99
100 2010-04-27  Evan Martin  <evan@chromium.org>
101
102         Reviewed by David Levin.
103
104         [chromium] bold bengali text not rendered properly on Linux
105         https://bugs.webkit.org/show_bug.cgi?id=37904
106
107         We must let Skia do font fallback, rather than picking a font name
108         then handing that to Skia.  For example, if we have Bengali text and
109         choose FreeSans + fake bold, and then later reuse the name, Skia will
110         helpfully use FreeSansBold (which doesn't cover Bengali).
111
112         Test: fast/text/international/bold-bengali.html
113
114         * platform/graphics/chromium/FontCacheLinux.cpp:
115         (WebCore::FontCache::getFontDataForCharacters):
116
117 2010-04-27  James Robinson  <jamesr@chromium.org>
118
119         Reviewed by Darin Adler.
120
121         Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
122         https://bugs.webkit.org/show_bug.cgi?id=38158
123
124         Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
125         and functions mixed in.
126
127         * platform/graphics/chromium/FontLinux.cpp:
128         (WebCore::adjustTextRenderMode):
129         (WebCore::TextRunWalker::getTextRun):
130         (WebCore::TextRunWalker::getNormalizedTextRun):
131         (WebCore::TextRunWalker::setGlyphXPositions):
132         (WebCore::glyphIndexForXPositionInScriptRun):
133         (WebCore::Font::offsetForPositionForComplexText):
134         (WebCore::Font::selectionRectForComplexText):
135         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
136         (WebCore::FontPlatformData::setupPaint):
137         * platform/graphics/chromium/HarfbuzzSkia.cpp:
138         (WebCore::getOutlinePoint):
139         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
140         (WebCore::GraphicsContext3D::getImageData):
141         * platform/graphics/skia/GraphicsContextSkia.cpp:
142         (WebCore::isCoordinateSkiaSafe):
143         (WebCore::GraphicsContext::fillRect):
144         (WebCore::GraphicsContext::strokePath):
145         (WebCore::GraphicsContext::strokeRect):
146
147 2010-04-27  Jian Li  <jianli@chromium.org>
148
149         Reviewed by Darin Adler.
150
151         Sending a package file using FormData crashes WebKit on Mac.
152         https://bugs.webkit.org/show_bug.cgi?id=37882
153
154         Can't add a layout test because DRT does not support generating the file name.
155
156         * loader/FrameLoader.cpp:
157         (WebCore::FrameLoader::submitForm):
158         (WebCore::FrameLoader::navigateToDifferentDocument):
159         * platform/network/FormData.cpp:
160         (WebCore::FormData::appendDOMFormData):
161         * platform/network/FormData.h:
162         * xml/XMLHttpRequest.cpp:
163         (WebCore::XMLHttpRequest::send):
164
165 2010-04-27  Adam Barth  <abarth@webkit.org>
166
167         Reviewed by Eric Seidel.
168
169         Remove custom NodeIterator bindings
170         https://bugs.webkit.org/show_bug.cgi?id=38188
171
172         Another example of CallWith=ScriptState.  This case shows us the right
173         way to handle the interaction with exception codes.
174
175         In my previous patch, I put the exception code handling after the
176         ScriptState exception handling.  It turns out this was a mistake
177         (although a harmless one at the time because no IDL caused us to
178         generate that code).  Now that we're generating both kinds of exception
179         handling, we need to generate them in the right order.
180
181         * WebCore.gypi:
182         * bindings/js/JSNodeIteratorCustom.cpp:
183         * bindings/scripts/CodeGeneratorJS.pm:
184         * bindings/scripts/CodeGeneratorV8.pm:
185         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
186         (webkit_dom_test_obj_with_script_state_void_exception):
187         (webkit_dom_test_obj_with_script_state_obj_exception):
188         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
189         * bindings/scripts/test/JS/JSTestObj.cpp:
190         (WebCore::):
191         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
192         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
193         * bindings/scripts/test/JS/JSTestObj.h:
194         * bindings/scripts/test/ObjC/DOMTestObj.h:
195         * bindings/scripts/test/ObjC/DOMTestObj.mm:
196         (-[DOMTestObj withScriptStateVoidException]):
197         (-[DOMTestObj withScriptStateObjException]):
198         * bindings/scripts/test/TestObj.idl:
199         * bindings/scripts/test/V8/V8TestObj.cpp:
200         (WebCore::TestObjInternal::withScriptStateVoidCallback):
201         (WebCore::TestObjInternal::withScriptStateObjCallback):
202         (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
203         (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
204         (WebCore::):
205         * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
206         * dom/NodeIterator.idl:
207
208 2010-04-27  Adam Barth  <abarth@webkit.org>
209
210         Reviewed by Darin Adler.
211
212         Remove copy/paste addEventListener "custom" bindings via code generation
213         https://bugs.webkit.org/show_bug.cgi?id=38210
214
215         It's somewhat lame to special case addEventListener and
216         removeEventListener in the code generator, but it saves a large amount
217         of boilerplate "custom" bindings code.
218
219         Idea shamelessly stolen from the V8 code generator.
220
221         This patch points to some good refactoring opportunities in
222         CodeGeneratorJS.pm, but I'm going to hold off on those for a future
223         patch.  By generating test coverage for the code generator, we make
224         these future refactorings easier.
225
226         * bindings/js/JSAbstractWorkerCustom.cpp:
227         * bindings/js/JSDOMApplicationCacheCustom.cpp:
228         * bindings/js/JSDesktopNotificationsCustom.cpp:
229         * bindings/js/JSEventSourceCustom.cpp:
230         * bindings/js/JSMessagePortCustom.cpp:
231         * bindings/js/JSNodeCustom.cpp:
232         * bindings/js/JSSVGElementInstanceCustom.cpp:
233         * bindings/js/JSWebSocketCustom.cpp:
234         * bindings/js/JSWorkerContextCustom.cpp:
235         * bindings/js/JSXMLHttpRequestCustom.cpp:
236         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
237         * bindings/scripts/CodeGeneratorJS.pm:
238         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
239         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
240         * bindings/scripts/test/JS/JSTestObj.cpp:
241         (WebCore::):
242         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
243         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
244         * bindings/scripts/test/JS/JSTestObj.h:
245         * bindings/scripts/test/ObjC/DOMTestObj.h:
246         * bindings/scripts/test/ObjC/DOMTestObj.mm:
247         (-[DOMTestObj addEventListener:listener:useCapture:]):
248         (-[DOMTestObj removeEventListener:listener:useCapture:]):
249         * bindings/scripts/test/TestObj.idl:
250         * bindings/scripts/test/V8/V8TestObj.cpp:
251         (WebCore::TestObjInternal::addEventListenerCallback):
252         (WebCore::TestObjInternal::removeEventListenerCallback):
253         (WebCore::):
254         * dom/MessagePort.idl:
255         * dom/Node.idl:
256         * loader/appcache/DOMApplicationCache.idl:
257         * notifications/Notification.idl:
258         * page/EventSource.idl:
259         * svg/SVGElementInstance.idl:
260         * websockets/WebSocket.idl:
261         * workers/AbstractWorker.idl:
262         * workers/WorkerContext.idl:
263         * xml/XMLHttpRequest.idl:
264         * xml/XMLHttpRequestUpload.idl:
265
266 2010-04-27  Sam Weinig  <sam@webkit.org>
267
268         Rubber-stamped by Beth Dakin.
269
270         Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
271
272         * page/EventHandler.cpp:
273         (WebCore::EventHandler::EventHandler):
274         (WebCore::EventHandler::clearDragState):
275         * page/EventHandler.h:
276         * page/mac/DragControllerMac.mm:
277         * page/mac/EventHandlerMac.mm:
278         * platform/mac/PopupMenuMac.mm:
279
280 2010-04-27  Ben Murdoch  <benm@google.com>
281
282         Reviewed by Simon Hausmann.
283
284         The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
285         https://bugs.webkit.org/show_bug.cgi?id=37609
286
287         No new tests required, only updating documentation.
288
289         * page/EventHandler.cpp:
290         (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
291             the TouchStationary state as a result of discussions in bug 37609.
292
293 2010-04-27  Simon Fraser  <simon.fraser@apple.com>
294
295         Reviewed by Darin Adler, Maciej Stachowiak.
296
297         REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
298         https://bugs.webkit.org/show_bug.cgi?id=38183
299
300         Rather than sprinkle PLATFORM #ifdefs around, add a new method,
301         RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
302         an iframe with composited content should trigger compositing mode in the enclosing document
303         (a behavior that differs between platforms).
304         
305         Use this new method to determine whether to trigger a style recalc in the parent document
306         when an iframe becomes composited.
307         
308         Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
309
310         * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
311         * manual-tests/compositing/resources/flash-frame.html: Added.
312         * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
313         * rendering/RenderLayerCompositor.cpp:
314         (WebCore::RenderLayerCompositor::enableCompositingMode):
315         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
316         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
317         * rendering/RenderLayerCompositor.h:
318         * rendering/RenderView.cpp:
319         * rendering/RenderView.h:
320
321 2010-04-27  Andrey Kosyakov  <caseq@chromium.org>
322
323         Reviewed by Yury Semikhatsky.
324
325         Log error message to inspector console if a resource fails to load.
326         Disable checking of mime-type consistency for failed resources.
327         https://bugs.webkit.org/show_bug.cgi?id=37215
328
329         Test: http/tests/inspector/console-resource-errors.html
330
331         * inspector/InspectorController.cpp:
332         (WebCore::InspectorController::didReceiveResponse):
333         (WebCore::InspectorController::didFailLoading):
334         * inspector/front-end/Resource.js:
335         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
336         * inspector/front-end/ResourcesPanel.js:
337         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
338
339 2010-04-27  Vitaly Repeshko  <vitalyr@chromium.org>
340
341         Reviewed by Nate Chapin.
342
343         [V8] Fix XHR memory leak in GC controller.
344         https://bugs.webkit.org/show_bug.cgi?id=38202
345
346         http://trac.webkit.org/changeset/55798 simplified processing of
347         active DOM objects but introduced a subtle bug in garbage
348         collection of XHRs. ActiveDOMObject is not a direct base class of
349         XHR and so upcasting changes pointer identity and breaks DOM
350         maps. This leads to forever live persistent handles to XHR that
351         had pending activity while V8 GC happened.
352
353         * bindings/v8/V8GCController.cpp:
354         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
355
356 2010-04-27  Adam Barth  <abarth@webkit.org>
357
358         Unreviewed.  Regenerate reference bindings code generator output.
359
360         * bindings/scripts/test/V8/V8TestObj.cpp:
361         (WebCore::TestObjInternal::withScriptStateVoidCallback):
362         (WebCore::TestObjInternal::withScriptStateObjCallback):
363
364 2010-04-27  Joseph Pecoraro  <joepeck@webkit.org>
365
366         Reviewed by Dan Bernstein.
367
368         <input type="search"> with uneven padding causes text clipping
369         https://bugs.webkit.org/show_bug.cgi?id=38160
370
371         Test: fast/css/input-search-padding.html
372
373         An <input type="search"> contains an inner block, which is explicitly
374         centered in RenderTextControlSingleLine based on the height of the element.
375         However, the clipping rect was not using the set location, and instead
376         calculated off of the top border and padding alone. This also vertically
377         centers the Caps Lock indicator.
378
379         * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
380         * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
381         * rendering/RenderTextControlSingleLine.cpp:
382         (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
383         (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
384         * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
385
386 2010-04-27  Thomas Zander <t.zander@nokia.com>
387
388         Reviewed by Simon Hausmann.
389
390         [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
391
392         Disable thumb mode due to library size limitations, just like it's done
393         for the sbs/sbsv2 based build system.
394
395         * WebCore.pro:
396
397 2010-04-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
398
399         Reviewed by Kenneth Rohde Christiansen.
400
401         [Qt] Make sure WebKit is not compiled using C++0x.
402         https://bugs.webkit.org/show_bug.cgi?id=37867
403
404         As the rest of Qt compiles in the C++0x mode, people might start
405         compiling it in this mode. WebKit don't support this yet.
406
407         Patch by Thiago Macieira <thiago.macieira@nokia.com>
408
409         * WebCore.pro:
410
411 2010-04-27  Jeremy Orlow  <jorlow@chromium.org>
412
413         Unreviewed build fix.
414
415         Revert 58274 and 58269 (WebSQLDatabase changes)
416         https://bugs.webkit.org/show_bug.cgi?id=38191
417
418         Chromium bots are hitting ASSERTS when running layout tests.
419
420         * platform/sql/SQLiteDatabase.cpp:
421         (WebCore::SQLiteDatabase::maximumSize):
422         (WebCore::SQLiteDatabase::freeSpaceSize):
423         * platform/sql/SQLiteDatabase.h:
424         * platform/sql/SQLiteStatement.cpp:
425         (WebCore::SQLiteStatement::prepare):
426         * storage/Database.cpp:
427         (WebCore::Database::performOpenAndVerify):
428         * storage/Database.h:
429         * storage/SQLTransaction.cpp:
430         (WebCore::SQLTransaction::postflightAndCommit):
431
432 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
433
434         Unreviewed, fix build breakage by reverting r58299.
435
436         * css/CSSGrammar.y:
437         * css/CSSParser.cpp:
438         (WebCore::CSSParser::CSSParser):
439         (WebCore::CSSParser::clearProperties):
440         * css/CSSParser.h:
441         * css/CSSSelector.cpp:
442         (WebCore::CSSSelector::pseudoId):
443         (WebCore::nameToPseudoTypeMap):
444         (WebCore::CSSSelector::extractPseudoType):
445         * css/CSSSelector.h:
446         (WebCore::CSSSelector::):
447         * css/tokenizer.flex:
448
449 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
450
451         Reviewed by Shinichiro Hamaji.
452
453         WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
454         This results in incorrect parsing.
455         For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
456
457         https://bugs.webkit.org/show_bug.cgi?id=37787
458
459         No new tests are added because the original behavior is accidentally OK.
460
461         * css/CSSSelector.cpp:
462         (WebCore::CSSSelector::RareData::parseNth):
463
464 2010-04-27  Yuzo Fujishima  <yuzo@google.com>
465
466         Reviewed by David Hyatt.
467
468         Enhance CSS parser for Paged Media (Iteration 1)
469
470         In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
471         The contents of the methods should be implemented by other changes.
472
473         https://bugs.webkit.org/show_bug.cgi?id=35329
474
475         Test: fast/css/parsing-page-rule.html
476
477         * css/CSSGrammar.y:
478         * css/CSSParser.cpp:
479         (WebCore::CSSParser::CSSParser):
480         (WebCore::CSSParser::clearProperties):
481         (WebCore::CSSParser::lex):
482         (WebCore::CSSParser::text):
483         (WebCore::CSSParser::createPageRule):
484         (WebCore::CSSParser::createMarginAtRule):
485         (WebCore::CSSParser::startDeclarationsForMarginBox):
486         (WebCore::CSSParser::endDeclarationsForMarginBox):
487         * css/CSSParser.h:
488         * css/CSSSelector.cpp:
489         (WebCore::CSSSelector::extractPseudoType):
490         * css/CSSSelector.h:
491         (WebCore::CSSSelector::):
492         * css/tokenizer.flex:
493
494 2010-04-27  Adam Barth  <abarth@webkit.org>
495
496         Reviewed by Eric Seidel.
497
498         Remove custom bindings for TreeWalker
499         https://bugs.webkit.org/show_bug.cgi?id=38182
500
501         This custom code is just CallWith=ScriptState.
502
503         * WebCore.gypi:
504         * bindings/js/JSTreeWalkerCustom.cpp:
505         (WebCore::JSTreeWalker::markChildren):
506         * bindings/scripts/CodeGeneratorJS.pm:
507         * bindings/scripts/CodeGeneratorV8.pm:
508         * bindings/scripts/test/TestObj.idl:
509         * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
510         * dom/TreeWalker.idl:
511
512 2010-04-27  Eric Seidel  <eric@webkit.org>
513
514         Reviewed by Adam Barth.
515
516         Move code out of GenerateImplementation to make it more smaller
517         https://bugs.webkit.org/show_bug.cgi?id=38176
518
519         * bindings/scripts/CodeGeneratorJS.pm:
520          - Move some code into a new GenerateAttributesHashTable method.
521
522 2010-04-26  Adam Barth  <abarth@webkit.org>
523
524         Reviewed by Eric Seidel.
525
526         Add CallWith=DynamicFrame to CodeGenerator
527         https://bugs.webkit.org/show_bug.cgi?id=38174
528
529         I've only used this in one instance, but this is infrastructure that I
530         think will help remove a bunch of custom bindings code.  Also, added a
531         few tests of tricky argument cases.
532
533         * bindings/js/JSHTMLFormElementCustom.cpp:
534         * bindings/scripts/CodeGeneratorJS.pm:
535         * bindings/scripts/CodeGeneratorV8.pm:
536         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
537         (webkit_dom_test_obj_with_dynamic_frame):
538         (webkit_dom_test_obj_with_dynamic_frame_and_arg):
539         (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
540         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
541         (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
542         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
543         * bindings/scripts/test/JS/JSTestObj.cpp:
544         (WebCore::):
545         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
546         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
547         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
548         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
549         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
550         * bindings/scripts/test/JS/JSTestObj.h:
551         * bindings/scripts/test/ObjC/DOMTestObj.h:
552         * bindings/scripts/test/ObjC/DOMTestObj.mm:
553         (-[DOMTestObj withDynamicFrame]):
554         (-[DOMTestObj withDynamicFrameAndArg:]):
555         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
556         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
557         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
558         * bindings/scripts/test/TestObj.idl:
559         * bindings/scripts/test/V8/V8TestObj.cpp:
560         (WebCore::TestObjInternal::withDynamicFrameCallback):
561         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
562         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
563         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
564         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
565         (WebCore::):
566         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
567         * html/HTMLFormElement.idl:
568
569 2010-04-26  Adam Barth  <abarth@webkit.org>
570
571         Unreviewed.  Update comment to better reflect reality.
572
573         * bindings/scripts/test/TestObj.idl:
574
575 2010-04-26  Adam Barth  <abarth@webkit.org>
576
577         Reviewed by Eric Seidel.
578
579         Add ObjC and GObject to run-bindings-test
580         https://bugs.webkit.org/show_bug.cgi?id=38168
581
582         Added expected results.
583
584         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
585         (WebKit::kit):
586         (webkit_dom_test_obj_void_method):
587         (webkit_dom_test_obj_void_method_with_args):
588         (webkit_dom_test_obj_int_method):
589         (webkit_dom_test_obj_int_method_with_args):
590         (webkit_dom_test_obj_obj_method):
591         (webkit_dom_test_obj_obj_method_with_args):
592         (webkit_dom_test_obj_method_with_exception):
593         (webkit_dom_test_obj_method_with_optional_arg):
594         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
595         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
596         (webkit_dom_test_obj_get_read_only_int_attr):
597         (webkit_dom_test_obj_get_read_only_string_attr):
598         (webkit_dom_test_obj_get_read_only_test_obj_attr):
599         (webkit_dom_test_obj_get_int_attr):
600         (webkit_dom_test_obj_set_int_attr):
601         (webkit_dom_test_obj_get_string_attr):
602         (webkit_dom_test_obj_set_string_attr):
603         (webkit_dom_test_obj_get_test_obj_attr):
604         (webkit_dom_test_obj_set_test_obj_attr):
605         (webkit_dom_test_obj_get_attr_with_exception):
606         (webkit_dom_test_obj_set_attr_with_exception):
607         (webkit_dom_test_obj_get_attr_with_setter_exception):
608         (webkit_dom_test_obj_set_attr_with_setter_exception):
609         (webkit_dom_test_obj_get_attr_with_getter_exception):
610         (webkit_dom_test_obj_set_attr_with_getter_exception):
611         (WebKit::wrapTestObj):
612         (WebKit::core):
613         (webkit_dom_test_obj_finalize):
614         (webkit_dom_test_obj_set_property):
615         (webkit_dom_test_obj_get_property):
616         (webkit_dom_test_obj_class_init):
617         (webkit_dom_test_obj_init):
618         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
619         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
620         * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
621         * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
622         (-[DOMTestObj dealloc]):
623         (-[DOMTestObj finalize]):
624         (-[DOMTestObj readOnlyIntAttr]):
625         (-[DOMTestObj readOnlyStringAttr]):
626         (-[DOMTestObj readOnlyTestObjAttr]):
627         (-[DOMTestObj intAttr]):
628         (-[DOMTestObj setIntAttr:]):
629         (-[DOMTestObj stringAttr]):
630         (-[DOMTestObj setStringAttr:]):
631         (-[DOMTestObj testObjAttr]):
632         (-[DOMTestObj setTestObjAttr:]):
633         (-[DOMTestObj attrWithException]):
634         (-[DOMTestObj setAttrWithException:]):
635         (-[DOMTestObj attrWithSetterException]):
636         (-[DOMTestObj setAttrWithSetterException:]):
637         (-[DOMTestObj attrWithGetterException]):
638         (-[DOMTestObj setAttrWithGetterException:]):
639         (-[DOMTestObj customAttr]):
640         (-[DOMTestObj setCustomAttr:]):
641         (-[DOMTestObj voidMethod]):
642         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
643         (-[DOMTestObj intMethod]):
644         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
645         (-[DOMTestObj objMethod]):
646         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
647         (-[DOMTestObj methodWithException]):
648         (-[DOMTestObj customMethod]):
649         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
650         (-[DOMTestObj methodWithOptionalArg:]):
651         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
652         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
653         (core):
654         (kit):
655         * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
656
657 2010-04-26  Adam Barth  <abarth@webkit.org>
658
659         Reviewed by Eric Seidel.
660
661         Add testing infrastructure for JSC bindings generator
662         https://bugs.webkit.org/show_bug.cgi?id=38167
663
664         This required moving the test files around a bit more.
665
666         * bindings/scripts/test/JS/JSTestObj.cpp: Added.
667         (WebCore::):
668         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
669         (WebCore::JSTestObjConstructor::classInfo):
670         (WebCore::JSTestObjConstructor::createStructure):
671         (WebCore::JSTestObjConstructor::getOwnPropertySlot):
672         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
673         (WebCore::JSTestObjPrototype::self):
674         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
675         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
676         (WebCore::JSTestObj::JSTestObj):
677         (WebCore::JSTestObj::~JSTestObj):
678         (WebCore::JSTestObj::createPrototype):
679         (WebCore::JSTestObj::getOwnPropertySlot):
680         (WebCore::JSTestObj::getOwnPropertyDescriptor):
681         (WebCore::jsTestObjReadOnlyIntAttr):
682         (WebCore::jsTestObjReadOnlyStringAttr):
683         (WebCore::jsTestObjReadOnlyTestObjAttr):
684         (WebCore::jsTestObjIntAttr):
685         (WebCore::jsTestObjStringAttr):
686         (WebCore::jsTestObjTestObjAttr):
687         (WebCore::jsTestObjAttrWithException):
688         (WebCore::jsTestObjAttrWithSetterException):
689         (WebCore::jsTestObjAttrWithGetterException):
690         (WebCore::jsTestObjCustomAttr):
691         (WebCore::jsTestObjConstructor):
692         (WebCore::JSTestObj::put):
693         (WebCore::setJSTestObjIntAttr):
694         (WebCore::setJSTestObjStringAttr):
695         (WebCore::setJSTestObjTestObjAttr):
696         (WebCore::setJSTestObjAttrWithException):
697         (WebCore::setJSTestObjAttrWithSetterException):
698         (WebCore::setJSTestObjAttrWithGetterException):
699         (WebCore::setJSTestObjCustomAttr):
700         (WebCore::JSTestObj::getConstructor):
701         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
702         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
703         (WebCore::jsTestObjPrototypeFunctionIntMethod):
704         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
705         (WebCore::jsTestObjPrototypeFunctionObjMethod):
706         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
707         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
708         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
709         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
710         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
711         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
712         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
713         (WebCore::toJS):
714         (WebCore::toTestObj):
715         * bindings/scripts/test/JS/JSTestObj.h: Added.
716         (WebCore::JSTestObj::classInfo):
717         (WebCore::JSTestObj::createStructure):
718         (WebCore::JSTestObj::impl):
719         (WebCore::JSTestObjPrototype::classInfo):
720         (WebCore::JSTestObjPrototype::createStructure):
721         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
722         * bindings/scripts/test/TestObj.idl:
723         * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
724         (WebCore::):
725         (WebCore::TestObjInternal::V8_USE):
726         (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
727         (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
728         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
729         (WebCore::TestObjInternal::intAttrAttrGetter):
730         (WebCore::TestObjInternal::intAttrAttrSetter):
731         (WebCore::TestObjInternal::stringAttrAttrGetter):
732         (WebCore::TestObjInternal::stringAttrAttrSetter):
733         (WebCore::TestObjInternal::testObjAttrAttrGetter):
734         (WebCore::TestObjInternal::testObjAttrAttrSetter):
735         (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
736         (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
737         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
738         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
739         (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
740         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
741         (WebCore::TestObjInternal::voidMethodCallback):
742         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
743         (WebCore::TestObjInternal::intMethodCallback):
744         (WebCore::TestObjInternal::intMethodWithArgsCallback):
745         (WebCore::TestObjInternal::objMethodCallback):
746         (WebCore::TestObjInternal::objMethodWithArgsCallback):
747         (WebCore::TestObjInternal::methodWithExceptionCallback):
748         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
749         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
750         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
751         (WebCore::TestObjInternal::overloadedMethod1Callback):
752         (WebCore::TestObjInternal::overloadedMethod2Callback):
753         (WebCore::TestObjInternal::overloadedMethod3Callback):
754         (WebCore::TestObjInternal::overloadedMethod4Callback):
755         (WebCore::TestObjInternal::overloadedMethodCallback):
756         (WebCore::ConfigureV8TestObjTemplate):
757         (WebCore::V8TestObj::GetRawTemplate):
758         (WebCore::V8TestObj::GetTemplate):
759         (WebCore::V8TestObj::toNative):
760         (WebCore::V8TestObj::HasInstance):
761         (WebCore::V8TestObj::wrap):
762         (WebCore::toV8):
763         (WebCore::V8TestObj::derefObject):
764         * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
765
766 2010-04-26  Oliver Hunt  <oliver@apple.com>
767
768         Reviewed by Gavin Barraclough.
769
770         Need to support more efficient dispatch of lightweight builtins
771         https://bugs.webkit.org/show_bug.cgi?id=38155
772
773         Update bindings generation to include new thunk generator field
774         in the property map hash tables.
775
776         * bindings/scripts/CodeGeneratorJS.pm:
777
778 2010-04-26  Adam Barth  <abarth@webkit.org>
779
780         Reviewed by Eric Seidel.
781
782         Move bindings test directory into the scripts directory
783         https://bugs.webkit.org/show_bug.cgi?id=38161
784
785         This test is really of the bindings scripts not of the bindings
786         themselves.  By moving the files into the scripts directory, we'll be
787         able to test JSC as well.
788
789         * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
790         * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
791         (WebCore::):
792         (WebCore::TestObjInternal::V8_USE):
793         (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
794         (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
795         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
796         (WebCore::TestObjInternal::intAttrAttrGetter):
797         (WebCore::TestObjInternal::intAttrAttrSetter):
798         (WebCore::TestObjInternal::stringAttrAttrGetter):
799         (WebCore::TestObjInternal::stringAttrAttrSetter):
800         (WebCore::TestObjInternal::testObjAttrAttrGetter):
801         (WebCore::TestObjInternal::testObjAttrAttrSetter):
802         (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
803         (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
804         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
805         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
806         (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
807         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
808         (WebCore::TestObjInternal::voidMethodCallback):
809         (WebCore::TestObjInternal::voidMethodWithArgsCallback):
810         (WebCore::TestObjInternal::intMethodCallback):
811         (WebCore::TestObjInternal::intMethodWithArgsCallback):
812         (WebCore::TestObjInternal::objMethodCallback):
813         (WebCore::TestObjInternal::objMethodWithArgsCallback):
814         (WebCore::TestObjInternal::methodWithExceptionCallback):
815         (WebCore::TestObjInternal::methodWithOptionalArgCallback):
816         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
817         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
818         (WebCore::TestObjInternal::overloadedMethod1Callback):
819         (WebCore::TestObjInternal::overloadedMethod2Callback):
820         (WebCore::TestObjInternal::overloadedMethod3Callback):
821         (WebCore::TestObjInternal::overloadedMethod4Callback):
822         (WebCore::TestObjInternal::overloadedMethodCallback):
823         (WebCore::ConfigureV8TestObjTemplate):
824         (WebCore::V8TestObj::GetRawTemplate):
825         (WebCore::V8TestObj::GetTemplate):
826         (WebCore::V8TestObj::toNative):
827         (WebCore::V8TestObj::HasInstance):
828         (WebCore::V8TestObj::wrap):
829         (WebCore::toV8):
830         (WebCore::V8TestObj::derefObject):
831         * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
832
833 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
834
835         Reviewed by Jian Li.
836
837         [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
838         https://bugs.webkit.org/show_bug.cgi?id=38159
839
840         No new tests.
841
842         * platform/chromium/ChromiumDataObject.h:
843         (WebCore::ChromiumDataObject::setURL):
844
845 2010-04-26  Daniel Cheng  <dcheng@chromium.org>
846
847         Reviewed by Jian Li.
848
849         [Chromium] Don't make file paths available in text/uri-list when dragging files.
850         https://bugs.webkit.org/show_bug.cgi?id=25882
851
852         Test will be checked in with WebCore/platform/mac fix.
853
854         * platform/chromium/ClipboardChromium.cpp:
855         (WebCore::ClipboardChromium::getData):
856         (WebCore::ClipboardChromium::types):
857
858 2010-04-26  Maciej Stachowiak  <mjs@apple.com>
859
860         Reviewed by Darin Adler.
861
862         REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
863         https://bugs.webkit.org/show_bug.cgi?id=38131
864
865         I did a number of separate optimizations which speed up style
866         resolution enough to more than make up for the regression. This
867         measures as a total PLT speedup of somewhere between 1.5% and
868         3.7%.
869        
870         Optimizations done:
871         - Cache determineLinkState results, to avoid the need to repeatedly compute
872         the visited link hash for the same element. This directly addresses much
873         of the slowdown, since all elements get their style computed twice now.
874         - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
875         in CSSStyleSelector::matchRulesForList, since it was hot there.
876         - Hoist some loop invariant code that's not detected by the compiler out of the
877         main loop in matchRulesForList
878         - inline CSSStyleSelector::initElement and locateSharedStyle,
879         since there is only one call site in each case
880         - Inline the common non-line fast case of determineLinkState, and split the rest into
881         out-of-line determineLinkStateSlowCase.
882         - Added inline versions of the functions called by
883         visitedLinkHash (the version called by determineLinkState).
884
885         * css/CSSMutableStyleDeclaration.cpp:
886         (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
887         inline nonvirtual mutableLength().
888         * css/CSSMutableStyleDeclaration.h:
889         (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
890         inline way to get the length if you know you have a mutable style decl.
891         * css/CSSStyleSelector.cpp:
892         (WebCore::CSSStyleSelector::init): Clear cached link state.
893         (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
894         loop and get style decl length more efficiently.
895         (WebCore::CSSStyleSelector::initElement): inline (only one call site)
896         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
897         case, call slow case.
898         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
899         most of the above function into this slow case helper.
900         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
901         way to get the current link state.
902         (WebCore::CSSStyleSelector::locateSharedStyle): inline
903         (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
904         to get the current link state.
905         * css/CSSStyleSelector.h:
906         (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
907         get link state for the current element; manages the cache
908         * platform/LinkHash.cpp:
909         (WebCore::visitedLinkHashInline): inline version of below function
910         (WebCore::visitedLinkHash): call the inline version
911         (WebCore::visitedURLInline): inline version of below function
912         (WebCore::visitedURL): call the inline version
913         (WebCore::visitedURL): call inline versions of above two functions
914
915 2010-04-26  Sam Weinig  <sam@webkit.org>
916
917         Reviewed by Alexey Proskuryakov.
918
919         Remove last use of WEB_THREAD.
920
921         * platform/mac/WebCoreObjCExtras.mm:
922         (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
923         isMainThread().
924
925 2010-04-26  Dumitru Daniliuc  <dumi@chromium.org>
926
927         Reviewed by Dimitri Glazkov.
928
929         Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
930         vacuum all databases when the number of free pages is at least 10%
931         of the number of total pages. Also, adding a guard against a bug
932         that was fixed in SQLite only starting with version 3.6.16.
933
934         https://bugs.webkit.org/show_bug.cgi?id=36251
935
936         * platform/sql/SQLiteDatabase.cpp:
937         (WebCore::SQLiteDatabase::totalSize):
938         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
939         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
940         * platform/sql/SQLiteDatabase.h:
941         * platform/sql/SQLiteStatement.cpp:
942         (WebCore::SQLiteStatement::prepare):
943         * storage/Database.cpp:
944         (WebCore::Database::performOpenAndVerify):
945         (WebCore::Database::incrementalVacuumIfNeeded):
946         * storage/Database.h:
947         * storage/SQLTransaction.cpp:
948         (WebCore::SQLTransaction::postflightAndCommit):
949
950 2010-04-26  Geoffrey Garen  <ggaren@apple.com>
951
952         Reviewed by Sam Weinig.
953
954         <rdar://problem/7766413>
955         
956         Fixed a crash seen when using the JavaScriptCore API with WebKit.
957         
958         No layout test because DumpRenderTree doesn't use the JavaScriptCore API
959         in this way.
960
961         * bindings/js/JSEventListener.cpp:
962         (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
963         JavaScriptCore no longer allows this.
964
965         * bindings/js/ScriptWrappable.h:
966         (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
967         to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
968         default behaviors.
969
970 2010-04-25  Sam Weinig  <sam@webkit.org>
971
972         Reviewed by Maciej Stachowiak.
973
974         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
975         Disentangle initializing the main thread from initializing threading
976
977         * WebCore.xcodeproj/project.pbxproj: Sort files.
978
979         * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
980         +initialize method. The AccessibilityObjectWrapper has no data members
981         that need to be derefed, so it does not need to be finalized on the main
982         thread.
983
984         * bindings/js/ScriptController.cpp:
985         (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
986         * bindings/objc/WebScriptObject.mm:
987         (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
988         * bindings/v8/ScriptController.cpp:
989         (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
990         * platform/mac/SharedBufferMac.mm:
991         (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
992
993 2010-04-26  Yongjun Zhang  <yongjun_zhang@apple.com>
994
995         Reviewed by Alexey Proskuryakov.
996         
997         https://bugs.webkit.org/show_bug.cgi?id=38128
998         Don't add empty credential to CredentialStorage.
999         
1000         An empty credential is currently regarded as a invalid login because it means a missing value in 
1001         protectionSpaceToCredentialMap.  This change makes it consistent with current WebCore's behavior
1002         by ignoring empty credentials.
1003         
1004         No new tests added since this only affects credential entered by user from credential dialog,
1005         which is not testable in DRT.
1006
1007         * platform/network/mac/ResourceHandleMac.mm:
1008         (WebCore::ResourceHandle::receivedCredential):
1009
1010 2010-04-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1011
1012         Reviewed by Simon Hausmann.
1013
1014         [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
1015         https://bugs.webkit.org/show_bug.cgi?id=38123
1016
1017         HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
1018         for QtWebKit  as JavaScriptCore is built separately. These defines are only 
1019         used  by JavaScriptCore and for JavaScriptCore these are already
1020         properly defined in JavaScriptCore/config.h.
1021
1022         No new tests, no new functionality.
1023
1024         * WebCore.pro:
1025
1026 2010-04-26  Roman Gershman  <romange@google.com>
1027
1028         Reviewed by Adam Barth.
1029
1030         [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
1031         The following manual test checks for desired behavior.
1032
1033         https://bugs.webkit.org/show_bug.cgi?id=37977
1034
1035         * manual-tests/chromium/suggestions-popup-font-change.html: Added.
1036
1037 2010-04-26  Luiz Agostini  <luiz.agostini@openbossa.org>
1038
1039         Reviewed by Kenneth Rohde Christiansen.
1040
1041         View modes names in CSSValueKeywords.in
1042         https://bugs.webkit.org/show_bug.cgi?id=38125
1043
1044         View mode names has changed in previous patch but CSSValueKeywords.in file was
1045         not updated.
1046
1047         * css/CSSValueKeywords.in:
1048
1049 2010-04-26  Simon Hausmann  <simon.hausmann@nokia.com>
1050
1051         Reviewed by Kenneth Rohde Christiansen.
1052
1053         [Qt] Fix compilation with RVCT 4
1054         https://bugs.webkit.org/show_bug.cgi?id=37727
1055
1056         Swap extern and declspec to fix visibility of symbol imported from QtGui.
1057
1058         * page/qt/EventHandlerQt.cpp:
1059
1060 2010-04-26  Ruben Van Boxem  <vanboxem.ruben@gmail.com>
1061
1062         Reviewed by Adam Roben.
1063
1064         Fixes for Win64 compilation under gcc (mingw-w64)
1065
1066         *  WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
1067         *  WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
1068         *  WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
1069         *  WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
1070         *  WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
1071         *  WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
1072         *  WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
1073
1074 2010-04-26  Markus Goetz  <Markus.Goetz@nokia.com>
1075
1076         Reviewed by Simon Hausmann.
1077
1078         [Qt] HTTP pipelining efficiency increase
1079         https://bugs.webkit.org/show_bug.cgi?id=38062
1080
1081         Increase number of network requests that are fed into
1082         QNetworkAccessManager.
1083
1084         * platform/network/qt/ResourceRequestQt.cpp:
1085         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
1086
1087 2010-04-26  Ilya Tikhonovsky  <loislo@chromium.org>
1088
1089         Reviewed by Yury Semikhatsky.
1090
1091         Web Inspector: undefined shows up on inspector.
1092         https://bugs.webkit.org/show_bug.cgi?id=38120
1093
1094         * inspector/front-end/ScriptsPanel.js:
1095         (WebInspector.ScriptsPanel.prototype.hide):
1096         * inspector/front-end/SourceFrame.js:
1097         (WebInspector.SourceFrame.prototype.set visible):
1098
1099 2010-04-26  Bruno Schmidt  <bruno.schmidt@gmail.com>
1100
1101         Reviewed by Kenneth Rohde Christiansen.
1102
1103         [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
1104         causes Segmentation Fault
1105         https://bugs.webkit.org/show_bug.cgi?id=34729
1106
1107         If an QVariantMap containing QObjectStar is added to the to QtWebkit
1108         Javascript, it's use causes Segmentation Fault.
1109         It happens because, in the case QMetaType::QVariantMap, the "root"
1110         object that is inside of a PassRefPtr is passed recursively inside a
1111         loop to recover the content of the map, but the PassRefPtr semantics
1112         prohibit its use inside a loop, so the "root" object mus be passed
1113         using the method "PassRefPtr::get" in order to keep the current
1114         reference.
1115
1116         * bridge/qt/qt_runtime.cpp:
1117         (JSC::Bindings::convertValueToQVariant):
1118         (JSC::Bindings::convertQVariantToValue): change to root.get()
1119
1120 2010-04-26  Pavel Feldman  <pfeldman@chromium.org>
1121
1122         Reviewed by Yury Semikhatsky.
1123
1124         Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
1125
1126         https://bugs.webkit.org/show_bug.cgi?id=38107
1127
1128         * inspector/front-end/SummaryBar.js:
1129         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1130         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1131
1132 2010-04-26  Andreas Kling  <andreas.kling@nokia.com>
1133
1134         Reviewed by Tor Arne Vestbø.
1135
1136         [Qt] Fix compilation against Qt 4.7
1137
1138         Some QtMultimedia things have been moved into QtMediaServices
1139         https://bugs.webkit.org/show_bug.cgi?id=38111
1140
1141         * WebCore.pro:
1142         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1143         (WebCore::MediaPlayerPrivate::supportsType):
1144         (WebCore::MediaPlayerPrivate::totalBytes):
1145
1146 2010-04-26  Zoltan Herczeg  <zherczeg@webkit.org>
1147
1148         Reviewed by Dirk Schulze.
1149
1150         Call setStrokeStyle in applyStrokeStyleToContext
1151         https://bugs.webkit.org/show_bug.cgi?id=37849
1152
1153         Not all platforms set the stroke style to solid if they
1154         get an empty line dash array. Some just ignore the operation.
1155
1156         * rendering/SVGRenderSupport.cpp:
1157         (WebCore::applyStrokeStyleToContext):
1158
1159 2010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
1160
1161         Reviewed by Pavel Feldman.
1162
1163         WebInspector: Aggregated stats of time spent in children records should be visible
1164         in the popup panel of parent record. Crash in pushGCEventRecord also was fixed.
1165         https://bugs.webkit.org/show_bug.cgi?id=37820
1166
1167         * English.lproj/localizedStrings.js:
1168         * inspector/InspectorTimelineAgent.cpp:
1169         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1170         * inspector/front-end/TimelinePanel.js:
1171         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1172         (WebInspector.TimelinePanel.prototype._createRootRecord):
1173         (WebInspector.TimelinePanel.prototype._showPopover):
1174         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
1175         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
1176         (WebInspector.TimelineRecordGraphRow):
1177         (WebInspector.TimelineRecordGraphRow.prototype.update):
1178         (WebInspector.TimelinePanel.FormattedRecord):
1179         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
1180         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1181         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1182         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
1183         * inspector/front-end/inspector.css:
1184         (.timeline-graph-bar.with-children):
1185         (.timeline-graph-bar.cpu):
1186         (.timeline-aggregated-category):
1187         (.timeline-loading):
1188         (.timeline-scripting):
1189         (.timeline-rendering):
1190         (.popover .timeline-aggregated-category.timeline-loading):
1191         (.timeline-details-title):
1192
1193 2010-04-25  Kent Tamura  <tkent@chromium.org>
1194
1195         Reviewed by Darin Adler.
1196
1197         WebKit crashes with deeply nested divs
1198         https://bugs.webkit.org/show_bug.cgi?id=18282
1199
1200         The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in
1201         TreeDepthLimit.h. This is performance-efficient, but does not work for
1202         DOM operations such as Node.appendChild().
1203
1204         Test: fast/parser/element-nesting-cap.html
1205
1206         * dom/Node.h:
1207         * dom/XMLTokenizer.cpp:
1208         (WebCore::XMLTokenizer::pushCurrentNode):
1209         * html/HTMLParser.cpp:
1210
1211         * GNUmakefile.am:
1212         * WebCore.gypi:
1213         * WebCore.pro:
1214         * WebCore.vcproj/WebCore.vcproj:
1215         * WebCore.xcodeproj/project.pbxproj:
1216         * dom/TreeDepthLimit.h:
1217           Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000.
1218         * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth.
1219         (WebCore::XMLTokenizer::pushCurrentNode):
1220         * html/HTMLParser.cpp:
1221           Introduce m_treeDepth, which counts the depth of the tree.
1222           Unlike m_blocksInStack, it contains the number of non-block nodes.
1223         (WebCore::HTMLParser::HTMLParser):
1224         (WebCore::HTMLParser::reset):
1225         (WebCore::HTMLParser::limitDepth):
1226           Renamed from limitBlockDepth. Add check for m_nodeDepth.
1227         (WebCore::HTMLParser::insertNodeAfterLimitDepth):
1228           Renamed from insertNodeAfterLimitBlockDepth.
1229         (WebCore::HTMLParser::parseToken):
1230         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1231         (WebCore::HTMLParser::pushBlock):
1232         (WebCore::HTMLParser::popOneBlockCommon):
1233         (WebCore::HTMLParser::freeBlock):
1234         * html/HTMLParser.h:
1235
1236 2010-04-25  Andrey Kosyakov  <caseq@chromium.org>
1237
1238         Reviewed by Adam Barth.
1239
1240         Get context properly when event handler was created on
1241         the main world.
1242         https://bugs.webkit.org/show_bug.cgi?id=37947
1243
1244         Test: http/tests/security/isolatedWorld/dispatchEvent.html
1245
1246         * bindings/v8/WorldContextHandle.cpp:
1247         (WebCore::WorldContextHandle::adjustedContext):
1248
1249 2010-04-25  yael aharon  <yael.aharon@nokia.com>
1250
1251         Reviewed by Adele Peterson.
1252
1253         Allow styling of HTMLProgressElement.
1254         https://bugs.webkit.org/show_bug.cgi?id=37901
1255
1256         Added a new pseudo element to represent the value portion of the progress element.
1257         Web developers can style this pseudo element separate from the rest of the progress element.
1258
1259         Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
1260
1261         * css/CSSPrimitiveValueMappings.h:
1262         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1263         * css/CSSSelector.cpp:
1264         (WebCore::CSSSelector::pseudoId):
1265         (WebCore::nameToPseudoTypeMap):
1266         (WebCore::CSSSelector::extractPseudoType):
1267         * css/CSSSelector.h:
1268         * css/CSSValueKeywords.in:
1269         * platform/ThemeTypes.h:
1270         * rendering/RenderProgress.cpp:
1271         (WebCore::ProgressValueElement::isShadowNode):
1272         (WebCore::ProgressValueElement::shadowParentNode):
1273         (WebCore::ProgressValueElement::ProgressValueElement):
1274         (WebCore::RenderProgress::RenderProgress):
1275         (WebCore::RenderProgress::~RenderProgress):
1276         (WebCore::RenderProgress::layout):
1277         (WebCore::RenderProgress::styleDidChange):
1278         (WebCore::RenderProgress::updateFromElement):
1279         (WebCore::RenderProgress::updateValuePartState):
1280         (WebCore::RenderProgress::createStyleForValuePart):
1281         (WebCore::RenderProgress::updateAnimationState):
1282         * rendering/RenderTheme.cpp:
1283         (WebCore::RenderTheme::isControlStyled):
1284         * rendering/RenderProgress.h:
1285         * rendering/style/RenderStyleConstants.h:
1286
1287 2010-04-24  Simon Fraser  <simon.fraser@apple.com>
1288
1289         Reviewed by Dan Bernstein.
1290
1291         Don't propagate compositing out of iframes on Mac
1292         https://bugs.webkit.org/show_bug.cgi?id=38072
1293
1294         Propagating compositing out of iframes caused too many regressions on Mac,
1295         so only do it for other platforms that may need to hook compositing layers
1296         together across iframe boundaries.
1297
1298         * rendering/RenderLayerCompositor.cpp:
1299         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
1300
1301 2010-04-24  Anton Muhin  <antonm@chromium.org>
1302
1303         Reviewed by Darin Adler.
1304
1305         Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
1306
1307         Former implementation attempted to use AtomicString(HashTableDeletedValue)
1308         however those values cannot be used that way: one cannot construct
1309         QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
1310         in the table, for example.
1311         https://bugs.webkit.org/show_bug.cgi?id=37722
1312
1313         * dom/QualifiedName.cpp:
1314         (WebCore::QualifiedName::deref): check that hash table deleted values never derefed
1315         * dom/QualifiedName.h:
1316         (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values
1317         (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value
1318         (WTF::):
1319
1320 2010-04-24  Julien Chaffraix  <jchaffraix@webkit.org>
1321
1322         Reviewed by Alexey Proskuryakov.
1323
1324         protocolHostAndPortEquals host check makes a wrong assumption
1325         https://bugs.webkit.org/show_bug.cgi?id=37777
1326
1327         The host check assumed that both host started at the same position. This is true
1328         if both URL are the same but sometimes one has credential and the other does not.
1329         In this case, the method would compare invalid positions.
1330
1331         Test: http/tests/appcache/credential-url.html
1332
1333         * platform/KURL.cpp:
1334         (WebCore::protocolHostAndPortAreEqual):
1335         * platform/KURLGoogle.cpp:
1336         (WebCore::protocolHostAndPortAreEqual):
1337         Fix the host check to take both URL's credential into account.
1338
1339 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1340
1341         Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h
1342         Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h)
1343
1344         * rendering/SVGRenderSupport.cpp:
1345
1346 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1347
1348         Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
1349
1350         * rendering/RenderSVGResourceClipper.cpp:
1351         (WebCore::RenderSVGResourceClipper::applyResource):
1352         * rendering/RenderSVGResourceFilter.cpp:
1353         (WebCore::RenderSVGResourceFilter::applyResource):
1354         (WebCore::RenderSVGResourceFilter::postApplyResource):
1355         * rendering/RenderSVGResourceMasker.cpp:
1356         (WebCore::RenderSVGResourceMasker::applyResource):
1357
1358 2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1359
1360         Reviewed by Dirk Schulze.
1361
1362         SVGPaintServer needs to be converted to the new RenderSVGResource* system
1363         https://bugs.webkit.org/show_bug.cgi?id=37986
1364
1365         Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying
1366         WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks
1367         the finish of the SVGResource -> RenderSVGResource transition.
1368
1369         Outline of same key changes:
1370         - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer
1371           All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all
1372           associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not
1373           associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name.
1374           The reason for that is consistency with all other painting resources.
1375         - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared
1376           and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid.
1377         - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object
1378           instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading
1379           to much faster speed.
1380         - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths
1381           to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand.
1382
1383         * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build.
1384         * GNUmakefile.am: Ditto.
1385         * WebCore.gypi: Ditto.
1386         * WebCore.pro: Ditto.
1387         * WebCore.vcproj/WebCore.vcproj: Ditto.
1388         * WebCore.xcodeproj/project.pbxproj: Ditto.
1389         * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference.
1390         (WebCore::Gradient::addColorStop):
1391         * platform/graphics/Gradient.h: Ditto.
1392         * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource
1393         (WebCore::TextRun::TextRun):
1394         (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer.
1395         (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer.
1396         * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago.
1397         * rendering/RenderObject.cpp:
1398         (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource().
1399         * rendering/RenderObject.h:
1400         (WebCore::RenderObject::isSVGGradientStop): Added.
1401         (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource().
1402         * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer.
1403         (WebCore::RenderPath::fillContains): Adapt to new concept.
1404         (WebCore::RenderPath::strokeContains): Ditto.
1405         (WebCore::fillAndStrokePath): Ditto.
1406         (WebCore::RenderPath::paint): Ditto.
1407         * rendering/RenderSVGGradientStop.cpp:
1408         (WebCore::RenderSVGGradientStop::styleDidChange): Ditto.
1409         * rendering/RenderSVGGradientStop.h: Fixed indention.
1410         * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability. 
1411         (WebCore::registerPendingResource):
1412         (WebCore::adjustColorForPseudoRules):
1413         (WebCore::RenderSVGResource::fillPaintingResource):
1414         (WebCore::RenderSVGResource::strokePaintingResource):
1415         (WebCore::RenderSVGResource::sharedSolidPaintingResource):
1416         (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation):
1417         * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning.
1418         (WebCore::RenderSVGResource::RenderSVGResource):
1419         (WebCore::RenderSVGResource::~RenderSVGResource):
1420         (WebCore::RenderSVGResource::postApplyResource):
1421         * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
1422         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
1423         (WebCore::RenderSVGResourceClipper::invalidateClient):
1424         (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
1425         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1426         * rendering/RenderSVGResourceClipper.h:
1427         * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource.
1428         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
1429         (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
1430         (WebCore::RenderSVGResourceContainer::idChanged):
1431         (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
1432         (WebCore::RenderSVGResourceContainer::drawsContents):
1433         (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
1434         (WebCore::getRenderSVGResourceContainerById):
1435         (WebCore::getRenderSVGResourceById):
1436         * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
1437         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
1438         (WebCore::RenderSVGResourceFilter::invalidateClient):
1439         (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
1440         (WebCore::RenderSVGResourceFilter::postApplyResource):
1441         * rendering/RenderSVGResourceFilter.h:
1442         * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored.
1443         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
1444         (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient):
1445         (WebCore::RenderSVGResourceGradient::invalidateClients):
1446         (WebCore::RenderSVGResourceGradient::invalidateClient):
1447         (WebCore::createMaskAndSwapContextForTextGradient):
1448         (WebCore::clipToTextMask):
1449         (WebCore::RenderSVGResourceGradient::applyResource):
1450         * rendering/RenderSVGResourceGradient.h:
1451         (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
1452         * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored.
1453         (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
1454         (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient):
1455         (WebCore::RenderSVGResourceLinearGradient::buildGradient):
1456         * rendering/RenderSVGResourceLinearGradient.h:
1457         (WebCore::RenderSVGResourceLinearGradient::renderName):
1458         (WebCore::RenderSVGResourceLinearGradient::resourceType):
1459         * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
1460         (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
1461         (WebCore::RenderSVGResourceMarker::invalidateClient):
1462         * rendering/RenderSVGResourceMarker.h:
1463         (WebCore::RenderSVGResourceMarker::applyResource):
1464         * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
1465         (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
1466         (WebCore::RenderSVGResourceMasker::invalidateClient):
1467         (WebCore::RenderSVGResourceMasker::applyResource):
1468         * rendering/RenderSVGResourceMasker.h:
1469         (WebCore::MaskerData::MaskerData):
1470         * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored.
1471         (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
1472         (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern):
1473         (WebCore::RenderSVGResourcePattern::invalidateClients):
1474         (WebCore::RenderSVGResourcePattern::invalidateClient):
1475         (WebCore::RenderSVGResourcePattern::applyResource):
1476         (WebCore::RenderSVGResourcePattern::postApplyResource):
1477         (WebCore::calculatePatternBoundaries):
1478         (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow):
1479         (WebCore::RenderSVGResourcePattern::createTileImage):
1480         (WebCore::RenderSVGResourcePattern::buildPattern):
1481         * rendering/RenderSVGResourcePattern.h:
1482         (WebCore::RenderSVGResourcePattern::renderName):
1483         (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
1484         (WebCore::RenderSVGResourcePattern::resourceType):
1485         * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored.
1486         (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
1487         (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient):
1488         (WebCore::RenderSVGResourceRadialGradient::buildGradient):
1489         * rendering/RenderSVGResourceRadialGradient.h:
1490         (WebCore::RenderSVGResourceRadialGradient::renderName):
1491         (WebCore::RenderSVGResourceRadialGradient::resourceType):
1492         * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored.
1493         (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor):
1494         (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor):
1495         (WebCore::RenderSVGResourceSolidColor::applyResource):
1496         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
1497         * rendering/RenderSVGResourceSolidColor.h:
1498         (WebCore::RenderSVGResourceSolidColor::invalidateClients):
1499         (WebCore::RenderSVGResourceSolidColor::invalidateClient):
1500         (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
1501         (WebCore::RenderSVGResourceSolidColor::resourceType):
1502         (WebCore::RenderSVGResourceSolidColor::color):
1503         (WebCore::RenderSVGResourceSolidColor::setColor):
1504         * rendering/RenderSVGText.cpp:
1505         (WebCore::RenderSVGText::paint): Early exit if painting is disabled.
1506         * rendering/RenderTreeAsText.cpp:
1507         (WebCore::write): Add RenderSVGGradientStop dumping.
1508         (WebCore::externalRepresentation): Remove SVGResource dumping.
1509         * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request).
1510         (WebCore::SVGInlineTextBox::paintCharacters):
1511         (WebCore::SVGInlineTextBox::paintDecoration):
1512         * rendering/SVGInlineTextBox.h: Ditto.
1513         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
1514         * rendering/SVGRenderSupport.cpp: Ditto.
1515         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1516         (WebCore::SVGRenderBase::finishRenderSVGContent):
1517         (WebCore::invalidatePaintingResource):
1518         (WebCore::deregisterFromResources):
1519         (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer.
1520         (WebCore::applyStrokeStyleToContext): Ditto.
1521         * rendering/SVGRenderSupport.h:
1522         * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well!
1523         (WebCore::operator<<):
1524         (WebCore::writeSVGPaintingResource):
1525         (WebCore::writeStyle):
1526         (WebCore::boundingBoxModeString):
1527         (WebCore::writeCommonGradientProperties):
1528         (WebCore::writeSVGResourceContainer):
1529         (WebCore::writeSVGGradientStop):
1530         * rendering/SVGRenderTreeAsText.h:
1531         * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request).
1532         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1533         (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker):
1534         (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer):
1535         (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer):
1536         (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
1537         (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
1538         (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
1539         (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
1540         (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
1541         (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
1542         (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource):
1543         (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
1544         * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup.
1545         (WebCore::GradientAttributes::stops):
1546         (WebCore::GradientAttributes::setStops):
1547         * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
1548         * svg/PatternAttributes.h: Add missing includes and class forwards.
1549         * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
1550         * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
1551         (WebCore::SVGClipPathElement::svgAttributeChanged):
1552         (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
1553         * svg/SVGClipPathElement.h:
1554         * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer.
1555         (WebCore::SVGDocumentExtensions::addResource):
1556         (WebCore::SVGDocumentExtensions::removeResource):
1557         (WebCore::SVGDocumentExtensions::resourceById):
1558         (WebCore::SVGDocumentExtensions::addPendingResource):
1559         * svg/SVGDocumentExtensions.h:
1560         * svg/SVGElement.cpp:
1561         (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now.
1562         (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now.
1563         * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public.
1564         * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request).
1565         (WebCore::Font::drawTextUsingSVGFont):
1566         * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.)
1567         (WebCore::SVGGElement::createRenderer):
1568         * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary.
1569         (WebCore::SVGGElement::rendererIsNeeded): Always return true.
1570         * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code.
1571         (WebCore::SVGGradientElement::svgAttributeChanged):
1572         (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
1573         (WebCore::SVGGradientElement::buildStops):
1574         * svg/SVGGradientElement.h:
1575         * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code.
1576         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
1577         (WebCore::SVGLinearGradientElement::createRenderer):
1578         (WebCore::SVGLinearGradientElement::collectGradientProperties):
1579         (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
1580         * svg/SVGLinearGradientElement.h:
1581         * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
1582         (WebCore::SVGMarkerElement::svgAttributeChanged):
1583         (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
1584         (WebCore::SVGMarkerElement::setOrientToAuto):
1585         (WebCore::SVGMarkerElement::setOrientToAngle):
1586         * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
1587         (WebCore::SVGMaskElement::svgAttributeChanged):
1588         (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
1589         * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
1590         (WebCore::SVGPatternElement::svgAttributeChanged):
1591         (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
1592         (WebCore::SVGPatternElement::createRenderer):
1593         * svg/SVGPatternElement.h:
1594         * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override.
1595         * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code.
1596         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
1597         (WebCore::SVGRadialGradientElement::createRenderer):
1598         (WebCore::SVGRadialGradientElement::collectGradientProperties):
1599         (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
1600         * svg/SVGRadialGradientElement.h:
1601         * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs.
1602         (WebCore::SVGStopElement::parseMappedAttribute):
1603         (WebCore::SVGStopElement::stopColorIncludingOpacity):
1604         * svg/SVGStopElement.h:
1605         * svg/SVGStyledElement.cpp:
1606         (WebCore::SVGStyledElement::~SVGStyledElement):
1607         (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing.
1608         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting.
1609         (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources()
1610         (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set.
1611         * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method.
1612         * svg/SVGTextPathElement.h:
1613         * svg/graphics/SVGPaintServer.h: Removed.
1614         * svg/graphics/SVGResource.cpp: Removed.
1615         * svg/graphics/SVGResource.h: Removed.
1616
1617 2010-04-23  Zhenyao Mo  <zmo@google.com>
1618
1619         Reviewed by Darin Fisher.
1620
1621         Add isGLES2Compliant to GraphicsContext3D: make the method const.
1622         https://bugs.webkit.org/show_bug.cgi?id=37872
1623
1624         * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
1625         * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
1626         (WebCore::GraphicsContext3D::isGLES2Compliant):
1627
1628 2010-04-23  Qi Zhang  <qi.2.zhang@nokia.com>
1629
1630         Reviewed by Laszlo Gombos.
1631
1632         [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
1633         https://bugs.webkit.org/show_bug.cgi?id=37276
1634
1635         QPainterPath::contains doesn't count the point on the bound.
1636
1637         * platform/graphics/qt/PathQt.cpp:
1638         (WebCore::isPointOnPathBorder):
1639         (WebCore::Path::contains):
1640
1641 2010-04-23  Sam Weinig  <sam@webkit.org>
1642
1643         Reviewed by David Levin.
1644
1645         Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
1646         Split up Threading.h
1647
1648         Add necessary forwarding headers.
1649
1650         * ForwardingHeaders/wtf/Atomics.h: Added.
1651         * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
1652         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
1653
1654 2010-04-23  Rafael Weinstein  <rafaelw@grafaelw.sfo.corp.google.com>
1655
1656         Reviewed by Darin Fisher.
1657
1658         This patch adds a vector of additionalFeatures to WindowFeatures
1659         and populates it with any feature strings that evaluate to "yes"
1660         and aren't directly observed in WindowFeatures. This allows
1661         clients to capture experimental window features.
1662
1663         https://bugs.webkit.org/show_bug.cgi?id=38013
1664
1665         * page/WindowFeatures.cpp:
1666         (WebCore::WindowFeatures::setWindowFeature):
1667         * page/WindowFeatures.h:
1668
1669 2010-04-23  Dan Bernstein  <mitz@apple.com>
1670
1671         Reviewed by Simon Fraser.
1672
1673         <rdar://problem/7898436> :after content is duplicated
1674
1675         Test: fast/css-generated-content/after-duplicated-after-split.html
1676
1677         * rendering/RenderInline.cpp:
1678         (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
1679
1680 2010-04-23  Adele Peterson  <adele@apple.com>
1681
1682         Fixing the Tiger build for real.
1683
1684         * platform/graphics/mac/SimpleFontDataMac.mm:
1685
1686 2010-04-23  Adele Peterson  <adele@apple.com>
1687
1688         Fixing the Tiger build.
1689
1690         * platform/graphics/mac/SimpleFontDataMac.mm:
1691         (WebCore::SimpleFontData::platformBoundsForGlyph):
1692
1693 2010-04-23  Jian Li  <jianli@chromium.org>
1694
1695         Reviewed by Dmitry Titov.
1696
1697         Add FileError for File API.
1698         https://bugs.webkit.org/show_bug.cgi?id=37840
1699
1700         The test will be added when implementing FileReader and FilerWriter.
1701
1702         * Android.derived.jscbindings.mk:
1703         * Android.derived.v8bindings.mk:
1704         * DerivedSources.cpp:
1705         * DerivedSources.make:
1706         * GNUmakefile.am:
1707         * WebCore.gypi:
1708         * WebCore.pri:
1709         * WebCore.pro:
1710         * WebCore.vcproj/WebCore.vcproj:
1711         * WebCore.xcodeproj/project.pbxproj:
1712         * dom/ExceptionCode.h:
1713         (WebCore::):
1714         * html/FileError.h: Added.
1715         * html/FileError.idl: Added.
1716         * page/DOMWindow.idl:
1717
1718 2010-04-23  Jian Li  <jianli@chromium.org>
1719
1720         Reviewed by Adam Barth.
1721
1722         Improve code generator scripts to handle OR ('|') condition in the
1723         extended attributes.
1724         https://bugs.webkit.org/show_bug.cgi?id=37998
1725
1726         * bindings/scripts/CodeGeneratorJS.pm:
1727         * bindings/scripts/CodeGeneratorObjC.pm:
1728         * bindings/scripts/CodeGeneratorV8.pm:
1729         * bindings/scripts/IDLStructure.pm:
1730
1731 2010-04-23  Adele Peterson  <adele@apple.com>
1732
1733         Reviewed by Dan Bernstein.
1734
1735         Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
1736         https://bugs.webkit.org/show_bug.cgi?id=37936
1737
1738         This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store
1739         a FloatRect for the glyph bounds unless we need to.
1740
1741         Covered by existing tests.  This should not cause any change in functionality.
1742
1743         Updated for removal of GlyphMetricsMap.cpp
1744         * Android.mk:
1745         * GNUmakefile.am:
1746         * WebCore.gypi:
1747         * WebCore.vcproj/WebCore.vcproj:
1748         * WebCore.xcodeproj/project.pbxproj:
1749
1750         Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps.
1751         * platform/graphics/GlyphMetricsMap.cpp: Removed.
1752         * platform/graphics/GlyphMetricsMap.h:
1753         (WebCore::GlyphMetricsMap::metricsForGlyph):
1754         (WebCore::GlyphMetricsMap::setMetricsForGlyph):
1755         (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
1756         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
1757         (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
1758         (WebCore::::unknownMetrics):
1759         (WebCore::::locatePageSlowCase):
1760
1761         * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1762         Call boundsForGlyph instead of metricsForGlyph.
1763         * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
1764         ditto.
1765         * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
1766         Call setMetricsForGlyph for both glyph maps.
1767
1768         Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
1769         * platform/graphics/SimpleFontData.h:
1770         (WebCore::):
1771         (WebCore::SimpleFontData::boundsForGlyph):
1772         (WebCore::SimpleFontData::widthForGlyph):
1773         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1774         (WebCore::SimpleFontData::platformBoundsForGlyph):
1775         (WebCore::SimpleFontData::platformWidthForGlyph):
1776         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1777         (WebCore::SimpleFontData::platformBoundsForGlyph):
1778         (WebCore::SimpleFontData::platformWidthForGlyph):
1779         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1780         (WebCore::SimpleFontData::platformBoundsForGlyph):
1781         (WebCore::SimpleFontData::platformWidthForGlyph):
1782         * platform/graphics/gtk/SimpleFontDataPango.cpp:
1783         (WebCore::SimpleFontData::platformBoundsForGlyph):
1784         (WebCore::SimpleFontData::platformWidthForGlyph):
1785         * platform/graphics/mac/SimpleFontDataMac.mm:
1786         (WebCore::SimpleFontData::platformBoundsForGlyph):
1787         (WebCore::SimpleFontData::platformWidthForGlyph):
1788         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1789         (WebCore::SimpleFontData::platformBoundsForGlyph):
1790         (WebCore::SimpleFontData::platformWidthForGlyph):
1791         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1792         (WebCore::SimpleFontData::platformBoundsForGlyph):
1793         * platform/graphics/win/SimpleFontDataWin.cpp:
1794         (WebCore::SimpleFontData::boundsForGDIGlyph):
1795         (WebCore::SimpleFontData::widthForGDIGlyph):
1796         * platform/graphics/wince/SimpleFontDataWince.cpp:
1797         (WebCore::SimpleFontData::platformBoundsForGlyph):
1798         * platform/graphics/wx/SimpleFontDataWx.cpp:
1799         (WebCore::SimpleFontData::platformBoundsForGlyph):
1800         (WebCore::SimpleFontData::platformWidthForGlyph):
1801
1802 2010-04-23  Xiaomei Ji  <xji@chromium.org>
1803
1804         Reviewed by Dan Bernstein and Darin Adler
1805
1806         Fix issue "caret does not paint after type in characters in right
1807         aligned div or after delete all characters in RTL div or 
1808         0px right padding RTL textarea"
1809         https://bugs.webkit.org/show_bug.cgi?id=25319
1810
1811         Test: editing/inserting/caret-position.html
1812
1813         * rendering/RenderText.cpp:
1814         (WebCore::RenderText::localCaretRect):
1815
1816 2010-04-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
1817
1818         Reviewed by Kenneth Rohde Christiansen.
1819
1820         [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
1821         https://bugs.webkit.org/show_bug.cgi?id=36365
1822
1823         The issue came from using QGraphicsView's cache as is. The problem is that
1824         several code-paths require re-rendering of the item, but not re-rendering
1825         of the web content into the cache.
1826
1827         The way to solve it is by having GraphicsLayerQt manage the cache directly
1828         via QPixmapCache, instead of using QGraphicsItem cache modes.
1829
1830         FPS measurement shows significant improvement (20FPS before, 40FPS after)
1831         on several use-cases, including blog-files/leaves on a desktop environment.
1832
1833         * platform/graphics/qt/GraphicsLayerQt.cpp:
1834         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1835         (WebCore::GraphicsLayerQtImpl::recache):
1836         (WebCore::GraphicsLayerQtImpl::paint):
1837         (WebCore::GraphicsLayerQtImpl::flushChanges):
1838
1839 2010-04-23  James Robinson  <jamesr@chromium.org>
1840
1841         Reviewed by Dimitri Glazkov.
1842
1843         Avoid marking symbols as dllexport in chromium win builds
1844         https://bugs.webkit.org/show_bug.cgi?id=38058
1845
1846         No new tests.
1847
1848         * config.h:
1849
1850 2010-04-23  MORITA Hajime  <morrita@google.com>
1851
1852         Reviewed by Nikolas Zimmermann.
1853
1854         https://bugs.webkit.org/show_bug.cgi?id=37187
1855         SVG <use href="foo"> is interpreted as <use href="#foo">
1856
1857         getTarget() did return url parameter as is if doesn't have
1858         fragment identifier. So fixed to return empty string in such case
1859         because we need to distinguish "yyy.html" from "xxx.svg#yyy.html".
1860         
1861         Test: svg/custom/broken-internal-references.svg
1862
1863         * svg/SVGElement.cpp:
1864         (WebCore::SVGElement::insertedIntoDocument):
1865         * svg/SVGURIReference.cpp:
1866         (WebCore::SVGURIReference::getTarget):
1867
1868 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
1869
1870         Reviewed by Dan Bernstein.
1871
1872         ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
1873         https://bugs.webkit.org/show_bug.cgi?id=38066
1874         
1875         When a layer goes into compositing mode because it has a negative z-index child that is going
1876         into compositing mode, then set willBeComposited to true. Also add another assertion to catch
1877         any other cases where the state of willBeComposited is mismanaged.
1878
1879         Test: compositing/composited-negative-zindex-child.html
1880
1881         * rendering/RenderLayerCompositor.cpp:
1882         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1883
1884 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
1885
1886         Reviewed by Dan Bernstein.
1887
1888         When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation
1889         https://bugs.webkit.org/show_bug.cgi?id=37955
1890
1891         After r37484, animation and transition end events were fired on a timer, after the animation/transition
1892         ended. This opened up one event loop cycle in which the non-animating state of the element was visible
1893         before the event fired, resulting in flashes in content that reset style from the event handler.
1894         
1895         Fix by firing these events in the same event cycle as the animation end, once all animations
1896         have been updated. This also required moving the place that start animations are fixed until
1897         a later state in the state machine, so that animations have their start time set at the point
1898         the event is fired (to avoid an assertion when using the freeze API in DRT).
1899         
1900         Not testable, since the flash is very transitory and cannot be captured in a pixel test.
1901
1902         * page/animation/AnimationBase.cpp:
1903         (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state
1904         where the start time is known.
1905         * page/animation/AnimationControllerPrivate.h:
1906         * page/animation/AnimationController.cpp:
1907         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle()
1908         method.
1909         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in
1910         updateStyleIfNeededDispatcherFired().
1911         (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've
1912         processed all animations.
1913
1914 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
1915
1916         Reviewed by Dan Bernstein.
1917
1918         CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
1919         https://bugs.webkit.org/show_bug.cgi?id=38017
1920
1921         Check to see if the animation name is "none", and don't fire off a keyframe animation in
1922         that case.
1923
1924         * page/animation/CompositeAnimation.cpp:
1925         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1926
1927 2010-04-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1928
1929         Reviewed by Kenneth Rohde Christiansen.
1930
1931         [Qt] Disable Netscape plugin support for minimal configuration
1932         https://bugs.webkit.org/show_bug.cgi?id=38026
1933
1934         No new tests, as there is no new functionality.
1935
1936         * WebCore.pri:
1937
1938 2010-04-23  Shinichiro Hamaji  <hamaji@chromium.org>
1939
1940         Reviewed by Darin Adler.
1941
1942         Need borderAndPadding(Width|Height)
1943         https://bugs.webkit.org/show_bug.cgi?id=38046
1944
1945         Refactoring only, so no new tests.
1946
1947         * rendering/InlineBox.cpp:
1948         (WebCore::InlineBox::height):
1949         * rendering/RenderApplet.cpp:
1950         (WebCore::RenderApplet::createWidgetIfNecessary):
1951         * rendering/RenderBlock.cpp:
1952         (WebCore::RenderBlock::isSelfCollapsingBlock):
1953         (WebCore::RenderBlock::calcPrefWidths):
1954         * rendering/RenderBox.cpp:
1955         (WebCore::RenderBox::calcBorderBoxWidth):
1956         (WebCore::RenderBox::calcBorderBoxHeight):
1957         (WebCore::RenderBox::calcContentBoxWidth):
1958         (WebCore::RenderBox::calcContentBoxHeight):
1959         (WebCore::RenderBox::calcWidth):
1960         (WebCore::RenderBox::calcHeight):
1961         (WebCore::RenderBox::calcPercentageHeight):
1962         (WebCore::RenderBox::calcReplacedHeightUsing):
1963         (WebCore::RenderBox::availableHeightUsing):
1964         (WebCore::RenderBox::calcAbsoluteHorizontal):
1965         (WebCore::RenderBox::calcAbsoluteVertical):
1966         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1967         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1968         (WebCore::RenderBox::positionForPoint):
1969         * rendering/RenderBoxModelObject.h:
1970         (WebCore::RenderBoxModelObject::borderAndPaddingHeight):
1971         (WebCore::RenderBoxModelObject::borderAndPaddingWidth):
1972         * rendering/RenderDataGrid.cpp:
1973         (WebCore::RenderDataGrid::calcPrefWidths):
1974         * rendering/RenderFieldset.cpp:
1975         (WebCore::RenderFieldset::calcPrefWidths):
1976         * rendering/RenderFileUploadControl.cpp:
1977         (WebCore::RenderFileUploadControl::calcPrefWidths):
1978         * rendering/RenderFlexibleBox.cpp:
1979         (WebCore::RenderFlexibleBox::calcPrefWidths):
1980         (WebCore::RenderFlexibleBox::allowedChildFlex):
1981         * rendering/RenderImage.cpp:
1982         (WebCore::RenderImage::calcPrefWidths):
1983         * rendering/RenderLayer.cpp:
1984         (WebCore::RenderLayer::resize):
1985         * rendering/RenderListBox.cpp:
1986         (WebCore::RenderListBox::calcPrefWidths):
1987         (WebCore::RenderListBox::calcHeight):
1988         * rendering/RenderMenuList.cpp:
1989         (WebCore::RenderMenuList::calcPrefWidths):
1990         * rendering/RenderReplaced.cpp:
1991         (WebCore::RenderReplaced::calcPrefWidths):
1992         * rendering/RenderSVGRoot.cpp:
1993         (WebCore::RenderSVGRoot::calcPrefWidths):
1994         * rendering/RenderSlider.cpp:
1995         (WebCore::RenderSlider::calcPrefWidths):
1996         (WebCore::RenderSlider::layout):
1997         * rendering/RenderTableCell.cpp:
1998         (WebCore::RenderTableCell::styleOrColWidth):
1999         * rendering/RenderTextControl.cpp:
2000         (WebCore::RenderTextControl::textBlockHeight):
2001         (WebCore::RenderTextControl::textBlockWidth):
2002         (WebCore::RenderTextControl::calcHeight):
2003         (WebCore::RenderTextControl::calcPrefWidths):
2004         * rendering/RenderTextControlSingleLine.cpp:
2005         (WebCore::RenderTextControlSingleLine::layout):
2006         * rendering/RenderWidget.cpp:
2007         (WebCore::RenderWidget::updateWidgetPosition):
2008
2009 2010-04-23  David Kilzer  <ddkilzer@apple.com>
2010
2011         Size mismatch between format string and argument in dumpTextEncodingNameMap()
2012
2013         Reviewed by Darin Adler.
2014
2015         See Bug 38030 and r58157.
2016
2017         * platform/text/TextEncodingRegistry.cpp:
2018         (WebCore::dumpTextEncodingNameMap): Assigned
2019         textEncodingNameMap->size() to an unsigned variable before using
2020         it in the fprintf() statement.
2021
2022 2010-04-23  David Kilzer  <ddkilzer@apple.com>
2023
2024         BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
2025
2026         * DerivedSources.cpp: Changed include of JSMedia.cpp to
2027         JSStyleMedia.cpp.
2028
2029 2010-04-23  David Kilzer  <ddkilzer@apple.com>
2030
2031         BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
2032
2033         * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
2034         DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
2035         DOMStyleMedia.mm, DOMStyleMediaInternal.h.  
2036
2037 2010-04-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2038
2039         Unreviewed build fix.
2040
2041         Change Media to StyleMedia
2042
2043         * DerivedSources.make:
2044
2045 2010-04-23  Xan Lopez  <xlopez@igalia.com>
2046
2047         Try to fix the GTK+ bots.
2048
2049         * GNUmakefile.am:
2050
2051 2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2052
2053         Reviewed by Laszlo Gombos.
2054
2055         Rename window.media to window.styleMedia
2056         https://bugs.webkit.org/show_bug.cgi?id=36187
2057
2058         Rename the interface Media to StyleMedia as required by the
2059         new CSSOM View spec.
2060
2061         * Android.derived.jscbindings.mk:
2062         * Android.derived.v8bindings.mk:
2063         * GNUmakefile.am:
2064         * WebCore.gypi:
2065         * WebCore.pri:
2066         * WebCore.pro:
2067         * WebCore.vcproj/WebCore.vcproj:
2068         * WebCore.xcodeproj/project.pbxproj:
2069         * css/Media.cpp: Removed.
2070         * css/Media.h: Removed.
2071         * css/Media.idl: Removed.
2072         * css/StyleMedia.cpp: Added.
2073         (WebCore::StyleMedia::StyleMedia):
2074         (WebCore::StyleMedia::type):
2075         (WebCore::StyleMedia::matchMedium):
2076         * css/StyleMedia.h: Added.
2077         (WebCore::StyleMedia::create):
2078         (WebCore::StyleMedia::disconnectFrame):
2079         * css/StyleMedia.idl: Added.
2080         * page/DOMWindow.cpp:
2081         (WebCore::DOMWindow::styleMedia):
2082         * page/DOMWindow.h:
2083         (WebCore::DOMWindow::optionalMedia):
2084         * page/DOMWindow.idl:
2085
2086 2010-04-23  Yury Semikhatsky  <yurys@chromium.org>
2087
2088         Reviewed by Pavel Feldman.
2089
2090         Web Inspector: provide JSC implementation for scopeType method on
2091         call frame and use same jsvascript code for JSC and v8 when collecting
2092         scope chain data.
2093
2094         https://bugs.webkit.org/show_bug.cgi?id=37663
2095
2096         * bindings/js/JSInjectedScriptHostCustom.cpp:
2097         (WebCore::JSInjectedScriptHost::currentCallFrame):
2098         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2099         (WebCore::JSJavaScriptCallFrame::scopeType):
2100         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2101         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2102         * inspector/InjectedScriptHost.idl:
2103         * inspector/front-end/InjectedScript.js:
2104         (injectedScriptConstructor.):
2105
2106 2010-04-23  Alexander Pavlov  <apavlov@chromium.org>
2107
2108         Reviewed by Pavel Feldman.
2109
2110         Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name
2111         https://bugs.webkit.org/show_bug.cgi?id=37988
2112
2113         * inspector/front-end/AuditRules.js:
2114         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2115
2116 2010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
2117
2118         Reviewed by Yury Semikhatsky.
2119
2120         WebInspector: Flaky Inspector tests.
2121         https://bugs.webkit.org/show_bug.cgi?id=36217
2122
2123         * inspector/InspectorController.cpp:
2124         (WebCore::InspectorController::didCommitLoad):
2125
2126 2010-04-23  Yaar Schnitman  <yaar@chromium.org>
2127
2128         Reviewed by Adam Barth.
2129
2130         Auto-generate WebGLRenderingContext overloads in V8
2131         https://bugs.webkit.org/show_bug.cgi?id=37818
2132
2133         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2134         * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:.
2135         (WebCore::WebGLRenderingContext::texImage2D)
2136         (WebCore::WebGLRenderingContext::texSubImage2D)
2137         * html/canvas/WebGLRenderingContext.h: Added missing overloads.
2138         * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads.
2139
2140 2010-04-23  Jeff Schiller  <codedread@gmail.com>
2141
2142         Reviewed by Nikolas Zimmermann.
2143
2144         Display tooltips when hovering over SVG elements, Bug 16854
2145         https://bugs.webkit.org/show_bug.cgi?id=16854
2146
2147         Manual test added for verifying tooltips.
2148
2149         * manual-tests/svg-tooltip.svg: Added.
2150         * svg/SVGAElement.cpp:
2151         (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used
2152         * svg/SVGStyledElement.cpp:
2153         (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title
2154         * svg/SVGStyledElement.h: add title() method declaration
2155
2156 2010-04-23  David Kilzer  <ddkilzer@apple.com>
2157
2158         <http://webkit.org/b/38032> No need to content sniff 304 responses
2159         <rdar://problem/7891726>
2160
2161         Reviewed by Brady Eidson.
2162
2163         * platform/network/mac/ResourceHandleMac.mm:
2164         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2165         No need to adjust the MIME type on 304 responses since they're
2166         only used to determine if the resource needs to be refetched.
2167
2168 2010-04-23  David Kilzer  <ddkilzer@apple.com>
2169
2170         <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
2171
2172         Reviewed by Alexey Proskuryakov.
2173
2174         * platform/text/TextEncodingRegistry.cpp:
2175         (WebCore::dumpTextEncodingNameMap): Added.
2176         * platform/text/TextEncodingRegistry.h:
2177         (WebCore::dumpTextEncodingNameMap): Added declaration.
2178
2179 2010-04-22  Tony Chang  <tony@chromium.org>
2180
2181         Reviewed by Dan Bernstein.
2182
2183         Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
2184         https://bugs.webkit.org/show_bug.cgi?id=37950
2185
2186         Test: editing/text-iterator/rtl-selection-crash.html
2187
2188         * editing/TextIterator.cpp:
2189         (WebCore::TextIterator::handleTextNode):
2190
2191 2010-04-22  Maciej Stachowiak  <mjs@apple.com>
2192
2193         Reviewed by Dan Bernstein and Beth Dakin.
2194
2195         Links around blocks (e.g. divs) results in too many VoiceOver call outs
2196         https://bugs.webkit.org/show_bug.cgi?id=37079
2197         <rdar://problem/7234118>
2198
2199         The basic change is to modify the AccessibilityRenderObject tree
2200         traversal methods to account for inline continuations in the
2201         render tree and make the accessibility tree look as if
2202         continuations didn't exist - the same as if CSS blocks could just
2203         sit in CSS inlines. This is slightly tricky code but creates a
2204         much saner accessibility tree.
2205         
2206         Tests: accessibility/image-link-inline-cont.html
2207                accessibility/image-link.html
2208                accessibility/inline-continuations.html
2209
2210         * accessibility/AccessibilityRenderObject.cpp:
2211         (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations.
2212         (WebCore::firstChildInContinuation): ditto
2213         (WebCore::firstChildConsideringContinuation): ditto
2214         (WebCore::lastChildConsideringContinuation): ditto
2215         (WebCore::startOfContinuations): ditto
2216         (WebCore::endOfContinuations): ditto
2217         (WebCore::childBeforeConsideringContinuations): ditto
2218         (WebCore::firstChildIsInlineContinuation): ditto
2219         (WebCore::lastChildHasContinuation): ditto
2220         (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations.
2221         (WebCore::AccessibilityRenderObject::lastChild): ditto
2222         (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations
2223         and their anonymous block parents.
2224         (WebCore::AccessibilityRenderObject::nextSibling): ditto
2225         (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations.
2226         (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations.
2227         * rendering/RenderInline.h: Make RenderInline::inlineContinuation public.
2228
2229 2010-04-22  Shinichiro Hamaji  <hamaji@chromium.org>
2230
2231         Reviewed by Darin Adler.
2232
2233         REGRESSION: TextIterator may use freed memory
2234         https://bugs.webkit.org/show_bug.cgi?id=37973
2235
2236         Added TextIterator::m_text to hold the returned String.
2237
2238         No new tests because there are no behavior change, but
2239         copy-backslash-with-euc.html on chromium-win should test this.
2240
2241         * editing/TextIterator.cpp:
2242         (WebCore::TextIterator::emitText):
2243         * editing/TextIterator.h:
2244
2245 2010-04-22  Michael Forney  <mforney@mforney.org>
2246
2247         Reviewed by Adam Barth.
2248
2249         https://bugs.webkit.org/show_bug.cgi?id=37761
2250
2251         Only include JSDatabase.h and JSDatabaseCallback.h when database is
2252         enabled. This partially fixes building with --disable-database.
2253
2254         * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
2255         database-related headers.
2256
2257 2010-04-22  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
2258
2259         Reviewed by Darin Adler.
2260
2261         In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
2262         some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
2263         this by changing shouldUseInputMethod to use internal methods to 
2264         check that the field is a text field that isn't a password field. 
2265
2266         No new tests.
2267
2268         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
2269
2270         * html/HTMLInputElement.cpp:
2271         (WebCore::HTMLInputElement::shouldUseInputMethod):
2272
2273 2010-04-22  Yaar Schnitman  <yaar@chromium.org>
2274
2275         Reviewed by Adam Barth.
2276
2277         Integrate v8 testing utility with webkit tests
2278         https://bugs.webkit.org/show_bug.cgi?id=37731
2279
2280         * bindings/v8/test/run_tests.py: Removed.
2281
2282 2010-04-22  Zhenyao Mo  <zmo@google.com>
2283
2284         Reviewed by Darin Fisher.
2285
2286         Add isGLES2Compliant to GraphicsContext3D
2287         https://bugs.webkit.org/show_bug.cgi?id=37872
2288
2289         * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
2290         (WebCore::WebGLRenderingContext::isGLES2Compliant):
2291         * html/canvas/WebGLRenderingContext.h: Ditto.
2292         * platform/graphics/GraphicsContext3D.h: Ditto.
2293         * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
2294         (WebCore::GraphicsContext3D::isGLES2Compliant):
2295
2296 2010-04-22  Fumitoshi Ukai  <ukai@chromium.org>
2297
2298         Reviewed by Adam Barth.
2299
2300         MD5 is required for WebSocket new protocol implementation
2301         https://bugs.webkit.org/show_bug.cgi?id=37913
2302
2303         * ForwardingHeaders/wtf/MD5.h: Added.
2304
2305 2010-04-22  Alexey Proskuryakov  <ap@apple.com>
2306
2307         Reviewed by Darin Adler.
2308
2309         https://bugs.webkit.org/show_bug.cgi?id=38012
2310         REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
2311
2312         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
2313         characters, to avoid falling through to virtual key code lookup for Roman characters.
2314
2315 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2316
2317         Reviewed by Darin Adler.
2318
2319         Fix the MSVC 64bit build.
2320         https://bugs.webkit.org/show_bug.cgi?id=37980
2321
2322         * platform/text/TextStream.cpp:
2323         * platform/text/TextStream.h:
2324         * plugins/win/PluginViewWin.cpp:
2325         (WebCore::PluginView::platformStart):
2326
2327 2010-04-22  Dave Moore  <davemoore@chromium.org>
2328
2329         Reviewed by Dimitri Glazkov.
2330
2331         Added notification when the favicons for a page are changed
2332         from a script.
2333         The Document object will notify the frame loader, which will
2334         notify the client. Implementations of FrameLoaderClient will
2335         have to add one method; dispatchDidChangeIcons().
2336
2337         https://bugs.webkit.org/show_bug.cgi?id=33812
2338
2339         Test: fast/dom/icon-url-property.html
2340
2341         * dom/Document.cpp:
2342         (WebCore::Document::setIconURL):
2343         * loader/DocumentLoader.cpp:
2344         (WebCore::DocumentLoader::setIconURL):
2345         * loader/DocumentLoader.h:
2346         (WebCore::DocumentLoader::iconURL):
2347         * loader/EmptyClients.h:
2348         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
2349         * loader/FrameLoader.cpp:
2350         (WebCore::FrameLoader::setIconURL):
2351         (WebCore::FrameLoader::didChangeIcons):
2352         * loader/FrameLoader.h:
2353         * loader/FrameLoaderClient.h:
2354
2355 2010-04-22  Xan Lopez  <xlopez@igalia.com>
2356
2357         Reviewed by Gustavo Noronha.
2358
2359         [GTK] GObject DOM bindings
2360         https://bugs.webkit.org/show_bug.cgi?id=33590
2361
2362         Extend the bindings to cover most of Document.idl
2363
2364         * GNUmakefile.am:
2365         * bindings/gobject/WebKitDOMBinding.cpp:
2366         (WebKit::createWrapper):
2367         (WebKit::kit):
2368         * bindings/gobject/WebKitDOMBinding.h:
2369         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
2370         (WebKit::createAnchorWrapper):
2371         (WebKit::createAppletWrapper):
2372         (WebKit::createAreaWrapper):
2373         (WebKit::createBaseWrapper):
2374         (WebKit::createBaseFontWrapper):
2375         (WebKit::createBlockquoteWrapper):
2376         (WebKit::createBodyWrapper):
2377         (WebKit::createBRWrapper):
2378         (WebKit::createButtonWrapper):
2379         (WebKit::createCanvasWrapper):
2380         (WebKit::createTableCaptionWrapper):
2381         (WebKit::createTableColWrapper):
2382         (WebKit::createModWrapper):
2383         (WebKit::createDirectoryWrapper):
2384         (WebKit::createDivWrapper):
2385         (WebKit::createDListWrapper):
2386         (WebKit::createEmbedWrapper):
2387         (WebKit::createFieldSetWrapper):
2388         (WebKit::createFontWrapper):
2389         (WebKit::createFormWrapper):
2390         (WebKit::createFrameWrapper):
2391         (WebKit::createFrameSetWrapper):
2392         (WebKit::createHeadingWrapper):
2393         (WebKit::createHeadWrapper):
2394         (WebKit::createHRWrapper):
2395         (WebKit::createHtmlWrapper):
2396         (WebKit::createIFrameWrapper):
2397         (WebKit::createImageWrapper):
2398         (WebKit::createInputWrapper):
2399         (WebKit::createIsIndexWrapper):
2400         (WebKit::createLabelWrapper):
2401         (WebKit::createLegendWrapper):
2402         (WebKit::createLIWrapper):
2403         (WebKit::createLinkWrapper):
2404         (WebKit::createMapWrapper):
2405         (WebKit::createMarqueeWrapper):
2406         (WebKit::createMenuWrapper):
2407         (WebKit::createMetaWrapper):
2408         (WebKit::createObjectWrapper):
2409         (WebKit::createOListWrapper):
2410         (WebKit::createOptGroupWrapper):
2411         (WebKit::createOptionWrapper):
2412         (WebKit::createParagraphWrapper):
2413         (WebKit::createParamWrapper):
2414         (WebKit::createPreWrapper):
2415         (WebKit::createQuoteWrapper):
2416         (WebKit::createScriptWrapper):
2417         (WebKit::createSelectWrapper):
2418         (WebKit::createStyleWrapper):
2419         (WebKit::createTableWrapper):
2420         (WebKit::createTableSectionWrapper):
2421         (WebKit::createTableCellWrapper):
2422         (WebKit::createTextAreaWrapper):
2423         (WebKit::createTitleWrapper):
2424         (WebKit::createTableRowWrapper):
2425         (WebKit::createUListWrapper):
2426         (WebKit::createHTMLElementWrapper):
2427         * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
2428         * bindings/scripts/CodeGeneratorGObject.pm:
2429         * dom/Node.idl:
2430
2431 2010-04-22  Eric Carlson  <eric.carlson@apple.com>
2432
2433         Reviewed by Simon Fraser.
2434
2435         Do not pause movie when readyState drops below HAVE_FUTURE_DATA
2436         https://bugs.webkit.org/show_bug.cgi?id=37991
2437         <rdar://problem/7893937>
2438
2439         No new tests, we don't have infrastructure in DRT to test with streamed
2440         movies.
2441
2442         * html/HTMLMediaElement.cpp:
2443         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
2444         (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
2445         (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
2446         (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
2447         previously >= HAVE_FUTURE_DATA. 
2448         * html/HTMLMediaElement.h:
2449
2450 2010-04-22  Zhenyao Mo  <zmo@google.com>
2451
2452         Reviewed by Dimitri Glazkov.
2453
2454         Regression: framebufferRenderbuffer crashes with null renderBuffer
2455         https://bugs.webkit.org/show_bug.cgi?id=37963
2456
2457         * html/canvas/WebGLRenderingContext.cpp:
2458         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
2459
2460 2010-04-22  Zhenyao Mo  <zmo@google.com>
2461
2462         Reviewed by Dimitri Glazkov.
2463
2464         Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
2465         https://bugs.webkit.org/show_bug.cgi?id=37281
2466
2467         * html/canvas/WebGLRenderingContext.cpp:
2468         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now. 
2469         (WebCore::WebGLRenderingContext::getParameter): Add two enums.
2470         (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
2471         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2472         (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
2473
2474 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
2475
2476         Reviewed by Xan Lopez.
2477
2478         [GTK] Mute/unmute button on <video> elements are backwards
2479         https://bugs.webkit.org/show_bug.cgi?id=33967
2480
2481         Fix mute/unmute buttons icons-action relation and explain why their
2482         variable names and corresponding icons seem to be misleading but are
2483         actually right. Original patch by Mike Hommey.
2484
2485         * platform/gtk/RenderThemeGtk.cpp:
2486         (WebCore::RenderThemeGtk::initMediaStyling):
2487
2488 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
2489
2490         Reviewed by Eric Seidel.
2491
2492         Fix build if NPAPI support is disabled
2493         https://bugs.webkit.org/show_bug.cgi?id=36621
2494
2495         No new tests, this is a build fix.
2496         Re-submit r58043 with fix for EFL.
2497
2498         * plugins/PluginViewNone.cpp:
2499
2500 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
2501
2502         Reviewed by Xan Lopez.
2503
2504         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
2505         WebKitGtk
2506         https://bugs.webkit.org/show_bug.cgi?id=34449
2507
2508         Implement ATK_ROLE_COMBO_BOX.
2509
2510         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2511         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2512         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2513         (atkRole):
2514
2515 2010-04-22  Nikolas Zimmermann  <nzimmermann@rim.com>
2516
2517         Reviewed by Dirk Schulze.
2518
2519         SVGPaintServer needs to be converted to the new RenderSVGResource* system
2520         https://bugs.webkit.org/show_bug.cgi?id=37986
2521
2522         No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
2523         This is a preparation for the real patch which follows soon.
2524
2525         * Android.mk: Rename files and move to the right location.
2526         * GNUmakefile.am: Ditto.
2527         * WebCore.gypi: Ditto.
2528         * WebCore.pro: Ditto.
2529         * WebCore.vcproj/WebCore.vcproj: Ditto.
2530         * WebCore.xcodeproj/project.pbxproj: Ditto.
2531         * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
2532         * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
2533         * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
2534         * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
2535         * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
2536         * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
2537         * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
2538         * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
2539         * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
2540         * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
2541         * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
2542         * rendering/SVGRenderTreeAsText.cpp: Change include file names.
2543         * svg/SVGFont.cpp: Ditto.
2544         * svg/SVGGradientElement.cpp: Ditto.
2545         * svg/SVGGradientElement.h: Ditto.
2546         * svg/SVGLinearGradientElement.cpp: Ditto.
2547         * svg/SVGPatternElement.cpp: Ditto.
2548         * svg/SVGPatternElement.h: Ditto.
2549         * svg/SVGRadialGradientElement.cpp: Ditto.
2550         * svg/graphics/SVGPaintServer.cpp: Removed.
2551         * svg/graphics/SVGPaintServerGradient.cpp: Removed.
2552         * svg/graphics/SVGPaintServerGradient.h: Removed.
2553         * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
2554         * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
2555         * svg/graphics/SVGPaintServerPattern.cpp: Removed.
2556         * svg/graphics/SVGPaintServerPattern.h: Removed.
2557         * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
2558         * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
2559         * svg/graphics/SVGPaintServerSolid.cpp: Removed.
2560         * svg/graphics/SVGPaintServerSolid.h: Removed.
2561         * svg/graphics/SVGResourceListener.h: Removed.
2562
2563 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2564
2565         Reviewed by Simon Hausmann.
2566
2567         [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
2568
2569         This prevents the dependent headers from being included by
2570         qt/include/QtWebKit/QtWebKit
2571
2572         * WebCore.pro:
2573
2574 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
2575
2576         Reviewed by Adam Roben.
2577
2578         EFL does not support PluginDatabase yet.
2579         http://webkit.org/b/37854
2580
2581         No behavior changes, so no new tests were added.
2582
2583         * loader/FrameLoader.cpp:
2584         (WebCore::FrameLoader::defaultObjectContentType):
2585
2586 2010-04-22  Ilya Tikhonovsky  <loislo@chromium.org>
2587
2588         Reviewed by Yury Semikhatsky.
2589
2590         Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
2591         https://bugs.webkit.org/show_bug.cgi?id=37924
2592
2593         * inspector/front-end/TimelineGrid.js:
2594         (WebInspector.TimelineGrid.prototype.updateDividers):
2595         (WebInspector.TimelineGrid.prototype.addEventDividers):
2596         * inspector/front-end/TimelineOverviewPane.js:
2597         (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
2598         * inspector/front-end/TimelinePanel.js:
2599         (WebInspector.TimelinePanel.prototype._updateEventDividers):
2600         (WebInspector.TimelinePanel.prototype._refresh):
2601
2602 2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2603
2604         Reviewed by Simon Fraser.
2605
2606         Rename window.media to window.styleMedia
2607         https://bugs.webkit.org/show_bug.cgi?id=36187
2608
2609         It has been defined that the AbstractView media extension
2610         defined in the CSSOM View spec should be renamed to styleMedia.
2611         This patch does that and updates the current layout tests
2612         making use of it.
2613
2614         * page/AbstractView.idl:
2615         * page/DOMWindow.cpp:
2616         (WebCore::DOMWindow::styleMedia):
2617         * page/DOMWindow.h:
2618         * page/DOMWindow.idl:
2619
2620 2010-04-22  Anton Muhin  <antonm@chromium.org>
2621
2622         Reviewed by Adam Barth.
2623
2624         [v8] Do not pass empty handle into SetHiddenValue which would crash.
2625         https://bugs.webkit.org/show_bug.cgi?id=37801
2626
2627         * bindings/v8/V8AbstractEventListener.cpp:
2628         (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
2629         (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
2630
2631 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
2632
2633         Reviewed by David Levin.
2634
2635         [Haiku] Implement ImageBuffer support
2636         https://bugs.webkit.org/show_bug.cgi?id=35288
2637
2638         Covered by existing tests.
2639
2640         Complete implementation of ImageBuffer for Haiku. Uses StillImage
2641         class to export a WebCore::Image and associated GraphicsContext
2642         to perform arbitrary drawing in the offscreen BBitmap buffer.
2643
2644         * platform/graphics/haiku/ImageBufferData.h:
2645         * platform/graphics/haiku/ImageBufferHaiku.cpp,
2646         (WebCore::ImageBufferData::ImageBufferData),
2647         (WebCore::ImageBufferData::~ImageBufferData),
2648         (WebCore::ImageBuffer::ImageBuffer),
2649         (WebCore::ImageBuffer::~ImageBuffer),
2650         (WebCore::ImageBuffer::context),
2651         (WebCore::ImageBuffer::image):
2652             Implementation uses offscreen BBitmap and BView, wraps StillImage
2653             around those to provide WebCore::Image interface.
2654         (WebCore::ImageBuffer::platformTransformColorSpace):
2655         (WebCore::convertFromData):
2656             Method just performs BGRA <-> RGBA conversion.
2657         (WebCore::convertFromInternalData):
2658             Method just performs BGRA <-> RGBA conversion and handles
2659             pre-multiplying the color values if requested.
2660         (WebCore::convertToInternalData):
2661             Method just performs BGRA <-> RGBA conversion and handles
2662             de.multiplying the color values if requested.
2663         (WebCore::getImageData):
2664             Common code for the next two methods.
2665         (WebCore::ImageBuffer::getUnmultipliedImageData),
2666         (WebCore::ImageBuffer::getPremultipliedImageData):
2667             Implemented.
2668         (WebCore::putImageData):
2669             Common code for the next two methods.
2670         (WebCore::ImageBuffer::putUnmultipliedImageData),
2671         (WebCore::ImageBuffer::putPremultipliedImageData):
2672             Implemented.
2673         (WebCore::ImageBuffer::toDataURL):
2674             Uses Haiku "Translation Kit" to convert image data to data
2675             of the requested mime type.
2676
2677 2010-04-22  Adam Barth  <abarth@webkit.org>
2678
2679         Unreviewed, rolling out r58069.
2680         http://trac.webkit.org/changeset/58069
2681         https://bugs.webkit.org/show_bug.cgi?id=27751
2682
2683         Broke compile on Windows.
2684
2685         * WebCore.base.exp:
2686         * editing/EditorCommand.cpp:
2687         (WebCore::supportedPaste):
2688         (WebCore::createCommandMap):
2689         * page/Settings.cpp:
2690         (WebCore::Settings::Settings):
2691         * page/Settings.h:
2692
2693 2010-04-22  Abhishek Arya  <inferno@chromium.org>
2694
2695         Reviewed by Adam Barth.
2696
2697         Add support for controlling clipboard access from javascript.
2698         Clipboard access from javascript is disabled by default.
2699         https://bugs.webkit.org/show_bug.cgi?id=27751
2700
2701         Test: editing/execCommand/clipboard-access.html
2702
2703         * WebCore.base.exp:
2704         * editing/EditorCommand.cpp:
2705         (WebCore::supportedCopyCut):
2706         (WebCore::supportedPaste):
2707         (WebCore::createCommandMap):
2708         * page/Settings.cpp:
2709         (WebCore::Settings::Settings):
2710         (WebCore::Settings::setJavaScriptCanAccessClipboard):
2711         * page/Settings.h:
2712         (WebCore::Settings::javaScriptCanAccessClipboard):
2713
2714 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
2715
2716         Reviewed by David Levin.
2717
2718         [Haiku] Improve SimpleFontDataHaiku
2719         https://bugs.webkit.org/show_bug.cgi?id=37411
2720
2721         Covered by existing tests.
2722
2723         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
2724             - Cleaned up includes
2725             - Removed prototype "charUnicodeToUTF8HACK"
2726         (WebCore::SimpleFontData::platformInit):
2727             - Use const BFont pointer
2728         (WebCore::SimpleFontData::smallCapsFontData):
2729             - "fontPlatformData" was leaked. It is only
2730               used as the key for the font cache lookup.
2731         (WebCore::SimpleFontData::platformMetricsForGlyph):
2732             - Use existing WebCore encoding infrastructure
2733               instead of adding a hack for Haiku. 
2734
2735 2010-04-21  Steve Block  <steveblock@google.com>
2736
2737         Reviewed by Kenneth Rohde Christiansen.
2738
2739         Replace Geolocation::suspend()/resume() which are required by Android.
2740         https://bugs.webkit.org/show_bug.cgi?id=37942
2741
2742         These methods were removed in Bug 36255.
2743
2744         Build fix only, no new tests.
2745
2746         * page/Geolocation.cpp:
2747         (WebCore::Geolocation::suspend):
2748         (WebCore::Geolocation::resume):
2749         * page/Geolocation.h:
2750
2751 2010-04-21  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
2752
2753         In HTMLInputElement.cpp there are numerous style
2754         violations.
2755
2756         This patch includes style changes to fix existing style
2757         deviations in this file.
2758
2759         Rubber stamped by Darin Adler.
2760
2761         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
2762
2763         * html/HTMLInputElement.cpp:
2764
2765 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
2766
2767         Reviewed by Adam Roben.
2768
2769         Add missing EFL WebCore file.
2770         http://webkit.org/b/37854
2771
2772         No behavior changes, so no new tests were added.
2773
2774         * bindings/js/ScriptControllerEfl.cpp: Added.
2775         (WebCore::ScriptController::createScriptInstanceForWidget):
2776
2777 2010-04-21  Simon Fraser  <simon.fraser@apple.com>
2778
2779         Reviewed by Dan Bernstein.
2780
2781         Printing Core Animation-based plug-ins is broken
2782         https://bugs.webkit.org/show_bug.cgi?id=37967
2783
2784         When we do a "flattening" paint because of printing, we need to stash
2785         the flattening flag in the FrameView's m_paintBehavior, because
2786         WebBaseNetscapePluginView needs to find it there to decide whether
2787         to grab a bitmap for printing, for CA plug-ins.
2788
2789         * page/FrameView.cpp:
2790         (WebCore::FrameView::paintContents):
2791
2792 2010-04-21  François Sausset  <sausset@gmail.com>
2793
2794         Reviewed by Kenneth Rohde Christiansen.
2795
2796         Fix to take into account a change made in "StringImpl".
2797         https://bugs.webkit.org/show_bug.cgi?id=37763
2798
2799         * mathml/RenderMathMLOperator.cpp:
2800         (WebCore::RenderMathMLOperator::updateFromElement):
2801
2802 2010-04-21  Andy Estes  <aestes@apple.com>
2803
2804         Reviewed by Darin Adler.
2805
2806         Create a template for creating reference-counted Windows GDI handles.
2807         Refactor RefCountedHFONT to use this template.
2808
2809         https://bugs.webkit.org/show_bug.cgi?id=37952
2810
2811         No change in behavior.
2812
2813         * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
2814         * platform/graphics/cairo/FontPlatformData.h:
2815         (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
2816         * platform/graphics/cg/FontPlatformData.h:
2817         (WebCore::FontPlatformData::hfont): Same.
2818         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2819         (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
2820         * platform/graphics/win/FontPlatformDataWin.cpp:
2821         (WebCore::FontPlatformData::FontPlatformData): Same.
2822         * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
2823         (WebCore::RefCountedGDIHandle::create):
2824         (WebCore::RefCountedGDIHandle::createDeleted):
2825         (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
2826         (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
2827         (WebCore::RefCountedGDIHandle::hash):
2828         (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
2829         * platform/graphics/win/RefCountedHFONT.h: Removed.
2830
2831 2010-04-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2832
2833         Reviewed by Darin Adler.
2834
2835         Fix build if NPAPI support is disabled
2836         https://bugs.webkit.org/show_bug.cgi?id=36621
2837
2838         No new tests, this is a build fix.
2839         Re-submit r56585 with fix for Chromium.
2840
2841         * plugins/PluginView.cpp: Guard getValueStatic() with
2842         NETSCAPE_PLUGIN_API
2843         (WebCore::PluginView::getValue):
2844         * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
2845         * plugins/PluginViewNone.cpp: Guard platformGetValue() and
2846         platformGetValueStatic with NETSCAPE_PLUGIN_API;
2847         Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
2848         PLATFORM(MAC) or PLATFORM(CHROMIUM)
2849
2850 2010-04-21  David Yonge-Mallo  <davinci@chromium.org>
2851
2852         Reviewed by Dan Bernstein.
2853
2854         ZWNJ - Display non-printing, invisible character
2855         https://bugs.webkit.org/show_bug.cgi?id=16131
2856
2857         Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
2858
2859         Tests: fast/text/format-control.html
2860                fast/text/zero-width-characters.html
2861
2862         * platform/graphics/Font.h:
2863         (WebCore::Font::operator!=):
2864         (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
2865         * platform/graphics/GlyphPageTreeNode.cpp:
2866         (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
2867         * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
2868
2869 2010-04-21  Charles Wei  <charles.wei@torchmobile.com.cn>
2870
2871         Reviewed by George Staikos.
2872
2873         Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for 
2874         bug fix of 37175 , which seperates DocumentWriter from FrameLoader
2875         https://bugs.webkit.org/show_bug.cgi?id=37915
2876
2877         No new tests since this only fixes the build problem.
2878
2879         * dom/Document.cpp:
2880         (WebCore::Document::isXHTMLMPDocument):
2881
2882 2010-04-21  Shinichiro Hamaji  <hamaji@chromium.org>
2883
2884         Reviewed by Darin Adler.
2885
2886         Call sites of TextIterator constructor are difficult to read
2887         https://bugs.webkit.org/show_bug.cgi?id=37909
2888
2889         Now we use enum parameters instead of boolean parameters and
2890         boolean version of constructors are eliminated.
2891
2892         This change also changes the names of boolean members so they are
2893         now third person singular.
2894
2895         No new tests because this is just a refactoring.
2896
2897         * WebCore.base.exp:
2898         * editing/TextIterator.cpp:
2899         (WebCore::TextIterator::TextIterator):
2900         (WebCore::TextIterator::advance):
2901         (WebCore::TextIterator::handleReplacedElement):
2902         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
2903         (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
2904         (WebCore::TextIterator::handleNonTextNode):
2905         (WebCore::TextIterator::exitNode):
2906         (WebCore::TextIterator::emitCharacter):
2907         (WebCore::TextIterator::emitText):
2908         (WebCore::CharacterIterator::CharacterIterator):
2909         (WebCore::TextIterator::rangeLength):
2910         (WebCore::TextIterator::rangeFromLocationAndLength):
2911         (WebCore::findPlainText):
2912         * editing/TextIterator.h:
2913         (WebCore::):
2914         * editing/VisibleSelection.cpp:
2915         (WebCore::VisibleSelection::appendTrailingWhitespace):
2916         * editing/visible_units.cpp:
2917         (WebCore::nextBoundary):
2918
2919 2010-04-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
2920
2921         Reviewed by Kenneth Rohde Christiansen.
2922
2923         Add PageClientQt files.
2924
2925         [Qt] PageClientQt specific implementation for QWidget
2926         https://bugs.webkit.org/show_bug.cgi?id=37858
2927
2928         * WebCore.pro:
2929
2930 2010-04-21  Diego Escalante Urrelo  <descalante@igalia.com>
2931
2932         Reviewed by Xan Lopez.
2933
2934         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
2935         WebKitGtk
2936         https://bugs.webkit.org/show_bug.cgi?id=34449
2937
2938         Implement ATK_ROLE_SEPARATOR.
2939
2940         * accessibility/AccessibilityRenderObject.cpp:
2941         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2942         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2943         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2944
2945 2010-04-21  David Leong  <david.leong@nokia.com>
2946
2947         Reviewed by Simon Hausmann.
2948
2949         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
2950
2951         https://bugs.webkit.org/show_bug.cgi?id=37303
2952
2953         Added check for NULL to avoid the crash. Reworked to fix memory leak
2954            
2955         * plugins/symbian/PluginViewSymbian.cpp:
2956         (WebCore::PluginView::platformDestroy):
2957
2958 2009-04-21  Chris Fleizach  <cfleizach@apple.com>
2959
2960         Reviewed by Alexey Proskuryakov.
2961
2962         aria-liveregion-notifications.html fails on leopard release bot
2963         https://bugs.webkit.org/show_bug.cgi?id=37112
2964
2965         Change the method that DRT uses to monitor AX notifications so that its robust
2966         by just sending out NSNotification that can be listened to by anyone, instead
2967         of keeping a static function pointer around.
2968    
2969         This change is aimed to avoid flakiness seen in DRT when the notification handlers
2970         are not being called at the appropriate time.
2971
2972         Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
2973                platform/mac/accessibility/aria-liveregions-changedalt.html
2974                platform/mac/accessibility/aria-liveregions-changedtext.html
2975                platform/mac/accessibility/aria-liveregions-removedelement.html
2976
2977         * accessibility/mac/AccessibilityObjectWrapper.h:
2978         * accessibility/mac/AccessibilityObjectWrapper.mm:
2979         (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
2980         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
2981
2982 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
2983
2984         Reviewed by NOBODY (Leopard build fix).
2985         Remove old exports.
2986
2987         * WebCore.base.exp:
2988
2989 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
2990
2991         Reviewed by Darin Adler.
2992
2993         Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
2994         UString and String now have the same internal representation; Just re-wrap the internal impl.
2995
2996         * bindings/js/JSDOMBinding.cpp:
2997         (WebCore::jsStringSlowCase):
2998         * bindings/js/JSDOMBinding.h:
2999         (WebCore::ustringToString):
3000         (WebCore::stringToUString):
3001         (WebCore::identifierToString):
3002         (WebCore::ustringToAtomicString):
3003         (WebCore::identifierToAtomicString):
3004
3005 2010-04-21  Mark Rowe  <mrowe@apple.com>
3006
3007         Reviewed by Eric Carlson.
3008
3009         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
3010
3011         A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
3012         preference file on disk is often required to reproduce the bug.
3013
3014         * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
3015
3016 2010-04-21  Mark Rowe  <mrowe@apple.com>
3017
3018         Reviewed by Maciej Stachowiak.
3019
3020         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
3021
3022         This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
3023         a modal dialog on-screen.
3024
3025         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
3026         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
3027
3028 2010-04-21  Sam Weinig  <sam@webkit.org>
3029
3030         Reviewed by Geoffrey Garen.
3031
3032         Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
3033         Wean JavaScriptCore off calls to isMainThread()
3034
3035         No change in behavior.
3036
3037         * bindings/js/JSDOMWindowBase.cpp:
3038         (WebCore::JSDOMWindowBase::commonJSGlobalData):
3039         Explicitly set a large stack type for the common JSGlobalData and
3040         set the currently running thread as the exclusive thread for its 
3041         execution.
3042
3043         * bindings/js/WorkerScriptController.cpp:
3044         (WebCore::WorkerScriptController::WorkerScriptController):
3045         Explicitly set a small stack type for the workers JSGlobalData. 
3046
3047 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
3048
3049         Reviewed by NOBODY (Qt build fix).
3050
3051         * WebCore.gypi:
3052         * WebCore.pro:
3053         * platform/text/qt/StringQt.cpp: Removed.
3054
3055 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
3056
3057         Reviewed by Oliver Hunt, Darin Adler.
3058
3059         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
3060         Add include for StringHash.h.
3061
3062         * WebCore.xcodeproj/project.pbxproj:
3063         * bridge/c/c_class.cpp:
3064
3065 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
3066
3067         Tiger build fix.
3068
3069         * platform/network/mac/ResourceHandleMac.mm:
3070         (WebCore::createNSURLConnection): Fixed a typo, named an argument.
3071         (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
3072         now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
3073
3074 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
3075
3076         Reviewed by Adam Roben.
3077
3078         Windows build fix.
3079
3080         * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
3081         for now, as it's mistakenly missing from WebKitSupportLibrary headers.
3082
3083 2010-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
3084
3085         Reviewed by Darin Adler.
3086
3087         REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
3088         https://bugs.webkit.org/show_bug.cgi?id=37902
3089
3090         The issue is due to MSVC creating enums as signed. The fix is to store the value
3091         as unsigned.
3092
3093         Test: http://acid3.acidtests.org/
3094
3095         * rendering/style/RenderStyle.h:
3096         (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
3097
3098 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
3099
3100         Reviewed by Brady Eidson.
3101
3102         https://bugs.webkit.org/show_bug.cgi?id=37933
3103         <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
3104
3105         Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
3106
3107         This improves integration between ResourceHandle and Apple networking libraries.
3108
3109         * platform/network/cf/ResourceHandleCFNet.cpp:
3110         (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
3111         (WebCore::ResourceHandle::start): Pass connection properties.
3112         (WebCore::WebCoreSynchronousLoader::load): Ditto.
3113
3114         * platform/network/mac/ResourceHandleMac.mm:
3115         (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
3116         NSURLConnection. Tell NSURLConnection about credential policy upfront.
3117         (WebCore::ResourceHandle::start): Use the new function.
3118         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
3119
3120 2010-04-21  Xiaomei Ji  <xji@chromium.org>
3121
3122         Reviewed by Dimitri Glazkov
3123
3124         This patch fixes [chromium] RTL <select> dropdown box expands to right
3125         instead of left.
3126         https://bugs.webkit.org/show_bug.cgi?id=37232
3127
3128         No automatic test is possible.
3129
3130         * manual-tests/select_dropdown_box_alignment.html: Added.
3131         * platform/chromium/PopupMenuChromium.cpp:
3132         (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box 
3133         for RTL.
3134
3135 2010-04-21  anton muhin  <antonm@google.com>
3136
3137         Reviewed by Adam Barth.
3138
3139         [v8] Bail out if fetching of Object.prototype fails.
3140         https://bugs.webkit.org/show_bug.cgi?id=37661
3141
3142         If for any reason we failed to fetch Object.prototype, context cannot
3143         be properly initialized and we bail out.
3144
3145         * bindings/v8/V8DOMWindowShell.cpp:
3146         (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
3147         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
3148         * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
3149
3150 2010-04-21  Timothy Hatcher  <timothy@apple.com>
3151
3152         Make UserContentURLPattern correctly check for subdomains and the URL
3153         has the same suffix as the pattern. Also improve the parsing of the host.
3154
3155         https://bugs.webkit.org/show_bug.cgi?id=37357
3156
3157         Reviewed by Darin Adler.
3158
3159         * page/UserContentURLPattern.cpp:
3160         (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
3161         simply check for "*" only or a "*." prefix and then do a substring.
3162         (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
3163         position before the suffix to ensure it a subdomain and not just a suffix match.
3164
3165 2010-04-21  Xan Lopez  <xlopez@igalia.com>
3166
3167         Try to fix compilation on GTK+ debug bots.
3168
3169         * bindings/gobject/WebKitDOMBinding.cpp:
3170         (WebKit::createWrapper):
3171
3172 2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>
3173
3174         Reviewed by Darin Adler.
3175
3176         List item markers are not always updated after changes in the DOM.
3177         https://bugs.webkit.org/show_bug.cgi?id=37060
3178
3179         In particular, they would not be updated when adding/removing an item
3180         that is not a direct child of the list element.
3181
3182         Tests: fast/lists/ol-nested-items-dynamic-insert.html
3183                fast/lists/ol-nested-items-dynamic-remove.html
3184                fast/lists/ol-nested-items.html
3185                fast/lists/ol-nested-list-dynamic-insert.html
3186                fast/lists/ol-nested-list-dynamic-remove.html
3187                fast/lists/ol-nested-list.html
3188
3189         * rendering/RenderListItem.cpp:
3190         (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
3191         * rendering/RenderListItem.h:
3192         * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
3193         (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
3194         * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
3195         (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
3196         (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
3197         (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
3198         * rendering/RenderTreeAsText.cpp:
3199         (WebCore::markerTextForListItem):
3200
3201 2010-04-21  Xan Lopez  <xlopez@igalia.com>
3202
3203         Reviewed by Adam Barth.
3204
3205         [GTK] GObject DOM bindings
3206         https://bugs.webkit.org/show_bug.cgi?id=33590
3207
3208         Initial version of the GObject DOM bindings.
3209
3210         Only bindings for Node.idl and a few of its dependencies are
3211         provided, without public API to access them at the
3212         moment. References to the Document interfaces and to
3213         EventListeners in Node.idl are ignored for GObject to make the
3214         initial patch as small as possible, but will be enabled in a
3215         follow-up patch.
3216
3217         * GNUmakefile.am:
3218         * bindings/gobject/ConvertToUTF8String.cpp: Added.
3219         (convertToUTF8String):
3220         * bindings/gobject/ConvertToUTF8String.h: Added.
3221         * bindings/gobject/WebKitDOMBinding.cpp: Added.
3222         (WebKit::domObjects):
3223         (WebKit::DOMObjectCache::get):
3224         (WebKit::DOMObjectCache::put):
3225         (WebKit::DOMObjectCache::forget):
3226         (WebKit::createWrapper):
3227         (WebKit::kit):
3228         * bindings/gobject/WebKitDOMBinding.h: Added.
3229         * bindings/gobject/WebKitDOMObject.cpp: Added.
3230         (webkit_dom_object_init):
3231         (webkit_dom_object_class_init):
3232         * bindings/gobject/WebKitDOMObject.h: Added.
3233         * bindings/scripts/CodeGeneratorGObject.pm: Added.
3234         * bindings/scripts/gobject-generate-headers.pl: Added.
3235         * dom/Node.idl:
3236
3237 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
3238
3239         Reviewed by Xan Lopez.
3240
3241         Wrong header being included in FontPlatformDataCairo.cpp
3242         https://bugs.webkit.org/show_bug.cgi?id=37829
3243
3244         No behavior changes, so no new tests were added.
3245
3246         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
3247
3248 2010-04-21  Adam Roben  <aroben@apple.com>
3249
3250         Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
3251
3252         Fixes <http://webkit.org/b/37922>.
3253
3254         Reviewed by Dave Hyatt.
3255
3256         * rendering/RenderSVGResourceFilter.cpp:
3257         (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
3258         hold the heap-allocated FilterData object, so that we won't leak it
3259         when we bail out of this function on error.
3260
3261 2010-04-21  Zoltan Herczeg  <zherczeg@webkit.org>
3262
3263         Reviewed by Kenneth Rohde Christiansen.
3264
3265         [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
3266         https://bugs.webkit.org/show_bug.cgi?id=37844
3267
3268         nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
3269         which is required by startAnimation() to detect frame and repetition counts.
3270         Hence, Image::drawTiled cannot start animations under Qt:
3271         <html><body background="animated.gif"></body></html> does not work
3272
3273         * platform/graphics/qt/ImageDecoderQt.cpp:
3274         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
3275
3276 2010-04-21  Benjamin Poulain  <ikipou@gmail.com>
3277
3278         Reviewed by Simon Fraser.
3279
3280         Update of fixed elements is not made correctly when the page has been scrolled
3281         https://bugs.webkit.org/show_bug.cgi?id=36783
3282
3283         When a fixed element was updated, the old geometry was not repainted correctly
3284         because the repaint rect was cached during the layout and not updated when 
3285         scrolling.
3286
3287         The rect is now updated while scrolling so the region updated correspond to the
3288         region of the element on the screen.
3289
3290         The method RenderLayer::updateRepaintRectsAfterScroll() updates
3291         the repaint rect of all fixed tree after scroll.
3292
3293         Tests: fast/repaint/fixed-child-move-after-scroll.html
3294                fast/repaint/fixed-child-of-fixed-move-after-scroll.html
3295                fast/repaint/fixed-child-of-transformed-move-after-scroll.html
3296                fast/repaint/fixed-move-after-scroll.html
3297
3298         * page/FrameView.cpp:
3299         (WebCore::FrameView::scrollPositionChanged):
3300         * rendering/RenderLayer.cpp:
3301         (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
3302         * rendering/RenderLayer.h:
3303
3304 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
3305
3306         Reviewed by Adam Roben.
3307
3308         Update EFL port to match recent API changes.
3309         http://webkit.org/b/37853
3310
3311         No behavior changes, so no new tests were added.
3312
3313         * platform/efl/FileSystemEfl.cpp:
3314         * platform/efl/LocalizedStringsEfl.cpp:
3315         (WebCore::missingPluginText):
3316         (WebCore::crashedPluginText):
3317         * platform/efl/MIMETypeRegistryEfl.cpp:
3318         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
3319         * platform/graphics/efl/ImageEfl.cpp:
3320
3321 2010-04-21  Avi Drissman  <avi@chromium.org>
3322
3323         Reviewed by Simon Fraser.
3324
3325         JPG images fail to print in Chromium
3326         https://bugs.webkit.org/show_bug.cgi?id=37796
3327
3328         Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
3329
3330         * platform/graphics/cg/ImageSourceCG.cpp:
3331         (WebCore::ImageSource::setData):
3332
3333 2010-04-21  Marcus Bulach  <bulach@chromium.org>
3334
3335         Reviewed by Nate Chapin.
3336
3337         EventSource needs to be marked as an ActiveDomType.
3338         https://bugs.webkit.org/show_bug.cgi?id=37857
3339         Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
3340
3341         * bindings/scripts/CodeGeneratorV8.pm:
3342         * bindings/v8/V8DOMWrapper.cpp:
3343         * bindings/v8/custom/V8EventSourceConstructor.cpp:
3344         (WebCore::V8EventSource::constructorCallback):
3345
3346 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
3347
3348         Reviewed by Nikolas Zimmermann.
3349
3350         Add missing includes to platform/posix/FileSystemPOSIX.cpp
3351         https://bugs.webkit.org/show_bug.cgi?id=37861
3352
3353         No behavior changes, so no new tests were added.
3354
3355         * platform/posix/FileSystemPOSIX.cpp:
3356
3357 2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
3358
3359         Reviewed by Simon Fraser.
3360
3361         [Qt] Fix or remove the runtime flag for accelerated compositing.
3362
3363         This adds a way for a chrome client to disallow layers from becoming composited,
3364         even if the settings enable accelerated compositing. This is necessary for platforms
3365         where different views can be applied with the same settings to the same page.
3366
3367         We enable an API through ChromeClient to ask the chrome-client whether or not
3368         it can render composited layers, which is taken into account when the compositor
3369         decides whether or not to start compositing.
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=37313
3372
3373         Pages under LayoutTests/compositing now work under QWebView, even when
3374         QWebSettings::AcceleratedCompositingEnabled is on.
3375
3376         * page/ChromeClient.h:
3377         (WebCore::ChromeClient::allowsAcceleratedCompositing):
3378         * platform/qt/QWebPageClient.h:
3379         (QWebPageClient::allowsAcceleratedCompositing):
3380         * rendering/RenderLayerCompositor.cpp:
3381         (WebCore::RenderLayerCompositor::canBeComposited):
3382
3383 2010-04-21  Ryosuke Niwa  <rniwa@webkit.org>
3384
3385         No review. Spurious whitespace was removed from project file.
3386
3387         * WebCore.xcodeproj/project.pbxproj:
3388
3389 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
3390
3391         Reviewed by Eric Seidel.
3392
3393         [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
3394         https://bugs.webkit.org/show_bug.cgi?id=37912
3395
3396         Replaced the ternary operator by an if statement because GCC was confused by the use of
3397         ternary operator and producing warnings on Qt builds.
3398
3399         * WebCore.xcodeproj/project.pbxproj:
3400         * editing/CompositeEditCommand.cpp:
3401         (WebCore::CompositeEditCommand::moveParagraphs):
3402
3403 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
3404
3405         Reviewed by Justin Garcia.
3406
3407         Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
3408         https://bugs.webkit.org/show_bug.cgi?id=19539
3409
3410         Fixes a bug where two consecutive lists are not merged if they have been converted
3411         from ordered/unordered lists inside another list.
3412
3413         The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
3414         list element and its neighbors. This patch adds code to doApply so that after inserting
3415         the list element, it updates previousList and nextList to the outermost list elements around
3416         insertionPos under the same enclosing list. Because the next and the previous list elements
3417         are not necessarily visually next to the newly inserted element before moveParagraph moves
3418         the paragraph into the new list element, doApply merges lists after moveParagraph is called.
3419
3420         Test: editing/execCommand/insert-lists-inside-another-list.html
3421
3422         * editing/InsertListCommand.cpp:
3423         (WebCore::InsertListCommand::doApply): Modified as described above
3424         * editing/htmlediting.cpp:
3425         (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
3426           which is a descendent of rootNode.
3427         * editing/htmlediting.h:
3428
3429 2010-04-20  Alexey Proskuryakov  <ap@apple.com>
3430
3431         Reviewed by Darin Adler.
3432
3433         https://bugs.webkit.org/show_bug.cgi?id=37776
3434         <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
3435
3436         * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
3437         for Roman letters and punctuation.
3438
3439         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
3440         of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
3441         also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
3442         to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
3443         to their keycodes.
3444
3445 2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>
3446
3447         Reviewed by Darin Adler and Alexey Proskuryakov.
3448
3449         A backslash in EUC-JP becomes to a yen sign when it is copied
3450         https://bugs.webkit.org/show_bug.cgi?id=36419
3451
3452         Tests: editing/execCommand/transpose-backslash-with-euc.html
3453                editing/pasteboard/copy-backslash-with-euc.html
3454
3455         * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
3456         (WebCore::Editor::addToKillRing):
3457         * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
3458         (WebCore::TextIterator::TextIterator):
3459         (WebCore::TextIterator::init):
3460         (WebCore::TextIterator::emitText):
3461         (WebCore::plainTextToMallocAllocatedBuffer):
3462         * editing/TextIterator.h:
3463         (WebCore::):
3464         * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
3465         (WebCore::Pasteboard::writeSelection):
3466         * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
3467         * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
3468         (WebCore::RenderText::RenderText):
3469         (WebCore::RenderText::updateNeedsTranscoding):
3470         (WebCore::RenderText::styleDidChange):
3471         (WebCore::isInlineFlowOrEmptyText):
3472         (WebCore::RenderText::previousCharacter):
3473         (WebCore::RenderText::setTextInternal):
3474         (WebCore::RenderText::textWithoutTranscoding):
3475         (WebCore::RenderText::transformText):
3476         * rendering/RenderText.h:
3477         * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
3478         (WebCore::RenderTextControl::setInnerTextValue):
3479         (WebCore::RenderTextControl::finishText):
3480         * rendering/RenderTextFragment.cpp:
3481         (WebCore::RenderTextFragment::previousCharacter):
3482         * rendering/RenderTextFragment.h:
3483
3484 2010-04-20  Nate Chapin  <japhet@chromium.org>
3485
3486         Reviewed by Dimitri Glazkov.
3487
3488         https://bugs.webkit.org/show_bug.cgi?id=37367
3489
3490         Fix style violations in code generated by CodeGeneratorV8.pm.
3491
3492         * bindings/scripts/CodeGeneratorV8.pm:
3493         * bindings/v8/test/V8TestObj.cpp:
3494         * bindings/v8/test/V8TestObj.h:
3495
3496 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3497
3498         Unreviewed, rolling out r57924.
3499         http://trac.webkit.org/changeset/57924
3500         https://bugs.webkit.org/show_bug.cgi?id=37898
3501
3502         It broke 3-4 test on all bot (Requested by Ossy on #webkit).
3503
3504         * page/AbstractView.idl:
3505         * page/DOMWindow.cpp:
3506         (WebCore::DOMWindow::media):
3507         * page/DOMWindow.h:
3508         * page/DOMWindow.idl:
3509
3510 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
3511
3512         Reviewed by Oliver Hunt.
3513
3514         Bug 37895 - Share common code from UStringImplBase with StringImpl
3515         Add forwarding header.
3516
3517         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
3518
3519 2010-04-20  Adam Barth  <abarth@webkit.org>
3520
3521         Unreviewed build fix fro Chromium.
3522
3523         * loader/DocumentWriter.cpp:
3524
3525 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
3526
3527         Reviewed by Timothy Hatcher.
3528
3529         Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
3530
3531         https://bugs.webkit.org/show_bug.cgi?id=37820
3532
3533         * inspector/front-end/ScriptsPanel.js:
3534         (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
3535         (WebInspector.ScriptsPanel.prototype.editScriptLine):
3536         * inspector/front-end/TextViewer.js:
3537         (WebInspector.TextViewer.prototype._handleDoubleClick):
3538         (WebInspector.TextViewer.prototype._cancelEditingLine):
3539
3540 2010-04-20  Adam Barth  <abarth@webkit.org>
3541
3542         Reviewed by Eric Seidel.
3543
3544         Factor DocumentWriter out of FrameLoader
3545         https://bugs.webkit.org/show_bug.cgi?id=37175
3546
3547         This patch separates the begin/write/end cycle of decoding network
3548         bytes and putting them into a document from the rest of the loading
3549         machinery.  The code and state required to write bytes into a document
3550         doesn't interact very much with the rest of the loading machinery.
3551
3552         No tests because there is no behavior change (hopefully!).
3553
3554         * Android.mk:
3555         * GNUmakefile.am:
3556         * WebCore.base.exp:
3557         * WebCore.gypi:
3558         * WebCore.pro:
3559         * WebCore.vcproj/WebCore.vcproj:
3560         * WebCore.xcodeproj/project.pbxproj:
3561         * bindings/ScriptControllerBase.cpp:
3562         (WebCore::ScriptController::executeIfJavaScriptURL):
3563         * dom/Document.cpp:
3564         (WebCore::Document::close):
3565         * dom/ProcessingInstruction.cpp:
3566         (WebCore::ProcessingInstruction::checkStyleSheet):
3567         * dom/ScriptElement.cpp:
3568         (WebCore::ScriptElementData::scriptCharset):
3569         * html/HTMLLinkElement.cpp:
3570         (WebCore::HTMLLinkElement::process):
3571         * loader/DocLoader.cpp:
3572         (WebCore::DocLoader::requestPreload):
3573         * loader/DocumentLoader.cpp:
3574         (WebCore::DocumentLoader::finishedLoading):
3575         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
3576         * loader/DocumentWriter.cpp: Added.
3577         * loader/DocumentWriter.h: Added.
3578         * loader/FrameLoader.cpp:
3579         (WebCore::FrameLoader::FrameLoader):
3580         (WebCore::FrameLoader::init):
3581         (WebCore::FrameLoader::clear):
3582         (WebCore::FrameLoader::receivedFirstData):
3583         (WebCore::FrameLoader::setURL):
3584         (WebCore::FrameLoader::didBeginDocument):
3585         (WebCore::FrameLoader::didEndDocument):
3586         (WebCore::FrameLoader::willSetEncoding):
3587         (WebCore::FrameLoader::addData):
3588         (WebCore::FrameLoader::transitionToCommitted):
3589         (WebCore::FrameLoader::open):
3590         (WebCore::FrameLoader::finishedLoadingDocument):
3591         (WebCore::FrameLoader::addExtraFieldsToRequest):
3592         * loader/FrameLoader.h:
3593         (WebCore::FrameLoader::writer):
3594         (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
3595         * loader/MediaDocument.cpp:
3596         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3597         * loader/PluginDocument.cpp:
3598         (WebCore::PluginTokenizer::createDocumentStructure):
3599         * platform/network/FormDataBuilder.cpp:
3600         (WebCore::FormDataBuilder::dataEncoding):
3601         * svg/graphics/SVGImage.cpp:
3602         (WebCore::SVGImage::dataChanged):
3603
3604 2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3605
3606         Reviewed by Simon Fraser.
3607
3608         Rename window.media to window.styleMedia
3609         https://bugs.webkit.org/show_bug.cgi?id=36187
3610
3611         It has been defined that the AbstractView media extension
3612         defined in the CSSOM View spec should be renamed to styleMedia.
3613         This patch does that and updates the current layout tests
3614         making use of it.
3615
3616         * page/AbstractView.idl:
3617         * page/DOMWindow.cpp:
3618         (WebCore::DOMWindow::styleMedia):
3619         * page/DOMWindow.h:
3620         * page/DOMWindow.idl:
3621
3622 2010-04-20  Timothy Hatcher  <timothy@apple.com>
3623
3624         Fix matching of "file:///*" patterns by not trying to compare the host. The host is
3625         irrelevant for file URLs.
3626
3627         Also fix comparisons to be case insensitive.
3628
3629         https://bugs.webkit.org/show_bug.cgi?id=37889
3630
3631         Reviewed by Dave Hyatt.
3632
3633         * page/UserContentURLPattern.cpp:
3634         (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
3635         (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
3636         matchesHost if the scheme isn't "file".
3637         (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
3638         was already doing a case-insensitive compare, so existing tests worked though this path.
3639
3640 2010-04-20  Justin Schuh  <jschuh@chromium.org>
3641
3642         Reviewed by Adam Barth.
3643
3644         Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
3645         https://bugs.webkit.org/show_bug.cgi?id=37331
3646
3647         Added a setting to enable/disable media per-page and have the SVGImage 
3648         disable media for its dummy page. Also found and fixed a related bad
3649         cast in the V8 bindings (JSC had a custom wrapper for this already).
3650
3651         Tests: media/svg-as-image-with-media-blocked.html
3652
3653         * dom/make_names.pl: Added media enabled check and V8 cast wrapper
3654         * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
3655         (WebCore::Settings::Settings):
3656         (WebCore::Settings::setMediaEnabled):
3657         * page/Settings.h:
3658         (WebCore::Settings::isMediaEnabled):
3659         * svg/graphics/SVGImage.cpp: Disables media in dummy page
3660         (WebCore::SVGImage::dataChanged):
3661
3662 2010-04-19  Antonio Gomes  <tonikitoo@webkit.org>
3663
3664         Reviewed by Simon Fraser.
3665
3666         Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
3667         https://bugs.webkit.org/show_bug.cgi?id=37802
3668
3669         In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
3670         the method body. If after those bail out checks, no "best FocusCandidate" has been taken
3671         yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
3672         and exit earlier.
3673
3674         No behavior change, it is just a safe assignment shortcut.
3675
3676         * page/FocusController.cpp:
3677         (WebCore::updateFocusCandidateIfCloser):
3678
3679 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
3680
3681         Reviewed by Dan Bernstein.
3682
3683         Hook compositing layers together across iframes
3684         https://bugs.webkit.org/show_bug.cgi?id=37878
3685         
3686         First step: if an iframe's document goes into compositing mode, also throw the parent
3687         document into compositing mode (all the way up to the root). This is required both
3688         to preserve layering (since parent document content can obscure iframe content),
3689         and so that we can eventually hook the layer trees together.
3690
3691         Test: compositing/iframes/composited-iframe.html
3692
3693         * rendering/RenderIFrame.h:
3694         * rendering/RenderIFrame.cpp:
3695         (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
3696         a RenderLayer, so must return |true| from requiresLayer().
3697         (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
3698         is in compositing mode.
3699         (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
3700         if a renderer is an iframe.
3701         (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
3702
3703         * rendering/RenderLayerCompositor.h:
3704         * rendering/RenderLayerCompositor.cpp:
3705         (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
3706         the compositing mode changes, so that the parent document can update its compositing status.
3707         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
3708         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
3709         wants to be composited.
3710
3711         * rendering/RenderObject.h:
3712         (WebCore::RenderObject::isRenderIFrame): Base class returns false.
3713
3714         * rendering/RenderView.h:
3715         * rendering/RenderView.cpp:
3716         (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
3717         its parent document that a recalcStyle is required, to update compositing state.
3718
3719 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
3720
3721         Reviewed by NOBODY (build fix).
3722         Speculative tiger build fix.
3723
3724         * WebCore.NPAPI.exp:
3725         * WebCore.PluginHostProcess.exp:
3726         * WebCore.base.exp:
3727
3728 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
3729
3730         Reviewed by Timothy Hatcher.
3731
3732         Web Inspector: add basic script editing capabilities to the front-end.
3733
3734         https://bugs.webkit.org/show_bug.cgi?id=37875
3735
3736         * bindings/js/ScriptDebugServer.cpp:
3737         (WebCore::ScriptDebugServer::setBreakpoint):
3738         (WebCore::ScriptDebugServer::removeBreakpoint):
3739         * inspector/front-end/ScriptView.js:
3740         (WebInspector.ScriptView):
3741         (WebInspector.ScriptView.prototype._editLine):
3742         (WebInspector.ScriptView.prototype._editLineComplete):
3743         * inspector/front-end/ScriptsPanel.js:
3744         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
3745         (WebInspector.ScriptsPanel.prototype.canEditScripts):
3746         (WebInspector.ScriptsPanel.prototype.editScriptLine):
3747         * inspector/front-end/SourceFrame.js:
3748         (WebInspector.SourceFrame):
3749         (WebInspector.SourceFrame.prototype.updateContent):
3750         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
3751         * inspector/front-end/TextEditorHighlighter.js:
3752         (WebInspector.TextEditorHighlighter):
3753         (WebInspector.TextEditorHighlighter.prototype.reset):
3754         * inspector/front-end/TextEditorModel.js:
3755         (WebInspector.TextEditorModel.prototype.copyRange):
3756         * inspector/front-end/TextViewer.js:
3757         (WebInspector.TextViewer):
3758         (WebInspector.TextViewer.prototype.set editCallback):
3759         (WebInspector.TextViewer.prototype._buildChunks):
3760         (WebInspector.TextViewer.prototype._handleKeyDown):
3761         (WebInspector.TextViewer.prototype._handleDoubleClick):
3762         (WebInspector.TextViewer.prototype._commitEditingLine):
3763         (WebInspector.TextViewer.prototype._cancelEditingLine):
3764         * inspector/front-end/inspector.js:
3765         (WebInspector.documentKeyDown):
3766         (WebInspector.log.logMessage):
3767         (WebInspector.log):
3768         (WebInspector.isEditingAnyField):
3769         (WebInspector.startEditing.cleanUpAfterEditing):
3770
3771 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
3772
3773         Reviewed by Geoff Garen.
3774
3775         Add forwarding header.
3776
3777         * ForwardingHeaders/runtime/RopeImpl.h: Added.
3778
3779 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
3780
3781         Reviewed by Geoff Garen.
3782
3783         Bug 37828 - Move WebCore's String classes to WTF
3784
3785         Move these classes up to WTF so they are available to all clients of WTF (in
3786         particular JSC).
3787
3788         As a first patch, making the most minimal change possible, since this patch
3789         could easily grow rather large since we'll have to change every class forward
3790         declaration ( e.g. every "namespace WebCore { class String; }" much change to
3791         "namespace WTF { class String; }").
3792
3793         Moving the files, but leaving the classes logically in the WebCore namespace –
3794         which is technically a layering violation – I'll come back and fix this up in a
3795         subsequent patch.
3796
3797         * Android.mk:
3798         * ForwardingHeaders/wtf/StaticConstructors.h: Added.
3799         * ForwardingHeaders/wtf/text/AtomicString.h: Added.
3800         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
3801         * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
3802         * ForwardingHeaders/wtf/text/StringHash.h: Added.
3803         * ForwardingHeaders/wtf/text/StringImpl.h: Added.
3804         * ForwardingHeaders/wtf/text/WTFString.h: Added.
3805         * GNUmakefile.am:
3806         * WebCore.gypi:
3807         * WebCore.pro:
3808         * WebCore.vcproj/WebCore.vcproj:
3809         * WebCore.xcodeproj/project.pbxproj:
3810         * css/MediaFeatureNames.cpp:
3811         * dom/QualifiedName.cpp:
3812         * dom/make_names.pl:
3813         * platform/StaticConstructors.h: Removed.
3814         * platform/text/AtomicString.cpp: Removed.
3815         * platform/text/AtomicString.h:
3816         * platform/text/AtomicStringImpl.h:
3817         * platform/text/PlatformString.h:
3818         * platform/text/String.cpp:
3819         * platform/text/StringHash.h:
3820         * platform/text/StringImpl.cpp: Removed.
3821         * platform/text/StringImpl.h:
3822
3823 2010-04-20  Kent Tamura  <tkent@chromium.org>
3824
3825         Reviewed by Darin Adler.
3826
3827         Change a parameter type of chooseIconForFiles()
3828         https://bugs.webkit.org/show_bug.cgi?id=37504
3829
3830         Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
3831         to FileChooser*. Though an implementation of chooseIconForFiles()
3832         might have ownership of the FileChooser instance, we don't need to
3833         use PassRefPtr<> in this case.
3834
3835         * loader/EmptyClients.h:
3836         (WebCore::EmptyChromeClient::chooseIconForFiles):
3837         * page/Chrome.cpp:
3838         (WebCore::Chrome::chooseIconForFiles):
3839         * page/Chrome.h:
3840         * page/ChromeClient.h:
3841
3842 2010-04-20  Diego Escalante Urrelo  <descalante@igalia.com>
3843
3844         Reviewed by Xan Lopez.
3845
3846         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
3847         WebKitGtk
3848         https://bugs.webkit.org/show_bug.cgi?id=34449
3849
3850         Implement ATK_ROLE_FORM.
3851
3852         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3853         (webkit_accessible_get_role):
3854
3855 2010-04-20  Martin Robinson  <mrobinson@webkit.org>
3856
3857         Reviewed by Gustavo Noronha Silva.
3858
3859         [GTK] Enable DOM clipboard and drag-and-drop access
3860         https://bugs.webkit.org/show_bug.cgi?id=30623
3861
3862         Move most of the PasteboardHelper logic into WebCore. This helps
3863         prepare for WebKit2 and leads to a clearer separation of concerns
3864         between the WebKit and WebCore layers.
3865
3866         No new tests as functionality has not changed.
3867
3868         * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
3869         * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
3870         * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
3871         (WebCore::clipboard_get_contents_cb): Ditto.
3872         (WebCore::Pasteboard::helper): Added, member is now private.
3873         (WebCore::Pasteboard::writeURL): Ditto.
3874         (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
3875         (WebCore::Pasteboard::plainText): Ditto.
3876         * platform/gtk/PasteboardHelper.cpp: Added.
3877         (WebCore::PasteboardHelper::PasteboardHelper): Added.
3878         (WebCore::PasteboardHelper::~PasteboardHelper): Added.
3879         (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
3880         (WebCore::widgetFromFrame): Added helper function.
3881         (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
3882         (WebCore::PasteboardHelper::getClipboard): Ditto.
3883         (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
3884         (WebCore::PasteboardHelper::targetList): Ditto.
3885         (WebCore::PasteboardHelper::fillSelectionData): Ditto.
3886         (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
3887         (WebCore::getClipboardContentsCallback): Ditto.
3888         (WebCore::clearClipboardContentsCallback): Ditto.
3889         (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
3890         * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
3891
3892 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
3893
3894         Reviewed by Anders Carlsson.
3895
3896         backgroundColor is oddly indented in layer tree dump
3897         https://bugs.webkit.org/show_bug.cgi?id=37885
3898
3899         The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
3900         to be written twice.
3901         
3902         * platform/graphics/GraphicsLayer.cpp:
3903         (WebCore::GraphicsLayer::dumpProperties):
3904
3905 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
3906
3907         Reviewed by Dimitri Glazkov.
3908
3909         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
3910         https://bugs.webkit.org/show_bug.cgi?id=37741
3911
3912         RenderPartObject is a useless intermediate class between RenderPart and
3913         RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
3914         applies to objects and embeds when the content is a FrameView, so can move
3915         to RenderEmbeddedObject.
3916
3917         * Android.mk:
3918         * GNUmakefile.am:
3919         * WebCore.gypi:
3920         * WebCore.pro:
3921         * WebCore.vcproj/WebCore.vcproj:
3922         * WebCore.xcodeproj/project.pbxproj:
3923         * rendering/RenderEmbeddedObject.cpp:
3924         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
3925         (WebCore::RenderEmbeddedObject::requiresLayer):
3926         (WebCore::RenderEmbeddedObject::paint):
3927         (WebCore::RenderEmbeddedObject::viewCleared):
3928         * rendering/RenderEmbeddedObject.h:
3929         * rendering/RenderFrameBase.h:
3930         * rendering/RenderPart.cpp:
3931         (WebCore::RenderPart::RenderPart):
3932         * rendering/RenderPart.h:
3933         * rendering/RenderPartObject.cpp: Removed.
3934         * rendering/RenderPartObject.h: Removed.
3935
3936 2010-04-20  Robin Cao  <robin.webkit@gmail.com>
3937
3938         Reviewed by Dirk Schulze.
3939
3940         SVG no AnimateColor for stroke or fill if they are set to none on target.
3941         https://bugs.webkit.org/show_bug.cgi?id=36718
3942
3943         SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
3944         This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case 
3945         the property type determined by base value may be different from the one determined by 'fromTo' values.
3946
3947         No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
3948         Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
3949
3950         * svg/SVGAnimateElement.cpp:
3951         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3952         (WebCore::SVGAnimateElement::resetToBaseValue):
3953
3954 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3955
3956         Unreviewed, rolling out r57892.
3957         http://trac.webkit.org/changeset/57892
3958         https://bugs.webkit.org/show_bug.cgi?id=37864
3959
3960         Caused an assertion in Mac builds (Requested by smfr on
3961         #webkit).
3962
3963         * WebCore.xcodeproj/project.pbxproj:
3964         * editing/Editor.cpp:
3965         (WebCore::Editor::insideVisibleArea):
3966         * page/Frame.cpp:
3967         (WebCore::Frame::ownerRenderer):
3968         * page/Frame.h:
3969         * page/FrameView.cpp:
3970         (WebCore::FrameView::~FrameView):
3971         (WebCore::FrameView::clear):
3972         (WebCore::FrameView::invalidateRect):
3973         (WebCore::FrameView::createScrollbar):
3974         * rendering/RenderFrameBase.h:
3975         * rendering/RenderObject.h:
3976
3977 2010-04-20  Jakub Wieczorek  <jwieczorek@webkit.org>
3978
3979         Reviewed by Darin Adler.
3980
3981         RenderListItem: change enclosingList() to only traverse the render tree.
3982         https://bugs.webkit.org/show_bug.cgi?id=37319
3983
3984         This makes the function safe to use for items with nodes that are detached from
3985         the DOM tree and simplifies the code quite a bit.
3986
3987         Covered by existing tests.
3988
3989         * rendering/RenderListItem.cpp:
3990         (WebCore::enclosingList):
3991         (WebCore::previousListItem):
3992         (WebCore::RenderListItem::explicitValueChanged):
3993
3994 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
3995
3996         Reviewed by Dan Bernstein.
3997
3998         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
3999         https://bugs.webkit.org/show_bug.cgi?id=37741
4000
4001         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
4002         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
4003
4004         * WebCore.xcodeproj/project.pbxproj:
4005         * editing/Editor.cpp:
4006         (WebCore::Editor::insideVisibleArea):
4007         * page/Frame.cpp:
4008         (WebCore::Frame::ownerRenderer):
4009         * page/Frame.h:
4010         * page/FrameView.cpp:
4011         (WebCore::FrameView::~FrameView):
4012         (WebCore::FrameView::clear):
4013         (WebCore::FrameView::invalidateRect):
4014         (WebCore::FrameView::createScrollbar):
4015         * rendering/RenderFrameBase.h:
4016         (WebCore::RenderFrameBase::isRenderFrameBase):
4017         (WebCore::toRenderFrameBase):
4018         * rendering/RenderObject.h:
4019         (WebCore::RenderObject::isRenderFrameBase):
4020
4021 2010-04-20  Jay Civelli  <jcivelli@chromium.org>
4022
4023         Reviewed by Dimitri Glazkov.
4024
4025         [chromium] Pressing tab now closes the select popup as it should.
4026         https://bugs.webkit.org/show_bug.cgi?id=37721
4027
4028         * platform/chromium/PopupMenuChromium.cpp:
4029         (WebCore::PopupListBox::handleKeyEvent):
4030
4031 2010-04-20  Yaar Schnitman  <yaar@chromium.org>
4032
4033         Reviewed by Nate Chapin.
4034
4035         Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
4036         https://bugs.webkit.org/show_bug.cgi?id=37810
4037
4038         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4039         (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
4040         * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
4041         * bindings/v8/test/V8TestObj.cpp:
4042         (WebCore::TestObjInternal::overloadedMethodCallback):
4043         * html/canvas/CanvasRenderingContext2D.cpp:
4044         (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
4045         (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
4046         * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
4047         * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
4048
4049 2010-04-20  Evan Stade  <estade@chromium.org>
4050
4051         Reviewed by David Levin.
4052
4053         [chromium] crash when dragging images
4054         https://bugs.webkit.org/show_bug.cgi?id=37715
4055
4056         NULL check the return value of nativeImageForCurrentFrame(),
4057         and NULL check Image just for good measure.
4058
4059         Tested by new DragImageTest unit test.
4060
4061         * platform/chromium/DragImageChromiumSkia.cpp:
4062         (WebCore::createDragImageFromImage):
4063
4064 2010-04-20  Dirk Schulze  <krit@webkit.org>
4065
4066         Reviewed by Nikolas Zimmermann.
4067
4068         SVGResourceFilter needs to be moved to under Renderers
4069         https://bugs.webkit.org/show_bug.cgi?id=35320
4070
4071         This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
4072         from the SVGResources.
4073         A clean-up solves the dependencies between SVGFilterElement, the filter primitives
4074         and SVGResources. This shall make the filter code more readable and better maintable.
4075         The Filter primitives get dumped now, as long as they have externalRepresentation
4076         implemented.
4077
4078         No behavior changes, so no new tests were added.
4079
4080         * Android.mk:
4081         * GNUmakefile.am:
4082         * WebCore.gypi:
4083         * WebCore.pro:
4084         * WebCore.vcproj/WebCore.vcproj:
4085         * WebCore.xcodeproj/project.pbxproj:
4086         * rendering/RenderPath.cpp:
4087         (WebCore::RenderPath::paint):
4088         * rendering/RenderSVGContainer.cpp:
4089         (WebCore::RenderSVGContainer::selfWillPaint):
4090         (WebCore::RenderSVGContainer::paint):
4091         * rendering/RenderSVGImage.cpp:
4092         (WebCore::RenderSVGImage::paint):
4093         * rendering/RenderSVGResource.h:
4094         (WebCore::):
4095         (WebCore::RenderSVGResource::postApplyResource):
4096         * rendering/RenderSVGResourceClipper.cpp:
4097         (WebCore::RenderSVGResourceClipper::applyResource):
4098         * rendering/RenderSVGResourceClipper.h:
4099         * rendering/RenderSVGResourceFilter.cpp: Added.
4100         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
4101         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
4102         (WebCore::RenderSVGResourceFilter::invalidateClients):
4103         (WebCore::RenderSVGResourceFilter::invalidateClient):
4104         (WebCore::RenderSVGResourceFilter::buildPrimitives):
4105         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
4106         (WebCore::RenderSVGResourceFilter::applyResource):
4107         (WebCore::RenderSVGResourceFilter::postApplyResource):
4108         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
4109         * rendering/RenderSVGResourceFilter.h: Added.
4110         (WebCore::FilterData::FilterData):
4111         (WebCore::RenderSVGResourceFilter::renderName):
4112         (WebCore::RenderSVGResourceFilter::filterUnits):
4113         (WebCore::RenderSVGResourceFilter::primitiveUnits):
4114         (WebCore::RenderSVGResourceFilter::resourceType):
4115         * rendering/RenderSVGResourceMarker.h:
4116         (WebCore::RenderSVGResourceMarker::applyResource):
4117         * rendering/RenderSVGResourceMasker.cpp:
4118         (WebCore::RenderSVGResourceMasker::applyResource):
4119         * rendering/RenderSVGResourceMasker.h:
4120         * rendering/RenderSVGRoot.cpp:
4121         (WebCore::RenderSVGRoot::selfWillPaint):
4122         (WebCore::RenderSVGRoot::paint):
4123         * rendering/RenderSVGText.cpp:
4124         * rendering/SVGRenderSupport.cpp:
4125         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
4126         (WebCore::SVGRenderBase::finishRenderSVGContent):
4127         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
4128         (WebCore::deregisterFromResources):
4129         * rendering/SVGRenderSupport.h:
4130         * rendering/SVGRenderTreeAsText.cpp:
4131         (WebCore::writeStyle):
4132         (WebCore::writeSVGResource):
4133         (WebCore::writeResources):
4134         (WebCore::writeRenderResources):
4135         * rendering/SVGRootInlineBox.cpp:
4136         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
4137         (WebCore::SVGRootInlineBox::paint):
4138         * svg/SVGFEBlendElement.cpp:
4139         (WebCore::SVGFEBlendElement::build):
4140         * svg/SVGFEBlendElement.h:
4141         * svg/SVGFEColorMatrixElement.cpp:
4142         (WebCore::SVGFEColorMatrixElement::build):
4143         * svg/SVGFEColorMatrixElement.h:
4144         * svg/SVGFEComponentTransferElement.cpp:
4145         (WebCore::SVGFEComponentTransferElement::build):
4146         * svg/SVGFEComponentTransferElement.h:
4147         * svg/SVGFECompositeElement.cpp:
4148         (WebCore::SVGFECompositeElement::build):
4149         * svg/SVGFECompositeElement.h:
4150         * svg/SVGFEDiffuseLightingElement.cpp:
4151         (WebCore::SVGFEDiffuseLightingElement::build):
4152         * svg/SVGFEDiffuseLightingElement.h:
4153         * svg/SVGFEDisplacementMapElement.cpp:
4154         (WebCore::SVGFEDisplacementMapElement::build):
4155         * svg/SVGFEDisplacementMapElement.h:
4156         * svg/SVGFEFloodElement.cpp:
4157         (WebCore::SVGFEFloodElement::build):
4158         * svg/SVGFEFloodElement.h:
4159         * svg/SVGFEGaussianBlurElement.cpp:
4160         (WebCore::SVGFEGaussianBlurElement::build):
4161         * svg/SVGFEGaussianBlurElement.h:
4162         * svg/SVGFEImageElement.cpp:
4163         (WebCore::SVGFEImageElement::build):
4164         * svg/SVGFEImageElement.h:
4165         * svg/SVGFEMergeElement.cpp:
4166         (WebCore::SVGFEMergeElement::build):
4167         * svg/SVGFEMergeElement.h:
4168         * svg/SVGFEMorphologyElement.cpp:
4169         (WebCore::SVGFEMorphologyElement::build):
4170         * svg/SVGFEMorphologyElement.h:
4171         * svg/SVGFEOffsetElement.cpp:
4172         (WebCore::SVGFEOffsetElement::build):
4173         * svg/SVGFEOffsetElement.h:
4174         * svg/SVGFESpecularLightingElement.cpp:
4175         (WebCore::SVGFESpecularLightingElement::build):
4176         * svg/SVGFESpecularLightingElement.h:
4177         * svg/SVGFETileElement.cpp:
4178         (WebCore::SVGFETileElement::build):
4179         * svg/SVGFETileElement.h:
4180         * svg/SVGFETurbulenceElement.cpp:
4181         (WebCore::SVGFETurbulenceElement::build):
4182         * svg/SVGFETurbulenceElement.h:
4183         (WebCore::):
4184         * svg/SVGFilterElement.cpp:
4185         (WebCore::SVGFilterElement::createRenderer):
4186         * svg/SVGFilterElement.h:
4187         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
4188         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
4189         * svg/SVGFilterPrimitiveStandardAttributes.h:
4190         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
4191         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
4192         * svg/SVGStyledElement.cpp:
4193         (WebCore::SVGStyledElement::invalidateResources):
4194         * svg/graphics/SVGResource.cpp:
4195         * svg/graphics/SVGResource.h:
4196         (WebCore::):
4197         (WebCore::SVGResource::isPaintServer):
4198         * svg/graphics/SVGResourceFilter.cpp: Removed.
4199         * svg/graphics/SVGResourceFilter.h: Removed.
4200         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
4201         (WebCore::FEDisplacementMap::externalRepresentation):
4202         * svg/graphics/filters/SVGFilterBuilder.h:
4203         (WebCore::SVGFilterBuilder::namedEffects):
4204
4205 2010-04-20  Sheriff Bot&nb