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