ed6c96af0356050cf49560b7eba959240f59b820
[WebKit-https.git] / WebCore / ChangeLog
1 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
2
3         Rubber Stamped by Dave Hyatt
4         
5         Shuffle the data members to minimize padding.
6
7         * rendering/RenderTableSection.cpp:
8         (WebCore::RenderTableSection::RenderTableSection):
9         * rendering/RenderTableSection.h:
10
11 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
12
13         Rubber Stamped by Dave Hyatt
14         
15         Shuffle the data members to make Events 8 bytes smaller in 64-bit.
16
17         * dom/Event.cpp:
18         (WebCore::Event::Event):
19         * dom/Event.h:
20
21 2009-05-07  Eric Seidel  <eric@webkit.org>
22
23         Reviewed by Beth Dakin.
24
25         Fix regression caused by r41469, add test case to prevent it from 
26         happening again.
27         https://bugs.webkit.org/show_bug.cgi?id=25252
28   
29         hasLayer() was true during removeOnlyThisLayer()/
30         updateLayerPositions()
31         which caused updateLayerPosition()'s walk up the render tree to 
32         include offsets from the layer we were about to remove.
33   
34         I'm not 100% convinced that this wasn't a bug in 
35         updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 
36         because the layer in question is not the containing block for the 
37         block which gets laid out wrong. But this restores the previous 
38         behavior and adds a test.  So the next time someone is in here re-
39         factoring, they will at least know if they break something.
40   
41         Test: fast/layers/remove-only-this-layer-update.html
42
43         * rendering/RenderBoxModelObject.cpp:
44         (WebCore::RenderBoxModelObject::destroyLayer):
45         * rendering/RenderLayer.cpp:
46         (WebCore::RenderLayer::removeOnlyThisLayer):
47         * rendering/RenderObject.cpp:
48         (WebCore::RenderObject::destroy):
49         * rendering/RenderWidget.cpp:
50         (WebCore::RenderWidget::destroy):
51
52 2009-05-07  Dmitry Titov  <dimich@chromium.org>
53
54         Attempt to fix GTK build.
55
56         * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
57
58 2009-05-07  Oliver Hunt  <oliver@apple.com>
59
60         Reviewed by Gavin Barraclough.
61
62         Improve native call performance
63
64         Add calling convention declarations where necessary, and update bindings
65         script to generate them as well.
66
67         * bindings/js/JSHTMLCollectionCustom.cpp:
68         (WebCore::callHTMLCollection):
69         * bindings/js/JSNodeListCustom.cpp:
70         (WebCore::callNodeList):
71         * bindings/js/JSPluginElementFunctions.cpp:
72         (WebCore::callPlugin):
73         * bindings/js/JSQuarantinedObjectWrapper.h:
74         * bindings/scripts/CodeGeneratorJS.pm:
75         * bridge/runtime_method.cpp:
76         (JSC::callRuntimeMethod):
77         * bridge/runtime_object.cpp:
78         (JSC::callRuntimeObject):
79
80 2009-05-07  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
81
82         Reviewed by Dave Hyatt.
83
84         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
85
86         Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
87
88         Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
89         gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
90
91         The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
92         This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
93         To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
94         methods are renamed to clarify where they belong to. All renames are listed here:
95
96         From FormControlElement:
97         - isEnabled() -> isEnabledFormControl()
98         - isReadOnly() -> isReadOnlyFormControl()
99         - isTextControl() -> isTextFormControl()
100         - valueMatchesRenderer() -> formControlValueMatchesRenderer()
101         - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
102         - name() -> formControlName()
103         - type() -> formControlType()
104
105         From FormControlElementWithState:
106         - saveState() -> saveFormControlState()
107         - restoreState() -> restoreFormControlState()
108
109         A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
110
111         No testcases affected, no new tests needed.
112
113         * GNUmakefile.am:
114         * WebCore.pro:
115         * WebCore.vcproj/WebCore.vcproj:
116         * WebCore.xcodeproj/project.pbxproj:
117         * WebCoreSources.bkl:
118         * css/CSSStyleSelector.cpp:
119         (WebCore::CSSStyleSelector::canShareStyleWithElement):
120         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
121         * dom/Document.cpp:
122         (WebCore::Document::formElementsState):
123         * dom/Document.h:
124         (WebCore::Document::registerFormElementWithState):
125         (WebCore::Document::unregisterFormElementWithState):
126         * dom/Element.h:
127         (WebCore::Element::isFormControlElement):
128         (WebCore::Element::isEnabledFormControl):
129         (WebCore::Element::isReadOnlyFormControl):
130         (WebCore::Element::isTextFormControl):
131         (WebCore::Element::formControlValueMatchesRenderer):
132         (WebCore::Element::setFormControlValueMatchesRenderer):
133         (WebCore::Element::formControlName):
134         (WebCore::Element::formControlType):
135         (WebCore::Element::saveFormControlState):
136         (WebCore::Element::restoreFormControlState):
137         * dom/FormControlElement.cpp: Removed.
138         * dom/FormControlElement.h: Removed.
139         * dom/FormControlElementWithState.cpp: Removed.
140         * dom/FormControlElementWithState.h: Removed.
141         * dom/InputElement.cpp:
142         (WebCore::InputElement::setValueFromRenderer):
143         * html/HTMLButtonElement.cpp:
144         (WebCore::HTMLButtonElement::formControlType):
145         * html/HTMLButtonElement.h:
146         * html/HTMLFieldSetElement.cpp:
147         (WebCore::HTMLFieldSetElement::formControlType):
148         * html/HTMLFieldSetElement.h:
149         * html/HTMLFormControlElement.cpp:
150         (WebCore::HTMLFormControlElement::attach):
151         (WebCore::HTMLFormControlElement::formControlName):
152         (WebCore::HTMLFormControlElement::willValidate):
153         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
154         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
155         (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
156         (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
157         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
158         * html/HTMLFormControlElement.h:
159         (WebCore::HTMLFormControlElement::isTextFormControl):
160         (WebCore::HTMLFormControlElement::isEnabledFormControl):
161         (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
162         (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
163         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
164         (WebCore::HTMLFormControlElement::type):
165         (WebCore::HTMLFormControlElement::name):
166         * html/HTMLInputElement.cpp:
167         (WebCore::HTMLInputElement::formControlName):
168         (WebCore::HTMLInputElement::formControlType):
169         (WebCore::HTMLInputElement::saveFormControlState):
170         (WebCore::HTMLInputElement::restoreFormControlState):
171         (WebCore::HTMLInputElement::parseMappedAttribute):
172         (WebCore::HTMLInputElement::detach):
173         (WebCore::HTMLInputElement::setValue):
174         (WebCore::HTMLInputElement::setFileListFromRenderer):
175         * html/HTMLInputElement.h:
176         (WebCore::HTMLInputElement::readOnly):
177         (WebCore::HTMLInputElement::isTextFormControl):
178         * html/HTMLKeygenElement.cpp:
179         (WebCore::HTMLKeygenElement::formControlType):
180         * html/HTMLKeygenElement.h:
181         * html/HTMLLegendElement.cpp:
182         (WebCore::HTMLLegendElement::formControlType):
183         * html/HTMLLegendElement.h:
184         * html/HTMLOptGroupElement.cpp:
185         (WebCore::HTMLOptGroupElement::formControlType):
186         * html/HTMLOptGroupElement.h:
187         * html/HTMLOptionElement.cpp:
188         (WebCore::HTMLOptionElement::formControlType):
189         * html/HTMLOptionElement.h:
190         * html/HTMLSelectElement.cpp:
191         (WebCore::HTMLSelectElement::formControlType):
192         (WebCore::HTMLSelectElement::saveFormControlState):
193         (WebCore::HTMLSelectElement::restoreFormControlState):
194         * html/HTMLSelectElement.h:
195         * html/HTMLTextAreaElement.cpp:
196         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
197         (WebCore::HTMLTextAreaElement::formControlType):
198         (WebCore::HTMLTextAreaElement::saveFormControlState):
199         (WebCore::HTMLTextAreaElement::restoreFormControlState):
200         (WebCore::HTMLTextAreaElement::updateValue):
201         (WebCore::HTMLTextAreaElement::setValue):
202         * html/HTMLTextAreaElement.h:
203         (WebCore::HTMLTextAreaElement::readOnly):
204         (WebCore::HTMLTextAreaElement::isTextFormControl):
205         * page/AccessibilityRenderObject.cpp:
206         (WebCore::AccessibilityRenderObject::isEnabled):
207         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
208         * page/DragController.cpp:
209         (WebCore::DragController::concludeEditDrag):
210         * rendering/RenderMenuList.cpp:
211         (WebCore::RenderMenuList::itemIsEnabled):
212         * rendering/RenderTextControl.cpp:
213         (WebCore::updateUserModifyProperty):
214         (WebCore::RenderTextControl::setInnerTextValue):
215         * rendering/RenderTextControl.h:
216         * rendering/RenderTextControlMultiLine.cpp:
217         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
218         * rendering/RenderTextControlSingleLine.cpp:
219         (WebCore::RenderTextControlSingleLine::updateFromElement):
220         * rendering/RenderTheme.cpp:
221         (WebCore::RenderTheme::isEnabled):
222         (WebCore::RenderTheme::isReadOnlyControl):
223         * rendering/RenderThemeChromiumMac.mm:
224         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
225         * rendering/RenderThemeMac.mm:
226         (WebCore::RenderThemeMac::adjustMenuListStyle):
227         * rendering/RenderThemeSafari.cpp:
228         (WebCore::RenderThemeSafari::adjustMenuListStyle):
229         * wml/WMLFormControlElement.cpp:
230         * wml/WMLFormControlElement.h:
231         (WebCore::WMLFormControlElement::isReadOnlyFormControl):
232         (WebCore::WMLFormControlElement::isTextFormControl):
233         (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
234         (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
235         * wml/WMLInputElement.cpp:
236         (WebCore::WMLInputElement::WMLInputElement):
237         (WebCore::WMLInputElement::isKeyboardFocusable):
238         (WebCore::WMLInputElement::isMouseFocusable):
239         (WebCore::WMLInputElement::dispatchBlurEvent):
240         (WebCore::WMLInputElement::formControlType):
241         (WebCore::WMLInputElement::formControlName):
242         (WebCore::WMLInputElement::setValue):
243         (WebCore::WMLInputElement::saveFormControlState):
244         (WebCore::WMLInputElement::restoreFormControlState):
245         (WebCore::WMLInputElement::parseMappedAttribute):
246         (WebCore::WMLInputElement::detach):
247         (WebCore::WMLInputElement::appendFormData):
248         (WebCore::WMLInputElement::init):
249         * wml/WMLInputElement.h:
250         (WebCore::WMLInputElement::isTextFormControl):
251         * wml/WMLOptGroupElement.cpp:
252         (WebCore::WMLOptGroupElement::formControlType):
253         * wml/WMLOptGroupElement.h:
254         * wml/WMLOptionElement.cpp:
255         (WebCore::WMLOptionElement::formControlType):
256         * wml/WMLOptionElement.h:
257
258 2009-05-07  Dmitry Titov  <dimich@chromium.org>
259
260         Reviewed by Alexey Proskuryakov and Adam Roben.
261
262         https://bugs.webkit.org/show_bug.cgi?id=25348
263         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
264
265         Most of the change is in WTF.
266         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
267         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
268         is now a class rather then an integer.
269         Also, there is no need to initialize threadID in constructors to 0 now.
270
271         * dom/XMLTokenizerLibxml2.cpp:
272         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
273         since now ThreadIdentifier needs construction and we avoid having global initializers.
274         (WebCore::matchFunc): use the new accessor function.
275         (WebCore::openFunc): ditto.
276         (WebCore::createStringParser): ditto.
277         (WebCore::createMemoryParser): ditto.
278         * loader/icon/IconDatabase.cpp:
279         (WebCore::IconDatabase::open):
280         * platform/sql/SQLiteDatabase.cpp:
281         (WebCore::SQLiteDatabase::SQLiteDatabase):
282         (WebCore::SQLiteDatabase::close):
283         * storage/DatabaseThread.cpp:
284         (WebCore::DatabaseThread::start):
285         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
286         * storage/LocalStorageThread.cpp:
287         (WebCore::LocalStorageThread::start):
288         (WebCore::LocalStorageThread::scheduleImport):
289         (WebCore::LocalStorageThread::scheduleSync):
290         (WebCore::LocalStorageThread::terminate):
291         * workers/WorkerThread.cpp:
292         (WebCore::WorkerThread::start):
293         (WebCore::WorkerThread::WorkerThread):
294         (WebCore::WorkerThread::start):
295
296 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
297
298         Rubber Stamped by Dave Hyatt
299         
300         Shuffle the data members to minimize padding.
301
302         * dom/ClassNames.h:
303
304 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
305
306         Reviewed by Darin Adler
307
308         <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
309         https://bugs.webkit.org/show_bug.cgi?id=25605
310
311         Shrink GlyphPage by splitting the array of GlyphData, which has lots
312         of padding, into separate Glyph and SimpleFontData* arrays.
313
314         * platform/graphics/Font.h:
315         glyphDataForCharacter has to return a GlyphData by value now.
316         
317         * platform/graphics/FontFastPath.cpp:
318         (WebCore::Font::glyphDataForCharacter):
319         Return GlyphData by value.
320         
321         * platform/graphics/GlyphPageTreeNode.cpp:
322         (WebCore::GlyphPageTreeNode::initializePage):
323         Better encapsulation of GlyphPage, using the new methods.
324
325         * platform/graphics/Font.h:
326         * platform/graphics/FontFastPath.cpp:
327         (WebCore::Font::glyphDataForCharacter):
328         * platform/graphics/GlyphPageTreeNode.cpp:
329         (WebCore::GlyphPageTreeNode::initializePage):
330         * platform/graphics/GlyphPageTreeNode.h:
331         (WebCore::GlyphData::GlyphData):
332         (WebCore::GlyphPage::indexForCharacter):
333         (WebCore::GlyphPage::glyphDataForCharacter):
334         (WebCore::GlyphPage::glyphDataForIndex):
335         (WebCore::GlyphPage::glyphAt):
336         (WebCore::GlyphPage::fontDataForCharacter):
337         (WebCore::GlyphPage::setGlyphDataForCharacter):
338         (WebCore::GlyphPage::setGlyphDataForIndex):
339         (WebCore::GlyphPage::copyFrom):
340         (WebCore::GlyphPage::clear):
341
342 2009-05-07  Dimitri Glazkov  <dglazkov@chromium.org>
343
344         Reviewed by Darin Fisher.
345
346         https://bugs.webkit.org/show_bug.cgi?id=25625
347         Implement Image/Option constructors in V8 bindings.
348
349         * bindings/v8/custom/V8DOMWindowCustom.cpp:
350         (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
351         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
352         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
353
354 2009-05-07  Brady Eidson  <beidson@apple.com>
355
356         I hate myself for doing this, but need to fix that ChangeLog entry.
357
358         * ChangeLog:
359
360 2009-05-07  Brady Eidson  <beidson@apple.com>
361
362         Rubberstamped by Darin Adler
363
364         * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
365         * html/HTMLParser.h: Ditto
366
367 2009-05-07  David Hyatt  <hyatt@apple.com>
368
369         Restore intrinsic margins to all form controls on Mac and Windows.  Some of this regressed in 43007
370         when textareas were given explicit margins.  Some of it had already regressed earlier whenever intrinsic
371         margins were turned off in themeWin.css.
372
373         Reviewed by Beth Dakin.
374
375         * css/html4.css:
376         * css/themeWin.css:
377
378 2009-05-07  Brady Eidson  <beidson@apple.com>
379
380         Reviewed by Darin Adler and Alexey Proskuryakov.
381
382         <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
383
384         * dom/Document.cpp:
385         (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
386
387         * html/HTMLParser.cpp:
388         (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
389         (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
390         (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
391         * html/HTMLParser.h:
392         (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
393
394 2009-05-07  Antony Sargent  <asargent@chromium.org>
395
396         Reviewed by Darin Fisher.
397
398         Fix a memory leak in V8EventListenerList::remove.
399
400         https://bugs.webkit.org/show_bug.cgi?id=25618
401
402         No new functionality so no new tests. 
403
404         * bindings/v8/V8EventListenerList.cpp:
405         (WebCore::V8EventListenerList::remove):
406
407 2009-05-07  Darin Fisher  <darin@chromium.org>
408
409         Fix Chromium build bustage.
410
411         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
412         HTMLCollection.h include.
413
414 2009-05-07  Chris Fleizach  <cfleizach@apple.com>
415
416         Reviewed by Beth Dakin.
417
418         Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
419         https://bugs.webkit.org/show_bug.cgi?id=25598
420
421         Test: accessibility/radio-button-title-label.html
422
423         * page/AccessibilityObject.h:
424         (WebCore::AccessibilityObject::exposesTitleUIElement):
425         * page/AccessibilityRenderObject.cpp:
426         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
427         (WebCore::AccessibilityRenderObject::titleUIElement):
428         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
429         * page/AccessibilityRenderObject.h:
430
431 2009-05-07  Darin Fisher  <darin@chromium.org>
432
433         Fix Chromium build bustage.
434
435         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
436         (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
437
438 2009-05-07  Xan Lopez  <xlopez@igalia.com>
439
440         Reviewed by Gustavo Noronha.
441
442         https://bugs.webkit.org/show_bug.cgi?id=25610
443         [GTK] text.caretOffset is reportedly always 0
444
445         Use the right function to get the caret offset in an
446         element. selectionStart() would only work for text
447         controls (there's even an ASSERT when calculating the selected
448         text range). Instead just get the selection and get the offset of
449         the start position.
450
451         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
452
453 2009-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
454
455         Reviewed by Simon Hausmann.
456
457         [Qt] Fix support for antialiased CSS border-radius
458         
459         WebKit implements border-radius by drawing a double-size border,
460         and then letting the clip constrain the border to the right width
461         and position. This requires support for antialiased clipping, as
462         well as painting, to get a nice smooth border.
463         
464         Qt only does antialiased clipping if the anti-alias flag is set
465         at the time of clipping, so we have to enable this in the method
466         addInnerRoundedRectClip(), as well as when we draw the border.
467         
468         Currently the raster-engine is the only Qt paint engine to support
469         anti-aliased clipping, but the OpenGL and Mac paint engines could
470         potentially support this in the future.
471
472         * platform/graphics/qt/GraphicsContextQt.cpp:
473         (WebCore::GraphicsContext::strokeArc):
474         (WebCore::GraphicsContext::addInnerRoundedRectClip):
475
476 2009-05-07  Adam Langley  <agl@google.com>
477
478         Reviewed by Eric Seidel.
479
480         Render empty optgroup elements.
481
482         https://bugs.webkit.org/show_bug.cgi?id=24900
483
484         Currently, optgroup elements which are empty are not rendered. The
485         HTML specification gives no guidance on this situation.
486
487         However, the test for being empty is that they have no children, thus
488         this will not render:
489           <optgroup label="test"></optgroup>
490         while this /will/ render (because of the text node child):
491           <optgroup label="test"> </optgroup>
492
493         This patch will cause both cases to render which matches IE's and
494         Firefox's behaviour.
495
496         The difference only appears when opening the select element and does
497         not appear in the render tree. Thus, a manual layout-test is required.
498
499         * html/HTMLSelectElement.cpp:
500         (WebCore::HTMLSelectElement::recalcListItems):
501         * manual-tests/optgroup-empty-and-nested.html: Added.
502
503 2009-05-06  Julie Parent  <jparent@google.com>
504
505         Reviewed by Eric Seidel.
506
507         Bug 25608: Unused m_frame in ChromiumClipboard.
508         https://bugs.webkit.org/show_bug.cgi?id=25608
509
510         * platform/chromium/ClipboardChromium.h:
511         
512         No tests added as this is only removing dead code, no functional changes.
513
514 2009-05-06  Dan Bernstein  <mitz@apple.com>
515
516         Reviewed by Simon Fraser and Justin Garcia.
517
518         - fix another part of <rdar://problem/6703873> Triple-click quoted line
519           and type Return creates an extra quoted blank line
520
521         Test: editing/inserting/6703873-2.html
522
523         * editing/BreakBlockquoteCommand.cpp:
524         (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
525         determining the first node that should go into the new blockquote
526         given the split position: if it is at the end of a container, use the
527         next node after the container. Otherwise, use the child at the
528         position's offset.
529
530 2009-05-06  Kevin Ollivier  <kevino@theolliviers.com>
531
532         wx build fix, fixes for wx trunk builds.
533
534         * platform/graphics/wx/ImageWx.cpp:
535         (WebCore::BitmapImage::draw):
536         * platform/wx/RenderThemeWx.cpp:
537         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
538         (wxFontProperties::wxFontProperties):
539
540 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
541
542         Reviewed by Darin Fisher.
543
544         https://bugs.webkit.org/show_bug.cgi?id=25597
545         Fix API drift compile errors that occurred while this was ifdef-ed out.
546         The two big issues were that RenderObject::element() became
547         RenderObject::node() and some of the wk* drawing functions had
548         an extra theme parameter added to the argument list.
549
550         * rendering/RenderThemeChromiumMac.mm:
551         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
552         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
553         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
554         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
555         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
556         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
557         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
558
559 2009-05-06  Jian Li  <jianli@chromium.org>
560
561         Reviewed by Dimitri Glazkov.
562
563         https://bugs.webkit.org/show_bug.cgi?id=25385
564         Upstream changes to V8 bindings for supporting nested workers.
565
566         * bindings/v8/WorkerContextExecutionProxy.cpp:
567         (WebCore::WorkerContextExecutionProxy::ToV8Object):
568         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
569         * bindings/v8/custom/V8WorkerCustom.cpp:
570         (WebCore::getEventListener):
571         (WebCore::ACCESSOR_SETTER WorkerOnmessage):
572         (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
573
574 2009-05-06  Dave Moore  <davemoore@google.com>
575
576         Reviewed by Dimitri Glazkov.
577
578         https://bugs.webkit.org/show_bug.cgi?id=25513
579         The V8 bindings convert every javascript property to its associated css style
580         name. It then calls functions that convert that name to an id. This makes
581         getting or setting css styles on elements slow.
582         
583         The patch fixes this by caching the results of the transformation, mapping a
584         javascript property name to its css property id. It then calls the already
585         public webkit methods that take the id in place of the string property names.
586
587         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
588
589 2009-05-06  Nate Chapin  <japhet@google.com>
590
591         Reviewed by Dimitri Glazkov.
592
593         https://bugs.webkit.org/show_bug.cgi?id=25591
594         Upstream V8HTMLFormElement from the Chromium repository.
595
596         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
597         (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository
598         (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor();
599         (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
600
601 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
602
603         Reviewed by Dimitri Glazkov.
604
605         https://bugs.webkit.org/show_bug.cgi?id=25595
606         Upstream V8CanvasPixelArrayCustom from chromium port tree.
607
608         * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
609
610 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
611
612         Rubber-stampted by Eric Seidel
613
614         Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
615         Only affects ACCELERATED_COMPOSITING builds.
616
617         * rendering/RenderObject.cpp:
618         (WebCore::RenderObject::adjustStyleDifference):
619
620 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
621
622         Reviewed by Dan Bernstein
623
624         <rdar://problem/6862550> Reduce size of RenderText in 64-bit
625         
626         Rearrange data members of RenderText so that an int comes
627         first, to minimize padding.
628
629         * rendering/RenderText.cpp:
630         (WebCore::RenderText::RenderText):
631         * rendering/RenderText.h:
632
633 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
634
635         Reviewed by Dan Bernstein
636
637         <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit
638         
639         Rearrange data members of RenderStyle to minimize padding
640         when building for 64-bit.
641
642         * rendering/style/RenderStyle.cpp:
643         (WebCore::RenderStyle::RenderStyle):
644         * rendering/style/RenderStyle.h:
645         (WebCore::):
646
647 2009-05-06  Darin Fisher  <darin@chromium.org>
648
649         Reviewed by Dimitri Glazkov.
650
651         https://bugs.webkit.org/show_bug.cgi?id=25596
652
653         Fixes Chromium build bustage caused by r43317 (making
654         RefCountedBase::m_refCount private)
655
656         * page/chromium/AccessibilityObjectWrapper.h:
657         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
658
659 2009-05-06  Hin-Chung Lam  <hclam@chromium.org>
660
661         Reviewed by Darin Fisher.
662
663         https://bugs.webkit.org/show_bug.cgi?id=25593
664
665         Refactor for MediaPlayerPrivate for Chromium port. Remove
666         the implementation of MediaPlayerPrivateInferface from it.
667
668         * platform\graphics\chromium\MediaPlayerPrivateChromium.h:
669
670 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
671
672         Reviewed by Dave Hyatt, Dan Bernstein
673         
674         <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit
675
676         Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.
677
678         * platform/graphics/FontFallbackList.cpp:
679         (WebCore::FontFallbackList::FontFallbackList):
680         * platform/graphics/FontFallbackList.h:
681
682 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
683
684         Reviewed by Darin Adler, Dan Bernstein
685
686         <rdar://problem/6860068> Reduce size of InlineBox in 64-bit
687
688         Re-order the data members of InlineBox to save 8 bytes when building 64-bit.
689
690         * rendering/InlineBox.h:
691         (WebCore::InlineBox::InlineBox):
692
693 2009-05-06  David Levin  <levin@chromium.org>
694
695         Reviewed by Dimitri Glazkov.
696
697         https://bugs.webkit.org/show_bug.cgi?id=25588
698         Adding the custom v8 bindings Document.location.
699
700         * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
701
702 2009-05-06  Kevin McCullough  <kmccullough@apple.com>
703
704         -Clarified a comment
705
706         * editing/InsertParagraphSeparatorCommand.cpp:
707         (WebCore::InsertParagraphSeparatorCommand::doApply):
708
709 2009-05-06  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
710
711         Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.
712
713         * wml/WMLAElement.cpp:
714         * wml/WMLAccessElement.cpp:
715         * wml/WMLBRElement.cpp:
716         * wml/WMLCardElement.cpp:
717         * wml/WMLDoElement.cpp:
718         * wml/WMLElement.cpp:
719         * wml/WMLFieldSetElement.cpp:
720         * wml/WMLGoElement.cpp:
721         * wml/WMLImageElement.cpp:
722         * wml/WMLInputElement.cpp:
723         * wml/WMLMetaElement.cpp:
724         * wml/WMLOnEventElement.cpp:
725         * wml/WMLOptGroupElement.cpp:
726         * wml/WMLOptionElement.cpp:
727         * wml/WMLPElement.cpp:
728         * wml/WMLPostfieldElement.cpp:
729         * wml/WMLSetvarElement.cpp:
730         * wml/WMLTableElement.cpp:
731         * wml/WMLTemplateElement.cpp:
732         * wml/WMLTimerElement.cpp:
733
734 2009-05-06  Xan Lopez  <xlopez@igalia.com>
735
736         Reviewed by Gustavo Noronha.
737
738         https://bugs.webkit.org/show_bug.cgi?id=25526
739         [Gtk] Additional support is needed for caret browsing
740
741         Emit AtkText::text-selection-changed when the selection changes
742         and the current selection is of Range (ie, the start and end
743         positions are different) type. This seems to match what Gecko
744         does.
745
746         * editing/gtk/SelectionControllerGtk.cpp:
747         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
748
749 2009-05-05  Xan Lopez  <xlopez@igalia.com>
750
751         Reviewed by Gustavo Noronha.
752
753         https://bugs.webkit.org/show_bug.cgi?id=25526
754         [Gtk] Additional support is needed for caret browsing
755
756         Emit AtkText::text-caret-moved when selection changes.
757
758         * GNUmakefile.am:
759         * editing/SelectionController.h:
760         * editing/gtk/SelectionController.cpp: Added.
761         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
762
763 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
764
765         Reviewed by Gustavo Noronha.
766
767         Use mozilla cursors for the previously not implemented
768         cursors. The manual-tests/cursor.html is looking complete
769         now.
770
771         * platform/gtk/CursorGtk.cpp:
772         (WebCore::cellCursor):
773         (WebCore::noDropCursor):
774         (WebCore::progressCursor):
775         (WebCore::noneCursor):
776         (WebCore::notAllowedCursor):
777         (WebCore::grabCursor):
778         (WebCore::grabbingCursor):
779         * platform/gtk/CursorGtk.h:
780
781 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
782
783         Reviewed by Xan Lopez.
784
785         Properly indent the header file.
786
787         * platform/gtk/CursorGtk.h:
788
789 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
790
791         Reviewed by Gustavo Noronha.
792
793         Use the mozilla copyright header. Use MPL1.1/GPL2.0
794         and LGPL2.1 as the license compared to LGPL2.0.
795
796         * platform/gtk/CursorGtk.h:
797
798 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
799
800         Reviewed by Gustavo Noronha.
801
802         Move PluginView::invalidateRegion from the
803         TemporaryLinkStubs to PluginViewGtk.cpp and implement
804         it with a call to Widget::invalidate() just like
805         mac is doing. Optimisations would have to be window
806         system specific.
807
808         * platform/gtk/TemporaryLinkStubs.cpp:
809         * plugins/gtk/PluginViewGtk.cpp:
810         (WebCore::PluginView::invalidateRegion):
811
812 2009-05-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
813
814         Reviewed by Holger Freyther.
815
816         Misc fixes to InspectorClientGtk.
817
818         * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA.
819         This prevents copious amounts "Localized string not found" errors
820         in the console
821
822 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
823
824         Reviewed by Ariya Hidayat.
825
826         Fix the Qt build on Windows.
827
828         * platform/graphics/GraphicsContext.h:
829         (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor.
830
831 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
832
833         Reviewed by Tor Arne Vestbø.
834
835         Tweak WebCore.pro for being able to override the generated sources dir for the
836         generated_files target.
837
838         * WebCore.pro:
839
840 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
841
842         Reviewed by Holger Freyther.
843
844         Fix the Qt/Windows build, use iface instead of interface to avoid conflict
845         with VS2005 headers.
846
847         * css/CSSStyleSelector.cpp:
848         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
849
850 2009-05-06  Joerg Bornemann  <joerg.bornemann@trolltech.com>
851
852         Reviewed by Simon Hausmann.
853
854         We need to include StringExtras.h on Windows CE to access the strdup function.
855
856         * plugins/PluginStream.cpp:
857
858 2009-05-06  Soren Gjesse  <sgjesse@chromium.org>
859
860         Reviewed by Eric Seidel.
861
862         Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
863         https://bugs.webkit.org/show_bug.cgi?id=25544
864
865         In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
866         function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
867         use the source of an event handler to create new functions this wrapper code causes compatibility problems.
868
869         Create a specific toString function for these handlers which will return a function source compatible with the
870         source returned by the JSC bindings and other browsers.
871
872         Test: fast/events/event-function-toString.html
873
874         * bindings/v8/ScriptEventListener.cpp:
875         (WebCore::createAttributeEventListener):
876         * bindings/v8/V8LazyEventListener.cpp:
877         (WebCore::V8LazyEventListener::V8LazyEventListener):
878         (WebCore::V8LazyEventListener::getListenerFunction):
879         (WebCore::V8LazyEventListenerToString):
880         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
881         * bindings/v8/V8LazyEventListener.h:
882         (WebCore::V8LazyEventListener::create):
883
884 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
885
886         Reviewed by Simon Hausmann.
887
888         Build QtWebKit as a framework on Mac
889
890         This implies both debug and release build by default, unless
891         one of the --debug or --release config options are passed to
892         the build-webkit script.
893
894         Frameworks can be disabled by passing CONFIG+=webkit_no_framework
895         to the build-webkit script.
896
897         To be able to build both debug and release targets in parallel
898         we have to use separate output directories for the generated
899         sources, which is not optimal, but required to avoid race conditions.
900
901         An optimization would be to only require this spit-up on Mac.
902
903         * WebCore.pro:
904
905 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
906
907         Reviewed by Simon Hausmann.
908
909         [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison
910
911         A couple of the generators left the bison output file in the source
912         tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
913         work well when building release and debug configurations in parallel.
914
915         * WebCore.pro:
916
917 2009-05-06  Dan Bernstein  <mitz@apple.com>
918
919         Reviewed by Justin Garcia.
920
921         - fix an assertion failure in RemoveNodeCommand() when deleting a <br>
922           between a block and a mail blockquote
923
924         Test: editing/deleting/removeNodeCommand-assert.html
925
926         * editing/DeleteSelectionCommand.cpp:
927         (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block
928         to prune() instead of passing m_upstreamStart.node(), because the latter
929         may have been removed already.
930
931 2009-05-05  Eric Seidel  <eric@webkit.org>
932
933         No review, roll out only.
934
935         Roll out r23072 since it broke layout tests
936
937         * page/AccessibilityRenderObject.cpp:
938         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
939
940 2009-05-05  Ben Murdoch  <benm@google.com>
941
942         Reviewed by Eric Seidel.
943         
944         Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
945         https://bugs.webkit.org/show_bug.cgi?id=24776
946
947         No functional changes, thus no tests.
948
949         * bindings/js/JSCustomSQLStatementCallback.cpp:
950         * bindings/js/JSCustomSQLStatementCallback.h:
951         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
952         * bindings/js/JSCustomSQLStatementErrorCallback.h:
953         * bindings/js/JSCustomSQLTransactionCallback.cpp:
954         * bindings/js/JSCustomSQLTransactionCallback.h:
955         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
956         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
957         * bindings/js/JSDatabaseCustom.cpp:
958         * bindings/js/JSSQLTransactionCustom.cpp:
959         * loader/EmptyClients.h:
960         * page/ChromeClient.h:
961         * storage/ChangeVersionWrapper.cpp:
962         * storage/ChangeVersionWrapper.h:
963         * storage/Database.cpp:
964         (WebCore::Database::databaseInfoTableName):
965         * storage/Database.h:
966         * storage/Database.idl:
967         * storage/DatabaseTask.cpp:
968         * storage/DatabaseTask.h:
969         * storage/DatabaseThread.cpp:
970         * storage/DatabaseThread.h:
971         * storage/DatabaseTracker.cpp:
972         * storage/DatabaseTracker.h:
973         * storage/DatabaseTrackerClient.h:
974         * storage/OriginQuotaManager.cpp:
975         * storage/OriginQuotaManager.h:
976         * storage/SQLStatement.cpp:
977         * storage/SQLStatement.h:
978         * storage/SQLTransaction.cpp:
979         * storage/SQLTransaction.h:
980         * storage/SQLTransaction.idl:
981
982 2009-05-05  Jeremy Moskovich  <jeremy@chromium.org>
983
984         Reviewed by Eric Seidel.
985
986         Add some documentation to InlineBox::x(),y().
987         https://bugs.webkit.org/show_bug.cgi?id=25378
988
989         * rendering/InlineBox.h:
990
991 2009-05-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
992
993         Reviewed by Eric Seidel.
994
995         Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 
996         https://bugs.webkit.org/show_bug.cgi?id=24693
997
998         * WebCore.pro:
999
1000 2009-05-05  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
1001
1002         Reviewed by Eric Seidel.
1003
1004         Anonymous blocks should not be exposed in accessibility tree.
1005         Part of https://bugs.webkit.org/show_bug.cgi?id=23072
1006
1007         Tests: accessibility/ignore-anonymous-block.html
1008                platform/win/accessibility/document-role.html
1009
1010         * page/AccessibilityRenderObject.cpp:
1011         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return
1012         true for Anonymous blocks. Matching Firefox 2.0.0.14
1013
1014 2009-05-05  Jungshik Shin  <jshin@chromium.org>
1015
1016         Reviewed by Alexey Proskuryakov.
1017
1018         http://bugs.webkit.org/show_bug.cgi?id=25487
1019
1020         For euc-kr and other 8bit Korean encodings
1021         (similar to euc-kr/windows-949), make document.charset return
1022         EUC-KR instead of windows-949. The latter is not recognized by
1023         Korean web servers.
1024
1025         Add domName method to TextEncoding to deal with cases where
1026         our internal encoding name does not match what's widely recognized
1027         by web servers. Currently, the only case is 'windows-949' (internal
1028         name) vs 'EUC-KR'.
1029
1030         Test: fast/encoding/euckr-name.html
1031
1032         * dom/Document.cpp:
1033         (WebCore::Document::encoding): Call TextEncoding.domName() instead
1034         of TextEncoding.name().
1035         * platform/text/TextEncoding.cpp:
1036         (WebCore::TextEncoding::domName): For the canonical name 'windows-949',
1037         return 'EUC-KR'. Otherwise, just return the canonical name.
1038         * platform/text/TextEncoding.h:
1039
1040 2009-05-05  Adam Langley  <agl@google.com>
1041
1042         Reviewed by Darin Adler.
1043
1044         Rendering fix for <select> elements.
1045         https://bugs.webkit.org/show_bug.cgi?id=25558
1046
1047         When switching a <select> element from display:none to default
1048         display, we would fail to invalidate the parent's pref widths in some
1049         situations:
1050
1051         When attaching the element, RenderMenuList::updateOptionsWidth would
1052         call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
1053         set. This would mark the pref widths as dirty, but not for any parent
1054         objects.
1055
1056         When RenderObjectChildList::appendChildNode later calls
1057         setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
1058         nothing would be done because the pref widths were already dirty for.
1059         the RenderMenuList.
1060
1061         * rendering/RenderMenuList.cpp:
1062         (WebCore::RenderMenuList::updateOptionsWidth):
1063
1064 2009-05-05  Antony Sargent  <asargent@chromium.org>
1065
1066         Reviewed by Dimitri Glazkov.
1067
1068         Switch V8EventListenerList to use HashTable<T>.
1069         https://bugs.webkit.org/show_bug.cgi?id=25496
1070         
1071         This avoids some tricky issues with event listener removal in the 
1072         current implementation and has slightly better performance.
1073
1074         No new functionality so no new tests.
1075
1076         * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator.
1077         * bindings/v8/V8EventListenerList.h:
1078         (WebCore::V8EventListenerList::size):
1079         * bindings/v8/WorkerContextExecutionProxy.cpp:
1080         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1081
1082 2009-05-05  Darin Fisher  <darin@chromium.org>
1083
1084         Fixing build bustage.
1085
1086         Add some missing includes to fix the Chromium build.
1087
1088         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1089         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1090
1091 2009-05-05  Darin Fisher  <darin@chromium.org>
1092
1093         Reviewed by Darin Adler.
1094
1095         https://bugs.webkit.org/show_bug.cgi?id=25570
1096
1097         history.{back,forward,go} should always be dispatched asynchronously,
1098         even when the history navigation would just result in scrolling the
1099         page.  This matches the behavior of other browsers like IE and FF.
1100
1101         Test: fast/history/back-forward-is-asynchronous.html
1102
1103         * loader/FrameLoader.cpp:
1104         (WebCore::FrameLoader::scheduleHistoryNavigation):
1105
1106 2009-05-05  Eric Seidel  <eric@webkit.org>
1107
1108         Reviewed by Simon Fraser.
1109
1110         Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
1111         https://bugs.webkit.org/show_bug.cgi?id=25532
1112         https://bugs.webkit.org/show_bug.cgi?id=25568
1113
1114         Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup
1115         which was causing transformed SVG text when filled/stroked with a
1116         pattern using patternUnits=objectBoundingBox to draw incorrectly.
1117
1118         I fixed the incorrect drawing (by removing the broken code) and added
1119         two test cases to test the fix:
1120         * svg/transforms/text-with-pattern-inside-transformed-html.xhtml
1121         * svg/transforms/text-with-pattern-with-svg-transform.svg
1122
1123         * rendering/RenderSVGRoot.cpp:
1124         (WebCore::RenderSVGRoot::mapLocalToContainer):
1125         * rendering/SVGRenderSupport.cpp:
1126         (WebCore::SVGRenderBase::mapLocalToContainer):
1127         * svg/graphics/SVGPaintServerPattern.cpp:
1128         (WebCore::SVGPaintServerPattern::setup):
1129
1130 2009-05-05  Greg Bolsinga  <bolsinga@apple.com>
1131
1132         Reviewed by Sam Weinig.
1133
1134         https://bugs.webkit.org/show_bug.cgi?id=25554
1135         
1136         Support HTML5 text control input types: email, number, tel, url
1137
1138         Test: fast/html/text-field-input-types.html
1139
1140         * bindings/objc/DOMHTML.mm:
1141         (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly.
1142         * html/HTMLInputElement.cpp: Use the new types where appropriate.
1143         (WebCore::HTMLInputElement::setInputType):
1144         (WebCore::HTMLInputElement::type):
1145         (WebCore::HTMLInputElement::saveState):
1146         (WebCore::HTMLInputElement::restoreState):
1147         (WebCore::HTMLInputElement::accessKeyAction):
1148         (WebCore::HTMLInputElement::rendererIsNeeded):
1149         (WebCore::HTMLInputElement::createRenderer):
1150         (WebCore::HTMLInputElement::appendFormData):
1151         (WebCore::HTMLInputElement::valueWithDefault):
1152         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
1153         (WebCore::HTMLInputElement::defaultEventHandler):
1154         * html/HTMLInputElement.h: Ditto.
1155         (WebCore::HTMLInputElement::):
1156         (WebCore::HTMLInputElement::isTextField):
1157
1158 2009-04-01  miggilin  <mr.diggilin@gmail.com>
1159
1160         Reviewed by Kevin Ollivier.
1161
1162         Mouse wheel scrolling and keyboard shortcut support for wx.
1163         
1164         https://bugs.webkit.org/show_bug.cgi?id=24797
1165
1166         * platform/ScrollView.cpp:
1167         (WebCore::ScrollView::wheelEvent):
1168         * platform/wx/KeyboardEventWx.cpp:
1169         (WebCore::windowsKeyCodeForKeyEvent):
1170         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1171         * platform/wx/ScrollViewWx.cpp:
1172         (WebCore::ScrollView::platformSetScrollPosition):
1173
1174 2009-05-05  Kevin Ollivier  <kevino@theolliviers.com>
1175
1176         wx build fix for Windows, add missing include.
1177         
1178         https://bugs.webkit.org/show_bug.cgi?id=24798
1179
1180         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1181
1182 2009-05-05  Chris Fleizach  <cfleizach@apple.com>
1183
1184         Reviewed by Beth Dakin.
1185
1186         Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
1187         https://bugs.webkit.org/show_bug.cgi?id=25574
1188
1189         Enable accessibility hit-testing for image map links. 
1190         Allow image map links to return AXURLs and AXAccessKey information.
1191
1192         Test: platform/mac/accessibility/imagemap-hittest.html
1193
1194         * page/AccessibilityImageMapLink.cpp:
1195         (WebCore::AccessibilityImageMapLink::url):
1196         * page/AccessibilityImageMapLink.h:
1197         * page/AccessibilityObject.h:
1198         (WebCore::AccessibilityObject::minValueForRange):
1199         * page/AccessibilityRenderObject.cpp:
1200         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1201         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
1202         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1203         * page/AccessibilityRenderObject.h:
1204         * page/mac/AccessibilityObjectWrapper.mm:
1205         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1206
1207 2009-05-05  Kevin McCullough  <kmccullough@apple.com>
1208
1209         Reviewed by Dan Bernstein.
1210
1211         <rdar://problem/6552129> Select a quote line and paste elsewhere, you
1212         get that line and an extra quoted blank line
1213         <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
1214         onto an empty line makes an extra quoted line
1215
1216         - When pasting a blockquote with a newline, make sure we put the newline
1217         outside of the blockquote so that it is not quoted.
1218
1219         * editing/InsertParagraphSeparatorCommand.cpp:
1220         (WebCore::InsertParagraphSeparatorCommand::doApply):
1221
1222 2009-05-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
1223
1224         Reviewed by Xan Lopez.
1225
1226         Call moz_gtk_shutdown on RenderThemeGtk destruction.
1227
1228         * platform/gtk/RenderThemeGtk.cpp:
1229         (WebCore::RenderThemeGtk::~RenderThemeGtk):
1230         * platform/gtk/RenderThemeGtk.h:
1231
1232 2009-05-05  Darin Adler  <darin@apple.com>
1233
1234         Reviewed by Steve Falkenburg.
1235
1236         <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost"
1237
1238         * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost.
1239
1240 2009-05-05  Peter Kasting  <pkasting@google.com>
1241
1242         Reviewed by Brady Eidson.
1243
1244         Safety-check m_documentLoader before dereferencing.  While it seems
1245         unlikely this could fail (as Safari 3 shipped without this),
1246         technically almost any call can change or reset m_documentLoader.
1247
1248         * loader/FrameLoader.cpp:
1249         (WebCore::FrameLoader::receivedFirstData):
1250
1251 2009-05-05  Dan Bernstein  <mitz@apple.com>
1252
1253         - Tiger build fix
1254
1255         * css/CSSComputedStyleDeclaration.cpp:
1256         (WebCore::toCSSIdentifier):
1257
1258 2009-05-05  Peter Kasting  <pkasting@google.com>
1259
1260         Reviewed by Eric Seidel.
1261
1262         https://bugs.webkit.org/show_bug.cgi?id=25303
1263         No need to ref the internal buffer inside the Skia ImageDecoder.
1264
1265         * platform/image-decoders/skia/ImageDecoder.h:
1266         (WebCore::RGBA32Buffer::RGBA32Buffer):
1267         (WebCore::RGBA32Buffer::operator=):
1268         (WebCore::RGBA32Buffer::clear):
1269         (WebCore::RGBA32Buffer::copyBitmapData):
1270         (WebCore::RGBA32Buffer::bitmap):
1271         (WebCore::RGBA32Buffer::setSize):
1272         (WebCore::RGBA32Buffer::width):
1273         (WebCore::RGBA32Buffer::height):
1274         (WebCore::RGBA32Buffer::hasAlpha):
1275         (WebCore::RGBA32Buffer::setStatus):
1276         (WebCore::RGBA32Buffer::setHasAlpha):
1277         (WebCore::RGBA32Buffer::setRGBA):
1278
1279 2009-05-05  Dan Bernstein  <mitz@apple.com>
1280
1281         Reviewed by Darin Adler.
1282
1283         - fix https://bugs.webkit.org/show_bug.cgi?id=24192
1284           <rdar://problem/5760774> Replying to a Mail message that contains
1285           fixed width text can change the size of the text
1286
1287         Covered by existing tests: editing/pasteboard/5027857.html
1288                                    editing/pasteboard/paste-pre-002.html
1289
1290         * css/CSSComputedStyleDeclaration.cpp:
1291         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
1292         Added. If the font-size is keyword-based, returns the keyword value
1293         instead of the pixel size.
1294         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If
1295         font-family is a generic family, return the generic family instead of
1296         the the internal string -webkit-[serif|sans-serif|cursive|fantasy
1297         |monospace].
1298         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
1299         For the font-size property, prefer a keyword value over a pixel size.
1300         * css/CSSComputedStyleDeclaration.h:
1301         * editing/ApplyStyleCommand.cpp:
1302         (WebCore::StyleChange::currentlyHasStyle): For the font-size property,
1303         call getFontSizeCSSValuePreferringKeyword().
1304         * platform/graphics/FontDescription.h:
1305         (WebCore::FontDescription::keywordSize): Changed the return type to
1306         unsigned.
1307         (WebCore::FontDescription::setKeywordSize): Changed the parameter type
1308         to unsigned.
1309         (WebCore::FontDescription::m_keywordSize): Changed the type of this
1310         4-bit field to unsigned, because it takes values as high as 8.
1311
1312 2009-05-05  Oliver Hunt  <oliver@apple.com>
1313
1314         Reviewed by Maciej Stachowiak.
1315
1316         Fix http/tests/misc/DOMContentLoaded-event.html
1317
1318         The native call performance improvement removed a few places where we
1319         unintentionally performed a toThisObject conversion.  This patch updates
1320         the bindings codegen to not rely on this bug.
1321
1322         * bindings/scripts/CodeGeneratorJS.pm:
1323
1324 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
1325
1326         Reviewed by Xan Lopez and Gustavo Noronha.
1327
1328         Implement WebCore::directoryName for Gtk+.
1329
1330         * platform/gtk/FileSystemGtk.cpp:
1331         (WebCore::directoryName):
1332
1333 2009-05-05  Eric Seidel  <eric@webkit.org>
1334
1335         Reviewed by Adam Roben.
1336
1337         Fix mappedAttributes() access without NULL check
1338         https://bugs.webkit.org/show_bug.cgi?id=25553
1339
1340         SVGStyledElement::getPresentationAttribute was using mappedAttributes()
1341         without checking for NULL.
1342
1343         HTMLInputElement::setInputType also doesn't NULL check, but I was not
1344         able to get it to crash with a test case so I just added an ASSERT.
1345
1346         * html/HTMLInputElement.cpp:
1347         (WebCore::HTMLInputElement::setInputType):
1348         * svg/SVGStyledElement.cpp:
1349         (WebCore::SVGStyledElement::getPresentationAttribute):
1350
1351 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
1352
1353         Reviewed by Xan Lopez.
1354
1355         Implement WebCore::imageTitle for Gtk+.
1356
1357         * platform/gtk/LocalizedStringsGtk.cpp:
1358         (WebCore::imageTitle):
1359
1360 2009-05-05  Oliver Hunt  <oliver@apple.com>
1361
1362         Reviewed by Gavin Barraclough.
1363
1364         Bug 25559: Improve native function call performance
1365         <https://bugs.webkit.org/show_bug.cgi?id=25559>
1366
1367         Add forwarding header necessary for compilation, and fix debugger
1368         to correctly account for change in JSFunction behaviour.
1369
1370         * ForwardingHeaders/jit/JITCode.h: Added.
1371         * inspector/JavaScriptDebugServer.cpp:
1372         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
1373
1374 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
1375
1376         Reviewed by Ariya Hidayat.
1377
1378         Make convertValueToQVariant more robust against null JSValues.
1379
1380         Don't require the caller to do the null check.
1381
1382         * bridge/qt/qt_runtime.cpp:
1383         (JSC::Bindings::convertValueToQVariant):
1384
1385 2009-05-05  Eric Seidel  <eric@webkit.org>
1386
1387         No review, just a revert.
1388
1389         Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash.
1390
1391         * rendering/RenderSVGRoot.cpp:
1392         (WebCore::RenderSVGRoot::mapLocalToContainer):
1393         * rendering/SVGRenderSupport.cpp:
1394         (WebCore::SVGRenderBase::mapLocalToContainer):
1395
1396 2009-05-04  Alexey Proskuryakov  <ap@webkit.org>
1397
1398         Reviewed by Dave Hyatt.
1399
1400         <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com
1401
1402         The problem was caused by missing <head> element - we used to create it when moving a
1403         misplaced <style> element, but we now handle those in place. Other browsers always create
1404         a <head> element.
1405
1406         There is no guarantee that a <head> element always exists - first, it can be removed with
1407         removeChild or innerHTML, and also, we don't currently create it for frameset documents, or
1408         for manually created ones (e.g. ImageDocument).
1409
1410         Test: fast/parser/head-element-for-yahoo-player.html
1411
1412         * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank.
1413         A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this
1414         code is removed completely.
1415
1416         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script>
1417         elements as children of <html>. This isn't directly related to this bug, but it was easier
1418         to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements).
1419
1420         * html/HTMLParser.cpp:
1421         (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet.
1422         Create a <head> it a <body> is created implicitly to contain some other element.
1423         (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is
1424         explicitly present in source.
1425         (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet.
1426
1427 2009-05-04  Jakub Wieczorek  <faw217@gmail.com>
1428
1429         Reviewed by Simon Hausmann.
1430
1431         As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
1432         returns the application/octet-stream mimetype when it can't associate
1433         extension with any mimetype, it can happen that the application/octet-stream
1434         mimetype will hit the list of supported image formats. For instance,
1435         it is possible when QImageReader or QImageWriter support an extension
1436         that is not in the extensions map.
1437
1438         Make sure that this mimetype is not treated as displayable image type.
1439
1440         * platform/MIMETypeRegistry.cpp:
1441         (WebCore::initializeSupportedImageMIMETypes):
1442         (WebCore::initializeSupportedImageMIMETypesForEncoding):
1443
1444 2009-05-03  Eric Seidel  <eric@webkit.org>
1445
1446         Reviewed by Simon Fraser.
1447
1448         ASSERT(useTransforms) in SVG mapLocalToContainer implementations
1449         https://bugs.webkit.org/show_bug.cgi?id=25532
1450
1451         * rendering/RenderSVGRoot.cpp:
1452         (WebCore::RenderSVGRoot::mapLocalToContainer):
1453         * rendering/SVGRenderSupport.cpp:
1454         (WebCore::SVGRenderBase::mapLocalToContainer):
1455
1456 2009-05-03  Eric Seidel  <eric@webkit.org>
1457
1458         Reviewed by Simon Fraser.
1459
1460         Remove m_absoluteBounds hack from RenderSVGText
1461         https://bugs.webkit.org/show_bug.cgi?id=25532
1462
1463         No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better)
1464
1465         * rendering/RenderSVGText.cpp:
1466         (WebCore::RenderSVGText::layout):
1467         * rendering/RenderSVGText.h:
1468
1469 2009-05-03  Eric Seidel  <eric@webkit.org>
1470
1471         Reviewed by Simon Fraser.
1472
1473         Remove the vestigial calculateLocalTransform()
1474         https://bugs.webkit.org/show_bug.cgi?id=25532
1475
1476         RenderSVGContainer is now the only render which needs this
1477         function, but it no longer returns the unused bool.
1478
1479         calculateLocalTransform() previously was called by the DOM before
1480         transform updates were part of layout().
1481
1482         * rendering/RenderForeignObject.cpp:
1483         (WebCore::RenderForeignObject::layout):
1484         * rendering/RenderForeignObject.h:
1485         (WebCore::RenderForeignObject::localTransform):
1486         * rendering/RenderPath.cpp:
1487         (WebCore::RenderPath::layout):
1488         * rendering/RenderPath.h:
1489         * rendering/RenderSVGContainer.cpp:
1490         * rendering/RenderSVGContainer.h:
1491         (WebCore::RenderSVGContainer::calculateLocalTransform):
1492         * rendering/RenderSVGImage.cpp:
1493         (WebCore::RenderSVGImage::layout):
1494         * rendering/RenderSVGImage.h:
1495         * rendering/RenderSVGText.cpp:
1496         (WebCore::RenderSVGText::layout):
1497         * rendering/RenderSVGText.h:
1498         * rendering/RenderSVGTransformableContainer.cpp:
1499         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
1500         * rendering/RenderSVGTransformableContainer.h:
1501
1502 2009-05-03  Eric Seidel  <eric@webkit.org>
1503
1504         Reviewed by Simon Fraser.
1505
1506         Move more code into SVGRenderBase
1507         https://bugs.webkit.org/show_bug.cgi?id=25532
1508
1509         clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer
1510         are now all shared via SVGRenderBase.
1511
1512         RenderForeignObject should also be sharing this code, but I've left it
1513         alone for now, as changing that would likely cause test changes.
1514
1515         No test changes.  It's possible that transformed <svg:image> elements will
1516         now show up with better metrics in the inspector.
1517
1518         * rendering/RenderSVGImage.cpp:
1519         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
1520         (WebCore::RenderSVGImage::computeRectForRepaint):
1521         (WebCore::RenderSVGImage::mapLocalToContainer):
1522         * rendering/RenderSVGImage.h:
1523         * rendering/RenderSVGModelObject.cpp:
1524         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
1525         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1526         (WebCore::RenderSVGModelObject::mapLocalToContainer):
1527         * rendering/RenderSVGText.cpp:
1528         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
1529         (WebCore::RenderSVGText::computeRectForRepaint):
1530         (WebCore::RenderSVGText::mapLocalToContainer):
1531         * rendering/SVGRenderSupport.cpp:
1532         (WebCore::SVGRenderBase::clippedOverflowRectForRepaint):
1533         (WebCore::SVGRenderBase::computeRectForRepaint):
1534         (WebCore::SVGRenderBase::mapLocalToContainer):
1535         * rendering/SVGRenderSupport.h:
1536
1537 2009-05-03  Eric Seidel  <eric@webkit.org>
1538
1539         Reviewed by Simon Fraser.
1540
1541         Add SVGRenderBase to share logic between SVG renderers
1542         https://bugs.webkit.org/show_bug.cgi?id=25532
1543
1544         I've added an SVGRenderBase base class which is shared by
1545         all of the SVG renders now.  This patch is just moving code
1546         there are no functional changes in this patch.
1547
1548         Currently I've left these functions in SVGRenderSupport.h
1549         In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.*
1550
1551         clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read.
1552
1553         * rendering/RenderSVGBlock.h:
1554         * rendering/RenderSVGImage.h:
1555         * rendering/RenderSVGModelObject.h:
1556         * rendering/RenderSVGRoot.h:
1557         * rendering/SVGRenderSupport.cpp:
1558         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1559         (WebCore::SVGRenderBase::finishRenderSVGContent):
1560         (WebCore::clampImageBufferSizeToViewport):
1561         (WebCore::SVGRenderBase::computeContainerBoundingBox):
1562         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1563         * rendering/SVGRenderSupport.h:
1564         * rendering/SVGRootInlineBox.cpp:
1565         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
1566         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
1567         (WebCore::SVGRootInlineBox::paint):
1568         * svg/SVGMaskElement.cpp:
1569         (WebCore::SVGMaskElement::drawMaskerContent):
1570         * svg/SVGPatternElement.cpp:
1571         (WebCore::SVGPatternElement::buildPattern):
1572         * svg/graphics/SVGPaintServerGradient.cpp:
1573         (WebCore::createMaskAndSwapContextForTextGradient):
1574         (WebCore::clipToTextMask):
1575
1576 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
1577
1578         Unreviewed SVG build fix.
1579
1580         Include MappedAttribute.h after r43187.
1581
1582         * svg/SVGComponentTransferFunctionElement.cpp:
1583         * svg/SVGFEBlendElement.cpp:
1584         * svg/SVGFEColorMatrixElement.cpp:
1585         * svg/SVGFEComponentTransferElement.cpp:
1586         * svg/SVGFECompositeElement.cpp:
1587         * svg/SVGFEDiffuseLightingElement.cpp:
1588         * svg/SVGFEDisplacementMapElement.cpp:
1589         * svg/SVGFEGaussianBlurElement.cpp:
1590         * svg/SVGFEImageElement.cpp:
1591         * svg/SVGFELightElement.cpp:
1592         * svg/SVGFEMergeNodeElement.cpp:
1593         * svg/SVGFEOffsetElement.cpp:
1594         * svg/SVGFESpecularLightingElement.cpp:
1595         * svg/SVGFETileElement.cpp:
1596         * svg/SVGFETurbulenceElement.cpp:
1597         * svg/SVGFilterElement.cpp:
1598         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1599
1600 2009-05-04  Brady Eidson  <beidson@apple.com>
1601
1602         Reviewed by Sam 'The Belly' Weinig
1603
1604         <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only
1605
1606         In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one
1607         themselves.  Leopard's Java plug-in mishandles this case and fails to load code for the applet.
1608
1609         The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing
1610         the canLoad() check if a codebase was actually set on the applet tag.
1611
1612         * html/HTMLAppletElement.cpp:
1613         (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute.
1614
1615         * loader/FrameLoader.cpp:
1616         (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set.
1617
1618 2009-05-04  Adam Roben  <aroben@apple.com>
1619
1620         Windows build fix
1621
1622         * html/HTMLCollection.h:
1623         * html/HTMLFormElement.h:
1624         Declare CollectionCache as a struct, not a class, to match its
1625         definition.
1626
1627 2009-05-04  Chris Fleizach  <cfleizach@apple.com>
1628
1629         Reviewed by Beth Dakin, Oliver Hunt.
1630
1631         Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
1632         https://bugs.webkit.org/show_bug.cgi?id=25557
1633
1634         Test: accessibility/canvas.html
1635
1636         * page/AccessibilityRenderObject.cpp:
1637         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1638         (WebCore::AccessibilityRenderObject::roleValue):
1639
1640 2009-05-04  Brady Eidson  <beidson@apple.com>
1641
1642         Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug.
1643
1644         * ChangeLog
1645
1646 2009-05-04  Kai Brüning  <kai@granus.net>
1647
1648         Reviewed by Eric Seidel.
1649         
1650         https://bugs.webkit.org/show_bug.cgi?id=24883
1651         24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp
1652         
1653         Fixed test whether all the chunk has been processed to correctly count utf8 bytes.
1654
1655         Test: fast/innerHTML/innerHTML-nbsp.xhtml
1656
1657         * dom/XMLTokenizerLibxml2.cpp:
1658         (WebCore::parseXMLDocumentFragment):
1659
1660 2009-05-04  Darin Adler  <darin@apple.com>
1661
1662         Reviewed by Eric Seidel.
1663
1664         Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
1665         and NamedMappedAttrMap.h include of MappedAttribute.h
1666         https://bugs.webkit.org/show_bug.cgi?id=24924
1667
1668         Make compiles faster, and debugging info smaller.
1669
1670         * GNUmakefile.am: Added new source files.
1671         * WebCore.pro: Ditto.
1672         * WebCore.scons: Ditto.
1673         * WebCore.vcproj/WebCore.vcproj: Ditto.
1674         * WebCore.xcodeproj/project.pbxproj: Ditto.
1675         * WebCoreSources.bkl: Ditto.
1676
1677         * bindings/js/JSHTMLCollectionCustom.cpp:
1678         (WebCore::toJS): Updated for new collection type names.
1679
1680         * dom/Document.cpp:
1681         (WebCore::Document::createAttribute): Added. No longer inline.
1682         (WebCore::Document::images): Updated for new collection type names.
1683         (WebCore::Document::applets): Ditto.
1684         (WebCore::Document::embeds): Ditto.
1685         (WebCore::Document::plugins): Ditto.
1686         (WebCore::Document::objects): Ditto.
1687         (WebCore::Document::scripts): Ditto.
1688         (WebCore::Document::links): Ditto.
1689         (WebCore::Document::forms): Ditto.
1690         (WebCore::Document::anchors): Ditto.
1691         (WebCore::Document::all): Ditto.
1692         (WebCore::Document::windowNamedItems): Ditto.
1693         (WebCore::Document::documentNamedItems): Ditto.
1694         (WebCore::Document::nameCollectionInfo): Ditto.
1695
1696         * dom/Document.h: Changed around includes and forward declarations.
1697         Updated for changes to collection types.
1698
1699         * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h.
1700
1701         * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp.
1702         Contains the class that used to be HTMLCollection::CollectionInfo.
1703         * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h.
1704         Ditto.
1705
1706         * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h.
1707         Has the enum that used to be HTMLCollection::Type.
1708
1709         * html/HTMLCollection.cpp:
1710         (WebCore::HTMLCollection::HTMLCollection): Update for collection type change.
1711         (WebCore::HTMLCollection::create): Ditto.
1712         (WebCore::HTMLCollection::resetCollectionInfo): Ditto.
1713         (WebCore::HTMLCollection::itemAfter): Ditto.
1714         * html/HTMLCollection.h: Ditto.
1715
1716         * html/HTMLElement.cpp:
1717         (WebCore::HTMLElement::children): Updated for new collection type names.
1718         * html/HTMLFormCollection.cpp:
1719         (WebCore::HTMLFormCollection::formCollectionInfo): Ditto.
1720         (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto.
1721         * html/HTMLFormCollection.h: Ditto.
1722         * html/HTMLFormElement.h: Ditto.
1723         * html/HTMLMapElement.cpp:
1724         (WebCore::HTMLMapElement::areas): Ditto.
1725         * html/HTMLNameCollection.cpp:
1726         (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto.
1727         * html/HTMLNameCollection.h:
1728         (WebCore::HTMLNameCollection::create): Ditto.
1729         * html/HTMLSelectElement.h:
1730         (WebCore::HTMLSelectElement::collectionInfo): Ditto.
1731         * html/HTMLTableElement.cpp:
1732         (WebCore::HTMLTableElement::tBodies):Ditto.
1733         * html/HTMLTableRowElement.cpp:
1734         (WebCore::HTMLTableRowElement::cells):Ditto.
1735         * html/HTMLTableRowsCollection.cpp:
1736         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto.
1737         * html/HTMLTableSectionElement.cpp:
1738         (WebCore::HTMLTableSectionElement::rows): Ditto.
1739
1740         * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes.
1741         * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto.
1742         * css/CSSStyleSelector.cpp: Ditto.
1743         * dom/Element.cpp: Ditto.
1744         * dom/InputElement.cpp: Ditto.
1745         * dom/NamedAttrMap.cpp: Ditto.
1746         * dom/NamedMappedAttrMap.cpp: Ditto.
1747         * dom/Node.cpp: Ditto.
1748         * dom/StyledElement.cpp: Ditto.
1749         * dom/StyledElement.h: Ditto.
1750         * editing/ApplyStyleCommand.cpp: Ditto.
1751         * editing/DeleteSelectionCommand.cpp: Ditto.
1752         * editing/Editor.cpp: Ditto.
1753         * editing/EditorCommand.cpp: Ditto.
1754         * editing/InsertParagraphSeparatorCommand.cpp: Ditto.
1755         * editing/ReplaceSelectionCommand.cpp: Ditto.
1756         * editing/markup.cpp: Ditto.
1757         * html/CanvasRenderingContext2D.cpp: Ditto.
1758         * html/HTMLAnchorElement.cpp: Ditto.
1759         * html/HTMLAppletElement.cpp: Ditto.
1760         * html/HTMLAreaElement.cpp: Ditto.
1761         * html/HTMLBRElement.cpp: Ditto.
1762         * html/HTMLBaseElement.cpp: Ditto.
1763         * html/HTMLBodyElement.cpp: Ditto.
1764         * html/HTMLButtonElement.cpp: Ditto.
1765         * html/HTMLCanvasElement.cpp: Ditto.
1766         * html/HTMLDivElement.cpp: Ditto.
1767         * html/HTMLEmbedElement.cpp: Ditto.
1768         * html/HTMLFontElement.cpp: Ditto.
1769         * html/HTMLFormControlElement.cpp: Ditto.
1770         * html/HTMLFormElement.cpp: Ditto.
1771         * html/HTMLFrameElement.cpp: Ditto.
1772         * html/HTMLFrameElementBase.cpp: Ditto.
1773         * html/HTMLFrameSetElement.cpp: Ditto.
1774         * html/HTMLHRElement.cpp: Ditto.
1775         * html/HTMLIFrameElement.cpp: Ditto.
1776         * html/HTMLImageElement.cpp: Ditto.
1777         * html/HTMLInputElement.cpp: Ditto.
1778         * html/HTMLIsIndexElement.cpp: Ditto.
1779         * html/HTMLKeygenElement.cpp: Ditto.
1780         * html/HTMLLIElement.cpp: Ditto.
1781         * html/HTMLLinkElement.cpp: Ditto.
1782         * html/HTMLMarqueeElement.cpp: Ditto.
1783         * html/HTMLMetaElement.cpp: Ditto.
1784         * html/HTMLOListElement.cpp: Ditto.
1785         * html/HTMLObjectElement.cpp: Ditto.
1786         * html/HTMLOptionElement.cpp: Ditto.
1787         * html/HTMLParagraphElement.cpp: Ditto.
1788         * html/HTMLParamElement.cpp: Ditto.
1789         * html/HTMLPlugInElement.cpp: Ditto.
1790         * html/HTMLPreElement.cpp: Ditto.
1791         * html/HTMLScriptElement.cpp: Ditto.
1792         * html/HTMLSelectElement.cpp: Ditto.
1793         * html/HTMLStyleElement.cpp: Ditto.
1794         * html/HTMLTableCaptionElement.cpp: Ditto.
1795         * html/HTMLTableCellElement.cpp: Ditto.
1796         * html/HTMLTableColElement.cpp: Ditto.
1797         * html/HTMLTablePartElement.cpp: Ditto.
1798         * html/HTMLTextAreaElement.cpp: Ditto.
1799         * html/HTMLTokenizer.cpp: Ditto.
1800         * html/HTMLUListElement.cpp: Ditto.
1801         * html/HTMLVideoElement.cpp: Ditto.
1802         * html/HTMLViewSourceDocument.cpp: Ditto.
1803         * loader/ImageDocument.cpp: Ditto.
1804         * page/Frame.cpp: Ditto.
1805         * rendering/RenderTreeAsText.cpp: Ditto.
1806         * svg/SVGAElement.cpp: Ditto.
1807         * svg/SVGAnimateMotionElement.cpp: Ditto.
1808         * svg/SVGAnimateTransformElement.cpp: Ditto.
1809         * svg/SVGAnimationElement.cpp: Ditto.
1810         * svg/SVGCircleElement.cpp: Ditto.
1811         * svg/SVGClipPathElement.cpp: Ditto.
1812         * svg/SVGCursorElement.cpp: Ditto.
1813         * svg/SVGElement.cpp: Ditto.
1814         * svg/SVGEllipseElement.cpp: Ditto.
1815         * svg/SVGExternalResourcesRequired.cpp: Ditto.
1816         * svg/SVGFitToViewBox.cpp: Ditto.
1817         * svg/SVGFontFaceElement.cpp: Ditto.
1818         * svg/SVGFontFaceUriElement.cpp: Ditto.
1819         * svg/SVGForeignObjectElement.cpp: Ditto.
1820         * svg/SVGGlyphElement.cpp: Ditto.
1821         * svg/SVGGradientElement.cpp: Ditto.
1822         * svg/SVGImageElement.cpp: Ditto.
1823         * svg/SVGLangSpace.cpp: Ditto.
1824         * svg/SVGLineElement.cpp: Ditto.
1825         * svg/SVGLinearGradientElement.cpp: Ditto.
1826         * svg/SVGMarkerElement.cpp: Ditto.
1827         * svg/SVGMaskElement.cpp: Ditto.
1828         * svg/SVGPathElement.cpp: Ditto.
1829         * svg/SVGPatternElement.cpp: Ditto.
1830         * svg/SVGPolyElement.cpp: Ditto.
1831         * svg/SVGRadialGradientElement.cpp: Ditto.
1832         * svg/SVGRectElement.cpp: Ditto.
1833         * svg/SVGSVGElement.cpp: Ditto.
1834         * svg/SVGScriptElement.cpp: Ditto.
1835         * svg/SVGStopElement.cpp: Ditto.
1836         * svg/SVGStyleElement.cpp: Ditto.
1837         * svg/SVGStyledElement.cpp: Ditto.
1838         * svg/SVGStyledTransformableElement.cpp: Ditto.
1839         * svg/SVGTests.cpp: Ditto.
1840         * svg/SVGTextContentElement.cpp: Ditto.
1841         * svg/SVGTextElement.cpp: Ditto.
1842         * svg/SVGTextPathElement.cpp: Ditto.
1843         * svg/SVGTextPositioningElement.cpp: Ditto.
1844         * svg/SVGURIReference.cpp: Ditto.
1845         * svg/SVGUseElement.cpp: Ditto.
1846         * svg/SVGViewElement.cpp: Ditto.
1847         * svg/animation/SVGSMILElement.cpp: Ditto.
1848         * xml/XPathStep.cpp: Ditto.
1849
1850 2009-05-04  Pavel Feldman  <pfeldman@chromium.org>
1851
1852         Reviewed by Timothy Hatcher.
1853
1854         Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods.
1855         https://bugs.webkit.org/show_bug.cgi?id=25520
1856
1857         * inspector/front-end/inspector.js:
1858         (WebInspector.loaded):
1859
1860 2009-05-04  Brady Eidson <beidson@apple.com>
1861
1862         Reviewed by Darin Adler.
1863
1864         <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window
1865
1866         DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has 
1867         particularly sticky behavior.  
1868
1869         If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive.  However, we 
1870         prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded 
1871         from the WebArchive.
1872
1873         In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the 
1874         loading delegate machinery.  This was always a possibility, but the Preload Scanner made this significantly more likely.
1875
1876         When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an 
1877         ArchiveResource it has even if the CachedResource hasn't been loaded yet.  The CachedResource has nil data, so no
1878         WebResource is returned, and the client thinks the subresource doesn't exist even though it does.
1879
1880         This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix.
1881
1882         * loader/DocumentLoader.cpp:
1883         (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the
1884           ArchiveResource.
1885
1886 2009-05-04  Eric Carlson  <eric.carlson@apple.com>
1887
1888         Reviewed by Adam Roben.
1889         
1890         https://bugs.webkit.org/show_bug.cgi?id=25545
1891         Bug 25545: HTMLMediaElement: display anamorphic video correctly
1892         
1893         Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized
1894         and displayed correctly.
1895
1896         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1897         (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode.
1898         * platform/graphics/win/QTMovieWin.cpp:
1899         (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't 
1900         filled beyond capacity.
1901
1902 2009-05-03  Mark Rowe  <mrowe@apple.com>
1903
1904         Reviewed by Darin Adler.
1905
1906         Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>.
1907         Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load
1908
1909         Only the first plug-in in a PluginDocument can use the main resource data.  For all
1910         subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself
1911         out for the real Flash plug-in, we need to load the resource data in the same manner
1912         as for other embedded plug-ins.
1913
1914         * loader/FrameLoader.cpp:
1915         (WebCore::FrameLoader::loadPlugin):
1916
1917 2009-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
1918
1919         Rubber-stamped by Ariya Hidayat.
1920
1921         Update the qrc file for the Web Inspector in the Qt build
1922         with missing files.
1923
1924         * inspector/front-end/WebKit.qrc:
1925
1926 2009-05-03  Eric Seidel  <eric@webkit.org>
1927
1928         Reviewed by George Staikos.
1929
1930         Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage
1931         https://bugs.webkit.org/show_bug.cgi?id=25532
1932
1933         * rendering/RenderSVGInline.cpp:
1934         (WebCore::RenderSVGInline::absoluteRects):
1935         (WebCore::RenderSVGInline::absoluteQuads):
1936         * rendering/RenderSVGInline.h:
1937         * rendering/RenderSVGTSpan.cpp:
1938         * rendering/RenderSVGTSpan.h:
1939         * rendering/RenderSVGTextPath.cpp:
1940         * rendering/RenderSVGTextPath.h:
1941
1942 2009-05-03  Eric Seidel  <eric@webkit.org>
1943
1944         Reviewed by George Staikos.
1945
1946         Move RenderSVGText off of localToAbsolute()
1947         https://bugs.webkit.org/show_bug.cgi?id=25532
1948
1949         * rendering/RenderSVGText.cpp:
1950         (WebCore::RenderSVGText::absoluteRects):
1951         (WebCore::RenderSVGText::absoluteQuads):
1952
1953 2009-05-03  Eric Seidel  <eric@webkit.org>
1954
1955         Reviewed by George Staikos.
1956
1957         Remove broken absoluteTransform() code from RenderSVGInlineText
1958         https://bugs.webkit.org/show_bug.cgi?id=25532
1959
1960         This improved SVG text focus rings.
1961         This also improved SVG.getScreenCTM() results.
1962
1963         SVGSVGElement::getScreenCTM was passing "true" for the second argument in
1964         localToAbsolute, which is "fixed" it meant to pass "true" for the
1965         third argument (useTransforms).  That change alone caused no layout test changes, however
1966         before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer
1967
1968         mapLocalToContainer implementations really should be shared,
1969         but I'll do that in a later patch.
1970
1971         * rendering/RenderSVGInlineText.cpp:
1972         (WebCore::RenderSVGInlineText::styleDidChange):
1973         (WebCore::RenderSVGInlineText::absoluteQuads):
1974         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1975         (WebCore::RenderSVGInlineText::computeRepaintQuadForRange):
1976         * rendering/RenderSVGInlineText.h:
1977         * rendering/RenderSVGRoot.cpp:
1978         (WebCore::RenderSVGRoot::mapLocalToContainer):
1979         * rendering/RenderSVGRoot.h:
1980         * rendering/RenderSVGText.cpp:
1981         (WebCore::RenderSVGText::mapLocalToContainer):
1982         * rendering/RenderSVGText.h:
1983         * svg/SVGSVGElement.cpp:
1984         (WebCore::SVGSVGElement::getScreenCTM):
1985
1986 2009-05-03  Eric Seidel  <eric@webkit.org>
1987
1988         Reviewed by George Staikos.
1989
1990         Remove dead code from RenderPath
1991         https://bugs.webkit.org/show_bug.cgi?id=25532
1992
1993         * rendering/RenderPath.cpp:
1994         * rendering/RenderPath.h:
1995
1996 2009-05-03  Eric Seidel  <eric@webkit.org>
1997
1998         Reviewed by George Staikos.
1999
2000         Share layout code between RenderSVGViewportContainer and RenderSVGContainer
2001         https://bugs.webkit.org/show_bug.cgi?id=25532
2002
2003         * rendering/RenderSVGContainer.cpp:
2004         (WebCore::RenderSVGContainer::layout):
2005         * rendering/RenderSVGContainer.h:
2006         (WebCore::RenderSVGContainer::calcViewport):
2007         * rendering/RenderSVGViewportContainer.cpp:
2008         (WebCore::RenderSVGViewportContainer::applyViewportClip):
2009         * rendering/RenderSVGViewportContainer.h:
2010
2011 2009-05-03  Eric Seidel  <eric@webkit.org>
2012
2013         Reviewed by George Staikos.
2014
2015         Remove redundant disableLayoutState() calls
2016         https://bugs.webkit.org/show_bug.cgi?id=25532
2017
2018         * rendering/RenderForeignObject.cpp:
2019         (WebCore::RenderForeignObject::layout):
2020         * rendering/RenderSVGContainer.cpp:
2021         (WebCore::RenderSVGContainer::layout):
2022         * rendering/RenderSVGViewportContainer.cpp:
2023         (WebCore::RenderSVGViewportContainer::layout):
2024
2025 2009-05-03  Eric Seidel  <eric@webkit.org>
2026
2027         Reviewed by George Staikos.
2028
2029         Simplify RenderForeignObject::paint and fix a repaint bug.
2030         Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect.
2031         https://bugs.webkit.org/show_bug.cgi?id=16939
2032
2033         * rendering/RenderForeignObject.cpp:
2034         (WebCore::RenderForeignObject::paint):
2035
2036 2009-05-03  Hironori Bono  <hbono@chromium.org>
2037
2038         Reviewed by Eric Seidel.
2039
2040         Test: editing/spelling/spellcheck-attribute.html
2041
2042         Bug 14552: Add a way to disable spell checking for specific element
2043         https://bugs.webkit.org/show_bug.cgi?id=14552
2044
2045         For compatibility with Firefox, this code ascends the DOM tree when an element does
2046         not have its "spellcheck" attribute.
2047
2048         * editing/Editor.cpp:
2049         (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck"
2050         attribute of an element before calling a spell checker or a grammar checker.
2051         * html/HTMLAttributeNames.in: Add a "spellcheck" attribute.
2052
2053 2009-05-03  Sam Weinig  <sam@webkit.org>
2054
2055         Roll JSC API number marshaling back in one last time (I hope).
2056
2057 2009-05-03  Sam Weinig  <sam@webkit.org>
2058
2059         Roll JSC API number marshaling back out. It still breaks windows.
2060
2061 2009-05-03  Sam Weinig  <sam@webkit.org>
2062
2063         Roll JSC API number marshaling back in.
2064
2065 2009-05-02  Dan Bernstein  <mitz@apple.com>
2066
2067         Reviewed by Darin Adler.
2068
2069         - another fix for <rdar://problem/6617298> Typing delete on an unquoted
2070           blank line unquotes the preceding, quoted blank line
2071
2072         Test: editing/deleting/type-delete-after-quote-2.html
2073
2074         * editing/DeleteSelectionCommand.cpp:
2075         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize
2076         m_startsAtEmptyLine.
2077         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the
2078         selection starts at an empty line, do not prevent the merging of blocks.
2079         This is what allows the text after the line break to be merged into the
2080         block containing the line break. Also set m_startsAtEmptyLine to true.
2081         (WebCore::DeleteSelectionCommand::mergeParagraphs): If
2082         m_startsAtEmptyLine is true, create a placeholder BR to serve as the
2083         merge destination.
2084         * editing/DeleteSelectionCommand.h:
2085
2086 2009-05-02  Geoffrey Garen  <ggaren@apple.com>
2087
2088         Reviewed by Sam Weinig.
2089
2090         Simplified null-ish JSValues.
2091         
2092         Replaced calls to noValue() with calls to JSValue() (which is what
2093         noValue() returned). Removed noValue().
2094         
2095         Removed "JSValue()" initialiazers, since default construction happens...
2096         by default.
2097
2098         * bindings/js/JSDOMBinding.cpp:
2099         (WebCore::setDOMException):
2100         * bindings/js/JSDOMWindowCustom.cpp:
2101         (WebCore::JSDOMWindow::open):
2102         (WebCore::JSDOMWindow::showModalDialog):
2103         * bindings/js/JSEventListener.cpp:
2104         (WebCore::JSEventListener::handleEvent):
2105         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2106         (WebCore::JSJavaScriptCallFrame::evaluate):
2107         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2108         (WebCore::JSSQLResultSetRowList::item):
2109         * bindings/js/ScriptController.cpp:
2110         (WebCore::ScriptController::evaluate):
2111         * bindings/js/ScriptValue.h:
2112         (WebCore::ScriptValue::ScriptValue):
2113         (WebCore::ScriptValue::hasNoValue):
2114         * bindings/js/WorkerScriptController.cpp:
2115         (WebCore::WorkerScriptController::evaluate):
2116         * bridge/jni/jni_instance.cpp:
2117         (JavaInstance::invokeMethod):
2118         * bridge/jni/jni_runtime.cpp:
2119         (JavaField::dispatchValueFromInstance):
2120         (JavaField::dispatchSetValueToInstance):
2121         * bridge/runtime.h:
2122         (JSC::Bindings::Instance::invokeConstruct):
2123
2124 2009-05-02  Antti Koivisto  <antti@apple.com>
2125
2126         Reviewed by Dan Bernstein.
2127
2128         <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454)
2129         
2130         Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach().
2131
2132         * dom/ContainerNode.cpp:
2133         (WebCore::ContainerNode::suspendPostAttachCallbacks):
2134         (WebCore::ContainerNode::resumePostAttachCallbacks):
2135         (WebCore::ContainerNode::attach):
2136         * dom/Element.cpp:
2137         (WebCore::Element::attach):
2138         * loader/loader.cpp:
2139         (WebCore::Loader::Loader):
2140         (WebCore::Loader::servePendingRequests):
2141         (WebCore::Loader::suspendPendingRequests):
2142         (WebCore::Loader::resumePendingRequests):
2143         (WebCore::Loader::Host::servePendingRequests):
2144         * loader/loader.h:
2145         (WebCore::Loader::isSuspendingPendingRequests):
2146
2147 2009-05-02  Darin Adler  <darin@apple.com>
2148
2149         Reviewed by Dan Bernstein.
2150
2151         Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
2152         https://bugs.webkit.org/show_bug.cgi?id=25352
2153         rdar://problem/6823239
2154
2155         Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
2156
2157         * platform/network/HTTPParsers.cpp:
2158         (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator.
2159
2160 2009-05-02  Darin Adler  <darin@apple.com>
2161
2162         Reviewed by Brady Eidson.
2163
2164         Bug 25491: WebFrame leak when a subframe removes itself
2165         https://bugs.webkit.org/show_bug.cgi?id=25491
2166         rdar://problem/6833859
2167
2168         Test: fast/loading/subframe-removes-itself.html
2169
2170         * loader/FrameLoader.cpp:
2171         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true,
2172         treat load as complete, even if isLoadingInAPISense is still returning true.
2173
2174 2009-05-01  Sam Weinig  <sam@webkit.org>
2175
2176         Roll out JavaScriptCore API number marshaling.
2177
2178         * bindings/js/ScriptValue.cpp:
2179         (WebCore::ScriptValue::isEqual):
2180         * inspector/JavaScriptProfile.cpp:
2181         (WebCore::getHeadCallback):
2182         * inspector/JavaScriptProfileNode.cpp:
2183         (WebCore::getChildren):
2184         (WebCore::getParent):
2185         (WebCore::getHead):
2186
2187 2009-05-01  Sam Weinig  <sam@webkit.org>
2188
2189         Fix build.
2190
2191         * workers/WorkerContext.idl:
2192
2193 2009-05-01  Sam Weinig  <sam@webkit.org>
2194
2195         Reviewed by Oliver Hunt.
2196
2197         Cleanup workers code a bit.
2198
2199         * bindings/js/JSWorkerContextBase.cpp:
2200         (WebCore::toJS):
2201         * bindings/js/JSWorkerContextBase.h:
2202         * bindings/js/JSWorkerContextCustom.cpp:
2203         (WebCore::JSWorkerContext::customGetOwnPropertySlot):
2204         * workers/WorkerContext.h:
2205         (WebCore::WorkerContext::toWorkerContext):
2206         (WebCore::WorkerContext::self):
2207         (WebCore::WorkerContext::setOnmessage):
2208         (WebCore::WorkerContext::onmessage):
2209         * workers/WorkerContext.idl:
2210
2211 2009-05-01  Sam Weinig  <sam@webkit.org>
2212
2213         Reviewed by Darin Adler.
2214
2215         A little clean up.
2216
2217         * loader/FrameLoader.cpp:
2218         (WebCore::FrameLoader::createJavaAppletWidget):
2219
2220 2009-05-01  Sam Weinig  <sam@webkit.org>
2221
2222         Fix the build.
2223
2224         * bindings/js/ScriptValue.cpp:
2225         (WebCore::ScriptValue::isEqual):
2226         * inspector/JavaScriptProfile.cpp:
2227         (WebCore::getHeadCallback):
2228         * inspector/JavaScriptProfileNode.cpp:
2229         (WebCore::getChildren):
2230         (WebCore::getParent):
2231         (WebCore::getHead):
2232
2233 2009-05-01  Brady Eidson  <beidson@apple.com>
2234
2235         Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig
2236
2237         Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail
2238
2239         * bindings/objc/DOMHTML.mm:
2240         (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes.
2241
2242 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
2243
2244         Rubber Stamped by Sam Weinig.
2245         
2246         Renamed JSValuePtr => JSValue.
2247
2248         * bindings/js/JSAttrCustom.cpp:
2249         (WebCore::JSAttr::setValue):
2250         * bindings/js/JSCDATASectionCustom.cpp:
2251         (WebCore::toJSNewlyCreated):
2252         * bindings/js/JSCSSRuleCustom.cpp:
2253         (WebCore::toJS):
2254         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2255         (WebCore::JSCSSStyleDeclaration::nameGetter):
2256         (WebCore::JSCSSStyleDeclaration::customPut):
2257         * bindings/js/JSCSSValueCustom.cpp:
2258         (WebCore::toJS):
2259         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2260         (WebCore::toJS):
2261         (WebCore::toHTMLCanvasStyle):
2262         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2263         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2264         (WebCore::JSCanvasRenderingContext2D::fillStyle):
2265         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2266         (WebCore::JSCanvasRenderingContext2D::setFillColor):
2267         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2268         (WebCore::JSCanvasRenderingContext2D::strokeRect):
2269         (WebCore::JSCanvasRenderingContext2D::drawImage):
2270         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2271         (WebCore::JSCanvasRenderingContext2D::setShadow):
2272         (WebCore::JSCanvasRenderingContext2D::createPattern):
2273         (WebCore::JSCanvasRenderingContext2D::putImageData):
2274         (WebCore::JSCanvasRenderingContext2D::fillText):
2275         (WebCore::JSCanvasRenderingContext2D::strokeText):
2276         * bindings/js/JSClipboardCustom.cpp:
2277         (WebCore::JSClipboard::types):
2278         (WebCore::JSClipboard::clearData):
2279         (WebCore::JSClipboard::getData):
2280         (WebCore::JSClipboard::setData):
2281         (WebCore::JSClipboard::setDragImage):
2282         * bindings/js/JSConsoleCustom.cpp:
2283         (WebCore::JSConsole::profiles):
2284         * bindings/js/JSCoordinatesCustom.cpp:
2285         (WebCore::JSCoordinates::altitude):
2286         (WebCore::JSCoordinates::altitudeAccuracy):
2287         (WebCore::JSCoordinates::heading):
2288         (WebCore::JSCoordinates::speed):
2289         * bindings/js/JSCustomPositionCallback.cpp:
2290         (WebCore::JSCustomPositionCallback::handleEvent):
2291         * bindings/js/JSCustomPositionErrorCallback.cpp:
2292         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2293         * bindings/js/JSCustomSQLStatementCallback.cpp:
2294         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2295         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2296         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2297         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2298         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2299         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2300         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2301         * bindings/js/JSCustomVoidCallback.cpp:
2302         (WebCore::JSCustomVoidCallback::handleEvent):
2303         (WebCore::toVoidCallback):
2304         * bindings/js/JSCustomVoidCallback.h:
2305         * bindings/js/JSCustomXPathNSResolver.cpp:
2306         (WebCore::JSCustomXPathNSResolver::create):
2307         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2308         * bindings/js/JSCustomXPathNSResolver.h:
2309         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2310         (WebCore::JSDOMApplicationCache::hasItem):
2311         (WebCore::JSDOMApplicationCache::add):
2312         (WebCore::JSDOMApplicationCache::remove):
2313         (WebCore::JSDOMApplicationCache::addEventListener):
2314         (WebCore::JSDOMApplicationCache::removeEventListener):
2315         * bindings/js/JSDOMBinding.cpp:
2316         (WebCore::jsStringOrNull):
2317         (WebCore::jsOwnedStringOrNull):
2318         (WebCore::jsStringOrUndefined):
2319         (WebCore::jsStringOrFalse):
2320         (WebCore::valueToStringWithNullCheck):
2321         (WebCore::valueToStringWithUndefinedOrNullCheck):
2322         (WebCore::reportException):
2323         (WebCore::reportCurrentException):
2324         (WebCore::setDOMException):
2325         (WebCore::objectToStringFunctionGetter):
2326         * bindings/js/JSDOMBinding.h:
2327         (WebCore::getDOMObjectWrapper):
2328         (WebCore::getDOMNodeWrapper):
2329         (WebCore::toJS):
2330         * bindings/js/JSDOMGlobalObject.cpp:
2331         (WebCore::JSDOMGlobalObject::findJSEventListener):
2332         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
2333         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
2334         * bindings/js/JSDOMGlobalObject.h:
2335         * bindings/js/JSDOMStringListCustom.cpp:
2336         (WebCore::JSDOMStringList::getByIndex):
2337         (WebCore::JSDOMStringList::item):
2338         * bindings/js/JSDOMWindowBase.cpp:
2339         (WebCore::JSDOMWindowBase::childFrameGetter):
2340         (WebCore::JSDOMWindowBase::indexGetter):
2341         (WebCore::JSDOMWindowBase::namedItemGetter):
2342         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2343         (WebCore::JSDOMWindowBase::put):
2344         (WebCore::JSDOMWindowBase::setReturnValueSlot):
2345         (WebCore::toJS):
2346         (WebCore::toJSDOMWindow):
2347         * bindings/js/JSDOMWindowBase.h:
2348         * bindings/js/JSDOMWindowCustom.cpp:
2349         (WebCore::JSDOMWindow::lookupGetter):
2350         (WebCore::JSDOMWindow::lookupSetter):
2351         (WebCore::JSDOMWindow::history):
2352         (WebCore::JSDOMWindow::location):
2353         (WebCore::JSDOMWindow::setLocation):
2354         (WebCore::JSDOMWindow::crypto):
2355         (WebCore::JSDOMWindow::event):
2356         (WebCore::JSDOMWindow::image):
2357         (WebCore::JSDOMWindow::option):
2358         (WebCore::JSDOMWindow::audio):
2359         (WebCore::JSDOMWindow::webKitPoint):
2360         (WebCore::JSDOMWindow::webKitCSSMatrix):
2361         (WebCore::JSDOMWindow::xmlHttpRequest):
2362         (WebCore::JSDOMWindow::xsltProcessor):
2363         (WebCore::JSDOMWindow::messageChannel):
2364         (WebCore::JSDOMWindow::worker):
2365         (WebCore::createWindow):
2366         (WebCore::JSDOMWindow::open):
2367         (WebCore::JSDOMWindow::showModalDialog):
2368         (WebCore::JSDOMWindow::postMessage):
2369         (WebCore::JSDOMWindow::setTimeout):
2370         (WebCore::JSDOMWindow::setInterval):
2371         (WebCore::JSDOMWindow::atob):
2372         (WebCore::JSDOMWindow::btoa):
2373         (WebCore::JSDOMWindow::addEventListener):
2374         (WebCore::JSDOMWindow::removeEventListener):
2375         (WebCore::toDOMWindow):
2376         * bindings/js/JSDOMWindowCustom.h:
2377         (WebCore::nonCachingStaticFunctionGetter):
2378         (WebCore::JSDOMWindow::customPut):
2379         * bindings/js/JSDOMWindowShell.cpp:
2380         (WebCore::JSDOMWindowShell::put):
2381         (WebCore::JSDOMWindowShell::putWithAttributes):
2382         (WebCore::JSDOMWindowShell::lookupGetter):
2383         (WebCore::JSDOMWindowShell::lookupSetter):
2384         (WebCore::toJS):
2385         * bindings/js/JSDOMWindowShell.h:
2386         (WebCore::JSDOMWindowShell::createStructure):
2387         * bindings/js/JSDatabaseCustom.cpp:
2388         (WebCore::JSDatabase::changeVersion):
2389         (WebCore::JSDatabase::transaction):
2390         * bindings/js/JSDocumentCustom.cpp:
2391         (WebCore::JSDocument::location):
2392         (WebCore::JSDocument::setLocation):
2393         (WebCore::toJS):
2394         * bindings/js/JSElementCustom.cpp:
2395         (WebCore::JSElement::setAttribute):
2396         (WebCore::JSElement::setAttributeNode):
2397         (WebCore::JSElement::setAttributeNS):
2398         (WebCore::JSElement::setAttributeNodeNS):
2399         (WebCore::toJSNewlyCreated):
2400         * bindings/js/JSEventCustom.cpp:
2401         (WebCore::JSEvent::clipboardData):
2402         (WebCore::toJS):
2403         * bindings/js/JSEventListener.cpp:
2404         (WebCore::JSEventListener::handleEvent):
2405         * bindings/js/JSEventTarget.cpp:
2406         (WebCore::toJS):
2407         (WebCore::toEventTarget):
2408         * bindings/js/JSEventTarget.h:
2409         * bindings/js/JSEventTargetBase.h:
2410         * bindings/js/JSGeolocationCustom.cpp:
2411         (WebCore::createPositionOptions):
2412         (WebCore::JSGeolocation::getCurrentPosition):
2413         (WebCore::JSGeolocation::watchPosition):
2414         * bindings/js/JSHTMLAllCollection.h:
2415         (WebCore::JSHTMLAllCollection::createStructure):
2416         * bindings/js/JSHTMLAppletElementCustom.cpp:
2417         (WebCore::JSHTMLAppletElement::customPut):
2418         (WebCore::JSHTMLAppletElement::nameGetter):
2419         * bindings/js/JSHTMLCollectionCustom.cpp:
2420         (WebCore::getNamedItems):
2421         (WebCore::callHTMLCollection):
2422         (WebCore::JSHTMLCollection::nameGetter):
2423         (WebCore::JSHTMLCollection::item):
2424         (WebCore::JSHTMLCollection::namedItem):
2425         (WebCore::toJS):
2426         * bindings/js/JSHTMLDocumentCustom.cpp:
2427         (WebCore::JSHTMLDocument::nameGetter):
2428         (WebCore::JSHTMLDocument::all):
2429         (WebCore::JSHTMLDocument::setAll):
2430         (WebCore::JSHTMLDocument::open):
2431         (WebCore::JSHTMLDocument::write):
2432         (WebCore::JSHTMLDocument::writeln):
2433         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2434         (WebCore::JSHTMLEmbedElement::customPut):
2435         (WebCore::JSHTMLEmbedElement::nameGetter):
2436         * bindings/js/JSHTMLFormElementCustom.cpp:
2437         (WebCore::JSHTMLFormElement::nameGetter):
2438         (WebCore::JSHTMLFormElement::submit):
2439         * bindings/js/JSHTMLFrameElementCustom.cpp:
2440         (WebCore::JSHTMLFrameElement::setSrc):
2441         (WebCore::JSHTMLFrameElement::setLocation):
2442         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2443         (WebCore::JSHTMLFrameSetElement::nameGetter):
2444         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2445         (WebCore::JSHTMLIFrameElement::setSrc):
2446         * bindings/js/JSHTMLInputElementCustom.cpp:
2447         (WebCore::JSHTMLInputElement::selectionStart):
2448         (WebCore::JSHTMLInputElement::setSelectionStart):
2449         (WebCore::JSHTMLInputElement::selectionEnd):
2450         (WebCore::JSHTMLInputElement::setSelectionEnd):
2451         (WebCore::JSHTMLInputElement::setSelectionRange):
2452         * bindings/js/JSHTMLObjectElementCustom.cpp:
2453         (WebCore::JSHTMLObjectElement::customPut):
2454         (WebCore::JSHTMLObjectElement::nameGetter):
2455         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2456         (WebCore::JSHTMLOptionsCollection::length):
2457         (WebCore::JSHTMLOptionsCollection::setLength):
2458         (WebCore::JSHTMLOptionsCollection::indexSetter):
2459         (WebCore::JSHTMLOptionsCollection::add):
2460         (WebCore::JSHTMLOptionsCollection::remove):
2461         * bindings/js/JSHTMLSelectElementCustom.cpp:
2462         (WebCore::JSHTMLSelectElement::remove):
2463         (WebCore::selectIndexSetter):
2464         (WebCore::JSHTMLSelectElement::indexSetter):
2465         * bindings/js/JSHTMLSelectElementCustom.h:
2466         * bindings/js/JSHistoryCustom.cpp:
2467         (WebCore::nonCachingStaticBackFunctionGetter):
2468         (WebCore::nonCachingStaticForwardFunctionGetter):
2469         (WebCore::nonCachingStaticGoFunctionGetter):
2470         (WebCore::JSHistory::customPut):
2471         * bindings/js/JSImageDataCustom.cpp:
2472         (WebCore::toJS):
2473         * bindings/js/JSInspectedObjectWrapper.cpp:
2474         (WebCore::JSInspectedObjectWrapper::wrap):
2475         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
2476         * bindings/js/JSInspectedObjectWrapper.h:
2477         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
2478         * bindings/js/JSInspectorCallbackWrapper.cpp:
2479         (WebCore::JSInspectorCallbackWrapper::wrap):
2480         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
2481         * bindings/js/JSInspectorCallbackWrapper.h:
2482         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
2483         * bindings/js/JSInspectorControllerCustom.cpp:
2484         (WebCore::JSInspectorController::highlightDOMNode):
2485         (WebCore::JSInspectorController::addResourceSourceToFrame):
2486         (WebCore::JSInspectorController::addSourceToFrame):
2487         (WebCore::JSInspectorController::getResourceDocumentNode):
2488         (WebCore::JSInspectorController::search):
2489         (WebCore::JSInspectorController::databaseTableNames):
2490         (WebCore::JSInspectorController::inspectedWindow):
2491         (WebCore::JSInspectorController::setting):
2492         (WebCore::JSInspectorController::setSetting):
2493         (WebCore::JSInspectorController::wrapCallback):
2494         (WebCore::JSInspectorController::currentCallFrame):
2495         (WebCore::JSInspectorController::profiles):
2496         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2497         (WebCore::JSJavaScriptCallFrame::evaluate):
2498         (WebCore::JSJavaScriptCallFrame::thisObject):
2499         (WebCore::JSJavaScriptCallFrame::type):
2500         (WebCore::JSJavaScriptCallFrame::scopeChain):
2501         * bindings/js/JSLazyEventListener.cpp:
2502         (WebCore::JSLazyEventListener::parseCode):
2503         * bindings/js/JSLocationCustom.cpp:
2504         (WebCore::nonCachingStaticReplaceFunctionGetter):
2505         (WebCore::nonCachingStaticReloadFunctionGetter):
2506         (WebCore::nonCachingStaticAssignFunctionGetter):
2507         (WebCore::JSLocation::customPut):
2508         (WebCore::JSLocation::setHref):
2509         (WebCore::JSLocation::setProtocol):
2510         (WebCore::JSLocation::setHost):
2511         (WebCore::JSLocation::setHostname):
2512         (WebCore::JSLocation::setPort):
2513         (WebCore::JSLocation::setPathname):
2514         (WebCore::JSLocation::setSearch):
2515         (WebCore::JSLocation::setHash):
2516         (WebCore::JSLocation::replace):
2517         (WebCore::JSLocation::reload):
2518         (WebCore::JSLocation::assign):
2519         (WebCore::JSLocation::toString):
2520         (WebCore::JSLocationPrototype::customPut):
2521         * bindings/js/JSMessagePortCustom.cpp:
2522         (WebCore::JSMessagePort::startConversation):
2523         (WebCore::JSMessagePort::addEventListener):
2524         (WebCore::JSMessagePort::removeEventListener):
2525         * bindings/js/JSMimeTypeArrayCustom.cpp:
2526         (WebCore::JSMimeTypeArray::nameGetter):
2527         * bindings/js/JSNamedNodeMapCustom.cpp:
2528         (WebCore::JSNamedNodeMap::nameGetter):
2529         * bindings/js/JSNamedNodesCollection.cpp:
2530         (WebCore::JSNamedNodesCollection::lengthGetter):
2531         (WebCore::JSNamedNodesCollection::indexGetter):
2532         * bindings/js/JSNamedNodesCollection.h:
2533         (WebCore::JSNamedNodesCollection::createStructure):
2534         * bindings/js/JSNavigatorCustom.cpp:
2535         (WebCore::needsYouTubeQuirk):
2536         (WebCore::JSNavigator::appVersion):
2537         * bindings/js/JSNodeCustom.cpp:
2538         (WebCore::JSNode::insertBefore):
2539         (WebCore::JSNode::replaceChild):
2540         (WebCore::JSNode::removeChild):
2541         (WebCore::JSNode::appendChild):
2542         (WebCore::JSNode::addEventListener):
2543         (WebCore::JSNode::removeEventListener):
2544         (WebCore::createWrapper):
2545         (WebCore::toJSNewlyCreated):
2546         (WebCore::toJS):
2547         * bindings/js/JSNodeFilterCondition.cpp:
2548         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2549         (WebCore::JSNodeFilterCondition::acceptNode):
2550         * bindings/js/JSNodeFilterCondition.h:
2551         (WebCore::JSNodeFilterCondition::create):
2552         * bindings/js/JSNodeFilterCustom.cpp:
2553         (WebCore::JSNodeFilter::acceptNode):
2554         (WebCore::toNodeFilter):
2555         * bindings/js/JSNodeIteratorCustom.cpp:
2556         (WebCore::JSNodeIterator::nextNode):
2557         (WebCore::JSNodeIterator::previousNode):
2558         * bindings/js/JSNodeListCustom.cpp:
2559         (WebCore::callNodeList):
2560         (WebCore::JSNodeList::nameGetter):
2561         * bindings/js/JSPluginArrayCustom.cpp:
2562         (WebCore::JSPluginArray::nameGetter):
2563         * bindings/js/JSPluginCustom.cpp:
2564         (WebCore::JSPlugin::nameGetter):
2565         * bindings/js/JSPluginElementFunctions.cpp:
2566         (WebCore::runtimeObjectGetter):
2567         (WebCore::runtimeObjectPropertyGetter):
2568         (WebCore::runtimeObjectCustomPut):
2569         (WebCore::callPlugin):
2570         * bindings/js/JSPluginElementFunctions.h:
2571         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2572         (WebCore::JSQuarantinedObjectWrapper::asWrapper):
2573         (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
2574         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
2575         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
2576         (WebCore::JSQuarantinedObjectWrapper::put):
2577         (WebCore::JSQuarantinedObjectWrapper::construct):
2578         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
2579         (WebCore::JSQuarantinedObjectWrapper::call):
2580         * bindings/js/JSQuarantinedObjectWrapper.h:
2581         (WebCore::JSQuarantinedObjectWrapper::createStructure):
2582         * bindings/js/JSRGBColor.cpp:
2583         (WebCore::getJSRGBColor):
2584         (jsRGBColorRed):
2585         (jsRGBColorGreen):
2586         (jsRGBColorBlue):
2587         * bindings/js/JSRGBColor.h:
2588         (WebCore::JSRGBColor::createStructure):
2589         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2590         (WebCore::JSSQLResultSetRowList::item):
2591         * bindings/js/JSSQLTransactionCustom.cpp:
2592         (WebCore::JSSQLTransaction::executeSql):
2593         * bindings/js/JSSVGElementInstanceCustom.cpp:
2594         (WebCore::JSSVGElementInstance::addEventListener):
2595         (WebCore::JSSVGElementInstance::removeEventListener):
2596         (WebCore::toJS):
2597         * bindings/js/JSSVGLengthCustom.cpp:
2598         (WebCore::JSSVGLength::value):
2599         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2600         * bindings/js/JSSVGMatrixCustom.cpp:
2601         (WebCore::JSSVGMatrix::inverse):
2602         (WebCore::JSSVGMatrix::rotateFromVector):
2603         * bindings/js/JSSVGPathSegCustom.cpp:
2604         (WebCore::toJS):
2605         * bindings/js/JSSVGPathSegListCustom.cpp:
2606         (WebCore::JSSVGPathSegList::clear):
2607         (WebCore::JSSVGPathSegList::initialize):
2608         (WebCore::JSSVGPathSegList::getItem):
2609         (WebCore::JSSVGPathSegList::insertItemBefore):
2610         (WebCore::JSSVGPathSegList::replaceItem):
2611         (WebCore::JSSVGPathSegList::removeItem):
2612         (WebCore::JSSVGPathSegList::appendItem):
2613         * bindings/js/JSSVGPointListCustom.cpp:
2614         (WebCore::finishGetter):
2615         (WebCore::finishSetter):
2616         (WebCore::finishSetterReadOnlyResult):
2617         (WebCore::JSSVGPointList::clear):
2618         (WebCore::JSSVGPointList::initialize):
2619         (WebCore::JSSVGPointList::getItem):
2620         (WebCore::JSSVGPointList::insertItemBefore):
2621         (WebCore::JSSVGPointList::replaceItem):
2622         (WebCore::JSSVGPointList::removeItem):
2623         (WebCore::JSSVGPointList::appendItem):
2624         * bindings/js/JSSVGTransformListCustom.cpp:
2625         (WebCore::finishGetter):
2626         (WebCore::finishSetter):
2627         (WebCore::finishSetterReadOnlyResult):
2628         (WebCore::JSSVGTransformList::clear):
2629         (WebCore::JSSVGTransformList::initialize):
2630         (WebCore::JSSVGTransformList::getItem):
2631         (WebCore::JSSVGTransformList::insertItemBefore):
2632         (WebCore::JSSVGTransformList::replaceItem):
2633         (WebCore::JSSVGTransformList::removeItem):
2634         (WebCore::JSSVGTransformList::appendItem):
2635         * bindings/js/JSStorageCustom.cpp:
2636         (WebCore::JSStorage::nameGetter):
2637         (WebCore::JSStorage::deleteProperty):
2638         (WebCore::JSStorage::customPut):
2639         * bindings/js/JSStyleSheetCustom.cpp:
2640         (WebCore::toJS):
2641         * bindings/js/JSStyleSheetListCustom.cpp:
2642         (WebCore::JSStyleSheetList::nameGetter):
2643         * bindings/js/JSTextCustom.cpp:
2644         (WebCore::toJSNewlyCreated):
2645         * bindings/js/JSTreeWalkerCustom.cpp:
2646         (WebCore::JSTreeWalker::parentNode):
2647         (WebCore::JSTreeWalker::firstChild):
2648         (WebCore::JSTreeWalker::lastChild):
2649         (WebCore::JSTreeWalker::nextSibling):
2650         (WebCore::JSTreeWalker::previousSibling):
2651         (WebCore::JSTreeWalker::previousNode):
2652         (WebCore::JSTreeWalker::nextNode):
2653         * bindings/js/JSWorkerContextCustom.cpp:
2654         (WebCore::JSWorkerContext::self):
2655         (WebCore::JSWorkerContext::setSelf):
2656         (WebCore::JSWorkerContext::xmlHttpRequest):
2657         (WebCore::JSWorkerContext::importScripts):
2658         (WebCore::JSWorkerContext::addEventListener):
2659         (WebCore::JSWorkerContext::removeEventListener):
2660         (WebCore::JSWorkerContext::setTimeout):
2661         (WebCore::JSWorkerContext::setInterval):
2662         * bindings/js/JSWorkerCustom.cpp:
2663         (WebCore::JSWorker::addEventListener):
2664         (WebCore::JSWorker::removeEventListener):
2665         * bindings/js/JSXMLHttpRequestCustom.cpp:
2666         (WebCore::JSXMLHttpRequest::open):
2667         (WebCore::JSXMLHttpRequest::setRequestHeader):
2668         (WebCore::JSXMLHttpRequest::send):
2669         (WebCore::JSXMLHttpRequest::getResponseHeader):
2670         (WebCore::JSXMLHttpRequest::overrideMimeType):
2671         (WebCore::JSXMLHttpRequest::addEventListener):
2672         (WebCore::JSXMLHttpRequest::removeEventListener):
2673         (WebCore::JSXMLHttpRequest::responseText):
2674         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2675         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2676         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2677         * bindings/js/JSXSLTProcessorCustom.cpp:
2678         (WebCore::JSXSLTProcessor::importStylesheet):
2679         (WebCore::JSXSLTProcessor::transformToFragment):
2680         (WebCore::JSXSLTProcessor::transformToDocument):
2681         (WebCore::JSXSLTProcessor::setParameter):
2682         (WebCore::JSXSLTProcessor::getParameter):
2683         (WebCore::JSXSLTProcessor::removeParameter):
2684         * bindings/js/ScheduledAction.cpp:
2685         (WebCore::ScheduledAction::create):
2686         (WebCore::ScheduledAction::ScheduledAction):
2687         (WebCore::ScheduledAction::executeFunctionInContext):
2688         * bindings/js/ScheduledAction.h:
2689         * bindings/js/ScriptCallStack.cpp:
2690         (WebCore::ScriptCallStack::ScriptCallStack):
2691         (WebCore::ScriptCallStack::initialize):
2692         * bindings/js/ScriptCallStack.h:
2693         * bindings/js/ScriptController.cpp:
2694         (WebCore::ScriptController::jsObjectForPluginElement):
2695         * bindings/js/ScriptFunctionCall.cpp:
2696         (WebCore::ScriptFunctionCall::appendArgument):
2697         (WebCore::ScriptFunctionCall::call):
2698         (WebCore::ScriptFunctionCall::construct):
2699         * bindings/js/ScriptFunctionCall.h:
2700         * bindings/js/ScriptObject.cpp:
2701         (WebCore::ScriptGlobalObject::get):
2702         * bindings/js/ScriptValue.h:
2703         (WebCore::ScriptValue::ScriptValue):
2704         (WebCore::ScriptValue::jsValue):
2705         * bindings/objc/WebScriptObject.mm:
2706         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2707         (-[WebScriptObject evaluateWebScript:]):
2708         (-[WebScriptObject valueForKey:]):
2709         (-[WebScriptObject webScriptValueAtIndex:]):
2710         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2711         * bindings/objc/WebScriptObjectPrivate.h:
2712         * bridge/NP_jsobject.cpp:
2713         (_NPN_InvokeDefault):
2714         (_NPN_Invoke):
2715         (_NPN_Evaluate):
2716         (_NPN_GetProperty):
2717         (_NPN_HasMethod):
2718         (_NPN_Construct):
2719         * bridge/c/c_instance.cpp:
2720         (JSC::Bindings::CInstance::invokeMethod):
2721         (JSC::Bindings::CInstance::invokeDefaultMethod):
2722         (JSC::Bindings::CInstance::invokeConstruct):
2723         (JSC::Bindings::CInstance::defaultValue):
2724         (JSC::Bindings::CInstance::stringValue):
2725         (JSC::Bindings::CInstance::numberValue):
2726         (JSC::Bindings::CInstance::booleanValue):
2727         (JSC::Bindings::CInstance::valueOf):
2728         * bridge/c/c_instance.h:
2729         * bridge/c/c_runtime.cpp:
2730         (JSC::Bindings::CField::valueFromInstance):
2731         (JSC::Bindings::CField::setValueToInstance):
2732         * bridge/c/c_runtime.h:
2733         * bridge/c/c_utility.cpp:
2734         (JSC::Bindings::convertValueToNPVariant):
2735         (JSC::Bindings::convertNPVariantToValue):
2736         * bridge/c/c_utility.h:
2737         * bridge/jni/jni_instance.cpp:
2738         (JavaInstance::stringValue):
2739         (JavaInstance::numberValue):
2740         (JavaInstance::booleanValue):
2741         (JavaInstance::invokeMethod):
2742         (JavaInstance::defaultValue):
2743         (JavaInstance::valueOf):
2744         * bridge/jni/jni_instance.h:
2745         * bridge/jni/jni_jsobject.h:
2746         * bridge/jni/jni_jsobject.mm:
2747         (JavaJSObject::call):
2748         (JavaJSObject::eval):
2749         (JavaJSObject::getMember):
2750         (JavaJSObject::getSlot):
2751         (JavaJSObject::convertValueToJObject):
2752         (JavaJSObject::convertJObjectToValue):
2753         * bridge/jni/jni_objc.mm:
2754         (JSC::Bindings::dispatchJNICall):
2755         * bridge/jni/jni_runtime.cpp:
2756         (JavaArray::convertJObjectToArray):
2757         (JavaField::dispatchValueFromInstance):
2758         (JavaField::valueFromInstance):
2759         (JavaField::dispatchSetValueToInstance):
2760         (JavaField::setValueToInstance):
2761         (JavaArray::setValueAt):
2762         (JavaArray::valueAt):
2763         * bridge/jni/jni_runtime.h:
2764         * bridge/jni/jni_utility.cpp:
2765         (JSC::Bindings::convertArrayInstanceToJavaArray):
2766         (JSC::Bindings::convertValueToJValue):
2767         * bridge/jni/jni_utility.h:
2768         * bridge/objc/WebScriptObject.h:
2769         * bridge/objc/objc_class.h:
2770         * bridge/objc/objc_class.mm:
2771         (JSC::Bindings::ObjcClass::fallbackObject):
2772         * bridge/objc/objc_instance.h:
2773         * bridge/objc/objc_instance.mm:
2774         (ObjcInstance::invokeMethod):
2775         (ObjcInstance::invokeDefaultMethod):
2776         (ObjcInstance::setValueOfUndefinedField):
2777         (ObjcInstance::getValueOfUndefinedField):
2778         (ObjcInstance::defaultValue):
2779         (ObjcInstance::stringValue):
2780         (ObjcInstance::numberValue):
2781         (ObjcInstance::booleanValue):
2782         (ObjcInstance::valueOf):
2783         * bridge/objc/objc_runtime.h:
2784         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2785         * bridge/objc/objc_runtime.mm:
2786         (JSC::Bindings::ObjcField::valueFromInstance):
2787         (JSC::Bindings::convertValueToObjcObject):
2788         (JSC::Bindings::ObjcField::setValueToInstance):
2789         (JSC::Bindings::ObjcArray::setValueAt):
2790         (JSC::Bindings::ObjcArray::valueAt):
2791         (JSC::Bindings::ObjcFallbackObjectImp::put):
2792         (JSC::Bindings::callObjCFallbackObject):
2793         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
2794         * bridge/objc/objc_utility.h:
2795         * bridge/objc/objc_utility.mm:
2796         (JSC::Bindings::convertValueToObjcValue):
2797         (JSC::Bindings::convertNSStringToString):
2798         (JSC::Bindings::convertObjcValueToValue):
2799         * bridge/runtime.h:
2800         (JSC::Bindings::Class::fallbackObject):
2801         (JSC::Bindings::Instance::setValueOfUndefinedField):
2802         (JSC::Bindings::Instance::invokeDefaultMethod):
2803         (JSC::Bindings::Instance::invokeConstruct):
2804         (JSC::Bindings::Instance::put):
2805         * bridge/runtime_array.cpp:
2806         (JSC::RuntimeArray::lengthGetter):
2807         (JSC::RuntimeArray::indexGetter):
2808         (JSC::RuntimeArray::put):
2809         * bridge/runtime_array.h:
2810         (JSC::RuntimeArray::createStructure):
2811         * bridge/runtime_method.cpp:
2812         (JSC::RuntimeMethod::lengthGetter):
2813         (JSC::callRuntimeMethod):
2814         * bridge/runtime_method.h:
2815         (JSC::RuntimeMethod::createStructure):
2816         * bridge/runtime_object.cpp:
2817         (JSC::RuntimeObjectImp::fallbackObjectGetter):
2818         (JSC::RuntimeObjectImp::fieldGetter):
2819         (JSC::RuntimeObjectImp::methodGetter):
2820         (JSC::RuntimeObjectImp::put):
2821         (JSC::RuntimeObjectImp::defaultValue):
2822         (JSC::callRuntimeObject):
2823         (JSC::callRuntimeConstructor):
2824         * bridge/runtime_object.h:
2825         (JSC::RuntimeObjectImp::createStructure):
2826         * inspector/JavaScriptCallFrame.cpp:
2827         (WebCore::JavaScriptCallFrame::evaluate):
2828         * inspector/JavaScriptCallFrame.h:
2829         * inspector/JavaScriptProfile.cpp:
2830         (WebCore::toJS):
2831         * inspector/JavaScriptProfile.h:
2832         * inspector/JavaScriptProfileNode.cpp:
2833         (WebCore::toJS):
2834         * inspector/JavaScriptProfileNode.h:
2835
2836 2009-05-01  Dimitri Glazkov  <dglazkov@chromium.org>
2837
2838         Reviewed by Eric Seidel.
2839
2840         https://bugs.webkit.org/show_bug.cgi?id=25485
2841         Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052,
2842         which broke Chromium build.
2843
2844         * css/CSSStyleSelector.cpp:
2845         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to
2846             provide separate code paths for Qt and non-Qt ports. Also restored original
2847             order of execution.
2848
2849 2009-05-01  Anders Carlsson  <andersca@apple.com>
2850
2851         Reviewed by Adele Peterson.
2852
2853         <rdar://problem/6839222>
2854         CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader
2855         
2856         After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case,
2857         return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen
2858         which is why I've added the ASSERT.
2859         
2860         * loader/SubresourceLoader.cpp:
2861         (WebCore::SubresourceLoader::didCancel):
2862
2863 2009-05-01  Timothy Hatcher  <timothy@apple.com>
2864
2865         Disallow the deletion UI for elements that have any overflow clipping.
2866         Also disallow the UI for the body element it isn't practical to delete,
2867         and the deletion UI would be clipped.
2868
2869         <rdar://problem/6840161> Deletion UI can be clipped by some
2870         elements (with overflow: hidden)
2871
2872         Reviewed by Darin Adler.
2873
2874         * editing/DeleteButtonController.cpp:
2875         (WebCore::isDeletableElement):
2876
2877 2009-05-01  Timothy Hatcher  <timothy@apple.com>
2878
2879         Decrease the minimum height for deleteable elements to 16px, and increase the
2880         minimum width to 48px. This allows deleting shorter items like navigation bars.
2881
2882         <rdar://problem/6840735> Deletion UI does not show up for short
2883         elements (22px or less)
2884
2885         Reviewed by Adele Peterson.
2886
2887         * editing/DeleteButtonController.cpp:
2888         (WebCore::isDeletableElement):
2889
2890 2009-05-01  Timothy Hatcher  <timothy@apple.com>
2891
2892         Clean up the comments and logic in the code for picking a
2893         deleteable element for the deletion UI.
2894
2895         Reviewed by Adele Peterson.
2896
2897         * editing/DeleteButtonController.cpp:
2898         (WebCore::isDeletableElement):
2899
2900 2009-05-01  Kevin McCullough  <kmccullough@apple.com>
2901
2902         Reviewed by Adele Peterson and Darin Adler.
2903
2904         <rdar://problem/4815598> Stuck in double spacing mode after pasting a
2905         paragraph with padding/margin (or table mode !)
2906
2907         A lot of the issues in this bug were resolved on Mail's side by using
2908         WebKit to convert to plain text.  This is the final issue, that floating
2909         style stays on copied nodes causing them to float when they are pasted
2910         which is not what the user intended.
2911
2912         * editing/markup.cpp:
2913         (WebCore::removeExteriorStyles):
2914         (WebCore::):
2915         (WebCore::appendStartMarkup):
2916         (WebCore::getStartMarkup):
2917         (WebCore::createMarkup):
2918
2919 2009-05-01  Pavel Feldman  <pfeldman@chromium.org>
2920
2921         Reviewed by Timothy Hatcher.
2922
2923         Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
2924         This is the only resource-related information that is available in InspectorController
2925         and is missing in the FrameLoaderClient.
2926
2927         https://bugs.webkit.org/show_bug.cgi?id=25347
2928
2929         * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private.
2930         * dom/Document.cpp: Made a call to a client along with the call to the InspectorController.
2931         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2932         * loader/EmptyClients.h: Added stub implementation.
2933         (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
2934         * loader/FrameLoader.cpp: Call initiating dispatches.
2935         (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest):
2936         * loader/FrameLoader.h:
2937         * loader/FrameLoaderClient.h:
2938
2939 2009-04-30  Beth Dakin  <bdakin@apple.com>
2940
2941         Reviewed by Oliver Hunt.
2942
2943         Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting 
2944         To Do's in a Mail note (excessive recursion in mouse drag tracking)
2945
2946         Oliver's recent change to dragging seems to have revealed a long-
2947         time bug in passSubframeEventToSubframe where we did not set 
2948         m_sendingEventToSubview to true before calling 
2949         handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes 
2950         that and adds ASSERTions around all of the places where 
2951         m_sendingEventToSubview is set to true and then false to make sure 
2952         we are not trampling its state.
2953
2954         * page/mac/EventHandlerMac.mm:
2955         (WebCore::EventHandler::eventLoopHandleMouseDragged):
2956         (WebCore::EventHandler::eventLoopHandleMouseUp):
2957         (WebCore::EventHandler::passSubframeEventToSubframe):
2958         (WebCore::EventHandler::passWheelEventToWidget):
2959
2960 2009-04-30  Eric Carlson  <eric.carlson@apple.com>
2961
2962         Reviewed by Simon Fraser.
2963         
2964         MediaDocument falls back to plug-in unnecessarily
2965         https://bugs.webkit.org/show_bug.cgi?id=25504
2966         <rdar://problem/6844702>
2967         
2968         Don't allow harmless media types to cause a MediaDocument to fall
2969         back to PluginDocument.
2970
2971         Test: media/video-document-types.html
2972
2973         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2974         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64,
2975         odsm, and sdsm to allowed track types.
2976
2977         * platform/graphics/win/QTMovieWin.cpp:
2978         (QTMovieWin::disableUnsupportedTracks): Ditto.
2979
2980 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
2981
2982         Reviewed by Eric Seidel.
2983
2984         Add CHROMIUM guard to unfork Document.cpp
2985
2986         * dom/Document.cpp:
2987         (WebCore::Document::setFocusedNode): Added guard.
2988
2989 2009-04-30  David Kilzer  <ddkilzer@apple.com>
2990
2991         Use OwnPtr<HTMLParserQuirks> for m_parserQuirks
2992
2993         Reviewed by Geoff Garen.
2994
2995         * html/HTMLParser.cpp:
2996         (WebCore::HTMLParser::~HTMLParser): Removed unneeded code.
2997         * html/HTMLParser.h: Made m_parserQuirks an OwnPtr.
2998
2999 2009-04-30  David Kilzer  <ddkilzer@apple.com>
3000
3001         Provide a mechanism to create a quirks delegate for HTMLParser
3002
3003         Reviewed by David Hyatt.
3004
3005         No tests since there is no change in behavior.
3006
3007         HTMLParserQuirks.h defines an abstract base class that may be
3008         extended as needed.  The ChromeClient::createHTMLParserQuirks()
3009         factory method should be used to return an HTMLParserQuirks
3010         subclassed object when needed.
3011
3012         * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
3013         * html/HTMLParser.cpp:
3014         (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
3015         using ChromeClient::createHTMLParserQuirks().
3016         (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
3017         set.
3018         (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
3019         m_parserQuirks is set.
3020         (WebCore::HTMLParser::insertNode): Call
3021         HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
3022         and return early if it returns false.
3023         (WebCore::HTMLParser::popBlock): Call
3024         HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
3025         return early if it returns false.
3026         * html/HTMLParser.h: Added m_parserQuirks.
3027         * html/HTMLParserQuirks.h: Added.
3028         (WebCore::HTMLParserQuirks::HTMLParserQuirks):
3029         (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
3030         * loader/EmptyClients.h:
3031         (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
3032         * page/ChromeClient.h:
3033         (WebCore::ChromeClient::createHTMLParserQuirks): Added.
3034
3035 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3036
3037         Reviewed by Eric Seidel.
3038
3039         https://bugs.webkit.org/show_bug.cgi?id=25492
3040         Add JSC guards around node wrapper cache calls. These are not used by V8.
3041
3042         Also, remove JSDOMBinding include, which is brought in by ScriptController.
3043
3044         * dom/Document.cpp:
3045         (WebCore::Document::~Document): Added JSC guard.
3046         * dom/Node.cpp:
3047         (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include.
3048
3049 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3050
3051         Reviewed by Eric Seidel.
3052
3053         https://bugs.webkit.org/show_bug.cgi?id=25493
3054         Remove debugger/profiler custom method stubs, catching V8 bindings up to
3055         http://trac.webkit.org/changeset/43072.
3056
3057         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs.
3058
3059 2009-04-30  Simon Fraser  <simon.fraser@apple.com>
3060
3061         Reviewed by Darin Adler
3062
3063         <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
3064         
3065         Use transform-aware quad methods when computing the boundingBoxRect for
3066         an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect().
3067
3068         Test: accessibility/transformed-element.html
3069
3070         * page/AccessibilityRenderObject.cpp:
3071         (WebCore::AccessibilityRenderObject::boundingBoxRect):
3072
3073 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3074
3075         Unreviewed, Chromium build fix.
3076
3077         Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512.
3078
3079         * bindings/v8/ScriptObject.cpp:
3080         (WebCore::ScriptGlobalObject::get): Renamed from getObject.
3081         (WebCore::ScriptGlobalObject::remove): Added.
3082         * bindings/v8/ScriptObject.h: Ditto.
3083
3084 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3085
3086         Unreviewed, build fix.
3087
3088         https://bugs.webkit.org/show_bug.cgi?id=25470
3089         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3090
3091         * WebCore.pro: Fix copy-paste error.
3092
3093 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3094
3095         Unreviewed, build fix.
3096
3097         https://bugs.webkit.org/show_bug.cgi?id=25470
3098         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3099
3100         * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions.
3101         * WebCore.pro: Ditto.
3102
3103 2009-04-02  Eric Seidel  <eric@webkit.org>
3104
3105         Reviewed by Darin Adler.
3106
3107         Change Position to pre-compute the AnchorType and store it.
3108         Also store a "legacy editing mode" bit on the Position.
3109         https://bugs.webkit.org/show_bug.cgi?id=24763
3110
3111         The old Postion(node, offset) constructor creates legacy positions
3112         but there are new constructors to create explicitly anchored positions
3113         which the next patch will use.
3114
3115         Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to
3116         only affect legacy positions, we will be able to distinguish
3117         between [table, 1] and [table, after] in the code correctly!
3118
3119         * WebCore.base.exp:
3120         * WebCore.xcodeproj/project.pbxproj:
3121         * dom/Position.cpp:
3122         (WebCore::Position::Position):
3123         (WebCore::Position::moveToPosition):
3124         (WebCore::Position::moveToOffset):
3125         (WebCore::Position::anchorTypeForLegacyEditingPosition):
3126         (WebCore::Position::element):
3127         * dom/Position.h:
3128         (WebCore::Position::):
3129         (WebCore::Position::Position):
3130         (WebCore::Position::anchorType):
3131         (WebCore::Position::deprecatedEditingOffset):
3132
3133 2009-04-30  Sam Weinig  <sam@webkit.org>
3134
3135         Reviewed by Alexey Proskuryakov.
3136
3137         Fix bug where the WorkerLocation and WorkerNavigator wrappers would be
3138         collected even if the WorkerContext is still alive.
3139
3140         Test: fast/workers/worker-context-gc.html
3141
3142         * bindings/js/JSWorkerContextCustom.cpp:
3143         (WebCore::JSWorkerContext::mark):
3144         * workers/WorkerContext.cpp:
3145         (WebCore::WorkerContext::WorkerContext):
3146         (WebCore::WorkerContext::completeURL):
3147         (WebCore::WorkerContext::location):
3148         * workers/WorkerContext.h:
3149         (WebCore::WorkerContext::optionalNavigator):
3150         (WebCore::WorkerContext::optionalLocation):
3151
3152 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3153
3154         Reviewed by Timothy Hatcher.
3155
3156         https://bugs.webkit.org/show_bug.cgi?id=25470
3157         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3158
3159         * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER.
3160         * WebCore.vcproj/build-generated-files.sh: Ditto.
3161         * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
3162         * bindings/js/JSDOMWindowBase.cpp: Ditto.
3163         * bindings/js/JSInspectorControllerCustom.cpp: Ditto.
3164         * inspector/InspectorController.cpp: Moved profiler/debugger methods under
3165             ENABLE(JAVASCRIPT_DEBUGGER) flag.
3166         * inspector/InspectorController.h: Ditto.
3167         * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
3168         * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard.
3169
3170 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3171
3172         Unreviewed, build fix.
3173
3174         https://bugs.webkit.org/show_bug.cgi?id=25275
3175         This patch snuck in a re-definition of a local.
3176
3177         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3178         (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition.
3179
3180 2009-04-30  Sam Weinig  <sam@webkit.org>
3181
3182         Reviewed by Mark Rowe.
3183
3184         Fix a leak introduced yesterday.  Don't allocate a ScheduledAction
3185         if the toString()ing throws an exception.
3186
3187         * bindings/js/ScheduledAction.cpp:
3188         (WebCore::ScheduledAction::create):
3189
3190 2009-04-30  Alexey Proskuryakov  <ap@webkit.org>
3191
3192         Reviewed by Darin Adler.
3193
3194         https://bugs.webkit.org/show_bug.cgi?id=25379
3195         <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails
3196
3197         Test: fast/forms/multiple-selected-options-innerHTML.html
3198
3199         This problem was caused by an inconsistency at when Node::instertedIntoTree() is called.
3200         For normal HTML parsing, it is called immediately after an element is inserted, but for
3201         innerHTML, it is only called after the whole subtree is inserted into a document.
3202
3203         It may make sense to harmonize these cases one day, but for now, I only made the minimal
3204         changes necessary to fix the bug.
3205
3206         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree):
3207         * html/HTMLSelectElement.h:
3208         Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide
3209         which one to keep selected themselves, because their logic assumes normal parsing, with
3210         insertedIntoTree() called after each element is inserted.
3211
3212 2009-04-30  Pavel Feldman  <pfeldman@chromium.org>
3213
3214         Reviewed by Dimitri Glazkov.
3215
3216         https://bugs.webkit.org/show_bug.cgi?id=25342
3217         Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
3218
3219         Chromium async/out-of-process version of WebInspector is currently not based on
3220         InspectorController. The reason was that we did not want to interfere with
3221         the unforking effort, yet wanted to experiment. So we came up with these
3222         agents concept that basically mimic InspectorController, but separating 'agent'
3223         nature from the 'transport'. Now that InspectorController is unforked, I am
3224         planning to bring these concepts into the WebKit land and use what we have in
3225         Chromium as a proof of concept / experimental playground.
3226
3227         * loader/EmptyClients.h: added MessageSource and MessageLevel parameters.
3228         (WebCore::EmptyChromeClient::addMessageToConsole): ditto
3229         * page/ChromeClient.h: ditto
3230         * page/Console.cpp: Used new method signature.
3231         (WebCore::Console::addMessage): ditto
3232
3233 2009-04-30  Dan Bernstein  <mitz@apple.com>
3234
3235         Reviewed by Simon Fraser.
3236
3237         - fix https://bugs.webkit.org/show_bug.cgi?id=25476
3238           <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
3239           animation is jittery
3240
3241         Reverted r42987.
3242
3243         * platform/graphics/cg/ImageCG.cpp:
3244         (WebCore::BitmapImage::draw):
3245
3246 2009-04-30  Brady Eidson  <beidson@apple.com>
3247
3248         Reviewed by Maciej Stachowiak
3249
3250         <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
3251         https://bugs.webkit.org/show_bug.cgi?id=21193
3252
3253         Some websites use for attributes in script elements to specify events that the script 
3254         should be run for.  One example is greekembassy.org which has the following in their <head>:
3255
3256         <script for=window event=onresize>
3257             location.reload(false);
3258         </script>
3259
3260         Since we don't support the full for attribute syntax, we would just blissfully ignore the
3261         condition and execute the code unconditionally.  This caused breakage on multiple real-world 
3262         sites besides greekembassy.org.
3263
3264         https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full 
3265         support for the for attribute in scripts.  In the meantime it's best to not execute them
3266         unconditionally.
3267
3268         Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html
3269
3270         * dom/ScriptElement.cpp:
3271         (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have
3272           passed, only return true if there is no for attribute in the script element.
3273         * dom/ScriptElement.h:
3274
3275         * html/HTMLScriptElement.cpp:
3276         (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any.
3277         * html/HTMLScriptElement.h:
3278
3279         * svg/SVGScriptElement.cpp:
3280         (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other
3281           attribute getters do for SVGScriptElement)
3282         * svg/SVGScriptElement.h:
3283
3284 2009-04-30  Holger Hans Peter Freyther  <zecke@selfish.org>
3285
3286         Reviewed by Darin Adler.
3287
3288         The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
3289
3290         https://bugs.webkit.org/show_bug.cgi?id=20952
3291
3292         The QtWebKit port made the mistake of exposing a global history. This broke
3293         with the addition of PageGroup and LinkHash. This needs to be repaired
3294         for Qt4.5.
3295
3296         Add a function to LinkHash.cpp that is resolving a URL. Use this
3297         function from within CSSStyleSelector to forward the url to the
3298         QWebHistoryInterface API.
3299
3300         It is sad that there is a path within visitedLinkHash which is now
3301         doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
3302         and using QtWebKit types within WebCore is a layering violation as well.
3303
3304         PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
3305         Qt4.6 a second version of the QWebHistoryInterface is going to be
3306         added which will fix things up.
3307
3308         * css/CSSStyleSelector.cpp:
3309         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
3310         * platform/LinkHash.cpp:
3311         (WebCore::visitedURL):
3312         (WebCore::visitedLinkHash):
3313         * platform/LinkHash.h:
3314
3315 2009-04-30  Simon Hausmann  <simon.hausmann@nokia.com>
3316
3317         Fix the Qt build.
3318
3319         * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build.
3320         * platform/graphics/qt/SimpleFontDataQt.cpp:
3321         (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and
3322         max char widths from QFontMetrics.
3323
3324 2009-04-30  Ariya Hidayat  <ariya.hidayat@nokia.com>
3325
3326         Unreview build fix after r43037.
3327
3328         Use MarkedArgumentBuffer instead of ArgList.
3329
3330         * bridge/qt/qt_runtime.cpp:
3331         (JSC::Bindings::QtConnectionObject::execute):
3332
3333 2009-04-29  Sam Weinig  <sam@webkit.org>
3334
3335         Reviewed by Oliver Hunt.
3336
3337         Fix for https://bugs.webkit.org/show_bug.cgi?id=25440
3338         setTimeout should stringify non-string/non-function first arguments
3339
3340         Test: fast/dom/Window/setTimeout-string-argument.html
3341
3342         * bindings/js/JSDOMWindowCustom.cpp:
3343         (WebCore::JSDOMWindow::setTimeout):
3344         (WebCore::JSDOMWindow::setInterval):
3345         * bindings/js/JSWorkerContextCustom.cpp:
3346         (WebCore::JSWorkerContext::setTimeout):
3347         (WebCore::JSWorkerContext::setInterval):
3348         * bindings/js/ScheduledAction.cpp:
3349         (WebCore::ScheduledAction::create):
3350         * bindings/js/ScheduledAction.h:
3351
3352 2009-04-29  Dan Bernstein  <mitz@apple.com>
3353
3354         Reviewed by Simon Fraser.
3355
3356         - WebCore part of <rdar://problem/6609509> Select All and then Delete
3357           should put Mail editing back into the same state as a new message
3358
3359         Test: editing/deleting/in-visibly-empty-root.html
3360
3361         * WebCore.base.exp: Exported VisibleSelection::isAll(bool).
3362         * editing/SelectionController.h:
3363         (WebCore::SelectionController::isAll): Added. Calls through to
3364         VisibleSelection.
3365         * editing/TypingCommand.cpp:
3366         (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children
3367         of the root editable element the selection is in, other than a
3368         placeholder. Returns true iff it did anything.
3369         (WebCore::TypingCommand::deleteKeyPressed): When there is only a single
3370         visible position in the root editable element, but it has children other
3371         than a placeholder, remove those children.
3372         * editing/TypingCommand.h:
3373         * editing/VisiblePosition.h:
3374         Added a StayInEditableContent enum and a FIXME.
3375         * editing/VisibleSelection.cpp:
3376         (WebCore::VisibleSelection::isAll): Added. Returns whether the
3377         selection encompasses all visible positions, either in the document or
3378         in the editable root.
3379         * editing/VisibleSelection.h:
3380
3381 2009-04-29  Sam Weinig  <sam@webkit.org>
3382
3383         Fix style nit.
3384
3385         * editing/visible_units.cpp:
3386         (WebCore::getLeafBoxesInLogicalOrder):
3387
3388 2009-04-29  David Hyatt  <hyatt@apple.com>
3389
3390         Reviewed by Dan Bernstein.
3391
3392         For now just drop the deferred layout on the floor, since it causes an infinite hang in mail.  Even
3393         trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting
3394         assertions.
3395
3396         Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout
3397         and not do it (which is basically what was happening before).
3398
3399         * page/FrameView.cpp:
3400         (WebCore::FrameView::setContentsSize):
3401         (WebCore::FrameView::needsLayout):
3402
3403 2009-04-29  Douglas Davidson  <ddavidso@apple.com>
3404
3405         Reviewed by Justin Garcia.
3406
3407         <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
3408         
3409         Updates to the text checking code to enable text checking even if spellchecking is turned off 
3410         and fix an off-by-one error in selection handling.
3411
3412         * editing/Editor.cpp:
3413         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
3414         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3415         (WebCore::Editor::markMisspellingsAndBadGrammar):
3416         * editing/Editor.h:
3417         * editing/TypingCommand.cpp:
3418         (WebCore::TypingCommand::markMisspellingsAfterTyping):
3419
3420 2009-04-29  Oliver Hunt  <oliver@apple.com>
3421
3422         Reviewed by Gavin Barraclough.
3423
3424         Clean up ArgList to be a trivial type
3425
3426         Start using MarkedArgumentBuffer to create argument lists for function calls
3427
3428         * bindings/js/JSClipboardCustom.cpp:
3429         (WebCore::JSClipboard::types):
3430         * bindings/js/JSConsoleCustom.cpp:
3431         (WebCore::JSConsole::profiles):
3432         * bindings/js/JSCustomPositionCallback.cpp:
3433         (WebCore::JSCustomPositionCallback::handleEvent):
3434         * bindings/js/JSCustomPositionErrorCallback.cpp:
3435         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3436         * bindings/js/JSCustomSQLStatementCallback.cpp:
3437         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3438         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3439         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3440         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3441         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3442         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3443         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3444         * bindings/js/JSCustomVoidCallback.cpp:
3445         (WebCore::JSCustomVoidCallback::handleEvent):
3446         * bindings/js/JSCustomXPathNSResolver.cpp:
3447         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3448         * bindings/js/JSEventListener.cpp:
3449         (WebCore::JSEventListener::handleEvent):
3450         * bindings/js/JSInspectorControllerCustom.cpp:
3451         (WebCore::JSInspectorController::profiles):
3452         (WebCore::JSInspectorController::search):
3453         (WebCore::JSInspectorController::databaseTableNames):
3454         (WebCore::JSInspectorController::setting):
3455         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3456         (WebCore::JSJavaScriptCallFrame::scopeChain):
3457         * bindings/js/JSLazyEventListener.cpp:
3458         (WebCore::JSLazyEventListener::parseCode):
3459         * bindings/js/JSNodeFilterCondition.cpp:
3460         (WebCore::JSNodeFilterCondition::acceptNode):
3461         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3462         (WebCore::JSQuarantinedObjectWrapper::construct):
3463         (WebCore::JSQuarantinedObjectWrapper::call):
3464         * bindings/js/ScheduledAction.cpp:
3465         (WebCore::ScheduledAction::ScheduledAction):
3466         (WebCore::ScheduledAction::executeFunctionInContext):
3467         * bindings/js/ScriptFunctionCall.h:
3468         * bindings/objc/WebScriptObject.mm:
3469         (getListFromNSArray):
3470         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3471         * bridge/NP_jsobject.cpp:
3472         (getListFromVariantArgs):
3473         (_NPN_InvokeDefault):
3474         (_NPN_Invoke):
3475         (_NPN_Construct):
3476         * bridge/jni/jni_jsobject.h:
3477         * bridge/jni/jni_jsobject.mm:
3478         (JavaJSObject::call):
3479         (JavaJSObject::getListFromJArray):
3480
3481 2009-04-29  Eric Seidel  <eric@webkit.org>
3482
3483         No review, build fix only.
3484
3485         Fix m_offset uses added while I wasn't looking.
3486
3487         * editing/visible_units.cpp:
3488         (WebCore::logicalStartPositionForLine):
3489         (WebCore::logicalEndPositionForLine):
3490
3491 2009-04-29  Xiaomei Ji  <xji@chromium.org>
3492
3493         Reviewed by Dan Bernstein.
3494
3495         Fix https://bugs.webkit.org/show_bug.cgi?id=24168
3496         RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
3497
3498         Test: editing/selection/home-end.html
3499
3500         * editing/SelectionController.cpp:
3501         (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
3502         to logicalEndOfLine() when granularity is LineBoundary.
3503         (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
3504         to logicalEndOfLine() when granularity is LineBoundary
3505         (WebCore::SelectionController::modifyExtendingBackward): Change calling 
3506         startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
3507         (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
3508         to logicalStartOfLine() when granularity is LineBoundary.
3509         * editing/visible_units.cpp:
3510         (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
3511         (WebCore::getLogicalStartBoxAndNode): Added.
3512         (WebCore::getLogicalEndBoxAndNode): Added.
3513         (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
3514         (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
3515         (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
3516         (WebCore::inSameLogicalLine): Added.
3517         (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
3518         * editing/visible_units.h:
3519
3520 2009-04-29  Eric Seidel  <eric@webkit.org>
3521
3522         Reviewed by Darin Adler.
3523
3524         Make m_offset private and change all callers to use deprecatedEditingOffset().
3525         https://bugs.webkit.org/show_bug.cgi?id=25472
3526
3527         Per Darin's suggestion, this was just a simple search replace
3528         of .m_offset with .deprecatedEditingOffset().
3529
3530         There was one change in InsertParagraphSeparatorCommand::doApply to use
3531         Position::moveToOffset(0) instead of .m_offset = 0;
3532
3533         * dom/Position.cpp:
3534         (WebCore::Position::rendersInDifferentPosition):
3535         (WebCore::Position::leadingWhitespacePosition):
3536         * dom/Position.h:
3537         (WebCore::Position::deprecatedEditingOffset):
3538         (WebCore::Position::moveToOffset):
3539         (WebCore::operator==):
3540         * dom/PositionIterator.h:
3541         (WebCore::PositionIterator::PositionIterator):
3542         * dom/Range.cpp:
3543         (WebCore::Range::create):
3544         (WebCore::Range::compareBoundaryPoints):
3545         * editing/ApplyStyleCommand.cpp:
3546         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3547         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
3548         (WebCore::ApplyStyleCommand::removeInlineStyle):
3549         (WebCore::ApplyStyleCommand::nodeFullySelected):
3550         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
3551         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
3552         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
3553         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
3554         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
3555         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
3556         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
3557         (WebCore::ApplyStyleCommand::joinChildTextNodes):
3558         * editing/BreakBlockquoteCommand.cpp:
3559         (WebCore::BreakBlockquoteCommand::doApply):
3560         * editing/CompositeEditCommand.cpp:
3561         (WebCore::CompositeEditCommand::insertNodeAt):
3562         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
3563         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
3564         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
3565         (WebCore::CompositeEditCommand::deleteInsignificantText):
3566         (WebCore::CompositeEditCommand::moveParagraphs):
3567         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
3568         * editing/DeleteSelectionCommand.cpp:
3569         (WebCore::updatePositionForNodeRemoval):
3570         (WebCore::updatePositionForTextRemoval):
3571         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3572         (WebCore::DeleteSelectionCommand::fixupWhitespace):
3573         * editing/Editor.cpp:
3574         (WebCore::Editor::setComposition):
3575         (WebCore::Editor::advanceToNextMisspelling):
3576         (WebCore::Editor::getCompositionSelection):
3577         * editing/InsertLineBreakCommand.cpp:
3578         (WebCore::InsertLineBreakCommand::doApply):
3579         * editing/InsertParagraphSeparatorCommand.cpp:
3580         (WebCore::InsertParagraphSeparatorCommand::doApply):
3581         * editing/InsertTextCommand.cpp:
3582         (WebCore::InsertTextCommand::performTrivialReplace):
3583         (WebCore::InsertTextCommand::input):
3584         (WebCore::InsertTextCommand::insertTab):
3585         * editing/MoveSelectionCommand.cpp:
3586         (WebCore::MoveSelectionCommand::doApply):
3587         * editing/ReplaceSelectionCommand.cpp:
3588         (WebCore::ReplaceSelectionCommand::doApply):
3589         * editing/SelectionController.cpp:
3590         (WebCore::SelectionController::debugRenderer):
3591         * editing/TextIterator.cpp:
3592         (WebCore::TextIterator::rangeFromLocationAndLength):
3593         * editing/TypingCommand.cpp:
3594         (WebCore::TypingCommand::deleteKeyPressed):
3595         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3596         * editing/VisiblePosition.cpp:
3597         (WebCore::VisiblePosition::characterAfter):
3598         (WebCore::VisiblePosition::debugPosition):
3599         (WebCore::makeRange):
3600         (WebCore::setStart):
3601         (WebCore::setEnd):
3602         * editing/VisibleSelection.cpp:
3603         (WebCore::VisibleSelection::toNormalizedRange):
3604         (WebCore::makeSearchRange):
3605         (WebCore::VisibleSelection::debugPosition):
3606         (WebCore::VisibleSelection::showTreeForThis):
3607         * editing/htmlediting.cpp:
3608         (WebCore::comparePositions):
3609         (WebCore::rangeCompliantEquivalent):
3610         * editing/visible_units.cpp:
3611         (WebCore::previousBoundary):
3612         (WebCore::nextBoundary):
3613         (WebCore::startPositionForLine):
3614         (WebCore::startOfLine):
3615         (WebCore::endPositionForLine):
3616         (WebCore::nextLinePosition):
3617         (WebCore::startOfParagraph):
3618         (WebCore::endOfParagraph):
3619         (WebCore::logicalStartPositionForLine):
3620         (WebCore::logicalEndPositionForLine):
3621         * page/AccessibilityObject.cpp:
3622         (WebCore::updateAXLineStartForVisiblePosition):
3623         * page/AccessibilityRenderObject.cpp:
3624         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
3625         * page/DOMSelection.cpp:
3626         (WebCore::DOMSelection::anchorOffset):
3627         (WebCore::DOMSelection::focusOffset):
3628         (WebCore::DOMSelection::baseOffset):
3629         (WebCore::DOMSelection::extentOffset):
3630         * page/EventHandler.cpp:
3631         (WebCore::EventHandler::handleMousePressEventSingleClick):
3632         * page/Frame.cpp:
3633         (WebCore::Frame::selectionLayoutChanged):
3634         * page/mac/AccessibilityObjectWrapper.mm:
3635         (textMarkerForVisiblePosition):
3636         (visiblePositionForTextMarker):
3637         * rendering/RenderTextControl.cpp:
3638         (WebCore::RenderTextControl::indexForVisiblePosition):
3639         * rendering/RenderTreeAsText.cpp:
3640         (WebCore::writeSelection):
3641
3642 2009-04-29  Eric Seidel  <eric@webkit.org>
3643
3644         No review, rolling out a patch.
3645
3646         Revert http://trac.webkit.org/changeset/43019
3647
3648         New tests failed because I removed the tabs from them
3649         when landing (since we avoid tabs in WebKit files).
3650         I couldn't tell if the new results were correct with
3651         spaces or not.
3652
3653         * editing/SelectionController.cpp:
3654         (WebCore::SelectionController::modifyExtendingForward):
3655         (WebCore::SelectionController::modifyMovingForward):
3656         (WebCore::SelectionController::modifyExtendingBackward):
3657         (WebCore::SelectionController::modifyMovingBackward):
3658         * editing/visible_units.cpp:
3659         * editing/visible_units.h:
3660
3661 2009-04-29  David Hyatt  <hyatt@apple.com>
3662
3663         Reviewed by Dan Bernstein.
3664
3665         Fix for <rdar://problem/6828164>, Mail hits the !root->needsLayout() assert because it re-marks the FrameView for layout
3666         when the FrameView is resized.  This bug was exposed by the elimination of the separate WebKit layout
3667         flag on Mac.  
3668         
3669         FrameView now defers setNeedsLayouts during size changes.  Once all of the size changes are finished (including re-entrant ones
3670         from WebDynamicScrollbarsView and ScrollView::updateScrollbars) we then do a layout if necessary.
3671
3672         * page/FrameView.cpp:
3673         (WebCore::FrameView::FrameView):
3674         (WebCore::FrameView::setContentsSize):
3675         (WebCore::FrameView::layout):
3676         (WebCore::FrameView::needsLayout):
3677         (WebCore::FrameView::setNeedsLayout):
3678         * page/FrameView.h:
3679
3680 2009-04-29  Eric Seidel  <eric@webkit.org>
3681
3682         No review, rolling out a patch.
3683
3684         Revert 43020 as it caused accessibility/lists.html to fail
3685         and no one is around to tell me if it's a progression or not.
3686
3687         * page/AccessibilityObject.h:
3688         (WebCore::):
3689         * page/AccessibilityRenderObject.cpp:
3690         (WebCore::AccessibilityRenderObject::roleValue):
3691         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3692         * page/mac/AccessibilityObjectWrapper.mm:
3693         (RoleEntry::):
3694
3695 2009-04-29  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
3696
3697         Reviewed by Jon Honeycutt.
3698
3699         Add a new accessibility role for list items. Part of
3700         http://bugs.webkit.org/show_id.cgi?id=20013
3701
3702         Tests: platform/win/accessibility/listitem-role.html
3703
3704         * page/AccessibilityObject.h:
3705         (WebCore::):  Add ListItemRole to accessibilityRole enum.
3706         * page/AccessibilityRenderObject.cpp:
3707         (WebCore::AccessibilityRenderObject::roleValue):Return
3708         listItemRole when rendered object is a list item.
3709         (WebCore::AccessibilityRenderObject::canSetFocusAttribute): Return
3710         true for ListItemRole, matching firefox.
3711         * page/mac/AccessibilityObjectWrapper.mm:
3712         (RoleEntry::): Map ListItemRole with NSAccessibilityGroupRole in
3713         MAC.
3714
3715 2009-04-29  Xiaomei Ji  <xji@chromium.org>
3716
3717         Reviewed by Dan Bernstein.
3718
3719         Fix https://bugs.webkit.org/show_bug.cgi?id=24168
3720         RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
3721
3722         Test: editing/selection/home-end.html
3723
3724         * editing/SelectionController.cpp:
3725         (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
3726         to logicalEndOfLine() when granularity is LineBoundary.
3727         (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
3728         to logicalEndOfLine() when granularity is LineBoundary
3729         (WebCore::SelectionController::modifyExtendingBackward): Change calling 
3730         startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
3731         (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
3732         to logicalStartOfLine() when granularity is LineBoundary.
3733         * editing/visible_units.cpp:
3734         (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
3735         (WebCore::getLogicalStartBoxAndNode): Added.
3736         (WebCore::getLogicalEndBoxAndNode): Added.
3737         (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
3738         (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
3739         (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
3740         (WebCore::inSameLogicalLine): Added.
3741         (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
3742         * editing/visible_units.h:
3743
3744 2009-04-29  Mike Belshe  <mike@belshe.com>
3745
3746         Reviewed by Eric Seidel.
3747
3748         Update location while page is loading.
3749         https://bugs.webkit.org/show_bug.cgi?id=21597
3750
3751         Tested by:
3752         - fast/dom/location-new-window-no-crash
3753         - fast/dom/Window/window-open-pending-url
3754
3755         * page/Location.cpp:
3756
3757 2009-04-29  Feng Qian  <feng@chromium.org>
3758
3759         Reviewed by Darin Adler.
3760
3761         Add Android port files to WebCore/platform.
3762         https://bugs.webkit.org/show_bug.cgi?id=23296
3763
3764         * platform/android: Added.
3765         * platform/android/ClipboardAndroid.cpp: Added.
3766         * platform/android/ClipboardAndroid.h: Added.
3767
3768 2009-04-29  Feng Qian  <feng@chromium.org>
3769
3770         Reviewed by Darin Adler.
3771
3772         Add Android-specific files to the WebCore/page directory.
3773         https://bugs.webkit.org/show_bug.cgi?id=23295
3774
3775         * page/android: Added.
3776         * page/android/DragControllerAndroid.cpp: Added.
3777         * page/android/EventHandlerAndroid.cpp: Added.
3778         * page/android/InspectorControllerAndroid.cpp: Added.
3779
3780 2009-04-29  Pavel Feldman  <pfeldman@chromium.org>
3781
3782         Reviewed by Timothy Hatcher.
3783
3784         Extract PageGroupLoadDeferrer from Chrome.cpp
3785
3786         * GNUmakefile.am: added PageGroupLoadDeferrer
3787         * WebCore.pro: ditto
3788         * WebCore.scons: ditto
3789         * WebCore.vcproj/WebCore.vcproj: ditto
3790         * WebCore.xcodeproj/project.pbxproj: ditto
3791         * WebCoreSources.bkl: ditto
3792         * page/Chrome.cpp: PageGroupLoadDeferrer impl moved to a separate class.
3793         * page/PageGroupLoadDeferrer.cpp: Added.
3794         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3795         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3796         * page/PageGroupLoadDeferrer.h: Added.
3797
3798 2009-04-24  Ojan Vafai  <ojan@chromium.org>
3799
3800         Reviewed by Dan Bernstein.
3801
3802         Make textarea and text input metrics more closely match IEs.
3803
3804         This involves:
3805         -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
3806         -set textarea width to cols*avgCharWidth
3807         -Make default CSS match IEs
3808         -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
3809
3810         Those values for textarea and inputs were derived by doing a ton of manual
3811         testing of IE's width values for various textareas and fonts. On Windows we match
3812         IE exactly except for a couple fonts of the ~12 tested.
3813
3814         To get the average and max character width of a font, we do the following
3815         for each platform:
3816         -Win: TextMetrics expose avgCharWidth and maxCharWidth
3817         -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
3818             maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
3819         -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
3820             maxCharWidth = max of avgCharWidth and m_ascent
3821         -Mac: Calculate the avgCharWidth and grab the maxCharWidth off the font.
3822             If either one is non-positive, then calculate the value using the Linux approach.
3823
3824         Tests: fast/forms/text-control-intrinsic-widths.html
3825                fast/forms/textarea-metrics.html
3826                svg/custom/svg-fonts-in-text-controls.html
3827
3828         * css/html4.css:
3829         * css/themeWin.css:
3830         * platform/graphics/SimpleFontData.cpp:
3831         (WebCore::SimpleFontData::SimpleFontData):
3832         (WebCore::SimpleFontData::initCharWidths):
3833         * platform/graphics/SimpleFontData.h:
3834         (WebCore::SimpleFontData::maxCharWidth):
3835         (WebCore::SimpleFontData::avgCharWidth):
3836         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3837         (WebCore::SimpleFontData::platformCharWidthInit):
3838         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3839         (WebCore::SimpleFontData::platformCharWidthInit):
3840         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
3841         (WebCore::SimpleFontData::platformCharWidthInit):
3842         * platform/graphics/gtk/SimpleFontDataPango.cpp:
3843         (WebCore::SimpleFontData::platformCharWidthInit):
3844         * platform/graphics/mac/SimpleFontDataMac.mm:
3845         (WebCore::SimpleFontData::platformCharWidthInit):
3846         * platform/graphics/qt/SimpleFontDataQt.cpp:
3847         (WebCore::SimpleFontData::platformCharWidthInit):
3848         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3849         (WebCore::SimpleFontData::platformCharWidthInit):
3850         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3851         (WebCore::SimpleFontData::platformInit):
3852         (WebCore::SimpleFontData::platformCharWidthInit):
3853         * platform/graphics/win/SimpleFontDataWin.cpp:
3854         (WebCore::SimpleFontData::initGDIFont):
3855         * platform/graphics/wx/SimpleFontDataWx.cpp:
3856         (WebCore::SimpleFontData::platformCharWidthInit):
3857         * rendering/RenderTextControl.cpp:
3858         (WebCore::RenderTextControl::calcPrefWidths):
3859         * rendering/RenderTextControlMultiLine.cpp:
3860         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
3861         * rendering/RenderTextControlSingleLine.cpp:
3862         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
3863
3864 2009-04-29  Brady Eidson  <beidson@apple.com>
3865
3866         Reviewed by Darin Adler.
3867
3868         * bindings/objc/DOMCSS.mm:
3869         (kitClass):  Added CSS_INITIAL to the switch statement, and changed to use the WebCore
3870           type and not the binding type.
3871
3872 2009-04-29  John Abd-El-Malek  <jam@google.com>
3873
3874         Reviewed by Dimitri Glazkov.
3875
3876         Reverted my previous change to add resetChromiumPluginCache().
3877         https://bugs.webkit.org/show_bug.cgi?id=25318
3878
3879         * plugins/chromium/PluginDataChromium.cpp:
3880
3881 2009-04-29  Brady Eidson  <beidson@apple.com>
3882
3883         Reviewed by Darin Adler.
3884
3885         <rdar://problem/6573742> - Problem dragging standalone images from Safari to Mail
3886
3887         Roll out trac.webkit.org/changeset/35867 which fixed <rdar://problem/6153432>
3888
3889         Cloned <rdar://problem/6153432> to <rdar://problem/6839881> to find a better fix for that Tiger Mail bug.
3890
3891         * loader/DocumentLoader.cpp:
3892         (WebCore::DocumentLoader::subresource): Remove the preload referenced check.
3893
3894 2009-04-29  Alpha Lam  <hclam@chromium.org>
3895
3896         Reviewed by Dimitri Glazkov.
3897
3898         https://bugs.webkit.org/show_bug.cgi?id=25430
3899
3900         Provide style sheet for UI controls of media elements for Chromium port.
3901
3902         * rendering/RenderThemeChromiumWin.cpp:
3903         (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet):
3904
3905 2009-04-29  John Abd-El-Malek  <jam@chromium.org>
3906
3907         Reviewed by Darin Adler.
3908
3909         Expose sudden termination to Chromium port.
3910         https://bugs.webkit.org/show_bug.cgi?id=25457
3911
3912         * platform/SuddenTermination.h:
3913         * platform/chromium/ChromiumBridge.h:
3914         * platform/chromium/SuddenTerminationChromium.cpp: Added.
3915         (WebCore::disableSuddenTermination):
3916         (WebCore::enableSuddenTermination):
3917
3918 2009-04-29  Sam Weinig  <sam@webkit.org>
3919
3920         Reviewed by Dimitri Glazkov.
3921
3922         Remove unused EventListeners.
3923
3924         * page/DOMWindow.idl:
3925
3926 2009-04-29  Yury Semikhatsky  <yurys@chromium.org>
3927
3928         Reveal current execution line once SourceFrame content is loaded. 
3929
3930         https://bugs.webkit.org/show_bug.cgi?id=25448
3931
3932         Reviewed by Timothy Hatcher.
3933
3934         * inspector/front-end/SourceFrame.js:
3935         (WebInspector.SourceFrame.prototype._loaded):
3936
3937 2009-04-29  Ariya Hidayat  <ariya.hidayat@nokia.com>
3938
3939         Reviewed by Simon Fraser.
3940
3941         [Qt] Initialize GraphicsContext's and ImageBuffer's QPainter to match
3942         the default values of canvas attributes.
3943
3944         * platform/graphics/qt/ImageBufferQt.cpp:
3945         (WebCore::ImageBufferData::ImageBufferData):
3946
3947 2009-04-28  Simon Hausmann  <simon.hausmann@nokia.com>
3948
3949         Fix the Qt build.
3950
3951         * bridge/qt/qt_runtime.cpp:
3952         (JSC::Bindings::findMethodIndex): Removed exec param from at() call.
3953         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
3954
3955 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
3956
3957         Rubber stamped by Beth Dakin.
3958         
3959         Missed one.
3960
3961         * bindings/scripts/CodeGeneratorJS.pm:
3962
3963 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
3964
3965         Rubber stamped by Beth Dakin.
3966         
3967         Removed scaffolding supporting dynamically converting between 32bit and
3968         64bit value representations. 
3969
3970         * bindings/js/JSAudioConstructor.cpp:
3971         (WebCore::constructAudio):
3972         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3973         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3974         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3975         (WebCore::JSCanvasRenderingContext2D::strokeRect):
3976         (WebCore::JSCanvasRenderingContext2D::drawImage):
3977         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3978         (WebCore::JSCanvasRenderingContext2D::setShadow):
3979         (WebCore::JSCanvasRenderingContext2D::createPattern):
3980         (WebCore::JSCanvasRenderingContext2D::putImageData):
3981         (WebCore::JSCanvasRenderingContext2D::fillText):
3982         (WebCore::JSCanvasRenderingContext2D::strokeText):
3983         * bindings/js/JSClipboardCustom.cpp:
3984         (WebCore::JSClipboard::clearData):
3985         (WebCore::JSClipboard::getData):
3986         (WebCore::JSClipboard::setData):
3987         (WebCore::JSClipboard::setDragImage):
3988         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3989         (WebCore::JSDOMApplicationCache::hasItem):
3990         (WebCore::JSDOMApplicationCache::add):
3991         (WebCore::JSDOMApplicationCache::remove):
3992         (WebCore::JSDOMApplicationCache::addEventListener):
3993         (WebCore::JSDOMApplicationCache::removeEventListener):
3994         * bindings/js/JSDOMStringListCustom.cpp:
3995         (WebCore::JSDOMStringList::item):
3996         * bindings/js/JSDOMWindowCustom.cpp:
3997         (WebCore::JSDOMWindow::open):
3998         (WebCore::JSDOMWindow::showModalDialog):
3999         (WebCore::JSDOMWindow::postMessage):
4000         (WebCore::JSDOMWindow::setTimeout):
4001         (WebCore::JSDOMWindow::setInterval):
4002         (WebCore::JSDOMWindow::atob):
4003         (WebCore::JSDOMWindow::btoa):
4004         (WebCore::JSDOMWindow::addEventListener):
4005         (WebCore::JSDOMWindow::removeEventListener):
4006         * bindings/js/JSDatabaseCustom.cpp:
4007         (WebCore::JSDatabase::changeVersion):
4008         (WebCore::JSDatabase::transaction):
4009         * bindings/js/JSElementCustom.cpp:
4010         (WebCore::JSElement::setAttribute):
4011         (WebCore::JSElement::setAttributeNode):
4012         (WebCore::JSElement::setAttributeNS):
4013         (WebCore::JSElement::setAttributeNodeNS):
4014         * bindings/js/JSGeolocationCustom.cpp:
4015         (WebCore::JSGeolocation::getCurrentPosition):
4016         (WebCore::JSGeolocation::watchPosition):
4017         * bindings/js/JSHTMLCollectionCustom.cpp:
4018         (WebCore::callHTMLCollection):
4019         (WebCore::JSHTMLCollection::item):
4020         (WebCore::JSHTMLCollection::namedItem):
4021         * bindings/js/JSHTMLDocumentCustom.cpp:
4022         (WebCore::documentWrite):
4023         * bindings/js/JSHTMLInputElementCustom.cpp:
4024         (WebCore::JSHTMLInputElement::setSelectionRange):
4025         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4026         (WebCore::JSHTMLOptionsCollection::add):
4027         * bindings/js/JSHTMLSelectElementCustom.cpp:
4028         (WebCore::JSHTMLSelectElement::remove):
4029         * bindings/js/JSImageConstructor.cpp:
4030         (WebCore::constructImage):
4031         * bindings/js/JSInspectorControllerCustom.cpp:
4032         (WebCore::JSInspectorController::highlightDOMNode):
4033         (WebCore::JSInspectorController::addResourceSourceToFrame):
4034         (WebCore::JSInspectorController::addSourceToFrame):
4035         (WebCore::JSInspectorController::getResourceDocumentNode):
4036         (WebCore::JSInspectorController::search):
4037         (WebCore::JSInspectorController::databaseTableNames):
4038         (WebCore::JSInspectorController::setting):
4039         (WebCore::JSInspectorController::setSetting):
4040         (WebCore::JSInspectorController::wrapCallback):
4041         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4042         (WebCore::JSJavaScriptCallFrame::evaluate):
4043         * bindings/js/JSLocationCustom.cpp:
4044         (WebCore::JSLocation::replace):
4045         (WebCore::JSLocation::assign):
4046         * bindings/js/JSMessagePortCustom.cpp:
4047         (WebCore::JSMessagePort::startConversation):
4048         (WebCore::JSMessagePort::addEventListener):
4049         (WebCore::JSMessagePort::removeEventListener):
4050         * bindings/js/JSNodeCustom.cpp:
4051         (WebCore::JSNode::insertBefore):
4052         (WebCore::JSNode::replaceChild):
4053         (WebCore::JSNode::removeChild):
4054         (WebCore::JSNode::appendChild):
4055         (WebCore::JSNode::addEventListener):
4056         (WebCore::JSNode::removeEventListener):
4057         * bindings/js/JSNodeFilterCustom.cpp:
4058         (WebCore::JSNodeFilter::acceptNode):
4059         * bindings/js/JSNodeListCustom.cpp:
4060         (WebCore::callNodeList):
4061         * bindings/js/JSOptionConstructor.cpp:
4062         (WebCore::constructHTMLOptionElement):
4063         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4064         (WebCore::JSQuarantinedObjectWrapper::construct):
4065         (WebCore::JSQuarantinedObjectWrapper::call):
4066         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4067         (WebCore::JSSQLResultSetRowList::item):
4068         * bindings/js/JSSQLTransactionCustom.cpp:
4069         (WebCore::JSSQLTransaction::executeSql):
4070         * bindings/js/JSSVGElementInstanceCustom.cpp:
4071         (WebCore::JSSVGElementInstance::addEventListener):
4072         (WebCore::JSSVGElementInstance::removeEventListener):
4073         * bindings/js/JSSVGLengthCustom.cpp:
4074         (WebCore::JSSVGLength::convertToSpecifiedUnits):
4075         * bindings/js/JSSVGMatrixCustom.cpp:
4076         (WebCore::JSSVGMatrix::rotateFromVector):
4077         * bindings/js/JSSVGPathSegListCustom.cpp:
4078         (WebCore::JSSVGPathSegList::initialize):
4079         (WebCore::JSSVGPathSegList::getItem):
4080         (WebCore::JSSVGPathSegList::insertItemBefore):
4081         (WebCore::JSSVGPathSegList::replaceItem):
4082         (WebCore::JSSVGPathSegList::removeItem):
4083         (WebCore::JSSVGPathSegList::appendItem):
4084         * bindings/js/JSSVGPointListCustom.cpp:
4085         (WebCore::JSSVGPointList::initialize):
4086         (WebCore::JSSVGPointList::getItem):
4087         (WebCore::JSSVGPointList::insertItemBefore):
4088         (WebCore::JSSVGPointList::replaceItem):
4089         (WebCore::JSSVGPointList::removeItem):
4090         (WebCore::JSSVGPointList::appendItem):
4091         * bindings/js/JSSVGTransformListCustom.cpp:
4092         (WebCore::JSSVGTransformList::initialize):
4093         (WebCore::JSSVGTransformList::getItem):
4094         (WebCore::JSSVGTransformList::insertItemBefore):
4095         (WebCore::JSSVGTransformList::replaceItem):
4096         (WebCore::JSSVGTransformList::removeItem):
4097         (WebCore::JSSVGTransformList::appendItem):
4098         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
4099         (WebCore::constructWebKitCSSMatrix):
4100         * bindings/js/JSWebKitPointConstructor.cpp:
4101         (WebCore::constructWebKitPoint):
4102         * bindings/js/JSWorkerConstructor.cpp:
4103         (WebCore::constructWorker):
4104         * bindings/js/JSWorkerContextCustom.cpp:
4105         (WebCore::JSWorkerContext::importScripts):
4106         (WebCore::JSWorkerContext::addEventListener):
4107         (WebCore::JSWorkerContext::removeEventListener):
4108         (WebCore::JSWorkerContext::setTimeout):
4109         (WebCore::JSWorkerContext::setInterval):
4110         * bindings/js/JSWorkerCustom.cpp:
4111         (WebCore::JSWorker::addEventListener):
4112         (WebCore::JSWorker::removeEventListener):
4113         * bindings/js/JSXMLHttpRequestCustom.cpp:
4114         (WebCore::JSXMLHttpRequest::open):
4115         (WebCore::JSXMLHttpRequest::setRequestHeader):
4116         (WebCore::JSXMLHttpRequest::send):
4117         (WebCore::JSXMLHttpRequest::getResponseHeader):
4118         (WebCore::JSXMLHttpRequest::overrideMimeType):
4119         (WebCore::JSXMLHttpRequest::addEventListener):
4120         (WebCore::JSXMLHttpRequest::removeEventListener):
4121         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4122         (WebCore::JSXMLHttpRequestUpload::addEventListener):
4123         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
4124         * bindings/js/JSXSLTProcessorCustom.cpp:
4125         (WebCore::JSXSLTProcessor::importStylesheet):
4126         (WebCore::JSXSLTProcessor::transformToFragment):
4127         (WebCore::JSXSLTProcessor::transformToDocument):
4128         (WebCore::JSXSLTProcessor::setParameter):
4129         (WebCore::JSXSLTProcessor::getParameter):
4130         (WebCore::JSXSLTProcessor::removeParameter):
4131         * bindings/js/ScheduledAction.cpp:
4132         (WebCore::ScheduledAction::create):
4133         (WebCore::ScheduledAction::ScheduledAction):
4134         * bindings/js/ScheduledAction.h:
4135         * bindings/js/ScriptCallFrame.cpp:
4136         (WebCore::ScriptCallFrame::ScriptCallFrame):
4137         * bindings/js/ScriptCallFrame.h:
4138         * bindings/js/ScriptCallStack.cpp:
4139         (WebCore::ScriptCallStack::ScriptCallStack):
4140         (WebCore::ScriptCallStack::initialize):
4141         * bridge/c/c_instance.cpp:
4142         (JSC::Bindings::CInstance::invokeMethod):
4143         (JSC::Bindings::CInstance::invokeDefaultMethod):
4144         (JSC::Bindings::CInstance::invokeConstruct):
4145         * bridge/jni/jni_instance.cpp:
4146         (JavaInstance::invokeMethod):
4147         * bridge/objc/objc_instance.mm:
4148         (ObjcInstance::invokeMethod):
4149         (ObjcInstance::invokeDefaultMethod):
4150
4151 2009-04-28  David Carson  <dacarson@apple.com>
4152
4153         Reviewed by David Hyatt.
4154
4155         Restore alignment to device pixel boundaries.
4156         https://bugs.webkit.org/show_bug.cgi?id=25458
4157
4158         Adjust the adjusted destination rect to be device pixel aligned.
4159
4160         * platform/graphics/cg/ImageCG.cpp:
4161         (WebCore::BitmapImage::draw):
4162
4163 2009-04-28  Sam Weinig  <sam@webkit.org>
4164
4165         Reviewed by Anders Carlsson.
4166
4167         Move unimplemented captureEvents and releaseEvents from JSDOMWindow
4168         to DOMWindow.
4169
4170         * bindings/js/JSDOMWindowCustom.cpp:
4171         * page/DOMWindow.cpp:
4172         (WebCore::DOMWindow::captureEvents):
4173         (WebCore::DOMWindow::releaseEvents):
4174         * page/DOMWindow.h:
4175         * page/DOMWindow.idl:
4176
4177 2009-04-28  Alexey Proskuryakov  <ap@webkit.org>
4178
4179         Reviewed by Darin Adler.
4180
4181         https://bugs.webkit.org/show_bug.cgi?id=25420
4182         <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin
4183
4184         Test: http/tests/xmlhttprequest/detaching-frame-2.html
4185
4186         This was caused by faulty DOMWindow::document(), which could return a new document from
4187         the window's frame after navigation.
4188
4189         * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
4190         Removed an obsolete check that allowed access when document was null. Contrary to what a
4191         comment said, that can happen for a window that is no longer in frame, not to one whose
4192         document is not constructed yet.
4193
4194         * bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail
4195         out if context was not found. This currently happens due to a shortcoming in
4196         DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression
4197         test will be constructed successfully, but won't be sent, because its context will be
4198         frameless.
4199
4200         * page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't
4201         been replaced yet. Added FIXME comments about how this may be better fixed in the future.
4202
4203         * bindings/js/JSAudioConstructor.cpp:
4204         (WebCore::JSAudioConstructor::document):
4205         (WebCore::constructAudio):
4206         * bindings/js/JSImageConstructor.cpp:
4207         (WebCore::JSImageConstructor::document):
4208         (WebCore::constructImage):
4209         * bindings/js/JSMessageChannelConstructor.cpp:
4210         (WebCore::JSMessageChannelConstructor::construct):
4211         * bindings/js/JSOptionConstructor.cpp:
4212         (WebCore::JSOptionConstructor::document):
4213         (WebCore::constructHTMLOptionElement):
4214         Make matching changes to other constructors that hold a reference to global object.
4215
4216 2009-04-28  Kevin Ollivier <kevino@theolliviers.com>
4217
4218         wxMSW build fix. Switch JSCore build back to static.
4219
4220         * config.h:
4221
4222 2009-04-28  Pierre d'Herbemont  <pdherbemont@apple.com>
4223
4224         Reviewed by Simon Fraser.
4225
4226         <rdar://problem/6834830>
4227
4228         Make sure we cover the two possible values reported by event.total that are playback engine
4229         specific.
4230
4231         * media/progress-event-total-expected.txt: Match the new test.
4232         * media/progress-event-total.html: Test the two values.
4233
4234 2009-04-28  Timothy Hatcher  <timothy@apple.com>
4235
4236         Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it
4237         collects the individual rects, making sure to only include RenderText.
4238
4239         <rdar://problem/6810061>
4240
4241         Reviewed by Sam Weinig.
4242
4243         * bindings/objc/DOM.mm:
4244         (-[DOMNode textRects]): Added. Make a Range and call textRects.
4245         (-[DOMNode lineBoxRects]): Call textRects method.
4246         (-[DOMRange textRects]): Call Range::textRects.
4247         (-[DOMRange lineBoxRects]): Call textRects method.
4248         * bindings/objc/DOMPrivate.h: Add the new methods and a comment
4249         about lineBoxRects being deprecated.
4250         * dom/Range.cpp: