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