12009-06-15  Adele Peterson  <adele@apple.com>
2
3        Reviewed by Darin Adler.
4
5        Fix for <rdar://problem/6907228> Pasting a paragraph as quotation leaves you typing in blue instead of black; repros
6
7        * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
8        When inserting a newline after the blockquote, we don't want to apply the original style after the insertion.
9
102009-06-15  Sam Weinig  <sam@webkit.org>
11
12        Reviewed by Anders Carlsson.
13
14        Remove outdated comment.
15
16        * bindings/js/JSDOMWindowBase.h:
17
182009-06-15  Sam Weinig  <sam@webkit.org>
19
20        Reviewed by Anders Carlsson.
21
22        Bring CustomGetPropertyNames more inline with the other
23        extended attributes prefixed with Custom, by making it 
24        require a complete implementation.
25
26        * bindings/js/JSDOMWindowCustom.cpp:
27        (WebCore::JSDOMWindow::getPropertyNames):
28        * bindings/js/JSHistoryCustom.cpp:
29        (WebCore::JSHistory::getPropertyNames):
30        * bindings/js/JSLocationCustom.cpp:
31        (WebCore::JSLocation::getPropertyNames):
32        * bindings/js/JSStorageCustom.cpp:
33        (WebCore::JSStorage::getPropertyNames):
34        * bindings/scripts/CodeGeneratorJS.pm:
35
362009-06-15  Sam Weinig  <sam@webkit.org>
37
38        Reviewed by Anders Carlsson.
39
40        Remove commented out ondataunavailable attribute event listener which
41        has now been removed from HTML 5.
42
43        * page/DOMWindow.idl:
44
452009-06-15  Sam Weinig  <sam@webkit.org>
46
47        Reviewed by Anders Carlsson.
48
49        Move entire custom implementation of getOwnPropertySlot and put
50        for JSDOMWindow into JSDOMWindowCustom, eliminating the bit in
51        JSDOMWindowBase.
52
53        * bindings/js/JSDOMWindowBase.cpp:
54        * bindings/js/JSDOMWindowBase.h:
55        * bindings/js/JSDOMWindowCustom.cpp:
56        (WebCore::nonCachingStaticFunctionGetter):
57        (WebCore::childFrameGetter):
58        (WebCore::indexGetter):
59        (WebCore::namedItemGetter):
60        (WebCore::JSDOMWindow::getOwnPropertySlot):
61        (WebCore::JSDOMWindow::put):
62        (WebCore::JSDOMWindow::getPropertyAttributes):
63        * bindings/js/JSDOMWindowCustom.h:
64        * page/DOMWindow.idl:
65
662009-06-15  Jeremy Orlow (jorlow@chromium.org)
67
68        Reviewed by Dimitri Glazkov.
69
70        https://bugs.webkit.org/show_bug.cgi?id=26356
71        Define the functions in V8CustomBindings.h.  "Forgot" this in my
72        earlier patch since it wasn't fully upstreamed when I wrote the
73        patch.
74
75        * bindings/v8/custom/V8CustomBinding.h:
76
772009-06-15  Andre Boule  <aboule@apple.com>
78
79        Reviewed by Cameron Zwarich and Dan Bernstein.
80
81        - fix <rdar://problem/6967975> crash with NSString drawAtPoint
82
83        No test possible because this crash can only occur if the client uses
84        WebKit text drawing without ever using WebCore text, and DumpRenderTree
85        cannot do either.
86
87        * platform/graphics/FontCache.cpp:
88        (WebCore::FontCache::purgeInactiveFontData): Null-check
89            gFontPlatformDataCache.
90
912009-06-15  Simon Fraser  <simon.fraser@apple.com>
92
93        Reviewed by Mark Rowe.
94
95        <rdar://problem/6974857>
96        
97        Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
98        switch from config.h to wtf/Platform.h.
99
100        * Configurations/FeatureDefines.xcconfig:
101        * config.h:
102
1032009-06-15  Pavel Feldman  <pfeldman@chromium.org>
104
105        Reviewed by Timothy Hatcher.
106
107        Make WebInspector's console evaluation/completion asynchronous.
108        This way of evaluation allows serializing calls between 
109        InspectorController and its frontend.
110        
111        https://bugs.webkit.org/show_bug.cgi?id=26350
112
113        * inspector/front-end/Console.js:
114        (WebInspector.Console.prototype.completions):
115        (WebInspector.Console.prototype._reportCompletions):
116        (WebInspector.Console.prototype._evalInInspectedWindow):
117        (WebInspector.Console.prototype._enterKeyPressed.printResult):
118        (WebInspector.Console.prototype._enterKeyPressed):
119        * inspector/front-end/DatabaseQueryView.js:
120        * inspector/front-end/ObjectPropertiesSection.js:
121        (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
122        * inspector/front-end/ScriptsPanel.js:
123        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
124        * inspector/front-end/TextPrompt.js:
125        (WebInspector.TextPrompt.prototype.complete):
126        (WebInspector.TextPrompt.prototype._completionsReady):
127
1282009-06-15  Kevin McCullough  <kmccullough@apple.com>
129
130        Reviewed by Tim Hatcher.
131
132        Reverted previous change as the old behavior was correct for heavy view.
133
134        * inspector/front-end/BottomUpProfileDataGridTree.js:
135        (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
136
1372009-06-15  Kevin McCullough  <kmccullough@apple.com>
138
139        Reviewed by Tim Hatcher.
140
141        <rdar://problem/6968125> Profiler 'Call' count is incorrect in Heavy
142        view (26418)
143
144        - Removed code that copied call and time data from it's ancestor.
145
146        * inspector/front-end/BottomUpProfileDataGridTree.js:
147        (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
148
1492009-06-15  Chris Marrin  <cmarrin@apple.com>
150
151        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
152
153        https://bugs.webkit.org/show_bug.cgi?id=26163
154
155        Added logic to updateTransitions similar to that in updateKeyframeAnimations
156        which detects and removes stale transitions.
157
158        Test: transitions/cancel-transition.html
159
160        * page/animation/CompositeAnimation.cpp:
161        (WebCore::CompositeAnimation::updateTransitions):
162        * page/animation/ImplicitAnimation.cpp:
163        (WebCore::ImplicitAnimation::ImplicitAnimation):
164        * page/animation/ImplicitAnimation.h:
165        (WebCore::ImplicitAnimation::active):
166        (WebCore::ImplicitAnimation::setActive):
167
1682009-06-15  Dan Bernstein  <mitz@apple.com>
169
170        Reviewed by Tim Hatcher.
171
172        - allow the source code font in the Web Inspector to be customized
173
174        * css/view-source.css: Use the default monospace font family and size
175            for source code.
176        * inspector/front-end/inspector.css: Use the default monospace font
177            family and size for console I/O.
178
1792009-06-15  Simon Hausmann  <simon.hausmann@nokia.com>
180
181        Reviewed by and done with Tor Arne Vestbø.
182
183        Fix initialization of uninitialized members in FontFallbackListQt, leading
184        to random crashes when rendering text.
185
186        * platform/graphics/qt/FontFallbackListQt.cpp:
187        (WebCore::FontFallbackList::FontFallbackList):
188        (WebCore::FontFallbackList::invalidate):
189
1902009-06-15  Xan Lopez  <xlopez@igalia.com>
191
192        Reviewed by Holger Freyther.
193
194        https://bugs.webkit.org/show_bug.cgi?id=25895
195        [Gtk] Segfault when deleting the last/only character in an entry if a11y is enabled
196
197        Use computeOffsetInContainerNode instead of the inline
198        offsetInContainerNode to return the caret offset, since the former
199        can handle all types of anchoring. Otherwise we'll hit an ASSERT
200        in some situations in debug builds, and crash.
201
202        * editing/gtk/SelectionControllerGtk.cpp:
203        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
204
2052009-06-15  Joe Ligman  <joseph.ligman@nokia.com>
206
207        Reviewed by Simon Hausmann.
208
209        [Qt] Fix build break
210        Rename JSONObject to InspectorJSONObject
211
212        https://bugs.webkit.org/show_bug.cgi?id=26340
213
214        * GNUmakefile.am:
215        * WebCore.pro:
216        * WebCore.vcproj/WebCore.vcproj:
217        * WebCore.xcodeproj/project.pbxproj:
218        * WebCoreSources.bkl:
219        * inspector/ConsoleMessage.cpp:
220        (WebCore::ConsoleMessage::addToConsole):
221        * inspector/InspectorDOMStorageResource.cpp:
222        (WebCore::InspectorDOMStorageResource::bind):
223        * inspector/InspectorDatabaseResource.cpp:
224        (WebCore::InspectorDatabaseResource::bind):
225        * inspector/InspectorFrontend.cpp:
226        (WebCore::InspectorFrontend::newInspectorJSONObject):
227        (WebCore::InspectorFrontend::addMessageToConsole):
228        (WebCore::InspectorFrontend::addResource):
229        (WebCore::InspectorFrontend::updateResource):
230        (WebCore::InspectorFrontend::addDatabase):
231        (WebCore::InspectorFrontend::addDOMStorage):
232        * inspector/InspectorFrontend.h:
233        * inspector/InspectorJSONObject.cpp: Copied from WebCore/inspector/JSONObject.cpp.
234        (WebCore::InspectorJSONObject::InspectorJSONObject):
235        (WebCore::InspectorJSONObject::set):
236        (WebCore::InspectorJSONObject::scriptObject):
237        (WebCore::InspectorJSONObject::createNew):
238        * inspector/InspectorJSONObject.h: Copied from WebCore/inspector/JSONObject.h.
239        * inspector/InspectorResource.cpp:
240        (WebCore::populateHeadersObject):
241        (WebCore::InspectorResource::createScriptObject):
242        (WebCore::InspectorResource::updateScriptObject):
243        * inspector/JSONObject.cpp: Removed.
244        * inspector/JSONObject.h: Removed.
245
2462009-06-12  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
247
248        Reviewed by Simon Hausmann.
249
250        Refactor handling of options in the build-webkit script
251        
252        Options are now defined in one place, and then reused when creating
253        the usage help text, the arguments to GetOptions(), and when passing
254        the options on to the underlying port-dependent build systems.
255        
256        This allows the Qt port to read the defaults for the options from the
257        pro file (dynamically), and to pass the options on to qmake at build.
258
259        * WebCore.pro:
260
2612009-06-14  chris fleizach  <cfleizach@apple.com>
262
263        Reviewed by Darin Adler.
264
265        Bug 26399: REGRESSION: java applet accessibility broken
266        https://bugs.webkit.org/show_bug.cgi?id=26399
267 
268        Accessibility could not access the elements in a java applet 
269        when going down the AX hierarchy.
270
271        Test: DRT does not allow java applets so add a manual test:
272              manual-tests/accessibility/java-applet.html
273
274        * accessibility/AccessibilityRenderObject.cpp:
275        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
276        * accessibility/mac/AccessibilityObjectMac.mm:
277        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
278        * accessibility/mac/AccessibilityObjectWrapper.mm:
279        (-[AccessibilityObjectWrapper attachmentView]):
280        * manual-tests/accessibility: Added.
281        * manual-tests/accessibility/java-applet.html: Added.
282        * manual-tests/accessibility/resources: Added.
283        * manual-tests/accessibility/resources/AppletTest.class: Added.
284        * manual-tests/accessibility/resources/AppletTest.java: Added.
285        (AppletTest):
286        (AppletTest.init):
287
2882009-06-14  Sam Weinig  <sam@webkit.org>
289
290        Reviewed by Cameron Zwarich.
291
292        Rename the CustomGetOwnPropertySlot and CustomPutFunction extended attributes
293        to DelegatingGetOwnPropertySlot and DelegatingPutFunction to more clearly describe
294        their functionality (customGetOwnPropertySlot and customPut member functions have
295        been renamed getOwnPropertySlotDelegate and putDelegate).  CustomGetOwnPropertySlot 
296        and CustomPutFunction have been repurposed to mean a complete custom implementation
297        of the function which is inline with other extended attributes prefixed with Custom.
298
299        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
300        (WebCore::JSCSSStyleDeclaration::putDelegate):
301        * bindings/js/JSDOMWindowCustom.h:
302        (WebCore::JSDOMWindow::getOwnPropertySlotDelegate):
303        (WebCore::JSDOMWindow::putDelegate):
304        * bindings/js/JSHTMLAppletElementCustom.cpp:
305        (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
306        (WebCore::JSHTMLAppletElement::putDelegate):
307        * bindings/js/JSHTMLEmbedElementCustom.cpp:
308        (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
309        (WebCore::JSHTMLEmbedElement::putDelegate):
310        * bindings/js/JSHTMLObjectElementCustom.cpp:
311        (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
312        (WebCore::JSHTMLObjectElement::putDelegate):
313        * bindings/js/JSHistoryCustom.cpp:
314        (WebCore::JSHistory::getOwnPropertySlotDelegate):
315        (WebCore::JSHistory::putDelegate):
316        * bindings/js/JSLocationCustom.cpp:
317        (WebCore::JSLocation::getOwnPropertySlotDelegate):
318        (WebCore::JSLocation::putDelegate):
319        (WebCore::JSLocationPrototype::putDelegate):
320        * bindings/js/JSStorageCustom.cpp:
321        (WebCore::JSStorage::putDelegate):
322        * bindings/js/JSWorkerContextCustom.cpp:
323        (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
324        * bindings/scripts/CodeGeneratorJS.pm:
325        * css/CSSStyleDeclaration.idl:
326        * html/HTMLAppletElement.idl:
327        * html/HTMLEmbedElement.idl:
328        * html/HTMLObjectElement.idl:
329        * page/DOMWindow.idl:
330        * page/History.idl:
331        * page/Location.idl:
332        * storage/Storage.idl:
333        * workers/WorkerContext.idl:
334
3352009-06-14  Dan Bernstein  <mitz@apple.com>
336
337        Reviewed by Darin Adler.
338
339        - fix https://bugs.webkit.org/show_bug.cgi?id=26395
340          <rdar://problem/6971333> REGRESSION (r40813-r40884): No caret after
341          going back/forward to page with focused text field
342
343        No test, since the back/forward cache is disabled in DumpRenderTree
344
345        * loader/FrameLoader.cpp:
346        (WebCore::FrameLoader::open): Added a call to CachedPage::restore(),
347        which was removed in r40870.
348
3492009-06-14  Darin Adler  <darin@apple.com>
350
351        * editing/TextIterator.cpp:
352        (WebCore::BitStack::push): Use named constant instead of hardcoded numbers.
353        (WebCore::BitStack::top): Ditto.
354
3552009-06-14  Darin Adler  <darin@apple.com>
356
357        Reviewed by Dan Bernstein.
358
359        Bug 26364: Search can find text that's hidden by overflow:hidden
360        https://bugs.webkit.org/show_bug.cgi?id=26364
361        <rdar://problem/6952081>
362
363        Test: fast/text/find-hidden-text.html
364
365        * editing/TextIterator.cpp:
366        (WebCore::BitStack::BitStack): Added.
367        (WebCore::BitStack::push): Added.
368        (WebCore::BitStack::pop): Added.
369        (WebCore::BitStack::top): Added.
370        (WebCore::BitStack::size): Added.
371        (WebCore::parentOrShadowParent): Added. Helper function for walking up
372        the parent node chain, crossing shadow tree boundaries.
373        (WebCore::depthCrossingShadowBoundaries): Added for use in assertions.
374        Counts the depth of a node using the parentOrShadowParent function.
375        (WebCore::fullyClipsContents): Added. Returns true for an element that
376        fully clips its contents, currently defined as a box that has zero width
377        or height and hides overflow. We can add other cases here later.
378        (WebCore::ignoresContainerClip): Added. Returns true for an element that
379        ignores its container clip, currently defined as an element with absolute
380        or fixed positioning.
381        (WebCore::pushFullyClippedState): Added. Pushes a bit on the stack indicating
382        if the node in question fully clips its contents.
383        (WebCore::setUpFullyClippedStack): Added. Pushes a bit for each ancestor of
384        a node. Used when creating an iterator.
385        (WebCore::TextIterator::TextIterator): Removed code to initialize
386        m_inShadowContent. Call setUpFullyClippedStack.
387        (WebCore::TextIterator::advance): Use parentOrShadowParent. Call pop when moving
388        up to a parent node, and also one extra time when moving to a sibling node.
389        Call pushFullyClippedState when moving to a child node, or when moving to a
390        sibling node after the aforementioned call to pop.
391        (WebCore::TextIterator::handleTextNode): Return early if the node is fully clipped.
392        (WebCore::TextIterator::handleReplacedElement): Ditto.
393        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
394        Call setUpFullyClippedStack.
395        (WebCore::SimplifiedBackwardsTextIterator::advance): Same changes as
396        TextIterator::advance above.
397
398        * editing/TextIterator.h: Added BitStack class and added m_fullyClippedStack to both
399        TextIterator and SimplifiedBackwardsTextIterator. Removed unneeded m_inShadowContent.
400
4012009-06-14  David Hyatt  <hyatt@apple.com>
402
403        Reviewed by Simon Fraser.
404
405        https://bugs.webkit.org/show_bug.cgi?id=26362
406
407        Back out Simon's fix and replace it with a better one that doesn't needlessly destroy RenderObjects.
408        Use NoInherit rather than Detach for child index changes, and don't worry about other pseudo-class state
409        changes, since they were handled already with setNeedsStyleRecalcs on the affected objects themselves.
410
411        * dom/Element.cpp:
412        (WebCore::Element::recalcStyle):
413        * dom/Node.cpp:
414        (WebCore::Node::diff):
415        * rendering/style/RenderStyle.h:
416        (WebCore::InheritedFlags::setChildIndex):
417
4182009-06-14  David Hyatt  <hyatt@apple.com>
419
420        Reviewed by Dan Bernstein.
421
422        Move all of the mutable member variables from Font into the refcounted FontFallbackList.  This makes
423        copying of Fonts more efficient and also effectively makes all of the mutations of a Font object happen
424        inside the FontFallbackList.
425
426        * WebCore.base.exp:
427        * platform/graphics/Font.cpp:
428        (WebCore::Font::Font):
429        (WebCore::Font::operator=):
430        (WebCore::Font::primaryFont):
431        (WebCore::Font::update):
432        * platform/graphics/Font.h:
433        (WebCore::Font::setWordSpacing):
434        (WebCore::Font::setLetterSpacing):
435        * platform/graphics/FontFallbackList.cpp:
436        (WebCore::FontFallbackList::FontFallbackList):
437        (WebCore::FontFallbackList::invalidate):
438        (WebCore::FontFallbackList::determinePitch):
439        * platform/graphics/FontFallbackList.h:
440        (WebCore::FontFallbackList::primarySimpleFontData):
441        (WebCore::FontFallbackList::primaryFontData):
442        * platform/graphics/FontFastPath.cpp:
443        (WebCore::Font::glyphDataForCharacter):
444
4452009-06-14  Simon Fraser  <simon.fraser@apple.com>
446
447        Reviewed by Darin Adler
448        
449        https://bugs.webkit.org/show_bug.cgi?id=26362
450        
451        Fix an issue noted on quirksmode.com where dynamically adding siblings does not
452        update :nth-child style correctly.
453
454        Test: fast/css/nth-child-dynamic.html
455
456        * dom/Node.h:
457        Change diff() to take const RenderStyle*
458        * dom/Node.cpp:
459        (WebCore::Node::diff):
460        When comparing styles to decide whether to detach and reattach, we
461        need to look at whether the pseudoclass-related data in the style
462        changed (since RenderStyle::diff doesn't check this).
463        
464        * rendering/style/RenderStyle.cpp:
465        (WebCore::RenderStyle::getCachedPseudoStyle):
466        (WebCore::RenderStyle::inheritedNotEqual):
467        Make these methods const.
468        * rendering/style/RenderStyle.h:
469        (WebCore::InheritedFlags::styleType):
470        (WebCore::InheritedFlags::pseudoClassStateEquivalent):
471        Make methods const.
472        Add new method that compares the pseudoclass-related members.
473
4742009-06-13  Peter Kasting  <pkasting@google.com>
475
476        Reviewed by Kevin Ollivier.
477
478        https://bugs.webkit.org/show_bug.cgi?id=25709 part eleven
479        Write a wx implementation so the wx port can compile.  For now this is
480        mostly a copy of the Cairo port, but in the future it can be changed to
481        use a wxBitmap as the storage type everywhere (just as Cairo can
482        probably be changed).
483        
484        Also ASSERT for any other ports who call getAddr() (I don't think there
485        are any, and besides, they probably won't link, but this doesn't hurt).
486        
487        Also fixes a dumb Cairo build bustage typo introduced in part ten.
488
489        * platform/graphics/wx/ImageSourceWx.cpp:
490        (WebCore::ImageSource::createFrameAtIndex):
491        * platform/image-decoders/ImageDecoder.h:
492        (WebCore::RGBA32Buffer::getAddr):
493        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
494        (WebCore::RGBA32Buffer::setStatus):
495        * platform/image-decoders/wx: Added.
496        * platform/image-decoders/wx/ImageDecoderWx.cpp: Added.
497        (WebCore::RGBA32Buffer::RGBA32Buffer):
498        (WebCore::RGBA32Buffer::clear):
499        (WebCore::RGBA32Buffer::zeroFill):
500        (WebCore::RGBA32Buffer::copyBitmapData):
501        (WebCore::RGBA32Buffer::setSize):
502        (WebCore::RGBA32Buffer::asNewNativeImage):
503        (WebCore::RGBA32Buffer::hasAlpha):
504        (WebCore::RGBA32Buffer::setHasAlpha):
505        (WebCore::RGBA32Buffer::setStatus):
506        (WebCore::RGBA32Buffer::operator=):
507        (WebCore::RGBA32Buffer::width):
508        (WebCore::RGBA32Buffer::height):
509        * webcore-wx.bkl:
510
5112009-06-13  Stephen White  <senorblanco@chromium.org>
512
513        Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
514
515        https://bugs.webkit.org/show_bug.cgi?id=26320
516
517        Some minor code cleanup for chromium/skia port.  Removed #ifdef's
518        around skia API changes, since the new version seems solid and we
519        don't need to go back.  Added some comments to
520        TransparencyWin.h, as requested by Brett in
521        https://bugs.webkit.org/show_bug.cgi?id=24584.
522
523        * platform/graphics/chromium/FontCacheLinux.cpp:
524        (WebCore::FontCache::createFontPlatformData):
525        * platform/graphics/chromium/TransparencyWin.h:
526        * platform/graphics/skia/PathSkia.cpp:
527        (WebCore::Path::boundingRect):
528        (WebCore::boundingBoxForCurrentStroke):
529        * platform/graphics/skia/SkiaUtils.cpp:
530        (WebCore::SkPathContainsPoint):
531
5322009-06-13  Adam Barth  <abarth@webkit.org>
533
534        Reviewed by Darin Fisher.
535
536        https://bugs.webkit.org/show_bug.cgi?id=24492
537
538        Moved registerURLSchemeAsLocal and registerURLSchemeAsNoAccess from
539        FrameLoader to SecurityOrigin.
540
541        * WebCore.base.exp:
542        * loader/FrameLoader.cpp:
543        (WebCore::FrameLoader::loadFrameRequest):
544        (WebCore::FrameLoader::canLoad):
545        * loader/FrameLoader.h:
546        * page/SecurityOrigin.cpp:
547        (WebCore::localSchemes):
548        (WebCore::noAccessSchemes):
549        (WebCore::SecurityOrigin::SecurityOrigin):
550        (WebCore::SecurityOrigin::isLocal):
551        (WebCore::SecurityOrigin::registerURLSchemeAsLocal):
552        (WebCore::SecurityOrigin::shouldTreatURLAsLocal):
553        (WebCore::SecurityOrigin::shouldTreatURLSchemeAsLocal):
554        (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
555        (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
556        * page/SecurityOrigin.h:
557
5582009-06-13  Ben Murdoch  <benm@google.com>
559
560        Reviewed by David Kilzer.  Landed by Adam Barth.
561
562        https://bugs.webkit.org/show_bug.cgi?id=26189
563
564        This patch changes the way PageGroups create their localStorage
565        objects. Rather than creating a local storage object for the page group
566        when a page is added to the group, the local storage object is now
567        created lazily when the local storage object is requested by the
568        DOMWindow.
569
570        * page/PageGroup.cpp:
571        (WebCore::PageGroup::closeLocalStorage): Before attempting to close a local storage object for a page group, ensure one has been created.
572        (WebCore::PageGroup::addPage): Do not automatically try to create a local storage object when a page is added to the group.
573        (WebCore::PageGroup::localStorage): Create a local storage object if one does not exist and return it.
574        * page/PageGroup.h: Add private hasLocalStorage method to PageGroup.
575
576
5772009-06-13  Ben Murdoch  <benm@google.com>
578
579        Reviewed by Eric Seidel.  Landed by Adam Barth.
580
581        https://bugs.webkit.org/show_bug.cgi?id=26189
582
583        Add ENABLE(DOM_STORAGE) guards to the dom storage source files.
584
585        * storage/LocalStorage.cpp: Add ENABLE(DOM_STORAGE) guards to the file.
586        * storage/LocalStorage.h: Ditto
587        * storage/LocalStorageArea.cpp: Ditto
588        * storage/LocalStorageArea.h: Ditto
589        * storage/LocalStorageTask.cpp: Ditto
590        * storage/LocalStorageTask.h: Ditto
591        * storage/LocalStorageThread.cpp: Ditto
592        * storage/LocalStorageThread.h: Ditto
593        * storage/SessionStorage.cpp: Ditto
594        * storage/SessionStorage.h: Ditto
595        * storage/SessionStorageArea.cpp: Ditto
596        * storage/SessionStorageArea.h: Ditto
597        * storage/Storage.cpp: Ditto
598        * storage/Storage.h: Ditto
599        * storage/StorageArea.cpp: Ditto
600        * storage/StorageArea.h: Ditto
601        * storage/StorageEvent.cpp: Ditto
602        * storage/StorageEvent.h: Ditto
603        * storage/StorageMap.cpp: Ditto
604        * storage/StorageMap.h: Ditto
605        * storage/StorageEvent.idl: Add Conditional=DOM_STORAGE attribute.
606        * storage/Storage.idl: Ditto
607
6082009-06-13  Peter Kasting  <pkasting@google.com>
609
610        Reviewed by Eric Seidel.
611
612        https://bugs.webkit.org/show_bug.cgi?id=25709 part ten
613        Make Skia use the root directory ImageDecoder.h and factor out most
614        Skia-specific bits into skia/ImageDecoderSkia.cpp.  Also fix a pair of
615        style violations in ImageDecoderCairo.cpp.  This is the last patch for
616        this bug, everything beyond this is an enhancement rather than
617        unforking.
618
619        * platform/image-decoders/ImageDecoder.h:
620        (WebCore::RGBA32Buffer::getAddr):
621        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
622        (WebCore::RGBA32Buffer::hasAlpha):
623        (WebCore::RGBA32Buffer::setHasAlpha):
624        (WebCore::setStatus):
625        * platform/image-decoders/skia/ImageDecoder.h: Removed.
626        * platform/image-decoders/skia/ImageDecoderSkia.cpp: Added.
627        (WebCore::RGBA32Buffer::RGBA32Buffer):
628        (WebCore::RGBA32Buffer::clear):
629        (WebCore::RGBA32Buffer::zeroFill):
630        (WebCore::RGBA32Buffer::copyBitmapData):
631        (WebCore::RGBA32Buffer::setSize):
632        (WebCore::RGBA32Buffer::asNewNativeImage):
633        (WebCore::RGBA32Buffer::hasAlpha):
634        (WebCore::RGBA32Buffer::setHasAlpha):
635        (WebCore::RGBA32Buffer::setStatus):
636        (WebCore::RGBA32Buffer::operator=):
637        (WebCore::RGBA32Buffer::width):
638        (WebCore::RGBA32Buffer::height):
639
6402009-06-13  Victor Wang <victorw@chromium.org>
641
642        Reviewed by Eric Seidel.  Landed by Adam Barth.
643
644        https://bugs.webkit.org/show_bug.cgi?id=26333
645        Alert during a dragenter event handler will crash the renderer
646        
647        This crash is casued by calling NULL pointer m_documentUnderMouse in
648        DragController::tryDocumentDrag()
649
650        tryDHTMLDrag fires dragenter event. The event listener that listens
651        to this event may create a nested message loop (open a modal dialog),
652        which could process dragleave event and reset m_documentUnderMouse in
653        dragExited.
654
655        Fix the crash by checking m_documentUnderMouse after tryDHTMLDrag and
656        do not continue if the pointer has been set to NULL.
657
658        Test: DRT does not show alerts so add a manual test:
659              manual-tests/drag-enter-alert.html
660
661        * manual-tests/drag-enter-alert.html: Added.
662        * manual-tests/resources/drag-image.png: Added.
663        * page/DragController.cpp:
664        (WebCore::DragController::tryDocumentDrag):
665
6662009-06-13  Nate Chapin  <japhet@google.com>
667
668        Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
669
670        Moved V8 Bindings for V8CustomXPathNSResolver to svn.webkit.org.
671
672        https://bugs.webkit.org/show_bug.cgi?id=26227
673
674        * bindings/v8/custom/V8CustomXPathNSResolver.cpp: Added.
675        (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver): Moved from src.chromium.org.
676        (WebCore::V8CustomXPathNSResolver::~V8CustomXPathNSResolver): Moved from src.chromium.org.
677        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): Moved from src.chromium.org.
678        * bindings/v8/custom/V8CustomXPathNSResolver.h: Added.
679        * bindings/v8/custom/V8DocumentCustom.cpp: Updated includes.
680        (WebCore::CALLBACK_FUNC_DECL): Updated class name.
681
6822009-06-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
683
684        Reviewed by Mark Rowe.  Landed by Adam Barth.
685
686        Remove obsolete declarations for old Symbian port
687        https://bugs.webkit.org/show_bug.cgi?id=26339
688
689        * platform/graphics/FloatPoint.h: Remove declarations for native SYMBIAN adaptation.
690        * platform/graphics/FloatRect.h: Ditto.
691        * platform/graphics/IntPoint.h: Ditto.
692        * platform/graphics/IntRect.h: Ditto.
693        * platform/graphics/IntSize.h: Ditto.
694
6952009-06-13  Dirk Schulze  <krit@webkit.org>
696
697        Reviewed by Eric Seidel.
698
699        Added subRegion calculation to SVG filter. Every filter effect is
700        clipped to the filter region (according to the spec). This makes
701        ImageBuffers for filter effects smaller and we just need to take
702        care about big filter regions.
703        SVGFEImage needed a correction, to avoid an ASSERT. The two filter
704        effects feOffset and feFlood help to test the new subRegion code.
705
706        Tests: svg/filters/subRegion-one-effect.svg
707               svg/filters/subRegion-two-effects.svg
708
709        * platform/graphics/filters/FEBlend.h:
710        (WebCore::FEBlend::uniteChildEffectSubregions):
711        * platform/graphics/filters/FEColorMatrix.h:
712        (WebCore::FEColorMatrix::uniteChildEffectSubregions):
713        * platform/graphics/filters/FEComponentTransfer.h:
714        (WebCore::FEComponentTransfer::uniteChildEffectSubregions):
715        * platform/graphics/filters/FEComposite.h:
716        (WebCore::FEComposite::uniteChildEffectSubregions):
717        * platform/graphics/filters/Filter.h:
718        (WebCore::Filter::setSourceImage):
719        (WebCore::Filter::sourceImage):
720        * platform/graphics/filters/FilterEffect.cpp:
721        (WebCore::FilterEffect::FilterEffect):
722        (WebCore::FilterEffect::calculateUnionOfChildEffectSubregions):
723        (WebCore::FilterEffect::calculateEffectRect):
724        * platform/graphics/filters/FilterEffect.h:
725        (WebCore::FilterEffect::setUnionOfChildEffectSubregions):
726        (WebCore::FilterEffect::unionOfChildEffectSubregions):
727        (WebCore::FilterEffect::hasX):
728        (WebCore::FilterEffect::setHasX):
729        (WebCore::FilterEffect::hasY):
730        (WebCore::FilterEffect::setHasY):
731        (WebCore::FilterEffect::hasWidth):
732        (WebCore::FilterEffect::setHasWidth):
733        (WebCore::FilterEffect::hasHeight):
734        (WebCore::FilterEffect::setHasHeight):
735        (WebCore::FilterEffect::setEffectBuffer):
736        (WebCore::FilterEffect::uniteChildEffectSubregions):
737        * platform/graphics/filters/SourceAlpha.h:
738        (WebCore::SourceAlpha::calculateEffectRect):
739        * platform/graphics/filters/SourceGraphic.cpp:
740        (WebCore::SourceGraphic::calculateEffectRect):
741        (WebCore::SourceGraphic::apply):
742        * platform/graphics/filters/SourceGraphic.h:
743        * rendering/SVGRenderSupport.cpp:
744        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
745        (WebCore::SVGRenderBase::finishRenderSVGContent):
746        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
747        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
748        * svg/graphics/SVGResourceFilter.cpp:
749        (WebCore::SVGResourceFilter::prepareFilter):
750        (WebCore::SVGResourceFilter::applyFilter):
751        * svg/graphics/SVGResourceFilter.h:
752        * svg/graphics/filters/SVGFEConvolveMatrix.h:
753        (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
754        * svg/graphics/filters/SVGFEDiffuseLighting.h:
755        (WebCore::FEDiffuseLighting::uniteChildEffectSubregions):
756        * svg/graphics/filters/SVGFEDisplacementMap.h:
757        (WebCore::FEDisplacementMap::uniteChildEffectSubregions):
758        * svg/graphics/filters/SVGFEFlood.cpp:
759        (WebCore::FEFlood::apply):
760        * svg/graphics/filters/SVGFEGaussianBlur.h:
761        (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
762        * svg/graphics/filters/SVGFEImage.cpp:
763        (WebCore::FEImage::FEImage):
764        * svg/graphics/filters/SVGFEImage.h:
765        * svg/graphics/filters/SVGFEMerge.cpp:
766        (WebCore::FEMerge::uniteEffectRect):
767        * svg/graphics/filters/SVGFEMerge.h:
768        * svg/graphics/filters/SVGFEMorphology.h:
769        (WebCore::FEMorphology::uniteChildEffectSubregions):
770        * svg/graphics/filters/SVGFEOffset.cpp:
771        (WebCore::FEOffset::apply):
772        * svg/graphics/filters/SVGFEOffset.h:
773        (WebCore::FEOffset::uniteChildEffectSubregions):
774        * svg/graphics/filters/SVGFESpecularLighting.h:
775        (WebCore::FESpecularLighting::uniteEffectRect):
776        * svg/graphics/filters/SVGFETile.cpp:
777        (WebCore::FETile::uniteChildEffectSubregions):
778        * svg/graphics/filters/SVGFETile.h:
779        * svg/graphics/filters/SVGFilter.cpp:
780        (WebCore::SVGFilter::calculateEffectSubRegion):
781        * svg/graphics/filters/SVGFilter.h:
782        (WebCore::SVGFilter::effectBoundingBoxMode):
783        (WebCore::SVGFilter::filterRegion):
784        (WebCore::SVGFilter::sourceImageRect):
785
7862009-06-13  Peter Kasting  <pkasting@google.com>
787
788        Bustage: Fix broken GIFs on Cairo due to subtle typo.  Fix a warning.
789
790        * platform/image-decoders/ImageDecoder.h:
791        (WebCore::RGBA32Buffer::copyRowNTimes):
792        * platform/image-decoders/bmp/BMPImageReader.cpp:
793        (WebCore::BMPImageReader::processBitmasks):
794
7952009-06-13  Peter Kasting  <pkasting@google.com>
796
797        GTK bustage fix.  "inline" is handled differently by different compilers.
798
799        * platform/image-decoders/ImageDecoder.h:
800        (WebCore::RGBA32Buffer::getAddr):
801        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
802
8032009-06-13  Peter Kasting  <pkasting@google.com>
804
805        Reviewed by Eric Seidel.
806
807        https://bugs.webkit.org/show_bug.cgi?id=25709 part nine
808        Factor Cairo-specific implementation out of ImageDecoder.h into
809        ImageDecoderCairo.cpp.  Add some comments to functions declared
810        in ImageDecoder.h.
811
812        * GNUmakefile.am:
813        * WebCore.vcproj/WebCore.vcproj:
814        * platform/image-decoders/ImageDecoder.h:
815        * platform/image-decoders/cairo: Added.
816        * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Added.
817        (WebCore::RGBA32Buffer::RGBA32Buffer):
818        (WebCore::RGBA32Buffer::clear):
819        (WebCore::RGBA32Buffer::zeroFill):
820        (WebCore::RGBA32Buffer::copyBitmapData):
821        (WebCore::RGBA32Buffer::setSize):
822        (WebCore::RGBA32Buffer::asNewNativeImage):
823        (WebCore::RGBA32Buffer::hasAlpha):
824        (WebCore::RGBA32Buffer::setHasAlpha):
825        (WebCore::RGBA32Buffer::operator=):
826        (WebCore::RGBA32Buffer::width):
827        (WebCore::RGBA32Buffer::height):
828        (WebCore::RGBA32Buffer::getAddr):
829
8302009-06-13  David Hyatt  <hyatt@apple.com>
831
832        Reviewed by Darin Adler.
833
834        Cleanup of the new MidpointState class.  Turn it into a struct instead.  Fix a mistaken
835        assertion removal and some unintentional whitespace changes.
836
837        * platform/text/BidiResolver.h:
838        (WebCore::MidpointState::reset):
839        * rendering/RenderBlock.h:
840        * rendering/bidi.cpp:
841        (WebCore::BidiRun::operator delete):
842        (WebCore::chopMidpointsAt):
843        (WebCore::checkMidpoints):
844        (WebCore::addMidpoint):
845        (WebCore::appendRunsForObject):
846        (WebCore::RenderBlock::findNextLineBreak):
847
8482009-06-12  David Hyatt  <hyatt@apple.com>
849
850        Reviewed by Dan Bernstein.
851
852        https://bugs.webkit.org/show_bug.cgi?id=26367
853
854        Remove the global variables in bidi.cpp.  Make a new struct, MidpointState, that holds all of the
855        midpoint information.  Add the remaining global variables as arguments passed down through functions
856        as needed.
857
858        * platform/text/BidiResolver.h:
859        (WebCore::MidpointState::MidpointState):
860        (WebCore::MidpointState::reset):
861        (WebCore::BidiResolver::midpointState):
862        * rendering/RenderBlock.h:
863        * rendering/bidi.cpp:
864        (WebCore::BidiRun::operator delete):
865        (WebCore::chopMidpointsAt):
866        (WebCore::checkMidpoints):
867        (WebCore::addMidpoint):
868        (WebCore::appendRunsForObject):
869        (WebCore::RenderBlock::bidiReorderLine):
870        (WebCore::RenderBlock::layoutInlineChildren):
871        (WebCore::RenderBlock::determineStartPosition):
872        (WebCore::skipNonBreakingSpace):
873        (WebCore::shouldCollapseWhiteSpace):
874        (WebCore::requiresLineBox):
875        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
876        (WebCore::RenderBlock::skipTrailingWhitespace):
877        (WebCore::RenderBlock::skipLeadingWhitespace):
878        (WebCore::shouldSkipWhitespaceAfterStartObject):
879        (WebCore::RenderBlock::findNextLineBreak):
880
8812009-06-12  Holger Hans Peter Freyther  <zecke@selfish.org>
882
883        Build fix for Qt. After recent ImageDeocder.h changes. I want
884        the original change to be backed out as the whole Skia merging
885        is going in the wrong direction. The discussion will happen in
886        the bugtracker.
887
888        https://bugs.webkit.org/show_bug.cgi?id=25709.
889
890        * platform/image-decoders/ImageDecoder.h:
891
8922009-06-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
893
894        Gtk build fix: include cstdio so we can use sscanf
895
896        Gtk/Win Cairo build fix: use isASCIISpace instead of isspace
897        Suggested by Brent Fulgham
898
899        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
900        (WebCore::XBMImageDecoder::decodeDatum):
901
9022009-06-12  Peter Kasting  <pkasting@google.com>
903
904        Yet another Skia bustage fix.
905
906        * platform/image-decoders/skia/ImageDecoder.h:
907        (WebCore::RGBA32Buffer::setSize): Avoid symbol name clash.  The better fix is to take an IntSize(); I'll do that later.
908
9092009-06-12  Peter Kasting  <pkasting@google.com>
910
911        Fix remaining Cairo build bustage from
912        https://bugs.webkit.org/show_bug.cgi?id=25709 changes.  Use
913        Vector<char> in place of std::string.
914
915        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
916        (WebCore::XBMImageDecoder::setData):
917        (WebCore::XBMImageDecoder::decodeHeader):
918        (WebCore::XBMImageDecoder::decodeDatum):
919        * platform/image-decoders/xbm/XBMImageDecoder.h:
920
9212009-06-12  David Levin  <levin@chromium.org>
922
923        Reviewed by Darin Adler.
924
925        UString shouldn't create sharedBuffer for SmallStrings.
926        https://bugs.webkit.org/show_bug.cgi?id=26347
927
928        Change the call to use the method UString::Rep::sharedBuffer due
929        to changes in UString.
930
931        No noticable change in behavior, so no test.
932
933        * platform/text/StringImpl.cpp:
934        (WebCore::StringImpl::create):
935
9362009-06-12  Peter Kasting  <pkasting@google.com>
937
938        Fix Chromium and some of Cairo build bustage, fallout from
939        https://bugs.webkit.org/show_bug.cgi?id=25709 changes.
940
941        * WebCore.vcproj/WebCore.vcproj: Add missing XBM decoder files.
942        * platform/image-decoders/skia/ImageDecoder.h:
943        (WebCore::RGBA32Buffer::copyRowNTimes): Fix typo that broke Skia GIF decoding.
944
9452009-06-12  Simon Fraser  <simon.fraser@apple.com>
946
947        Reviewed by Dan Bernstein
948
949        https://bugs.webkit.org/show_bug.cgi?id=26095
950        
951        Fix crash when a renderer for an anonymous node is composited
952        by null-checking renderer()->node().
953        
954        Test: compositing/generated-content.html
955
956        * rendering/RenderLayerBacking.cpp:
957        (WebCore::RenderLayerBacking::createGraphicsLayer):
958        (WebCore::RenderLayerBacking::rendererHasBackground):
959        (WebCore::RenderLayerBacking::rendererBackgroundColor):
960        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
961        (WebCore::RenderLayerBacking::paintIntoLayer):
962
9632009-06-12  Simon Fraser  <simon.fraser@apple.com>
964
965        Fix build when ACCELERATED_COMPOSITING is defined.
966
967        * loader/EmptyClients.h:
968        (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
969        (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
970        (WebCore::EmptyChromeClient::scheduleViewUpdate):
971        Add stubs for the compositing-related ChromeClient methods.
972        
973        * rendering/RenderLayerCompositor.cpp:
974        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
975        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
976        docWidth()/docHeight() became private. Use overflowWidth()/overflowHeight() instead, which
977        matches what is used to size the WebHTMLView.
978
9792009-06-12  jorlow  <jorlow@chromium.org>
980
981        Reviewed by David Levin.
982
983        https://bugs.webkit.org/show_bug.cgi?id=26356
984        http://crbug.com/14006
985        Create custom bindings for v8.  The rest of these files are still
986        forked (so the review is happening on the chromium review site).
987        These bindings have been tested on a hacked up Chromium instance
988        (also running --single-process) and Android.
989
990        * bindings/v8/custom/V8StorageCustom.cpp: Added.
991
9922009-06-12  Dmitry Titov  <dimich@chromium.org>
993
994        Reviewed by David Levin.
995
996        https://bugs.webkit.org/show_bug.cgi?id=26359
997        [v8] Add XMLHttpRequest to WorkerContextExecutionProxy.
998
999        * bindings/v8/WorkerContextExecutionProxy.cpp:
1000        (WebCore::WorkerContextExecutionProxy::ToV8Object): Add type == V8ClassIndex::XMLHTTPREQUEST to the convertable types.
1001        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): same.
1002        * bindings/v8/WorkerContextExecutionProxy.h: fix typo in the comment.
1003
10042009-06-12  Peter Kasting  <pkasting@google.com>
1005
1006        Reviewed by Eric Seidel.
1007
1008        https://bugs.webkit.org/show_bug.cgi?id=25709 part eight
1009        Replace placeholder Cairo BMP, ICO, XBM decoders with real ones.  Remove
1010        all the decoders from skia/ since they are now just mirrors of the Cairo
1011        ones.
1012
1013        * GNUmakefile.am:
1014        * WebCore.vcproj/WebCore.vcproj:
1015        * WebCoreSources.bkl:
1016        * platform/graphics/cairo/ImageSourceCairo.cpp:
1017        (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon.  Enable XBM decoding on Windows.
1018        * platform/graphics/skia/ImageSourceSkia.cpp:
1019        * platform/graphics/wx/ImageSourceWx.cpp:
1020        (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon.
1021        * platform/image-decoders/bmp/BMPImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.cpp.
1022        * platform/image-decoders/bmp/BMPImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.h.
1023        * platform/image-decoders/bmp/BMPImageReader.cpp: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.cpp.
1024        * platform/image-decoders/bmp/BMPImageReader.h: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.h.
1025        * platform/image-decoders/ico/ICOImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.cpp.
1026        * platform/image-decoders/ico/ICOImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.h.
1027        * platform/image-decoders/skia/BMPImageDecoder.cpp: Removed.
1028        * platform/image-decoders/skia/BMPImageDecoder.h: Removed.
1029        * platform/image-decoders/skia/BMPImageReader.cpp: Removed.
1030        * platform/image-decoders/skia/BMPImageReader.h: Removed.
1031        * platform/image-decoders/skia/GIFImageDecoder.cpp: Removed.
1032        * platform/image-decoders/skia/GIFImageDecoder.h: Removed.
1033        * platform/image-decoders/skia/GIFImageReader.cpp: Removed.
1034        * platform/image-decoders/skia/GIFImageReader.h: Removed.
1035        * platform/image-decoders/skia/ICOImageDecoder.cpp: Removed.
1036        * platform/image-decoders/skia/ICOImageDecoder.h: Removed.
1037        * platform/image-decoders/skia/JPEGImageDecoder.cpp: Removed.
1038        * platform/image-decoders/skia/JPEGImageDecoder.h: Removed.
1039        * platform/image-decoders/skia/PNGImageDecoder.cpp: Removed.
1040        * platform/image-decoders/skia/PNGImageDecoder.h: Removed.
1041        * platform/image-decoders/skia/XBMImageDecoder.cpp: Removed.
1042        * platform/image-decoders/skia/XBMImageDecoder.h: Removed.
1043        * platform/image-decoders/xbm/XBMImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.cpp.
1044        * platform/image-decoders/xbm/XBMImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.h.
1045
10462009-06-11  Peter Kasting  <pkasting@google.com>
1047
1048        Reviewed by Eric Seidel.
1049
1050        https://bugs.webkit.org/show_bug.cgi?id=25709 part seven
1051        Update Skia's ImageDecoder.h with a few changes designed to reduce the
1052        delta between specific implementations of ImageDecoder.h.  Update
1053        Cairo's ImageDecoder.h to sync up with the API changes in the Skia
1054        version in the last two chage sets.  Update Cairo's PNG/JPEG/GIF
1055        decoders to use the APIs as well.  All the Cairo image decoder changes
1056        are direct copies of the Skia versions except ImageDecoder.h, which is
1057        modified in the necessary ways for the differences between Cairo and
1058        Skia.
1059
1060        * platform/graphics/cairo/ImageSourceCairo.cpp:
1061        (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() API.
1062        * platform/image-decoders/ImageDecoder.h: Sync up with Skia version.
1063        (WebCore::RGBA32Buffer::):
1064        (WebCore::RGBA32Buffer::RGBA32Buffer):
1065        (WebCore::RGBA32Buffer::clear):
1066        (WebCore::RGBA32Buffer::zeroFill):
1067        (WebCore::RGBA32Buffer::copyBitmapData):
1068        (WebCore::RGBA32Buffer::copyRowNTimes):
1069        (WebCore::RGBA32Buffer::setSize):
1070        (WebCore::RGBA32Buffer::asNewNativeImage):
1071        (WebCore::RGBA32Buffer::hasAlpha):
1072        (WebCore::RGBA32Buffer::disposalMethod):
1073        (WebCore::RGBA32Buffer::setHasAlpha):
1074        (WebCore::RGBA32Buffer::setDisposalMethod):
1075        (WebCore::RGBA32Buffer::setRGBA):
1076        (WebCore::RGBA32Buffer::operator=):
1077        (WebCore::RGBA32Buffer::width):
1078        (WebCore::RGBA32Buffer::height):
1079        (WebCore::RGBA32Buffer::getAddr):
1080        * platform/image-decoders/gif/GIFImageDecoder.cpp: Sync up with Skia version.
1081        (WebCore::GIFImageDecoder::initFrameBuffer):
1082        (WebCore::GIFImageDecoder::haveDecodedRow):
1083        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Sync up with Skia version.
1084        (WebCore::JPEGImageDecoder::outputScanlines):
1085        * platform/image-decoders/png/PNGImageDecoder.cpp: Sync up with Skia version.
1086        (WebCore::PNGImageDecoder::rowAvailable):
1087        * platform/image-decoders/skia/ImageDecoder.h: Add various typedefs or helper functions to minimize differences with Cairo version.  Reorder functions slightly to match reordering of Cairo's m_hasAlpha variable, which I moved to increase readability.
1088        (WebCore::RGBA32Buffer::):
1089        (WebCore::RGBA32Buffer::copyRowNTimes):
1090        (WebCore::RGBA32Buffer::setSize):
1091        (WebCore::RGBA32Buffer::asNewNativeImage):
1092        (WebCore::RGBA32Buffer::hasAlpha):
1093        (WebCore::RGBA32Buffer::disposalMethod):
1094        (WebCore::RGBA32Buffer::setHasAlpha):
1095        (WebCore::RGBA32Buffer::setStatus):
1096        (WebCore::RGBA32Buffer::setDisposalMethod):
1097        (WebCore::RGBA32Buffer::setRGBA):
1098        (WebCore::RGBA32Buffer::operator=):
1099        (WebCore::RGBA32Buffer::width):
1100        (WebCore::RGBA32Buffer::height):
1101        (WebCore::RGBA32Buffer::getAddr):
1102        * platform/image-decoders/skia/JPEGImageDecoder.cpp: Add #include needed by JPEG headers on some platforms, plus comment.
1103
11042009-06-12  Brent Fulgham  <bfulgham@webkit.org>
1105
1106        Unreviewed build correction.
1107
1108        Revert accidental configuration checkin.  Was not meant to
1109        be part of the last changeset.
1110
1111        * config.h:
1112
11132009-06-12  Brent Fulgham  <bfulgham@webkit.org>
1114
1115        Reviewed by Eric Seidel.
1116
1117        https://bugs.webkit.org/show_bug.cgi?id=26353
1118        Corrects handling of Cairo fonts that were getting out of
1119        sync due to default copy construction.  Also refactors
1120        some incorrect platform font destruction code that belongs
1121        in the font object's destructor.
1122
1123        * platform/graphics/win/FontPlatformData.h:
1124        * platform/graphics/win/FontPlatformDataCGWin.cpp:
1125        (WebCore::FontPlatformData::~FontPlatformData):
1126        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1127        (WebCore::FontPlatformData::platformDataInit):
1128        (WebCore::FontPlatformData::FontPlatformData):
1129        (WebCore::FontPlatformData::setFont):
1130        (WebCore::FontPlatformData::~FontPlatformData):
1131        * platform/graphics/win/FontPlatformDataWin.cpp:
1132        * platform/graphics/win/SimpleFontDataCGWin.cpp:
1133        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1134        (WebCore::SimpleFontData::platformInit):
1135        (WebCore::SimpleFontData::platformWidthForGlyph):
1136        * platform/graphics/win/SimpleFontDataWin.cpp:
1137
11382009-06-12  Peter Kasting  <pkasting@google.com>
1139
1140        Reviewed by Eric Seidel.
1141
1142        * ChangeLog-2007-10-14: Update my email address.
1143        * ChangeLog-2008-08-10: Update my email address.
1144
11452009-06-12  Nate Chapin  <japhet@google.com>
1146
1147        Reviewed by David Levin.
1148
1149        Upstream V8Helpers.
1150
1151        https://bugs.webkit.org/show_bug.cgi?id=26332
1152
1153        * bindings/v8/V8Helpers.cpp: Added.
1154        (wrapNPObject): Moved from v8_helpers.cpp.
1155        (toV8Context): Moved from v8_helpers.cpp.
1156        (toV8Proxy): Moved from v8_helpers.cpp.
1157        * bindings/v8/V8Helpers.h: Added.
1158
11592009-06-12  Jessie Berlin  <jberlin@apple.com>
1160
1161        Reviewed by Mark Rowe.
1162
1163        https://bugs.webkit.org/show_bug.cgi?id=24792
1164        rdar://problem/6933055
1165
1166        Changes the radius in which cursor movement around the 4 arrow icon
1167        while pan-scrolling does not cause scrolling from around 10 pixels to
1168        15 pixels, similar to what is found in IE and Firefox.
1169
1170        * page/EventHandler.cpp:
1171        (WebCore::EventHandler::setPanScrollCursor):
1172        Factor out the no-pan-scroll radius.
1173        * platform/ScrollView.h:
1174        Create a constant for the no-pan-scroll radius.
1175        * rendering/RenderLayer.cpp:
1176        (WebCore::RenderLayer::panScrollFromPoint):
1177        Factor out the no-pan-scroll radius.
1178
11792009-06-12  Xan Lopez  <xlopez@igalia.com>
1180
1181        Reviewed by Gustavo Noronha.
1182
1183        https://bugs.webkit.org/show_bug.cgi?id=25609
1184        [GTK] Implement support for get_selection and get_n_selections
1185
1186        Only use the VisibleSelection object if it actually belongs to the
1187        object we are using.
1188
1189        This is pretty hacky-ish, but I can't seem to find a direct API to
1190        get the VisibleSelection for a given object, only the global one.
1191
1192        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1193        (selectionBelongsToObject):
1194        (webkit_accessible_text_get_n_selections):
1195        (webkit_accessible_text_get_selection):
1196
11972009-06-03  Eric Seidel  <eric@webkit.org>
1198
1199        Reviewed by Darin Adler.
1200
1201        Crash at Node::nodeIndex()
1202        https://bugs.webkit.org/show_bug.cgi?id=26044
1203
1204        This crash seems to be caused by calling nodeIndex() on
1205        and invalid Node pointer.  As far as I can tell, the most likely
1206        explanation is that the Range holding the node is actually
1207        deleted already (thus the memory is junk).  Looking at the code
1208        Range changes m_start.container() in its destructor to tell if
1209        the range is detached or not.  If somehow m_start.container() was
1210        cleared, the range will never be detached and the Document will end
1211        up with pointers to deleted ranges.  I don't know how to reproduce this
1212        any reproduction I could think of would hit ASSERTS in Debug mode.
1213        One reproduction I tried, did not crash in Release mode, even though it
1214        did in Debug mode.
1215
1216        I'm making a speculative fix by always detaching the Range from the document
1217        during ~Range.  This is safer, and all we lose is an ASSERT to prevent double-detach.
1218        
1219        Another solution would be to instead store an m_attached bool on the Range object, or
1220        expose a Document::isRangeAttached(range) call.  Either of those solutions
1221        could affect performance, so I went with this solution for now.
1222
1223        I also removed the RangeBoundaryPoint default constructor
1224        as it is not used anywhere (and is more likely to cause confusion).
1225
1226        Since I can't reproduce the crash, no test.
1227
1228        * dom/Document.cpp:
1229        (WebCore::Document::detachRange):
1230        * dom/Range.cpp:
1231        (WebCore::Range::~Range):
1232        (WebCore::Range::detach):
1233        * dom/RangeBoundaryPoint.h:
1234        (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
1235          RangeBoundaryPoints always have an m_containerNode, ASSERT that.
1236        (WebCore::RangeBoundaryPoint::set):
1237          ASSERT(container) to match all the other functions.
1238          All callers already ASSERT(container).  Since we only
1239          have reports if this crash from Release mode, I can only
1240          assume that those ASSERTs would have been hit in a Debug reproduction.
1241
12422009-06-11  Shinichiro Hamaji  <hamaji@chromium.org>
1243
1244        Reviewed by Adam Barth.
1245
1246        https://bugs.webkit.org/show_bug.cgi?id=25512
1247        Handle texts after unfinished special tags (i.e., script, style, textarea,
1248        title, xmp, and iframe) as the text node under the tags in view-source mode.
1249        Before this change, all texts in unfinished special tags cannot be seen even in view-source mode.
1250
1251        This was already done only for title. This change allows other special tags to be handled as well.
1252
1253        Test: fast/frames/viewsource-unfinished-tags.html
1254
1255        * html/HTMLTokenizer.cpp:
1256        (WebCore::HTMLTokenizer::parseNonHTMLText):
1257        (WebCore::HTMLTokenizer::parseTag):
1258        (WebCore::HTMLTokenizer::write):
1259        * html/HTMLTokenizer.h:
1260        (WebCore::HTMLTokenizer::State::inAnyNonHTMLText):
1261
12622009-06-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
1263
1264        Reviewed by Ariya Hidayat.
1265
1266        https://bugs.webkit.org/show_bug.cgi?id=26291
1267
1268        [Qt] build break in ImageDecoderQt.cpp.
1269
1270        * platform/graphics/qt/ImageDecoderQt.cpp:
1271        (WebCore::ImageDecoderQt::reset):
1272        (WebCore::ImageDecoderQt::setData):
1273        (WebCore::ImageDecoderQt::isSizeAvailable):
1274        * platform/image-decoders/ImageDecoder.h:
1275        (WebCore::ImageDecoder::setSize):
1276
12772009-06-11  Simon Hausmann  <simon.hausmann@nokia.com>
1278
1279        Rubber-stamped by Ariya Hidayat.
1280
1281        Removed obsolete and unmaintained files from the old Symbian port.
1282
1283        * platform/symbian/FloatPointSymbian.cpp: Removed.
1284        * platform/symbian/FloatRectSymbian.cpp: Removed.
1285        * platform/symbian/IntPointSymbian.cpp: Removed.
1286        * platform/symbian/IntRectSymbian.cpp: Removed.
1287        * platform/symbian/IntSizeSymbian.cpp: Removed.
1288        * platform/text/symbian/StringImplSymbian.cpp: Removed.
1289        * platform/text/symbian/StringSymbian.cpp: Removed.
1290
12912009-06-10  Peter Kasting  <pkasting@google.com>
1292
1293        Reviewed by Eric Seidel.
1294
1295        https://bugs.webkit.org/show_bug.cgi?id=25709 part six
1296        Miscellaneous tiny changes.  The important bits here are the ANSI C++
1297        compliance fix in skia/ImageDecoders.h (needed to compile this file on
1298        non-MSVC) and some behavioral fixes for the XBM decoder that Chromium
1299        unit tests partly exposed.  Other changes are mostly cosmetic.
1300
1301        * platform/image-decoders/ImageDecoder.h: Make some variables private again.  This will break QTWebKit but those guys have agreed to wait on my finishing the ImageDecoder changes.
1302        * platform/image-decoders/gif/GIFImageDecoder.cpp:
1303        (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0).
1304        (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0).
1305        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1306        (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments.
1307        * platform/image-decoders/png/PNGImageDecoder.cpp:
1308        (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments.
1309        * platform/image-decoders/skia/BMPImageReader.cpp:
1310        (WebCore::BMPImageReader::decodeBMP): Make more in line with other decoders' comments and structure, use a ref to decrease verbosity.
1311        (WebCore::BMPImageReader::processRLEData): Use a ref to decrease verbosity.
1312        (WebCore::BMPImageReader::processNonRLEData): Use a ref to decrease verbosity.
1313        * platform/image-decoders/skia/GIFImageDecoder.cpp: Use IntPoint() instead of the redundant IntPoint(0, 0).
1314        (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0).
1315        (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0).
1316        * platform/image-decoders/skia/ImageDecoder.h:
1317        (WebCore::RGBA32Buffer::copyRowNTimes): Fix ANSI violation that MSVC let me compile (!).
1318        * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1319        (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments.
1320        * platform/image-decoders/skia/PNGImageDecoder.cpp:
1321        (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments.
1322        * platform/image-decoders/skia/XBMImageDecoder.cpp:
1323        (WebCore::XBMImageDecoder::frameBufferAtIndex): Return 0 for non-zero indexes, don't try to decode unnecessarily after failure or when the size couldn't be computed, make more in line with other decoders' comments and structure, call RGBA32Buffer::setRect() appropriately.
1324
13252009-06-10  Ojan Vafai  <ojan@chromium.org>
1326
1327        Reviewed by Eric Seidel.
1328
1329        The shadow node inside empty textareas gets collapsed in disabled
1330        textareas. This is a regression from moving the overflow from
1331        the shadow node to it's parent. The fix is to return true in
1332        RenderBlock::hasLineIfEmpty for textarea shadow nodes as we 
1333        currently do for input shadow nodes.
1334        
1335        https://bugs.webkit.org/show_bug.cgi?id=26296
1336        
1337        Test: fast/forms/empty-textarea-toggle-disabled.html
1338
1339        * rendering/RenderBlock.cpp:
1340        (WebCore::RenderBlock::hasLineIfEmpty):
1341
13422009-06-10  Xan Lopez  <xlopez@igalia.com>
1343
1344        Reviewed by Gustavo Noronha.
1345
1346        https://bugs.webkit.org/show_bug.cgi?id=25609
1347        [GTK] Implement support for get_selection and get_n_selections
1348
1349        Implement atk_text_get_n_selections.
1350
1351        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1352        (webkit_accessible_text_get_n_selections):
1353
13542009-06-10  Dan Bernstein  <mitz@apple.com>
1355
1356        Reviewed by Anders Carlsson.
1357
1358        - fix <rdar://problem/6958664> REGRESSION (r42665): When I drag to pan a
1359          Google map in iPhoto Places, it drags a map tile instead
1360
1361        Calling stopLoadRequest() from notifyFinished() removed the
1362        ScriptElementData from the CachedScript's client set, which could make
1363        it eligible for purging. The fix is to call removeClient() only after
1364        executing the script, which protects it from being purged while it is
1365        in the document's queue of scripts to execute soon.
1366
1367        * dom/ScriptElement.cpp:
1368        (WebCore::ScriptElementData::execute): Call removeClient() here.
1369        (WebCore::ScriptElementData::notifyFinished): Instead of calling
1370        stopLoadRequest(), which calls removeClient(), just reset
1371        m_cachedScript.
1372
13732009-06-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
1374
1375        Reviewed by Mark Rowe and Eric Seidel.
1376
1377        Update WebInspector localizedStrings.js with new resource tracking strings
1378        https://bugs.webkit.org/show_bug.cgi?id=26247
1379
1380        * English.lproj/localizedStrings.js:
1381
13822009-06-10  Feng Qian  <feng@chromium.org>
1383
1384        Reviewed by Eric Seidel.
1385
1386        Add Android specific files.
1387        https://bugs.webkit.org/show_bug.cgi?id=26280
1388
1389        * platform/text/android: Added.
1390        * platform/text/android/TextBreakIteratorInternalICU.cpp: Added.
1391
13922009-06-10  Feng Qian  <feng@chromium.org>
1393
1394        Reviewed by Eric Seidel.
1395
1396        Add Android specific file to WebCore/platform/android (part 9).
1397        https://bugs.webkit.org/show_bug.cgi?id=26266
1398
1399        * platform/android/TemporaryLinkStubs.cpp: Added.
1400
14012009-06-10  Feng Qian  <feng@chromium.org>
1402
1403        Reviewed by Eric Seidel.
1404
1405        Add Android platform specific files.
1406        https://bugs.webkit/org/show_bug.cgi?id=26265 (part 8).
1407
1408        * platform/android/SystemTimeAndroid.cpp: Added.
1409        * platform/android/WidgetAndroid.cpp: Added.
1410
14112009-06-10  Feng Qian  <feng@chromium.org>
1412
1413        Reviewed by Eric Seidel.
1414
1415        Add Android port files to WebCore/platform. (part 6).
1416        https://bugs.webkit.org/show_bug.cgi?id=26264
1417
1418        * platform/android/RenderThemeAndroid.cpp: Added.
1419        * platform/android/RenderThemeAndroid.h: Added.
1420
14212009-06-10  Feng Qian  <feng@chromium.org>
1422
1423        Reviewed by Eric Seidel.
1424
1425        Add Android port files to WebCore/platform (part 7).
1426        https://bugs.webkit.org/show_bug.cgi?id=23296
1427
1428        * platform/android/ScreenAndroid.cpp: Added.
1429        * platform/android/ScrollViewAndroid.cpp: Added.
1430        * platform/android/SearchPopupMenuAndroid.cpp: Added.
1431
14322009-06-10  Feng Qian  <feng@chromium.org>
1433
1434        Reviewed by Eric Seidel.
1435
1436        Add Android port files to WebCore/platform (part 5).
1437        https://bugs.webkit.org/show_bug.cgi?id=23296
1438
1439        * platform/android/LocalizedStringsAndroid.cpp: Added.
1440        * platform/android/PopupMenuAndroid.cpp: Added.
1441
14422009-06-10  Feng Qian  <feng@chromium.org>
1443
1444        Reviewed by Eric Seidel.
1445
1446        Add Android port files to WebCore/platform (part 4).
1447        https://bugs.webkit.org/show_bug.cgi?id=23296
1448
1449        * platform/android/KeyEventAndroid.cpp: Added.
1450        * platform/android/KeyboardCodes.h: Added.
1451
14522009-06-10  Feng Qian  <feng@chromium.org>
1453
1454        Reviewed by Eric Seidel.
1455
1456        Add Android port files to WebCore/platform (part 3).
1457        https://bugs.webkit.org/show_bug.cgi?id=23296
1458
1459        * platform/android/FileChooserAndroid.cpp: Added.
1460        * platform/android/FileSystemAndroid.cpp: Added.
1461
14622009-06-10  Feng Qian  <feng@chromium.org>
1463
1464        Reviewed by Eric Seidel.
1465
1466        Add Android port files to WebCore/platform (part 2).
1467        https://bugs.webkit.org/show_bug.cgi?id=23296
1468
1469        * platform/android/CursorAndroid.cpp: Added.
1470        * platform/android/DragDataAndroid.cpp: Added.
1471        * platform/android/EventLoopAndroid.cpp: Added.
1472
14732009-06-10  Nate Chapin  <japhet@google.com>
1474
1475        Reviewed by David Levin.
1476
1477        Finish moving V8Custom from src.chromium.org to svn.webkit.org.
1478
1479        https://bugs.webkit.org/show_bug.cgi?id=26258
1480
1481        * bindings/v8/custom/V8CustomBinding.cpp: Finished upstreaming.
1482        (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp.
1483        (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp.
1484        (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp.
1485        (WebCore::V8Custom::GetTargetFrame): Moved from v8_custom.cpp.
1486        (WebCore::V8Custom::DowncastSVGPathSeg): Moved from v8_custom.cpp.
1487        * bindings/v8/custom/V8CustomBinding.h: Finished upstreaming.
1488        * bindings/v8/custom/V8DatabaseCustom.cpp: Updated includes.
1489        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Updated includes.
1490        * bindings/v8/custom/V8SQLTransactionCustom.cpp: Updated includes.
1491        * bindings/v8/custom/V8WebKitPointConstructor.cpp: Added.
1492        (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp.
1493
14942009-06-10  Takeshi Yoshino  <tyoshino@google.com>
1495
1496        Reviewed by Justin Garcia.
1497
1498        Bug 26214: RenderTextControl: Remove ASSERT for checking that visiblePositionForIndex()'s return is not null.
1499        https://bugs.webkit.org/show_bug.cgi?id=26214
1500
1501        visiblePositionForIndex can return an instance that returns true for
1502        isNotNull(). One of common case is when the corresponding input element has
1503        "-webkit-user-select: none" style attribute. We should allow the case instead
1504        of putting ASSERT.
1505
1506        Test: fast/forms/input-select-webkit-user-select-none.html
1507
1508        * rendering/RenderTextControl.cpp:
1509        (WebCore::RenderTextControl::setSelectionRange):
1510
15112009-06-10  Roland Steiner <rolandsteiner@google.com>
1512
1513        Reviewed by Eric Seidel.
1514
1515        Bug 26197: Incorrect variable initialization in PlatformContextSkia.cpp
1516        https://bugs.webkit.org/show_bug.cgi?id=26197
1517
1518        The PlatformContextSkia constructor does a (very likely) wrong size
1519        initialization for its m_stateStack member:
1520
1521            m_stateStack(sizeof(State))
1522
1523        The intended initialization is probably rather
1524
1525            m_stateStack(1)
1526
1527        However, since this doesn't buy much (see also comment #4),
1528        I removed the initialization completely.
1529
1530        * platform/graphics/skia/PlatformContextSkia.cpp:
1531        (PlatformContextSkia::PlatformContextSkia): remove member initialization
1532
15332009-06-10  Dean McNamee  <deanm@chromium.org>
1534
1535        Reviewed by Eric Seidel.
1536
1537        When there is no backing bitmap, return a transparent pattern.
1538        https://bugs.webkit.org/show_bug.cgi?id=26061
1539
1540        Test: fast/canvas/canvas-empty-image-pattern.html
1541
1542        * platform/graphics/skia/PatternSkia.cpp:
1543        (WebCore::Pattern::createPlatformPattern):
1544
15452009-06-10  Dean McNamee  <deanm@chromium.org>
1546
1547        Reviewed by Eric Seidel.
1548
1549        Fix a crash for radial gradients with a zero radius.
1550        https://bugs.webkit.org/show_bug.cgi?id=26059
1551
1552        Test: fast/gradients/crash-on-zero-radius.html
1553
1554        * platform/graphics/skia/GradientSkia.cpp:
1555        (WebCore::Gradient::platformGradient):
1556
15572009-06-10  Peter Kasting  <pkasting@google.com>
1558
1559        Reviewed by Eric Seidel.
1560
1561        https://bugs.webkit.org/show_bug.cgi?id=25709 part five
1562        Rewrite users of ImageDecoder.h to use "safe" API calls, Skia side.
1563        This tweaks the RGBA32Buffer interfaces to be implementable by Cairo as
1564        well and modifies Skia's usage of those interfaces accordingly.  Once a
1565        similar change lands on the Cairo side, the Skia and Cairo decoders
1566        should be identical except for the implementation of RGBA32Buffer.
1567
1568        * platform/graphics/skia/ImageSourceSkia.cpp:
1569        (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() function.
1570        * platform/image-decoders/skia/BMPImageReader.cpp:
1571        (WebCore::BMPImageReader::processNonRLEData): Use new RGBA32Buffer::zeroFill() function.
1572        * platform/image-decoders/skia/GIFImageDecoder.cpp:
1573        (WebCore::GIFImageDecoder::haveDecodedRow): Rewrite to use RGBA32Buffer::setRGBA(x, y, ...) calls as well as other RGBA32Buffer interface calls instead of knowing the underlying types inside the buffer; also try and add clarity.
1574        * platform/image-decoders/skia/ImageDecoder.h: Removed bitmap(), width(), and height().
1575        (WebCore::RGBA32Buffer::zeroFill): Added.
1576        (WebCore::RGBA32Buffer::copyBitmapData): Avoid using bitmap(), which is going away.
1577        (WebCore::RGBA32Buffer::copyRowNTimes): Added.
1578        (WebCore::RGBA32Buffer::setSize): Use new zeroFill() function.
1579        (WebCore::RGBA32Buffer::asNewNativeImage): Added.
1580        (WebCore::RGBA32Buffer::setRGBA): Condensed two versions into one that takes coordinates instead of a raw pointer.
1581
15822009-06-10  Xan Lopez  <xlopez@igalia.com>
1583
1584        Reviewed by Gustavo Noronha.
1585
1586        https://bugs.webkit.org/show_bug.cgi?id=25671
1587        [GTK] Implement support for set_caret_offset
1588
1589        Make an implementation that actually works.
1590
1591        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1592        (webkit_accessible_text_set_caret_offset):
1593
15942009-06-10  Darin Fisher  <darin@chromium.org>
1595
1596        Reviewed by Dimitri Glazkov.
1597
1598        https://bugs.webkit.org/show_bug.cgi?id=26294
1599
1600        Make sure all member variables are initialized so that the default
1601        assignment operator and copy constructors do not read uninitialized
1602        memory.
1603
1604        * platform/network/ResourceResponseBase.cpp:
1605
16062009-06-10  Yury Semikhatsky  <yurys@chromium.org>
1607
1608        Reviewed by Timothy Hatcher.
1609
1610        Update main resource meta-data when resource tracking is disabled.
1611
1612        https://bugs.webkit.org/show_bug.cgi?id=26253
1613
1614        * inspector/InspectorController.cpp:
1615        (WebCore::InspectorController::getTrackedResource):
1616        (WebCore::InspectorController::willSendRequest):
1617        (WebCore::InspectorController::didReceiveResponse):
1618        (WebCore::InspectorController::didReceiveContentLength):
1619        (WebCore::InspectorController::didFinishLoading):
1620        (WebCore::InspectorController::didFailLoading):
1621        * inspector/InspectorController.h:
1622
16232009-06-10  Xan Lopez  <xlopez@igalia.com>
1624
1625        Reviewed by Gustavo Noronha.
1626
1627        https://bugs.webkit.org/show_bug.cgi?id=25609
1628        [GTK] Implement support for get_selection and get_n_selections
1629
1630        Implement atk_text_get_selection.
1631
1632        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1633        (webkit_accessible_text_get_selection):
1634
16352009-06-10  Xan Lopez  <xlopez@igalia.com>
1636
1637        Reviewed by Gustavo Noronha.
1638
1639        Do not check if our parent class has the finalize method, it's
1640        guaranteed to be there.
1641
1642        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1643        (webkit_accessible_finalize):
1644
16452009-06-10  Brent Fulgham  <bfulgham@webkit.org>
1646
1647        Build correct for Windows Cairo targets.
1648
1649        * WebCore.vcproj/WebCore.vcproj: Disable warning 4611 (interaction
1650          between '_setjmp' and C++ object destruction is non-portable) for
1651          the two Cairo targets.  This used to be disabled in a #pragma,
1652          but recent refactoring removed these lines.
1653
16542009-06-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1655
1656        Reviewed by Simon Hausmann.
1657
1658        Fix the build of PluginView on Qt with 64-bit where we disable plugins
1659        at compile time.
1660
1661        Use the FooNone.cpp files at compile-time.
1662
1663        * plugins/PluginPackageNone.cpp:
1664        * plugins/mac/PluginPackageMac.cpp:
1665        * plugins/mac/PluginViewMac.cpp:
1666
16672009-06-10  Simon Hausmann  <simon.hausmann@nokia.com>
1668
1669        Fix the Qt build.
1670
1671        ImageDecoderQt needs m_size and m_sizeAvailable to be protected.
1672
1673        * platform/image-decoders/ImageDecoder.h:
1674
16752009-06-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1676
1677        Reviewed by Simon Hausmann.
1678
1679        [Qt] Use absolute path for install_name on Mac
1680
1681        * WebCore.pro:
1682
16832009-06-10  Xan Lopez  <xlopez@igalia.com>
1684
1685        Reviewed by Jan Alonzo.
1686
1687        https://bugs.webkit.org/show_bug.cgi?id=25415
1688        [GTK][ATK] Please implement support for get_text_at_offset
1689
1690        Reduce duplicated code to access the text of a AtkText
1691        object. doAXStringForRange calls text() internally, so we are
1692        doing exactly the same after the change.
1693
1694        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1695        (getGailTextUtilForAtk):
1696        (getPangoLayoutForAtk):
1697
16982009-06-10  Xan Lopez  <xlopez@igalia.com>
1699
1700        Reviewed by Jan Alonzo.
1701
1702        https://bugs.webkit.org/show_bug.cgi?id=25415
1703        [GTK][ATK] Please implement support for get_text_at_offset
1704
1705        Pass a PangoLayout to the GailTextUtil function calls.
1706
1707        It's needed for LINE boundary calls to work correctly.
1708
1709        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1710        (updateLayout):
1711        (getPangoLayoutForAtk):
1712        (webkit_accessible_text_get_text_after_offset):
1713        (webkit_accessible_text_get_text_at_offset):
1714
17152009-06-10  Xan Lopez  <xlopez@igalia.com>
1716
1717        Reviewed by Jan Alonzo.
1718
1719        https://bugs.webkit.org/show_bug.cgi?id=25415
1720        [GTK][ATK] Please implement support for get_text_at_offset
1721
1722        Use GailUtilText instead of my crappy partial reimplementation of
1723        it. This should add support for LINE boundaries too, although it's
1724        mostly untested for now.
1725
1726        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1727        (getGailTextUtilForAtk):
1728        (webkit_accessible_text_get_text_after_offset):
1729        (webkit_accessible_text_get_text_at_offset):
1730
17312009-06-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
1732
1733        Gtk build fix: include <stdio.h> as it is required in jpeglib.h
1734
1735        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1736
17372009-06-09  Peter Kasting  <pkasting@google.com>
1738
1739        Reviewed by Eric Seidel.
1740
1741        https://bugs.webkit.org/show_bug.cgi?id=25709 part four
1742        Most of the remaining Cairo changes needed before merging Skia/Cairo
1743        image decoders.  Most of these involve plumbing more error detection and
1744        handling (or, in some cases, merely the capability to detect errors, as
1745        e.g. Skia detects and handles image allocation failure while Cairo
1746        currently doesn't).  There is also some general cleanup and
1747        simplification; RGBA32Buffer::m_height and all associated functions have
1748        been removed (set but never used) and some places now rely on superclass
1749        implementations.
1750
1751        * platform/image-decoders/ImageDecoder.h:
1752        (WebCore::RGBA32Buffer::RGBA32Buffer): Remove m_height, ensureHeight() and associated stuff
1753        (WebCore::RGBA32Buffer::copyBitmapData): Add API function so refcounted backing stores (like Skia uses) can be used with GIFs
1754        (WebCore::RGBA32Buffer::setSize): Zero-fill image to avoid garbage
1755        (WebCore::RGBA32Buffer::height): Remove
1756        (WebCore::RGBA32Buffer::ensureHeight): Remove
1757        (WebCore::ImageDecoder::ImageDecoder): Keep member initialization in order, force subclasses to go through size() instead of accessing m_size directly
1758        (WebCore::ImageDecoder::isSizeAvailable): Check that decoding hasn't failed
1759        (WebCore::ImageDecoder::size): Check that decoding hasn't failed
1760        (WebCore::ImageDecoder::setSize): Protect against integer overflow
1761        (WebCore::ImageDecoder::isOverSize): Protect against integer overflow
1762        * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove prepEmptyFrameBuffer()
1763        (WebCore::GIFImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1764        (WebCore::GIFImageDecoder::sizeNowAvailable): Add return values for better failure handling, rely on superclass setSize() for overflow protection
1765        (WebCore::GIFImageDecoder::initFrameBuffer): Add return values for better failure handling, remove prepEmptyFrameBuffer(), use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), use RGBA32Buffer::copyBitmapData() so backing store can be refcounted internally (Cairo won't be, Skia is), rely on superclass size() for better failure handling
1766        (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation, remove RGBA32Buffer::ensureHeight()
1767        (WebCore::GIFImageDecoder::frameComplete): Remove RGBA32Buffer::ensureHeight()
1768        * platform/image-decoders/gif/GIFImageDecoder.h: Remove prepEmptyFrameBuffer(), add return values for better failure handling
1769        * platform/image-decoders/gif/GIFImageReader.cpp:
1770        (GIFImageReader::do_lzw): Protect against array overflow, add comments
1771        (GIFImageReader::read): Protect against array overflow, be more tolerant of bad data, better failure handling
1772        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files)
1773        (WebCore::JPEGImageReader::decode): Better failure handling
1774        (WebCore::JPEGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1775        (WebCore::JPEGImageDecoder::outputScanlines): Use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), rely on superclass size() for better failure handling, remove RGBA32Buffer::ensureHeight()
1776        * platform/image-decoders/jpeg/JPEGImageDecoder.h: Rely on superclass setSize() for overflow protection
1777        * platform/image-decoders/png/PNGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files)
1778        (WebCore::PNGImageDecoder::PNGImageDecoder): Don't allocate a slot in the framebuffer cache until it's needed
1779        (WebCore::PNGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1780        (WebCore::PNGImageDecoder::frameBufferAtIndex): Don't allocate a slot in the framebuffer cache until it's needed
1781        (WebCore::PNGImageDecoder::decode): Don't allocate a slot in the framebuffer cache until it's needed
1782        (WebCore::PNGImageDecoder::decodingFailed): Fix style violation
1783        (WebCore::PNGImageDecoder::headerAvailable): Rely on superclass isSizeAvailable() and setSize() for overflow protection and better failure handling
1784        (WebCore::PNGImageDecoder::rowAvailable): Don't allocate a slot in the framebuffer cache until it's needed, use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), remove RGBA32Buffer::ensureHeight()
1785        (WebCore::PNGImageDecoder::pngComplete): Don't allocate a slot in the framebuffer cache until it's needed
1786
17872009-06-09  Kevin Ollivier  <kevino@theolliviers.com>
1788
1789        wx build fix, adding JSCore/assembler to the list of include dirs, and
1790        adding editing/ReplaceNodeSpanCommand.cpp to the build.
1791        
1792        * WebCoreSources.bkl:
1793        * webcore-base.bkl:
1794
17952009-06-09  Yury Semikhatsky  <yurys@chromium.org>
1796
1797        Reviewed by Timothy Hatcher.
1798
1799        When checking if the loader is the main resource loader make sure that the loader's frame is the main frame. 
1800
1801        https://bugs.webkit.org/show_bug.cgi?id=26218
1802
1803        * inspector/InspectorController.cpp:
1804        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1805        (WebCore::InspectorController::identifierForInitialRequest):
1806        (WebCore::InspectorController::isMainResourceLoader):
1807        * inspector/InspectorController.h:
1808
18092009-06-09  Pierre d'Herbemont  <pdherbemont@apple.com>
1810
1811        Reviewed by Eric Seidel.
1812
1813        https://bugs.webkit.org/show_bug.cgi?id=26190
1814
1815        Test: media/controls-css-overload.html
1816
1817        * rendering/RenderMedia.cpp:
1818        (WebCore::RenderMedia::updateControls): Prevent NULL dereference in case containers gets hidden.
1819
18202009-06-08  Peter Kasting  <pkasting@google.com>
1821
1822        Reviewed by Eric Seidel.
1823
1824        https://bugs.webkit.org/show_bug.cgi?id=25709 part three
1825        Various minor cleanups to the Skia files.  Mostly non-functional, except
1826        for two specific changes:
1827        * JPEGs and PNGs were always marked as transparent; now they are only
1828          marked as transparent when they actually are.  I doubt this has much
1829          of an effect but in theory it could be used to optimize their display.
1830        * Instead of arbitrarily disallowing images over 32 * 1024 * 1024 px^2,
1831          only disallow images which are so large they will cause overflow in
1832          other parts of the code.  This should fix the testcase on
1833          http://code.google.com/p/chromium/issues/detail?id=3643.
1834
1835        * platform/image-decoders/skia/BMPImageReader.h:
1836        (WebCore::BMPImageReader::setRGBA): Use simpler non-static setRGBA() form
1837        * platform/image-decoders/skia/GIFImageDecoder.cpp:
1838        (WebCore::GIFImageDecoder::initFrameBuffer): Remove unneeded code, use more readable setRGBA() form
1839        (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation
1840        * platform/image-decoders/skia/GIFImageDecoder.h: Remove unneeded code
1841        * platform/image-decoders/skia/ImageDecoder.h:
1842        (WebCore::RGBA32Buffer::setSize): setSize() should just setStatus() when it fails since all callers were doing it
1843        (WebCore::ImageDecoder::isOverSize): Ease "oversized" image constraints to allow any image that won't overflow
1844        * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1845        (WebCore::JPEGImageDecoder::outputScanlines): Remove unneeded code, mark JPEGs as non-transparent
1846        * platform/image-decoders/skia/PNGImageDecoder.cpp:
1847        (WebCore::PNGImageDecoder::decodingFailed): Fix style violation
1848        (WebCore::PNGImageDecoder::rowAvailable): Mark un-decoded PNGs as non-transparent (this will get reset later as needed)
1849        * platform/image-decoders/skia/XBMImageDecoder.cpp:
1850        (WebCore::XBMImageDecoder::frameBufferAtIndex): Remove unneeded code
1851
18522009-06-09  Darin Fisher  <darin@chromium.org>
1853
1854        Fix Chromium build bustage.
1855        
1856        CachedResource.cpp no longer compiles if USE(JSC) is not defined.  The
1857        problem is that this file is using a macro from StdLibExtras.h without
1858        including that file.  It just happenes to get that file via a JSC
1859        specific include.
1860
1861        * loader/CachedResource.cpp:
1862
18632009-06-09  Dean McNamee  <deanm@chromium.org>
1864
1865        Reviewed by Oliver Hunt.
1866
1867        Make sure the graphics backends are in sync with the canvas lineWidth state.
1868        https://bugs.webkit.org/show_bug.cgi?id=26187
1869
1870        Test: fast/canvas/canvas-line-width.html
1871
1872        * html/CanvasRenderingContext2D.cpp:
1873        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1874
18752009-06-09  Michael Nordman  <michaeln@google.com>
1876
1877        Reviewed by Eric Seidel.
1878
1879        Proactively cancel pending requests at DocLoader dtor time,
1880        otherwise crashes can occur. 
1881
1882        https://bugs.webkit.org/show_bug.cgi?id=26230
1883        http://code.google.com/p/chromium/issues/detail?id=12161
1884
1885        Test: fast/frames/javascript-url-as-framesrc-crash.html
1886
1887        * loader/DocLoader.cpp:
1888        (WebCore::DocLoader::~DocLoader):
1889
18902009-06-09  Eric Seidel  <eric@webkit.org>
1891
1892        Reviewed by Darin Adler.
1893
1894        Fix ASSERT seen in shadow tree testing
1895        https://bugs.webkit.org/show_bug.cgi?id=25092
1896
1897        Test: svg/custom/use-mutation-event-crash.svg
1898
1899        * svg/SVGUseElement.cpp:
1900        (WebCore::SVGUseElement::instanceForShadowTreeElement):
1901
19022009-06-09  Brent Fulgham  <bfulgham@webkit.org>
1903
1904        Reviewed by Eric Seidel.
1905
1906        Fixes https://bugs.webkit.org/show_bug.cgi?id=22891
1907        Scrolling in Windows Cairo Broken if no background color set.
1908
1909        * platform/graphics/cairo/GradientCairo.cpp:
1910        (WebCore::Gradient::fill):  Use the GraphicsContext save and restore
1911          methods (rather than the Cairo-only functions) so that the Windows
1912          device context is kept in sync.
1913        * platform/graphics/cairo/GraphicsContextCairo.cpp:
1914        (WebCore::GraphicsContext::GraphicsContext): Add new constructor call
1915          to sync Windows HDC with Cairo surface.
1916        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1917        (WebCore::GraphicsContextPlatformPrivate::syncContext): Provide
1918          declaration for Windows HDC sync method (and stub for non-Windows
1919          Cairo implementations).
1920        * platform/graphics/cairo/ImageCairo.cpp:
1921        (WebCore::BitmapImage::draw): Use GraphicsContext save and restore
1922          methods (rather than the Cairo-only functions) so that the Windows
1923          device context is kept in sync.
1924        * platform/graphics/win/GraphicsContextCairoWin.cpp:
1925        (WebCore::CairoContextWithHDC): New method to create a valid Cairo
1926          context for a given HDC.
1927        (WebCore::GraphicsContext::GraphicsContext): Modify constructor to
1928          use new CairoContextWithHDC call.
1929        (WebCore::GraphicsContext::getWindowsContext): Revise to match
1930          behavior of CG implementation.
1931        (WebCore::GraphicsContext::releaseWindowsContext): Revise to match
1932          behavior of CG implementation.
1933        (WebCore::GraphicsContextPlatformPrivate::concatCTM): Get rid of
1934          incorrect new HDC, and use object's HDC member for dealing with
1935          concatCTM operations.
1936        (WebCore::GraphicsContextPlatformPrivate::syncContext): New method
1937          to sync Windows HDC with Cairo context.
1938        * platform/graphics/win/ImageCairoWin.cpp:
1939        (WebCore::BitmapImage::getHBITMAPOfSize): Revise implementation to
1940          match CG behavior.
1941
19422009-06-09  Jian Li  <jianli@chromium.org>
1943
1944        Reviewed by David Levin.
1945
1946        Bug 26196: Fix the problem that worker's importScripts fails if the
1947        script URL is redirected from different origin.
1948        https://bugs.webkit.org/show_bug.cgi?id=26196
1949
1950        Test: http/tests/workers/worker-importScripts.html
1951
1952        The fix is to pass an additional enum parameter to the loader in
1953        order to tell it to perform the redirect origin check or not.
1954
1955        * loader/DocumentThreadableLoader.cpp:
1956        (WebCore::DocumentThreadableLoader::create):
1957        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1958        (WebCore::DocumentThreadableLoader::willSendRequest):
1959        * loader/DocumentThreadableLoader.h:
1960        * loader/ThreadableLoader.cpp:
1961        (WebCore::ThreadableLoader::create):
1962        (WebCore::ThreadableLoader::loadResourceSynchronously):
1963        * loader/ThreadableLoader.h:
1964        (WebCore::):
1965        * loader/WorkerThreadableLoader.cpp:
1966        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1967        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
1968        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1969        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1970        * loader/WorkerThreadableLoader.h:
1971        (WebCore::WorkerThreadableLoader::create):
1972        * workers/WorkerContext.cpp:
1973        (WebCore::WorkerContext::importScripts):
1974        * xml/XMLHttpRequest.cpp:
1975        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1976
19772009-06-09  Anand K. Mistry  <amistry@google.com>
1978
1979        Reviewed by Dimitri Glazkov.
1980
1981        Paint bitmaps with the alpha channel in Skia.
1982        https://bugs.webkit.org/show_bug.cgi?id=26037
1983
1984        Test: fast/canvas/drawImage-with-globalAlpha.html
1985
1986        * platform/graphics/skia/ImageSkia.cpp:
1987        (WebCore::paintSkBitmap):
1988        * platform/graphics/skia/PlatformContextSkia.cpp:
1989        (PlatformContextSkia::getAlpha):
1990        * platform/graphics/skia/PlatformContextSkia.h:
1991
19922009-06-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1993
1994        Reviewed by Xan Lopez.
1995
1996        https://bugs.webkit.org/show_bug.cgi?id=26104
1997        [GTK] Make NetworkRequest a proper GObject and expose SoupMessage
1998
1999        Refactor how SoupMessage is handled, so that our ResourceRequest
2000        object doesn't have to store it as a member, which complicates
2001        managing ResourceRequest's lifetime.
2002
2003        * platform/network/soup/ResourceHandleSoup.cpp:
2004        (WebCore::ResourceHandle::startHttp):
2005        * platform/network/soup/ResourceRequest.h:
2006        (WebCore::ResourceRequest::ResourceRequest):
2007        (WebCore::ResourceRequest::doUpdatePlatformRequest):
2008        (WebCore::ResourceRequest::doUpdateResourceRequest):
2009        * platform/network/soup/ResourceRequestSoup.cpp:
2010        (WebCore::ResourceRequest::toSoupMessage):
2011        (WebCore::ResourceRequest::updateFromSoupMessage):
2012
20132009-06-09  Simon Hausmann  <simon.hausmann@nokia.com>
2014
2015        Fix the Qt build, the time functions moved into the WTF namespace.
2016
2017        * bridge/qt/qt_runtime.cpp:
2018        (JSC::Bindings::convertValueToQVariant):
2019        (JSC::Bindings::convertQVariantToValue):
2020
20212009-06-08  Brady Eidson  <beidson@apple.com>
2022
2023        Reviewed by Antti Koivisto
2024
2025        <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.
2026
2027        Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html
2028
2029        Loader::Host objects were manually managed via new/delete.
2030        There's a variety of circumstances where a Host might've been deleted while it was still in the middle
2031        of a resource load delegate callback.
2032        Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear.
2033
2034        At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't
2035        fully implemented.
2036
2037        * loader/loader.cpp:
2038        (WebCore::Loader::Loader):
2039        (WebCore::Loader::load):
2040        (WebCore::Loader::servePendingRequests):
2041        (WebCore::Loader::resumePendingRequests):
2042        (WebCore::Loader::cancelRequests):
2043        (WebCore::Loader::Host::didFinishLoading):
2044        (WebCore::Loader::Host::didFail):
2045        (WebCore::Loader::Host::didReceiveResponse):
2046        (WebCore::Loader::Host::didReceiveData):
2047        * loader/loader.h:
2048        (WebCore::Loader::Host::create):
2049
20502009-06-08  Dmitry Titov  <dimich@chromium.org>
2051
2052        Reviewed by David Levin.
2053
2054        https://bugs.webkit.org/show_bug.cgi?id=26126
2055        Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface.
2056
2057        Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread
2058        implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in
2059        Chromium's workers.
2060
2061        No changes in functionality so no tests added.
2062
2063        * GNUmakefile.am:
2064        * WebCore.vcproj/WebCore.vcproj:
2065        * WebCore.xcodeproj/project.pbxproj:
2066        Added WorkerLoaderProxy.h to the bulid.
2067
2068        * bindings/js/WorkerScriptController.cpp:
2069        (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
2070        * bindings/v8/WorkerScriptController.cpp:
2071        (WebCore::WorkerScriptController::evaluate): same.
2072        * workers/WorkerContext.cpp:
2073        (WebCore::WorkerContext::~WorkerContext): same.
2074        (WebCore::WorkerContext::reportException): same.
2075        (WebCore::WorkerContext::addMessage): same.
2076        (WebCore::WorkerContext::postMessage): same.
2077
2078        * loader/WorkerThreadableLoader.cpp:
2079        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2080        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2081        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2082        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2083        (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2084        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2085        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2086        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2087        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2088        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2089        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2090        Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge.
2091        Mostly rename.
2092
2093        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2094        In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for
2095        AskedToTerminate is removed. It seems to be an optimization for a very small number of cases
2096        when worker termination is requested a very short time before the request to load something
2097        (XHR or importScript) was dispatched on the main thread.
2098
2099        * loader/WorkerThreadableLoader.h:
2100        Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows
2101        to implement WorkerThreadableLoader for Chromium.
2102
2103        * workers/WorkerLoaderProxy.h: Added.
2104        (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):
2105
2106        * workers/WorkerMessagingProxy.cpp:
2107        (WebCore::WorkerMessagingProxy::startWorkerContext):
2108        (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
2109        * workers/WorkerMessagingProxy.h:
2110        Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual.
2111        Removed unused postTaskToWorkerContext() method.
2112
2113        * workers/WorkerThread.cpp:
2114        (WebCore::WorkerThread::create):
2115        (WebCore::WorkerThread::WorkerThread):
2116        * workers/WorkerThread.h:
2117        (WebCore::WorkerThread::workerLoaderProxy):
2118        * workers/WorkerThread.cpp:
2119        (WebCore::WorkerThread::create):
2120        (WebCore::WorkerThread::WorkerThread):
2121        (WebCore::WorkerThread::workerThread):
2122        * workers/WorkerThread.h:
2123        (WebCore::WorkerThread::workerLoaderProxy):
2124        (WebCore::WorkerThread::workerObjectProxy):
2125        WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor.
2126        Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.
2127
21282009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>
2129
2130        Reviewed by Eric Seidel.
2131
2132        https://bugs.webkit.org/show_bug.cgi?id=26238
2133        Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters.
2134
2135        * ForwardingHeaders/runtime/DateMath.h: Removed.
2136        * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
2137        * platform/network/HTTPParsers.cpp:
2138        (WebCore::parseDate): Added.
2139        * platform/network/HTTPParsers.h:
2140        * platform/network/ResourceResponseBase.cpp:
2141        (WebCore::parseDateValueInHeader): Changed to use the new helper.
2142
21432009-06-08  Adam Langley  <agl@google.com>
2144
2145        Reviewed by Eric Siedel.
2146
2147        Chromium Linux ignored the background color on <select>s. Rather
2148        than encode magic colours, we start with a base color (specified
2149        via CSS) and derive the other colors from it. Thus, setting the
2150        CSS background-color now correctly changes the colour of the
2151        control.
2152
2153        This should not change the appearence controls without
2154        background-colors. However, <select>s with a background-color
2155        will now renderer correctly, which may require rebaselining
2156        pixel tests in the Chromium tree.
2157
2158        https://bugs.webkit.org/show_bug.cgi?id=26030
2159        http://code.google.com/p/chromium/issues/detail?id=12596
2160
2161        * platform/graphics/Color.cpp:
2162        (WebCore::Color::getHSL): new member
2163        * platform/graphics/Color.h:
2164        * rendering/RenderThemeChromiumLinux.cpp:
2165        (WebCore::RenderThemeChromiumLinux::systemColor):
2166        (WebCore::brightenColor):
2167        (WebCore::paintButtonLike):
2168
21692009-06-08  Victor Wang <victorw@chromium.org>
2170
2171        Reviewed by Dimitri Glazkov.
2172
2173        https://bugs.webkit.org/show_bug.cgi?id=26087
2174        Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event
2175
2176        Fix tab crash caused by destroying the popup list that fired the change event on abandon.
2177
2178        If a popup list is abandoned (press a key to jump to an item
2179        and then use tab or mouse to get away from the select box),
2180        the current code fires a change event in PopupListBox::updateFromElemt().
2181        The JS that listens to this event may destroy the object and cause the
2182        rest of popup list code crashes.
2183
2184        The updateFromElement() is called before abandon() and this causes
2185        the selected index to be discarded after updateFromElement(). From
2186        the code comments, this appears to be the reason why valueChanged is
2187        called in updateFromElement.
2188
2189        Fix the issue by removing the valueChanged call in updateFromElement,
2190        saving the selected index that we should accept on abandon and pass
2191        it to the valueChange in abandon().
2192
2193        A manual test has been added.
2194
2195        * manual-tests/chromium: Added.
2196        * manual-tests/chromium/onchange-reload-popup.html: Added.
2197        * platform/chromium/PopupMenuChromium.cpp:
2198        (WebCore::PopupListBox::PopupListBox):
2199        (WebCore::PopupListBox::handleKeyEvent):
2200        (WebCore::PopupListBox::abandon):
2201        (WebCore::PopupListBox::updateFromElement):
2202
22032009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2204
2205        Reviewed by Simon Hausmann.
2206
2207        [Qt] Disable a few warnings on Windows
2208
2209        * WebCore.pro:
2210
22112009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2212
2213        Reviewed by Simon Hausmann.
2214
2215        [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows
2216        
2217        This define was brought in after refactoring some code from
2218        PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp.
2219
2220        * WebCore.pro:
2221
22222009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2223
2224        Reviewed by Simon Hausmann.
2225
2226        [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build
2227
2228        * WebCore.pro:
2229
22302009-06-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2231
2232        Reviewed by Ariya Hidayat.
2233
2234        [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off
2235        https://bugs.webkit.org/show_bug.cgi?id=26244
2236
2237        * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if
2238        NETSCAPE_PLUGIN_API is turned on
2239        * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs()
2240        * plugins/PluginViewNone.cpp: Match guards with PluginView.h
2241
22422009-06-07  Dan Bernstein  <mitz@apple.com>
2243
2244        Reviewed by Sam Weinig.
2245
2246        - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES
2247          when the selection is inside a text field.
2248
2249        * editing/VisibleSelection.cpp:
2250        (WebCore::VisibleSelection::isAll): Return false if the selection is in
2251        a shadow tree.
2252
22532009-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2254
2255        Reviewed by Holger Freyther.
2256
2257        https://bugs.webkit.org/show_bug.cgi?id=26106
2258        [GTK] Crashes when you keep a combo open during a page transition, then close it
2259
2260        Hide the combo popup and disconnect from its signals during
2261        PopupMenu destruction to handle this exceptional case with no
2262        crash.
2263
2264        * platform/gtk/PopupMenuGtk.cpp:
2265        (WebCore::PopupMenu::~PopupMenu):
2266        (WebCore::PopupMenu::menuUnmapped):
2267
22682009-06-06  Sam Weinig  <sam@webkit.org>
2269
2270        Reviewed by Dan Bernstein.
2271
2272        Fix for <rdar://problem/6930540>
2273        REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle
2274
2275        Test: fast/css/font-family-builtins.html
2276
2277        * css/CSSComputedStyleDeclaration.cpp:
2278        (WebCore::identifierForFamily): Fix typo. Fantasy family should be
2279        -webkit-fantasy not, -webkit-serif.
2280
22812009-06-06  Sam Weinig  <sam@webkit.org>
2282
2283        Reviewed by Brady Eidson.
2284
2285        Fix for <rdar://problem/6936235>
2286        Need to support StorageEvent.storageArea to meet the Web Storage spec
2287
2288        * storage/LocalStorageArea.cpp:
2289        (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for
2290        the frame being dispatched to.
2291        * storage/SessionStorageArea.cpp:
2292        (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.
2293
2294        * storage/StorageEvent.cpp:
2295        (WebCore::StorageEvent::StorageEvent):
2296        (WebCore::StorageEvent::initStorageEvent):
2297        * storage/StorageEvent.h:
2298        (WebCore::StorageEvent::create):
2299        (WebCore::StorageEvent::storageArea):
2300        * storage/StorageEvent.idl:
2301        Add storageArea member.
2302
23032009-06-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2304
2305        Reviewed by Anders Carlsson.
2306
2307        Fix WMLInputElement initialization code. Don't call initialize() on attach(), let
2308        WMLCardElement handle initialization once, after the document has been parsed.
2309
2310        To keep layout tests working introduce a new function in Document.idl: initializeWMLPageState().
2311        WMLTestCase.js (the wml/ layout test framework) will use it to simulate a regular WML document,
2312        whose variable state gets initialized on WMLDocument::finishedParsing(). Force initialization
2313        of the WML variable state, right after the dynamically created elements have been inserted into the tree.
2314
2315        * dom/Document.cpp:
2316        (WebCore::Document::initializeWMLPageState):
2317        * dom/Document.h:
2318        * dom/Document.idl:
2319        * wml/WMLCardElement.cpp:
2320        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
2321        * wml/WMLDocument.cpp:
2322        (WebCore::WMLDocument::finishedParsing):
2323        (WebCore::WMLDocument::initialize):
2324        * wml/WMLDocument.h:
2325        * wml/WMLInputElement.cpp:
2326        (WebCore::WMLInputElement::initialize):
2327        * wml/WMLInputElement.h:
2328
23292009-06-05  Sam Weinig  <sam@webkit.org>
2330
2331        Reviewed by Anders Carlsson.
2332
2333        Add ononline and onoffline attributes for the <body> element. 
2334
2335        * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
2336        * html/HTMLBodyElement.cpp:
2337        (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr
2338        and onofflineAttr to window event listeners.
2339
23402009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2341
2342        Reviewed by Simon Hausmann.
2343
2344        [Qt] Add missing includes of config.h
2345
2346        * platform/qt/QWebPopup.cpp:
2347        * platform/text/qt/TextBreakIteratorQt.cpp:
2348
23492009-06-05  Fumitoshi Ukai  <ukai@google.com>
2350
2351        Reviewed by Dimitri Glazkov.
2352
2353        https://bugs.webkit.org/show_bug.cgi?id=26215
2354        Try to fix the Chromium build.
2355
2356        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2357        (WebCore::fillBMPGlyphs):
2358        (WebCore::fillNonBMPGlyphs):
2359
23602009-06-05  Shinichiro Hamaji  <hamaji@chromium.org>
2361
2362        Bug 26160: Compile fails in MacOSX when GNU fileutils are installed
2363
2364        <https://bugs.webkit.org/show_bug.cgi?id=26160>
2365
2366        Reviewed by Alexey Proskuryakov.
2367
2368        Use /bin/ln instead of ln for cases where this command is used with -h option.
2369        As this option is not supported by GNU fileutils, this change helps users 
2370        who have GNU fileutils in their PATH.
2371
2372        * WebCore.xcodeproj/project.pbxproj:
2373
23742009-06-03  Ben Murdoch  <benm@google.com>
2375
2376        <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.
2377
2378        Reviewed by Alexey Proskuryakov.
2379
2380        Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading
2381
2382        Test: storage/hash-change-with-xhr.html
2383
2384        * loader/DocumentLoader.cpp:
2385        (WebCore::DocumentLoader::stopLoading):
2386        * loader/DocumentLoader.h:
2387        * loader/FrameLoader.cpp:
2388        (WebCore::FrameLoader::stopLoading):
2389        (WebCore::FrameLoader::stopAllLoaders):
2390        * loader/FrameLoader.h:
2391        * loader/FrameLoaderTypes.h:
2392        (WebCore::):
2393        * page/Page.cpp:
2394        (WebCore::Page::goToItem):
2395        * WebCore.base.exp:
2396
23972009-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2398
2399        Reviewed by Simon Hausmann.
2400
2401        [Qt] Make sure the correct config.h is included when shadowbuilding
2402
2403        * WebCore.pro:
2404
24052009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2406
2407        Reviewed by Simon Hausmann.
2408
2409        Fix Qt build after r44452
2410
2411        * platform/network/qt/QNetworkReplyHandler.cpp:
2412        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2413
24142009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2415
2416        Reviewed by Simon Hausmann.
2417
2418        [Qt] Remove some dead code (MenuEventProxy)
2419
2420        * WebCore.pro:
2421        * platform/ContextMenu.h:
2422        * platform/qt/ContextMenuQt.cpp:
2423        * platform/qt/MenuEventProxy.h: Removed.
2424
24252009-06-05  Xan Lopez  <xlopez@igalia.com>
2426
2427        More build fixes.
2428
2429        * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
2430        (WebCore::GlyphPage::fill):
2431
24322009-06-05  Xan Lopez  <xlopez@igalia.com>
2433
2434        Fix the GTK+ build.
2435
2436        * GNUmakefile.am:
2437        * platform/graphics/gtk/FontCacheGtk.cpp:
2438        (WebCore::FontCache::getFontDataForCharacters):
2439        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2440        (WebCore::GlyphPage::fill):
2441
24422009-06-05  Antti Koivisto  <antti@apple.com>
2443
2444        Try to fix Windows (and possibly other platforms) build.
2445
2446        Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit.
2447        for now since PluginStream used on some platforms expects them and calculations differ from plain 
2448        Last-modified header value.
2449        
2450        Also include <wtf/MathExtras.h> to get isfinite().
2451
2452        * platform/network/ResourceResponseBase.cpp:
2453        (WebCore::ResourceResponseBase::adopt):
2454        (WebCore::ResourceResponseBase::copyData):
2455        (WebCore::ResourceResponseBase::setLastModifiedDate):
2456        (WebCore::ResourceResponseBase::lastModifiedDate):
2457        * platform/network/ResourceResponseBase.h:
2458        * platform/network/cf/ResourceResponseCFNet.cpp:
2459        (WebCore::ResourceResponse::platformLazyInit):
2460
24612009-06-03  Antti Koivisto  <antti@apple.com>
2462
2463        Reviewed by Dave Kilzer.
2464
2465        https://bugs.webkit.org/show_bug.cgi?id=13128
2466        Safari not obeying cache header
2467        
2468        Implement RFC 2616 cache expiration calculations in WebKit instead of
2469        relying on the networking layer.
2470
2471        * ForwardingHeaders/runtime/DateMath.h: Added.
2472        * WebCore.base.exp:
2473        * loader/Cache.cpp:
2474        (WebCore::Cache::revalidationSucceeded):
2475        * loader/CachedResource.cpp:
2476        (WebCore::CachedResource::CachedResource):
2477        (WebCore::CachedResource::isExpired):
2478        (WebCore::CachedResource::currentAge):
2479        (WebCore::CachedResource::freshnessLifetime):
2480        (WebCore::CachedResource::setResponse):
2481        (WebCore::CachedResource::updateResponseAfterRevalidation):
2482        (WebCore::CachedResource::mustRevalidate):
2483        * loader/CachedResource.h:
2484        * platform/network/ResourceResponseBase.cpp:
2485        (WebCore::ResourceResponseBase::ResourceResponseBase):
2486        (WebCore::ResourceResponseBase::adopt):
2487        (WebCore::ResourceResponseBase::copyData):
2488        (WebCore::ResourceResponseBase::setHTTPHeaderField):
2489        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2490        (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
2491        (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
2492        (WebCore::ResourceResponseBase::cacheControlMaxAge):
2493        (WebCore::parseDateValueInHeader):
2494        (WebCore::ResourceResponseBase::date):
2495        (WebCore::ResourceResponseBase::age):
2496        (WebCore::ResourceResponseBase::expires):
2497        (WebCore::ResourceResponseBase::lastModified):
2498        (WebCore::ResourceResponseBase::isAttachment):
2499        (WebCore::ResourceResponseBase::compare):
2500        * platform/network/ResourceResponseBase.h:
2501        * platform/network/cf/ResourceResponseCFNet.cpp:
2502        (WebCore::ResourceResponse::platformLazyInit):
2503        * platform/network/mac/ResourceResponseMac.mm:
2504        (WebCore::ResourceResponse::platformLazyInit):
2505
25062009-06-04  Roland Steiner <rolandsteiner@google.com>
2507
2508        Reviewed by Eric Seidel.
2509
2510        Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild
2511        https://bugs.webkit.org/show_bug.cgi?id=26201
2512
2513        * rendering/RenderTable.cpp:
2514        (WebCore::RenderTable::addChild): remove superfluous 'if' statements
2515       
2516
25172009-06-04  Roland Steiner <rolandsteiner@google.com>
2518
2519        Reviewed by Eric Seidel.
2520
2521        Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty
2522        https://bugs.webkit.org/show_bug.cgi?id=26202
2523
2524        * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros
2525        (WebCore::CSSStyleSelector::applyProperty): use new macros
2526
25272009-06-04  Roland Steiner <rolandsteiner@google.com>
2528
2529        Reviewed by Eric Seidel
2530
2531        Bug 26203: Move parsing of 'attr(X)' values to own method
2532        https://bugs.webkit.org/show_bug.cgi?id=26203
2533
2534        * css/CSSParser.cpp:
2535        (WebCore::CSSParser::parseAttr): new method
2536        (WebCore::CSSParser::parseContent): use new parseAttr method
2537        * css/CSSParser.h:
2538        (WebCore::CSSParser::parseAttr): new method
2539
25402009-06-04  Roland Steiner <rolandsteiner@google.com>
2541
2542        Reviewed by Eric Seidel.
2543
2544        Bug 26205: RenderTableSection::addChild : correct comment
2545        https://bugs.webkit.org/show_bug.cgi?id=26205
2546
2547        * rendering/RenderTableSection.cpp:
2548        (WebCore::RenderTableSection::addChild): correct comment
2549
25502009-06-04  Roland Steiner <rolandsteiner@google.com>
2551
2552        Reviewed by Eric Seidel.
2553
2554        Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction
2555        https://bugs.webkit.org/show_bug.cgi?id=26204
2556
2557        * rendering/RenderBlock.cpp:
2558        (WebCore::RenderBlock::handleSpecialChild): simplify usage
2559        (WebCore::RenderBlock::handlePositionedChild): simplify usage
2560        (WebCore::RenderBlock::handleFloatingChild): simplify usage
2561        (WebCore::RenderBlock::handleRunInChild): simplify usage
2562        (WebCore::RenderBlock::layoutBlock): correct comment
2563        (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild
2564        * rendering/RenderBlock.h: 
2565        (WebCore::RenderBlock::handleSpecialChild): change signature
2566        (WebCore::RenderBlock::handlePositionedChild): change signature
2567        (WebCore::RenderBlock::handleFloatingChild): change signature
2568        (WebCore::RenderBlock::handleRunInChild): change signature
2569
25702009-06-04  Dan Bernstein  <mitz@apple.com>
2571
2572        - retry to fix the Tiger build
2573
2574        * platform/graphics/mac/SimpleFontDataMac.mm:
2575        (WebCore::initFontData):
2576
25772009-06-04  Dan Bernstein  <mitz@apple.com>
2578
2579        - try to fix the Tiger build
2580
2581        * platform/graphics/SimpleFontData.h:
2582
25832009-06-04  Dan Bernstein  <mitz@apple.com>
2584
2585        - try to fix the Leopard and Tiger builds
2586
2587        * platform/graphics/SimpleFontData.h:
2588
25892009-06-04  Dan Bernstein  <mitz@apple.com>
2590
2591        - try to fix the Windows build
2592
2593        * platform/graphics/win/UniscribeController.cpp:
2594        (WebCore::UniscribeController::shapeAndPlaceItem):
2595
25962009-06-04  Dan Bernstein  <mitz@apple.com>
2597
2598        Reviewed by Sam Weinig.
2599
2600        - make SimpleFontData's data members private
2601        - rename SimpleFontData's m_font member to m_platformData
2602
2603        * platform/graphics/Font.h:
2604        (WebCore::Font::spaceWidth):
2605        * platform/graphics/SimpleFontData.cpp:
2606        (WebCore::SimpleFontData::SimpleFontData):
2607        * platform/graphics/SimpleFontData.h:
2608        (WebCore::SimpleFontData::platformData):
2609        (WebCore::SimpleFontData::spaceWidth):
2610        (WebCore::SimpleFontData::adjustedSpaceWidth):
2611        (WebCore::SimpleFontData::syntheticBoldOffset):
2612        (WebCore::SimpleFontData::spaceGlyph):
2613        (WebCore::SimpleFontData::getNSFont):
2614        (WebCore::SimpleFontData::getQtFont):
2615        (WebCore::SimpleFontData::getWxFont):
2616        * platform/graphics/WidthIterator.cpp:
2617        (WebCore::WidthIterator::advance):
2618        * platform/graphics/cairo/FontCairo.cpp:
2619        (WebCore::Font::drawGlyphs):
2620        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2621        (WebCore::SimpleFontData::platformInit):
2622        (WebCore::SimpleFontData::smallCapsFontData):
2623        (WebCore::SimpleFontData::determinePitch):
2624        (WebCore::SimpleFontData::platformWidthForGlyph):
2625        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2626        (WebCore::SimpleFontData::platformInit):
2627        (WebCore::SimpleFontData::smallCapsFontData):
2628        (WebCore::SimpleFontData::containsCharacters):
2629        (WebCore::SimpleFontData::platformWidthForGlyph):
2630        * platform/graphics/gtk/FontGtk.cpp:
2631        (WebCore::setPangoAttributes):
2632        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2633        (WebCore::SimpleFontData::platformInit):
2634        (WebCore::SimpleFontData::containsCharacters):
2635        (WebCore::SimpleFontData::determinePitch):
2636        (WebCore::SimpleFontData::platformWidthForGlyph):
2637        (WebCore::SimpleFontData::setFont):
2638        * platform/graphics/gtk/SimpleFontDataPango.cpp:
2639        (WebCore::SimpleFontData::platformInit):
2640        (WebCore::SimpleFontData::containsCharacters):
2641        (WebCore::SimpleFontData::determinePitch):
2642        (WebCore::SimpleFontData::platformWidthForGlyph):
2643        (WebCore::SimpleFontData::setFont):
2644        * platform/graphics/mac/CoreTextController.cpp:
2645        (WebCore::CoreTextController::adjustGlyphsAndAdvances):
2646        * platform/graphics/mac/FontMac.mm:
2647        (WebCore::Font::drawGlyphs):
2648        * platform/graphics/mac/FontMacATSUI.mm:
2649        (WebCore::initializeATSUStyle):
2650        (WebCore::overrideLayoutOperation):
2651        (WebCore::ATSULayoutParameters::initialize):
2652        * platform/graphics/mac/SimpleFontDataMac.mm:
2653        (WebCore::initFontData):
2654        (WebCore::SimpleFontData::platformInit):
2655        (WebCore::SimpleFontData::platformCharWidthInit):
2656        (WebCore::SimpleFontData::smallCapsFontData):
2657        (WebCore::SimpleFontData::containsCharacters):
2658        (WebCore::SimpleFontData::determinePitch):
2659        (WebCore::SimpleFontData::platformWidthForGlyph):
2660        (WebCore::SimpleFontData::checkShapesArabic):
2661        (WebCore::SimpleFontData::getCTFont):
2662        * platform/graphics/qt/SimpleFontDataQt.cpp:
2663        (WebCore::SimpleFontData::determinePitch):
2664        (WebCore::SimpleFontData::platformInit):
2665        (WebCore::SimpleFontData::platformCharWidthInit):
2666        * platform/graphics/win/FontCGWin.cpp:
2667        (WebCore::drawGDIGlyphs):
2668        (WebCore::Font::drawGlyphs):
2669        * platform/graphics/win/SimpleFontDataCGWin.cpp:
2670        (WebCore::SimpleFontData::platformInit):
2671        (WebCore::SimpleFontData::platformCharWidthInit):
2672        (WebCore::SimpleFontData::platformWidthForGlyph):
2673        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2674        (WebCore::SimpleFontData::platformInit):
2675        (WebCore::SimpleFontData::platformDestroy):
2676        (WebCore::SimpleFontData::platformWidthForGlyph):
2677        (WebCore::SimpleFontData::setFont):
2678        * platform/graphics/win/SimpleFontDataWin.cpp:
2679        (WebCore::SimpleFontData::initGDIFont):
2680        (WebCore::SimpleFontData::smallCapsFontData):
2681        (WebCore::SimpleFontData::containsCharacters):
2682        (WebCore::SimpleFontData::determinePitch):
2683        (WebCore::SimpleFontData::widthForGDIGlyph):
2684        (WebCore::SimpleFontData::scriptFontProperties):
2685        * platform/graphics/wx/SimpleFontDataWx.cpp:
2686        (WebCore::SimpleFontData::platformInit):
2687        (WebCore::SimpleFontData::determinePitch):
2688        (WebCore::SimpleFontData::platformWidthForGlyph):
2689
26902009-06-04  Paul Godavari  <paul@chromium.org>
2691
2692        Reviewed by Eric Seidel.
2693
2694        Initialize the width of PopupMenuListBox properly for Mac Chromium.
2695
2696        Added a test that works only with this patch applied. The test is
2697        a manual one, since the hit testing infrastructure in the layout
2698        tests sends keyboard and mouse events to the main window and not
2699        the cocoa control that implements the popup up, which means we can't
2700        select items from the popup up.
2701
2702        https://bugs.webkit.org/show_bug.cgi?id=25904
2703
2704
2705        * manual-tests/select-narrow-width.html: Added.
2706        * platform/chromium/PopupMenuChromium.cpp:
2707        (WebCore::PopupListBox::PopupListBox):
2708        (WebCore::PopupContainer::showExternal):
2709
27102009-06-04  Brent Fulgham  <bfulgham@webkit.org>
2711
2712        Unreviewed Windows build correction.
2713
2714        * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp'
2715          and 'ReplaceNodeWithSpanCommand.h'
2716
27172009-02-03  Eric Seidel  <eric@webkit.org>
2718
2719        Reviewed by Justin Garcia.
2720
2721        Make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
2722        only removes the bold and not the underline.
2723        https://bugs.webkit.org/show_bug.cgi?id=23496
2724
2725        Test: editing/execCommand/convert-style-elements-to-spans.html
2726
2727        * WebCore.xcodeproj/project.pbxproj:
2728        * css/CSSStyleDeclaration.h:
2729        (WebCore::CSSStyleDeclaration::isEmpty):
2730        * dom/NamedAttrMap.h:
2731        (WebCore::NamedAttrMap::isEmpty):
2732        * editing/ApplyStyleCommand.cpp:
2733        (WebCore::isUnstyledStyleSpan):
2734        (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
2735        (WebCore::ApplyStyleCommand::applyBlockStyle):
2736        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2737        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle):
2738        (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
2739        (WebCore::ApplyStyleCommand::removeCSSStyle):
2740        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
2741        (WebCore::ApplyStyleCommand::removeInlineStyle):
2742        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2743        * editing/ApplyStyleCommand.h:
2744        * editing/CompositeEditCommand.cpp:
2745        (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes):
2746        * editing/CompositeEditCommand.h:
2747        * editing/RemoveNodePreservingChildrenCommand.cpp:
2748        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
2749        * editing/ReplaceNodeWithSpanCommand.cpp: Added.
2750        (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
2751        (WebCore::swapInNodePreservingAttributesAndChildren):
2752        (WebCore::ReplaceNodeWithSpanCommand::doApply):
2753        (WebCore::ReplaceNodeWithSpanCommand::doUnapply):
2754        * editing/ReplaceNodeWithSpanCommand.h: Added.
2755        (WebCore::ReplaceNodeWithSpanCommand::create):
2756
27572009-06-04  Brent Fulgham  <bfulgham@webkit.org>
2758
2759        Unreviewed build fix for Windows Cairo target.
2760
2761        Add missing post-build command to copy history/cf contents
2762        to output directory.
2763
2764        * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo
2765          target post-build steps with copy commands.
2766
27672009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>
2768
2769        Reviewed by Simon Fraser.
2770
2771        <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom
2772        
2773        Account for zoom level when drawing media controller thumb on Windows.
2774
2775        * rendering/RenderMediaControls.cpp:
2776        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
2777
27782009-06-04  David Hyatt  <hyatt@apple.com>
2779
2780        Reviewed by Sam Weinig.
2781
2782        Move DOM window focus/blur out of SelectionController and into FocusController.  Make sure it
2783        fires on the focused frame when the page activation state changes also.  This is covered by an existing
2784        layout test (albeit badly).  I have modified the test to be correct.
2785
2786        * editing/SelectionController.cpp:
2787        (WebCore::SelectionController::setFocused):
2788        * page/FocusController.cpp:
2789        (WebCore::FocusController::setFocusedFrame):
2790        (WebCore::FocusController::setActive):
2791
27922009-06-04  Albert J. Wong  <ajwong@chromium.org>
2793
2794        Reviewed by Eric Seidel.
2795
2796        https://bugs.webkit.org/show_bug.cgi?id=26148
2797        Adding in empty files to stage the extract of RenderThemeChromiumSkia
2798        from RenderThemeChromiumLinux and RenderThemeChromiumWindows.
2799
2800        * rendering/RenderThemeChromiumSkia.cpp: Added.
2801        * rendering/RenderThemeChromiumSkia.h: Added.
2802
28032009-06-04  Andrei Popescu <andreip@google.com>
2804
2805        Reviewed by Alexey Proskuryakov.
2806
2807        https://bugs.webkit.org/show_bug.cgi?id=25562
2808        Potential crash after ApplicationCacheStorage::storeNewestCache() fails
2809
2810              Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
2811              in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
2812              we run the cache failure steps:
2813
2814        1. Fire the error events to all pending master entries, as well any other cache hosts
2815           currently associated with a cache in this group.
2816        2. Disassociate the pending master entries from the failed new cache.
2817        3. Reinstate the old "newest cache", if there was one.
2818
2819        We also introduce two other changes:
2820
2821        1. a mechanism to rollback storageID changes to the in-memory resource
2822           objects when the storing of an ApplicationCache object fails.
2823
2824        2. defer removing the pending master entries from the list of pending master entries
2825           until the entire load is complete. This matches the HTML 5 spec better. To track
2826           if the load is complete we now introduce a counter for those pending master entries
2827           that haven't yet finshed downloading.
2828
2829        * loader/appcache/ApplicationCacheGroup.cpp:
2830        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
2831        (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
2832        master entry is added.
2833        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
2834        instead of removing the pending master entry.
2835        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
2836        instead of removing the pending master entry.
2837        (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
2838        holds true. In particular, the newest cache is not necessarily new anymore. We can
2839        set an old cache as the new cache. This can happen if we failed to store a newly
2840        downloaded cache to the database and we are now reinstating the former newest cache.
2841        (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
2842        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
2843        based on the counter instead of the list of pending master entries. Empty the list of
2844        master entries if the load is complete.
2845        * loader/appcache/ApplicationCacheGroup.h: add the new counter.
2846        * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
2847        in-memory resource objects.
2848        (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal):
2849        (WebCore::ResourceStorageIDJournal::add):
2850        (WebCore::ResourceStorageIDJournal::commit):
2851        (WebCore::ResourceStorageIDJournal::Record::Record):
2852        (WebCore::ResourceStorageIDJournal::Record::restore):
2853        (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
2854        objects.
2855        (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
2856        * loader/appcache/ApplicationCacheStorage.h:  modify the signature of
2857        bool store(ApplicationCache*) to add a pointer to the logger object used to
2858        trace the changes to the storageID of the resource objects.
2859
28602009-06-04  Jeremy Orlow  <jorlow@chromium.org>
2861
2862        Reviewed by Darin Adler.
2863
2864        https://bugs.webkit.org/show_bug.cgi?id=26154
2865        Allow underscores in the hostnames we parse out of databaseIdentifiers.
2866        This code is used for HTML 5 database support.
2867
2868        * page/SecurityOrigin.cpp:
2869        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2870
28712009-06-04  Mihnea Ovidenie  <mihnea@adobe.com>
2872
2873        Reviewed by Darin Adler.
2874
2875        Bug 26084: Multiple missing images in webkit-mask-image prevent rendering
2876        https://bugs.webkit.org/show_bug.cgi?id=26084
2877
2878        When painting multiple images, make sure that at least one image is valid before pushing a transparency layer.
2879
2880        Added a manual test.
2881
2882        * manual-tests/mask-composite-missing-images.html: Added.
2883        * rendering/RenderBox.cpp:
2884        (WebCore::RenderBox::paintMaskImages):
2885
28862009-06-04  Jeremy Orlow  <jorlow@chromium.org>
2887
2888        Reviewed by Darin Adler.
2889
2890        https://bugs.webkit.org/show_bug.cgi?id=26180
2891        Add a fast path for SecurityOrigin::equal. If "other == this" (where
2892        other is the other security origin), then we really don't need to do
2893        all the other (expensive) comparisons. We know it's equal.
2894
2895        * page/SecurityOrigin.cpp:
2896        (WebCore::SecurityOrigin::equal):
2897
28982009-06-03  David Hyatt  <hyatt@apple.com>
2899
2900        Reviewed by Sam Weinig.
2901
2902        Improvements in how selection behaves with focus/activation and a reversion back to using isActive
2903        in the scrollbar theme code to remove a Chromium ifdef.
2904
2905        * editing/SelectionController.cpp:
2906        (WebCore::SelectionController::SelectionController):
2907        Make the controller set its focused state correctly upon initial creation.
2908
2909        (WebCore::SelectionController::setSelection):
2910        Make selection willing to shift the focus node if the selection is focused even if the
2911        selection is not active.  Whether or not the Page is active is irrelevant to focus changes.
2912
2913        (WebCore::SelectionController::setFocused):
2914        * editing/SelectionController.h:
2915        (WebCore::SelectionController::isFocused):
2916        Add a new isFocused() method so that code can check if the Selection is focused without caring
2917        about the active state.
2918
2919        * page/Frame.cpp:
2920        (WebCore::Frame::setFocusedNodeIfNeeded):
2921        Allow focus shifts even when the selection is not active.
2922
2923        * platform/mac/ScrollbarThemeMac.mm:
2924        (WebCore::ScrollbarThemeMac::paint):
2925        Revert Dan's change to directly talk to AppKit for checking active state.  Now that the WebCore isActive
2926        method works, ditch the Chromium-specific #ifdef and go back to the original code.
2927
29282009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>
2929
2930        Reviewed by Darin Adler.
2931
2932        Test: media/before-load-member-access.html
2933        
2934        https://bugs.webkit.org/show_bug.cgi?id=26081
2935
2936        * html/HTMLMediaElement.cpp:
2937        (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
2938        is not initialized we return a valid range, and don't attempt to use it.
2939
29402009-06-03  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2941
2942        Reviewed by Simon Hausmann.
2943
2944        Implement a way to invalidate the FontCache used by the Qt port.
2945
2946        * platform/graphics/qt/FontCacheQt.cpp:
2947        (WebCore::FontCache::invalidate):
2948
29492009-06-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2950
2951        Reviewed by Ariya Hidayat.
2952
2953        https://bugs.webkit.org/show_bug.cgi?id=26015
2954
2955        [Qt] Single-threaded QtWebKit configuration
2956
2957        Turn off Database, DOM storage, icon database and Web Workers support
2958        when ENABLE_SINGLE_THREADED is turned on.
2959
2960        Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
2961        when ENABLE_SINGLE_THREADED is turned on.
2962
2963        * WebCore.pro:
2964
29652009-06-03  Dan Bernstein  <mitz@apple.com>
2966
2967        Reviewed by Sam Weinig.
2968
2969        - add some assertions that Font methods are used on the main thread
2970
2971        * platform/graphics/Font.cpp:
2972        (WebCore::Font::setShouldUseSmoothing):
2973        * platform/graphics/Font.h:
2974        (WebCore::Font::primaryFont):
2975        * platform/graphics/FontFastPath.cpp:
2976        (WebCore::Font::glyphDataForCharacter):
2977
29782009-06-03  Dan Bernstein  <mitz@apple.com>
2979
2980        - Windows build fix
2981
2982        Rolled out apparently-accidental changes to config.h from r44398. These
2983        were not part of the patch as reviewed.
2984
2985        * config.h:
2986
29872009-06-03  Dmitry Titov  <dimich@chromium.org>
2988
2989        Not reviewed, Chromium build fix.
2990
2991        https://bugs.webkit.org/show_bug.cgi?id=26177
2992        Reverting 'private' to 'protected' on 2 classes.
2993        Chromium glue layer (not yet in Webkit tree) relies on ability to derive
2994        Chromium-specific platform classes and access the data members.
2995        See bug for more details.
2996
2997        * platform/PlatformMouseEvent.h:
2998        * platform/PlatformWheelEvent.h:
2999
30002009-06-03  Chris Marrin  <cmarrin@apple.com>
3001
3002        Reviewed by Simon Fraser <simonfr@apple.com>.
3003
3004        Fixed https://bugs.webkit.org/show_bug.cgi?id=26162
3005
3006        This corrects an error when destroying an animation
3007        or transition where endAnimation was never getting
3008        called and therefore the hardware animation was never
3009        getting removed.
3010
3011        This includes a manual-test since it's really impossible
3012        to make a meaningful automatic test for an animation
3013        bug like this.
3014
3015        This has no effect unless accelerated compositing is 
3016        enabled.
3017
3018        * manual-tests/interrupted-compound-transform.html: Added.
3019        * page/animation/ImplicitAnimation.cpp:
3020        (WebCore::ImplicitAnimation::~ImplicitAnimation):
3021        * page/animation/KeyframeAnimation.cpp:
3022        (WebCore::KeyframeAnimation::~KeyframeAnimation):
3023
30242009-06-03  Adam Langley  <agl@google.com>
3025
3026        Reviewed by Eric Seidel.
3027
3028        Make the scrollbar thumb size twice the width for Chromium Linux. This
3029        matches Firefox on Linux.
3030
3031        This will need layout test pixel results to be rebaselined in the
3032        Chromium tree.
3033
3034        http://code.google.com/p/chromium/issues/detail?id=12602
3035        https://bugs.webkit.org/show_bug.cgi?id=26176
3036
3037        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3038        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
3039        * platform/chromium/ScrollbarThemeChromiumLinux.h:
3040
30412009-06-03  Adam Langley  <agl@google.com>
3042
3043        Reviewed by Eric Seidel.
3044
3045        Change Chromium scrollbar theme code to use different classes on
3046        Windows and Linux rather than suppling symbols. The ScrollbarTheme
3047        class is already using virtual dispatch, so there's no reason not to.
3048
3049        This should not affect any layout tests.
3050
3051        https://bugs.webkit.org/show_bug.cgi?id=26174
3052
3053        * platform/chromium/ScrollbarThemeChromium.cpp:
3054        * platform/chromium/ScrollbarThemeChromium.h:
3055        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3056        (WebCore::ScrollbarTheme::nativeTheme):
3057        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
3058        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
3059        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
3060        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3061        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
3062        * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
3063        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3064        (WebCore::ScrollbarTheme::nativeTheme):
3065        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
3066        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
3067        (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
3068        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3069        (WebCore::ScrollbarThemeChromiumWin::paintButton):
3070        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
3071        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
3072        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
3073        (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
3074        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
3075        * platform/chromium/ScrollbarThemeChromiumWin.h: Added.
3076
30772009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3078
3079        Reviewed by Timothy Hatcher.
3080
3081        Enabling debugger requires that Scripts panel is already attached to the
3082        render tree. The reason is that recompile events result in script sources
3083        being added into the source frames. Prior to the global options introduced,
3084        debugger was enabled from the Scripts panel, so that it was guaranteed to
3085        exist. The InspectorController::enableDebugger API calls with no inspector
3086        frontend showing were failing though.
3087
3088        https://bugs.webkit.org/show_bug.cgi?id=26145
3089
3090        * WebCore.base.exp:
3091        * inspector/InspectorController.cpp:
3092        (WebCore::InspectorController::setWindowVisible):
3093        (WebCore::InspectorController::scriptObjectReady):
3094        (WebCore::InspectorController::enableDebuggerFromFrontend):
3095        (WebCore::InspectorController::enableDebugger):
3096        * inspector/InspectorController.h:
3097        * inspector/InspectorController.idl:
3098        * inspector/InspectorFrontend.cpp:
3099        (WebCore::InspectorFrontend::attachDebuggerWhenShown):
3100        * inspector/InspectorFrontend.h:
3101        * inspector/front-end/ScriptsPanel.js:
3102        (WebInspector.ScriptsPanel.prototype.show):
3103        (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
3104        * inspector/front-end/inspector.js:
3105        (WebInspector.attachDebuggerWhenShown):
3106
31072009-06-03  Dan Bernstein  <mitz@apple.com>
3108
3109        Reviewed by Anders Carlsson.
3110
3111        - fix a regression from the previous patch
3112
3113        * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.
3114
31152009-06-03  Dan Bernstein  <mitz@apple.com>
3116
3117        Reviewed by Anders Carlsson.
3118
3119        - eliminate WebCoreTextRenderer
3120
3121        * WebCore.base.exp: Updated.
3122        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
3123            and promoted WebFontCache.h to private.
3124        * platform/graphics/Font.cpp:
3125        (WebCore::Font::setShouldUseSmoothing): Added this static setter for
3126            a new file-static boolean.
3127        (WebCore::Font::shouldUseSmoothing): Added this static getter.
3128        * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
3129            shouldUseSmoothing().
3130        * platform/graphics/mac/FontMac.mm:
3131        (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
3132        WebCoreShouldUseFontSmoothing().
3133        * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
3134        * platform/mac/WebCoreTextRenderer.h: Removed.
3135        * platform/mac/WebCoreTextRenderer.mm: Removed.
3136
31372009-06-03  David Levin  <levin@chromium.org>
3138
3139        Reviewed by Dimitri Glazkov.
3140
3141        v8's ScriptController::evaluate should protect the Frame like the jsc version.
3142        https://bugs.webkit.org/show_bug.cgi?id=26172
3143
3144        This change is simply copying protections done for Frame in the method
3145        WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.
3146
3147        * bindings/v8/ScriptController.cpp:
3148        (WebCore::ScriptController::evaluate):
3149
31502009-06-03  Dan Bernstein  <mitz@apple.com>
3151
3152        Reviewed by John Sullivan.
3153
3154        - fix <rdar://problem/6841120> Use CTFontManager notifications instead
3155          of ATS notifications
3156
3157        * platform/graphics/FontCache.h: Made it an error to destroy a
3158        FontCache instance.
3159        * platform/graphics/mac/FontCacheMac.mm:
3160        (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
3161        this notification callback for the
3162        kCTFontManagerRegisteredFontsChangedNotification, which calls
3163        invalidate().
3164        (WebCore::FontCache::platformInit): Register for
3165        kCTFontManagerRegisteredFontsChangedNotification.
3166
31672009-06-03  Kevin Watters  <kevinwatters@gmail.com>
3168
3169        Reviewed by Kevin Ollivier.
3170
3171        Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.
3172        
3173        https://bugs.webkit.org/show_bug.cgi?id=26161
3174
3175        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
3176        (WebCore::drawTextWithSpacing):
3177
31782009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3179
3180        Reviewed by Timothy Hatcher.
3181
3182        Reorder ResourcesPanel components initialization to unfreeze resource list scroller.
3183
3184        https://bugs.webkit.org/show_bug.cgi?id=26159
3185
3186        * inspector/front-end/ResourcesPanel.js:
3187        (WebInspector.ResourcesPanel):
3188
31892009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3190
3191        Reviewed by Timothy Hatcher.
3192
3193        - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
3194          when reloading or navigating with the Inspector open.
3195        - Fix for Inspector's Elements panel being empty when Inspector first appears.
3196
3197        https://bugs.webkit.org/show_bug.cgi?id=26134
3198        https://bugs.webkit.org/show_bug.cgi?id=26135
3199
3200        * inspector/InspectorController.cpp:
3201        (WebCore::InspectorController::scriptObjectReady):
3202        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3203        (WebCore::InspectorController::identifierForInitialRequest):
3204        (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
3205        * inspector/InspectorController.h:
3206
32072009-06-03  Adam Roben  <aroben@apple.com>
3208
3209        Windows build fix after r44379
3210
3211        * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
3212        other #includes to fix a compiler warning on Windows.
3213
32142009-06-02  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
3215
3216        Reviewed by Simon Hausmann.
3217
3218        Add workaround for crash in Linux Flash Player when hosted by
3219        another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
3220        issue (FP-2140).
3221
3222        * plugins/qt/PluginViewQt.cpp:
3223        (WebCore::PluginView::setNPWindowIfNeeded):
3224
32252009-06-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
3226
3227        Reviewed by Simon Hausmann.
3228
3229        Refactor the Qt plugin code to use NPP_SetWindow correctly,
3230        to make resizing of plugins work.
3231
3232        Attention was paid to make sure that the windowed plugins scroll
3233        synchronized with the page view. A manual test has been added.
3234
3235        * manual-tests/qt/plugin-iframe.html: Added.
3236        * plugins/PluginView.cpp:
3237        (WebCore::PluginView::setFrameRect):
3238        (WebCore::PluginView::frameRectsChanged):
3239        * plugins/PluginView.h:
3240        * plugins/qt/PluginContainerQt.cpp:
3241        (PluginContainerQt::PluginContainerQt):
3242        * plugins/qt/PluginContainerQt.h:
3243        * plugins/qt/PluginPackageQt.cpp:
3244        (WebCore::PluginPackage::load):
3245        * plugins/qt/PluginViewQt.cpp:
3246        (WebCore::PluginView::updatePluginWidget):
3247        (WebCore::PluginView::paint):
3248        (WebCore::PluginView::setParent):
3249        (WebCore::PluginView::setNPWindowRect):
3250        (WebCore::PluginView::setNPWindowIfNeeded):
3251        (WebCore::PluginView::handlePostReadFile):
3252        (WebCore::PluginView::getValue):
3253        (WebCore::PluginView::invalidateRect):
3254        (WebCore::PluginView::init):
3255
32562009-06-02  Darin Adler  <darin@apple.com>
3257
3258        Reviewed by David Hyatt.
3259
3260        Bug 26112: viewless WebKit -- make events work
3261        https://bugs.webkit.org/show_bug.cgi?id=26112
3262
3263        The main fix here is to make mouse and wheel event coordinates in the coordinate
3264        system of the top level NSView rather than the NSWindow when in the viewless mode.
3265        This is the design Hyatt chose, but the event part of it wasn't done yet.
3266
3267        Also fix FrameView to do normal reference counting instead of a strange model with
3268        an explicit deref near creation time.
3269
3270        * WebCore.base.exp: Updated.
3271
3272        * page/EventHandler.cpp:
3273        (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
3274        to reduce conditionals in the header.
3275        (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
3276
3277        * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
3278        Made currentNSEvent a static member function. Added sendContextMenuEvent and
3279        eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
3280        can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
3281        eventLoopHandleMouseDragged unconditional.
3282
3283        * page/Frame.cpp:
3284        (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
3285        (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
3286        the explicit deref.
3287
3288        * page/Frame.h: Changed setView to take a PassRefPtr.
3289
3290        * page/FrameTree.cpp: Added newly-needed include.
3291
3292        * page/FrameView.cpp:
3293        (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
3294        the initialization of m_refCount and call to show from the reamining one.
3295        (WebCore::FrameView::create): Added two create functions that do what the two
3296        constructors did before, except that they return a PassRefPtr to make sure the
3297        reference counting is handled correctly.
3298        (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
3299        its own reference counting.
3300
3301        * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
3302        constructor private and added create functions. Got rid of the hand-implemented
3303        reference counting in this class.
3304
3305        * page/mac/EventHandlerMac.mm:
3306        (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
3307        make it more clear how it relates to currentNSEvent.
3308        (WebCore::EventHandler::currentNSEvent): Updated.
3309        (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
3310        current event in a foolproof way.
3311        (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
3312        (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
3313        window in when constructing the PlatformWheelEvent.
3314        (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
3315        (WebCore::lastEventIsMouseUp): Use currentNSEvent.
3316        (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
3317        (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
3318        (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
3319        (WebCore::EventHandler::passSubframeEventToSubframe): Use
3320        currentPlatformMouseEvent to get a mouse event that has the appropriate
3321        platform window passed to create it.
3322        (WebCore::EventHandler::passWheelEventToWidget): Ditto.
3323        (WebCore::EventHandler::mouseDown): Ditto.
3324        (WebCore::EventHandler::mouseDragged): Ditto.
3325        (WebCore::EventHandler::mouseUp): Ditto.
3326        (WebCore::EventHandler::mouseMoved): Ditto.
3327        (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
3328        platform window that's now needed to create a PlatformMouseEvent.
3329        (WebCore::EventHandler::sendContextMenuEvent): Added.
3330        (WebCore::EventHandler::eventMayStartDrag): Added.
3331
3332        * platform/HostWindow.h: Removed unneeded includes and constructor definition.
3333
3334        * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
3335        Changed Mac constructor to take a windowView as well as the event. This is
3336        needed in viewless mode, since the "window" is actually an NSView, so the
3337        event has to know which view to compute the coordinates with. Made the
3338        same change to pointForEvent.
3339        * platform/PlatformWheelEvent.h: Ditto.
3340
3341        * platform/mac/PlatformMouseEventMac.mm:
3342        (WebCore::pointForEvent): Convert point from window coordinates to view
3343        coordinates if a windowView is passed in. This is used in viewless mode.
3344        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
3345        * platform/mac/WheelEventMac.mm:
3346        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.
3347
3348        * platform/mac/WidgetMac.mm:
3349        (WebCore::Widget::convertFromContainingWindow): Fixed case where there
3350        is no platform widget and no parent. Before it would yield unpredictable
3351        results because of dispatching to a nil object and returning a structure.
3352        Now it returns the point without changing coordinates at all, which is what
3353        we need for this case in viewless mode.
3354
3355        * rendering/RenderApplet.cpp: Removed unneeded includes.
3356        (WebCore::RenderApplet::intrinsicSize): Use widget function.
3357        (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
3358
3359        * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
3360        explicit destructor.
3361
3362        * rendering/RenderFrame.cpp: Removed unneeded includes.
3363        (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
3364        doesn't have to define element function.
3365        (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget
3366        function.
3367
3368        * rendering/RenderFrame.h: Removed unneeded includes. Made some things
3369        private. Got rid of element function.
3370
3371        * rendering/RenderPart.cpp: Removed unneeded includes.
3372        (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
3373        (WebCore::RenderPart::setWidget): Changed to use widget function.
3374        (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
3375        This is now only called by the clearWidget function.
3376
3377        * rendering/RenderPart.h: Removed unneeded forward declarations.
3378        Made more functions private. Updated deleteWidget to take widget argument.
3379
3380        * rendering/RenderPartObject.cpp:
3381        (WebCore::RenderPartObject::~RenderPartObject): use frameView function
3382        instead of getting at m_view directly.
3383        (WebCore::RenderPartObject::updateWidget): Ditto.
3384        (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
3385        (WebCore::RenderPartObject::viewCleared): Ditto.
3386
3387        * rendering/RenderPartObject.h: Made some functions private.
3388
3389        * rendering/RenderWidget.cpp:
3390        (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
3391        construction syntax instead of assignment.
3392        (WebCore::RenderWidget::destroy): Updated for name change of m_view
3393        to m_frameView.
3394        (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
3395        the widget.
3396        (WebCore::RenderWidget::setWidget): Use clearWidget.
3397        (WebCore::RenderWidget::paint): Updated for name change of m_view
3398        to m_frameView.
3399        (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.
3400
3401        * rendering/RenderWidget.h: Made many functions protected, others
3402        private and made all data members private.
3403
3404        * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
3405        just do what std::max and std::min will already do automatically for this
3406        type, so they are not helpful.
3407
3408        * svg/graphics/SVGImage.cpp:
3409        (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
3410        that initialize to zero without anything explicit.
3411        (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
3412        no longer stored.
3413        (WebCore::SVGImage::setContainerSize): Ditto.
3414        (WebCore::SVGImage::usesContainerSize): Ditto.
3415        (WebCore::SVGImage::size): Ditto.
3416        (WebCore::SVGImage::hasRelativeWidth): Ditto.
3417        (WebCore::SVGImage::hasRelativeHeight): Ditto.
3418        (WebCore::SVGImage::draw): Ditto.
3419        (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
3420        (WebCore::SVGImage::dataChanged): Ditto.
3421
3422        * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
3423        members m_document, m_frame, m_frameView, and m_minSize.
3424
34252009-06-02  Adam Langley  <agl@google.com>
3426
3427        Reviewed by Eric Seidel.
3428
3429        The previous code was assuming that we'll be painting buttons on the scrollbar
3430        which isn't true on Linux. To reproduce, resize a page with scrollbars until
3431        they are less than two widths high.
3432
3433        This will need pixel test baselines to be updated in the Chromium tree.
3434
3435        * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
3436        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3437        (WebCore::ScrollbarThemeChromium::trackRect): ... to here
3438        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3439        (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
3440        doesn't remove the track when the scrollbar is less than two widths
3441        high.
3442
34432009-06-02  Mark Rowe  <mrowe@apple.com>
3444
3445        Reviewed by Anders Carlsson.
3446
3447        Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
3448
3449        * Configurations/Base.xcconfig:
3450
34512009-06-02  Eric Seidel  <eric@webkit.org>
3452
3453        Reviewed by Maciej Stachowiak.
3454
3455        Insert*List on an stand-alone image in a content editable region ASSERTS
3456        ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
3457        https://bugs.webkit.org/show_bug.cgi?id=19066
3458
3459        Attempt to fix this by noticing that we inserted the list inside
3460        the selection which includes the image, and re-adjust the selection
3461        to not include the list before trying to move the image into
3462        the list item.
3463        
3464        Test: editing/execCommand/list-wrapping-image-crash.html
3465
3466        * editing/InsertListCommand.cpp:
3467        (WebCore::InsertListCommand::doApply):
3468
34692009-06-02  Eric Seidel  <eric@webkit.org>
3470
3471        Reviewed by Darin Adler.
3472
3473        Rename PositionIterator members in hope of further clarity
3474        https://bugs.webkit.org/show_bug.cgi?id=24854
3475
3476        Rename m_parent to m_anchorNode (since although it's always the parent
3477        of the previous m_child member, it is not always the parent of the effective position)
3478        Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
3479        directly following the position.  This member is often NULL, but is always
3480        a child of m_parent, now m_anchorNode if set.
3481        Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)
3482
3483        * dom/PositionIterator.cpp:
3484        (WebCore::PositionIterator::operator Position):
3485        (WebCore::PositionIterator::increment):
3486        (WebCore::PositionIterator::decrement):
3487        (WebCore::PositionIterator::atStart):
3488        (WebCore::PositionIterator::atEnd):
3489        (WebCore::PositionIterator::atStartOfNode):
3490        (WebCore::PositionIterator::atEndOfNode):
3491        (WebCore::PositionIterator::isCandidate):
3492        * dom/PositionIterator.h:
3493        (WebCore::PositionIterator::PositionIterator):
3494        (WebCore::PositionIterator::node):
3495        (WebCore::PositionIterator::offsetInLeafNode):
3496
34972009-06-02  Julien Chaffraix  <jchaffraix@webkit.org>
3498
3499        Reviewed by Eric Seidel.
3500
3501        Bug 17167: Failures in fast/dom/Node/initial-values.html
3502
3503        This partly solve a compatibility issue with other browsers. It will also
3504        make us more consistent while handling XHTML element.
3505
3506        The issue is that when we create an XHTML element inside an HTML document
3507        (as it is the case when calling createElementNS), we default to the HTML
3508        behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
3509        element, our fix is to check whether it has a prefix and then default
3510        to XML behaviour for nodeName.
3511
3512        * html/HTMLElement.cpp:
3513        (WebCore::HTMLElement::nodeName): Add a prefix check before
3514        returning the uppercase tagName (HTML behaviour).
3515
35162009-06-02  Eric Seidel  <eric@webkit.org>
3517
3518        Reviewed by Maciej Stachowiak.
3519
3520        Add a compareBoundaryPoints which takes RangeBoundaryPoints
3521        https://bugs.webkit.org/show_bug.cgi?id=25500
3522
3523        I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
3524        This patch is almost entirely minus lines.
3525
3526        No functional changes, thus no tests.
3527
3528        * dom/Range.cpp:
3529        (WebCore::Range::setStart):
3530        (WebCore::Range::setEnd):
3531        (WebCore::Range::compareBoundaryPoints):
3532        (WebCore::Range::boundaryPointsValid):
3533        * dom/Range.h:
3534
35352009-06-02  Eric Seidel  <eric@webkit.org>
3536
3537        Reviewed by Maciej Stachowiak.
3538
3539        Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
3540        https://bugs.webkit.org/show_bug.cgi?id=25500
3541
3542        Darin indicated the Range should deal only with primitive DOM node/offset
3543        pairs, and that Position (which is a more robust editing construct) should have
3544        its own comparison functions and that Range.h should not mention Position at all.
3545
3546        Turns out that Position already has a comparePositions() function (which knows
3547        how to additionally handled positions in shadow trees).  So I've just changed
3548        all callers of compareBoundaryPoints(Position, Position) to use the existing
3549        comparePositions() function.  I've also added a comparePositions which takes
3550        VisiblePositions for convenience.
3551
3552        * dom/Range.cpp:
3553        * dom/Range.h:
3554        * editing/ApplyStyleCommand.cpp:
3555        (WebCore::ApplyStyleCommand::updateStartEnd):
3556        (WebCore::ApplyStyleCommand::applyBlockStyle):
3557        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3558        (WebCore::ApplyStyleCommand::applyInlineStyle):
3559        (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
3560        (WebCore::ApplyStyleCommand::removeInlineStyle):
3561        (WebCore::ApplyStyleCommand::nodeFullySelected):
3562        (WebCore::ApplyStyleCommand::nodeFullyUnselected):
3563        * editing/CompositeEditCommand.cpp:
3564        (WebCore::CompositeEditCommand::deleteInsignificantText):
3565        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3566        (WebCore::CompositeEditCommand::moveParagraphs):
3567        * editing/DeleteSelectionCommand.cpp:
3568        (WebCore::DeleteSelectionCommand::initializeStartEnd):
3569        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3570        (WebCore::DeleteSelectionCommand::mergeParagraphs):
3571        * editing/SelectionController.cpp:
3572        (WebCore::SelectionController::nodeWillBeRemoved):
3573        * editing/VisibleSelection.cpp:
3574        (WebCore::VisibleSelection::toNormalizedRange):
3575        * editing/htmlediting.cpp:
3576        (WebCore::comparePositions):
3577        * editing/htmlediting.h:
3578        * page/EventHandler.cpp:
3579        (WebCore::EventHandler::handleMousePressEventSingleClick):
3580
35812009-06-02  Albert J. Wong  <ajwong@chromium.org>
3582
3583        Reviewed by Dimitri Glazkov.
3584
3585        https://bugs.webkit.org/show_bug.cgi?id=26122
3586        Upstream v8_utility.h functions into V8Utilities.h.  This patch has
3587        some transitional code to make upstreaming easier.  This code will
3588        be deleted in a few days.
3589
3590        * bindings/v8/ScriptFunctionCall.cpp:
3591        (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
3592        * bindings/v8/V8Utilities.h:
3593        (WebCore::AllowAllocation::AllowAllocation): Function added.
3594        (WebCore::AllowAllocation::~AllowAllocation): Function added.
3595        (WebCore::SafeAllocation::NewInstance): Function added.
3596        * bindings/v8/WorkerContextExecutionProxy.cpp:
3597        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3598        NewInstance -> newInstance.
3599        (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->
3600        newInstance.
3601
36022009-06-02  Dan Bernstein  <mitz@apple.com>
3603
3604        Reviewed by John Sullivan.
3605
3606        - fix <rdar://problem/6940747> Search field’s focus ring is outset
3607
3608        * rendering/RenderThemeWin.cpp:
3609        (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
3610        search field outline offset to -2.
3611
36122009-06-02  Sam Weinig  <sam@webkit.org>
3613
3614        Reviewed by Alexey Proskuryakov.
3615
3616        Add list of unimplemented event handlers to DOMWindow.
3617
3618        * page/DOMWindow.idl:
3619
36202009-06-02  Alexey Proskuryakov  <ap@webkit.org>
3621
3622        Reviewed by Sam Weinig.
3623
3624        https://bugs.webkit.org/show_bug.cgi?id=26133
3625        Adapt and import py-dom-xpath tests
3626
3627        Tests: fast/xpath/py-dom-xpath/abbreviations.html
3628               fast/xpath/py-dom-xpath/axes.html
3629               fast/xpath/py-dom-xpath/data.html
3630               fast/xpath/py-dom-xpath/expressions.html
3631               fast/xpath/py-dom-xpath/functions.html
3632               fast/xpath/py-dom-xpath/nodetests.html
3633               fast/xpath/py-dom-xpath/paths.html
3634               fast/xpath/py-dom-xpath/predicates.html
3635
3636        Fix bugs found with this test suite:
3637        - name and local-name were incorrect for processing instructions (XPath expanded-name
3638        doesn't match DOM exactly);
3639        - name, local-name and namespace functions should crash on attribute nodes;
3640        - attemps to make node sets from other types were not detected as errors.
3641
3642        No performance impact.
3643
3644        * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
3645        An error won't stop evaluation, but an exception will be raised afterwards. We could also
3646        detect conversion errors at compile time, but not if we're going to support XPath variables
3647        (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
3648        XSLT one day).
3649
3650        * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
3651        conversion exception occurred during evaluation, and raise an excpetion if it did.
3652
3653        * xml/XPathFunctions.cpp:
3654        (WebCore::XPath::expandedNameLocalPart):
3655        (WebCore::XPath::expandedName):
3656        XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
3657        which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
3658        (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
3659        attribute node, because it released what was possibly the only reference to attribute node
3660        before using it. Changed the function to avoid such situation.
3661        (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
3662        to work properly with processing instruction nodes.
3663        (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
3664        (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
3665        (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
3666
3667        * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
3668        evaluation result is not a node-set.
3669
3670        * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
3671        always a node-set (this is not so for FilterExpr production in the spec, but is for us,
3672        because we don't naively map BNF productions to classes).
3673
3674        * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
3675        is not a node-set.
3676
3677        * xml/XPathStep.cpp: Removed an unnecesary include.
3678
3679        * xml/XPathValue.cpp:
3680        (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
3681        (WebCore::XPath::Value::modifiableNodeSet): Ditto.
3682        (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
3683        (in particular, those using exponential notation).
3684
36852009-06-01  Sam Weinig  <sam@webkit.org>
3686
3687        Reviewed by Brady Eidson.
3688
3689        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
3690        Add missing event handler properties to the DOMWindow
3691
3692        Added oncontextmenu, oninput, and onmessage event handlers to
3693        the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
3694        and onsuspend event handlers were implemented but not added to
3695        DOMWindow.idl.
3696
3697        * page/DOMWindow.cpp:
3698        (WebCore::DOMWindow::oninput):
3699        (WebCore::DOMWindow::setOninput):
3700        (WebCore::DOMWindow::onmessage):
3701        (WebCore::DOMWindow::setOnmessage):
3702        (WebCore::DOMWindow::oncontextmenu):
3703        (WebCore::DOMWindow::setOncontextmenu):
3704        * page/DOMWindow.h:
3705        * page/DOMWindow.idl:
3706
37072009-06-01  Jeremy Orlow  <jorlow@chromium.org>
3708
3709        Reviewed by Darin Adler.  Landed by Adam Barth.
3710
3711        https://bugs.webkit.org/show_bug.cgi?id=26123
3712
3713        Remove a redundant checkEncodedString call when constructing a
3714        KURL object from a string.
3715
3716        * platform/KURL.cpp:
3717        (WebCore::KURL::KURL):
3718
37192009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3720
3721        Unreviewed, build fix.
3722
3723        Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
3724        Bad Dimitri.
3725
3726        * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
3727            WebCore namespace declarations.
3728
37292009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3730
3731        Unreviewed, build fix.
3732
3733        * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
3734            with a stern FIXME.
3735        * platform/chromium/KeyboardCodes.h: Removed.
3736
37372009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
3738
3739        Reviewed by Eric Seidel.
3740
3741        Fix assertion error in --filters enabled debug builds.
3742        Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
3743
3744        * svg/graphics/filters/SVGFilterBuilder.cpp:
3745        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
3746        (WebCore::SVGFilterBuilder::add):
3747        (WebCore::SVGFilterBuilder::getEffectById):
3748        * svg/graphics/filters/SVGFilterBuilder.h:
3749
37502009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
3751
3752        Reviewed by Eric Seidel.
3753
3754        Fix --filters enabled build on Mac.
3755        Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
3756        Kill several warnings, to make build pass.
3757
3758        * rendering/RenderPath.cpp:
3759        (WebCore::RenderPath::paint):
3760        * rendering/RenderSVGContainer.cpp:
3761        (WebCore::RenderSVGContainer::paint):
3762        * rendering/RenderSVGImage.cpp:
3763        (WebCore::RenderSVGImage::paint):
3764        * rendering/RenderSVGRoot.cpp:
3765        (WebCore::RenderSVGRoot::paint):
3766        * rendering/SVGRenderSupport.cpp:
3767        (WebCore::SVGRenderBase::finishRenderSVGContent):
3768        * rendering/SVGRenderSupport.h:
3769        * rendering/SVGRootInlineBox.cpp:
3770        (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
3771        * svg/SVGFEGaussianBlurElement.cpp:
3772        (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
3773        * svg/graphics/filters/SVGFEFlood.cpp:
3774        (WebCore::FEFlood::FEFlood):
3775
37762009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3777
3778        Reviewed by Dave Hyatt.
3779
3780        Fix Chromium build by adding an #ifdef, restoring the code path to that
3781        before http://trac.webkit.org/changeset/44287.
3782
3783        * platform/mac/ScrollbarThemeMac.mm:
3784        (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
3785
37862009-06-01  Dirk Schulze  <krit@webkit.org>
3787
3788        Reviewed by Nikolas Zimmermann.
3789
3790        Remove last pieces of the old SVG filter system. They are not
3791        usable with our current filter system. The new filter effects
3792        will replace the functionality step by step.
3793
3794        * GNUmakefile.am:
3795        * WebCore.pro:
3796        * WebCore.vcproj/WebCore.vcproj:
3797        * WebCore.xcodeproj/project.pbxproj:
3798        * svg/graphics/cairo: Removed.
3799        * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
3800        * svg/graphics/cg: Removed.
3801        * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
3802        * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
3803        * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
3804        * svg/graphics/filters/SVGFilterEffect.h: Removed.
3805        * svg/graphics/filters/cg: Removed.
3806        * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
3807        * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
3808        * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
3809        * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
3810        * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
3811        * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
3812        * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
3813        * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
3814        * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
3815        * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
3816        * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
3817        * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
3818        * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
3819        * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
3820        * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
3821        * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
3822        * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
3823        * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
3824        * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
3825        * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
3826        * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
3827        * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
3828        * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
3829        * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
3830        * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
3831        * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
3832        * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
3833        * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
3834        * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
3835        * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
3836        * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
3837        * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
3838        * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
3839        * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
3840        * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
3841        * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
3842        * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
3843        * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
3844        * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
3845        * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
3846        * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
3847        * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
3848        * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
3849        * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
3850        * svg/graphics/mac: Removed.
3851        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
3852        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
3853        * svg/graphics/qt: Removed.
3854        * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
3855        * svg/graphics/skia: Removed.
3856        * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.
3857
38582009-06-01  Dmitry Titov  <dimich@chromium.org>
3859
3860        Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
3861        This adds a comment suggested during review.
3862
3863        * platform/ThreadGlobalData.cpp:
3864        (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.
3865
38662009-06-01  Dmitry Titov  <dimich@chromium.org>
3867
3868        Reviewed by Darin Adler.
3869
3870        https://bugs.webkit.org/show_bug.cgi?id=25973
3871        Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
3872        Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
3873        for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
3874        the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
3875        the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
3876        in establishIdentifierForPthreadHandle() since the id is already in the map.
3877
3878        The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
3879        on OSX Chromium and will stop failing after this change.
3880
3881        * platform/ThreadGlobalData.h:
3882        * platform/ThreadGlobalData.cpp:
3883        (WebCore::ThreadGlobalData::~ThreadGlobalData):
3884        Store the result of "isMainThread()" in a member variable during construction of thread-specific data
3885        to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.
3886
38872009-06-01  David Levin  <levin@chromium.org>
3888
3889        Reviewed by Darin Alder and Maciej Stachowiak.
3890
3891        Bug 26057: StringImpl should share buffers with UString.
3892        https://bugs.webkit.org/show_bug.cgi?id=26057
3893
3894        This change results in the following performance improvements:
3895        On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
3896        the time went from 78ms to 40ms for append (other times remained constant).
3897
3898        On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
3899        the time went from 3900ms to 2600ms.
3900
3901        For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
3902        Other tests in dom seemed to be faster across several runs but within the
3903        margin of error (except DOM Attributes which was slightly ~1.5% worse).
3904
3905        Existing tests cover this code and there is no new functionality
3906        that is exposed to test.
3907
3908        * platform/text/AtomicString.cpp:
3909        (WebCore::AtomicString::add):
3910        * platform/text/String.cpp:
3911        (WebCore::String::String):
3912        (WebCore::String::operator UString):
3913        * platform/text/StringImpl.cpp:
3914        (WebCore::StringImpl::StringImpl):
3915        (WebCore::StringImpl::~StringImpl):
3916        (WebCore::StringImpl::create): Consumes a shared buffer.
3917        (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
3918        (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
3919        * platform/text/StringImpl.h:
3920        (WebCore::StringImpl::hasTerminatingNullCharacter):
3921        (WebCore::StringImpl::inTable):
3922        (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
3923        to avoid growing StringImpl in size.
3924
39252009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3926
3927        Unreviewed, build fix.
3928
3929        V8 bindings follow-up to to DOMWindow-related cleanup:
3930        http://trac.webkit.org/changeset/44215
3931
3932        * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated
3933            its body to destructor.
3934        * bindings/v8/ScriptController.h: Removed disconnectFrame() decl.
3935
39362009-05-28  Pavel Feldman  <pfeldman@chromium.org>
3937
3938        Reviewed by Timothy Hatcher.
3939
3940        - Add panel enabler to the resources panel.
3941        - Add session / always options into the panel enabler.
3942        - Make enabled status for three panels sticky (globally).
3943        - Persist enabled status using InspectorController::Settings
3944        - Make InspectorController produce no network-related overhead when
3945          resources panel is not enabled.
3946
3947        https://bugs.webkit.org/show_bug.cgi?id=26046
3948
3949        * inspector/InspectorController.cpp:
3950        (WebCore::InspectorController::InspectorController):
3951        (WebCore::InspectorController::setWindowVisible):
3952        (WebCore::InspectorController::populateScriptObjects):
3953        (WebCore::InspectorController::identifierForInitialRequest):
3954        (WebCore::InspectorController::willSendRequest):
3955        (WebCore::InspectorController::didReceiveResponse):
3956        (WebCore::InspectorController::didReceiveContentLength):
3957        (WebCore::InspectorController::didFinishLoading):
3958        (WebCore::InspectorController::didFailLoading):
3959        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
3960        (WebCore::InspectorController::scriptImported):
3961        (WebCore::InspectorController::enableResourceTracking):
3962        (WebCore::InspectorController::disableResourceTracking):
3963        (WebCore::InspectorController::startUserInitiatedProfiling):
3964        (WebCore::InspectorController::enableProfiler):
3965        (WebCore::InspectorController::disableProfiler):
3966        (WebCore::InspectorController::enableDebugger):
3967        (WebCore::InspectorController::disableDebugger):
3968        * inspector/InspectorController.h:
3969        (WebCore::InspectorController::Setting::Setting):
3970        (WebCore::InspectorController::resourceTrackingEnabled):
3971        * inspector/InspectorController.idl:
3972        * inspector/InspectorFrontend.cpp:
3973        (WebCore::InspectorFrontend::resourceTrackingWasEnabled):
3974        (WebCore::InspectorFrontend::resourceTrackingWasDisabled):
3975        * inspector/InspectorFrontend.h:
3976        * inspector/front-end/PanelEnablerView.js:
3977        (WebInspector.PanelEnablerView.enableOption):
3978        (WebInspector.PanelEnablerView):
3979        (WebInspector.PanelEnablerView.prototype._windowResized):
3980        (WebInspector.PanelEnablerView.prototype.alwaysWasChosen):
3981        * inspector/front-end/ProfilesPanel.js:
3982        (WebInspector.ProfilesPanel.prototype._enableProfiling):
3983        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
3984        * inspector/front-end/ResourcesPanel.js:
3985        (WebInspector.ResourcesPanel):
3986        (WebInspector.ResourcesPanel.prototype.get statusBarItems):
3987        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
3988        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
3989        (WebInspector.ResourcesPanel.prototype.reset):
3990        (WebInspector.ResourcesPanel.prototype._updateSidebarWidth):
3991        (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
3992        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
3993        * inspector/front-end/ScriptsPanel.js:
3994        (WebInspector.ScriptsPanel.prototype._enableDebugging):
3995        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
3996        * inspector/front-end/inspector.css:
3997        * inspector/front-end/inspector.js:
3998        (WebInspector.resourceTrackingWasEnabled):
3999        (WebInspector.resourceTrackingWasDisabled):
4000
40012009-06-01  Drew Wilson  <atwilson@google.com>
4002
4003        Reviewed by Darin Adler.  Landed (and tweaked) by Adam Barth.
4004
4005        https://bugs.webkit.org/show_bug.cgi?id=25902
4006
4007        Added WorkerContext.close()
4008
4009        Test: fast/workers/worker-close.html
4010
4011        * workers/WorkerContext.cpp:
4012        (WebCore::WorkerContext::close):
4013        * workers/WorkerContext.h:
4014        * workers/WorkerContext.idl:
4015        * workers/WorkerMessagingProxy.cpp:
4016        (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
4017
40182009-06-01  Alexey Proskuryakov  <ap@webkit.org>
4019
4020        Reviewed by Darin Adler.
4021
4022        https://bugs.webkit.org/show_bug.cgi?id=12471
4023        XPathResult not invalidated for documents retrieved via XMLHttpRequest
4024
4025        Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath.
4026
4027        Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more
4028        reliable and much faster.
4029
4030        * xml/XPathExpression.cpp:
4031        (WebCore::XPathExpression::evaluate):
4032        * xml/XPathResult.cpp:
4033        (WebCore::XPathResult::XPathResult):
4034        (WebCore::XPathResult::~XPathResult):
4035        (WebCore::XPathResult::invalidIteratorState):
4036        (WebCore::XPathResult::iterateNext):
4037        * xml/XPathResult.h:
4038        (WebCore::XPathResult::create):
4039
40402009-06-01  Brett Wilson  <brettw@chromium.org>
4041
4042        Reviewed by Darin Adler.  Landed by Adam Barth.
4043
4044        https://bugs.webkit.org/show_bug.cgi?id=25750
4045
4046        Test: fast/transforms/bounding-rect-zoom.html
4047
4048        Make getClientRects and getBoundingClientRect account for ther zoom
4049        factor.
4050
4051        * dom/Element.cpp:
4052        (WebCore::adjustFloatPointForAbsoluteZoom):
4053        (WebCore::adjustFloatQuadForAbsoluteZoom):
4054        (WebCore::adjustIntRectForAbsoluteZoom):
4055        (WebCore::Element::getClientRects):
4056        (WebCore::Element::getBoundingClientRect):
4057
40582009-06-01  Tony Chang  <tony@chromium.org>
4059
4060        Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
4061
4062        https://bugs.webkit.org/show_bug.cgi?id=26026
4063
4064        Fix an infinite loop when using the keyboard in Chromium select
4065        popups.
4066
4067        Not testable since it involves sending a keyboard event to
4068        the popup, which is not possible (eventSender sends the key
4069        events through webview, we want to go through the webwidget).
4070
4071        * platform/chromium/PopupMenuChromium.cpp:
4072
40732009-06-01  Nate Chapin  <japhet@google.com>
4074
4075        Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
4076
4077        If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page
4078        has finished loading compeltely or the user has manually scrolled.  Refreshing an anchor url after
4079        scrolling to a new location on the page will still result in jumping to the new location.
4080        
4081        https://bugs.webkit.org/show_bug.cgi?id=26034
4082
4083        * loader/FrameLoader.cpp:
4084        (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor.
4085        (WebCore::FrameLoader::completed): Release anchor lock.
4086        * page/FrameView.cpp:
4087        (WebCore::FrameView::FrameView): Ensure anchor lock starts unset.
4088        (WebCore::FrameView::reset): Ensure anchor lock starts unset.
4089        (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout.
4090        (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins.
4091        (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls.
4092        (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins.
4093        * page/FrameView.h:
4094        (WebCore::FrameView::lockedToAnchor): Added.
4095        (WebCore::FrameView::setLockedToAnchor): Added.
4096
40972009-05-31  Dirk Schulze  <krit@webkit.org>
4098
4099        Reviewed by Nikolas Zimmermann.
4100
4101        WebKit needs cross-platform filter system
4102        [https://bugs.webkit.org/show_bug.cgi?id=19991]
4103
4104        A short clean-up. FilterBuilder is SVG specific. Move it
4105        to svg/graphics/filters and rename it to SVGFilterBuilder. 
4106
4107        * GNUmakefile.am:
4108        * WebCore.pro:
4109        * WebCore.xcodeproj/project.pbxproj:
4110        * svg/FilterBuilder.cpp: Removed.
4111        * svg/FilterBuilder.h: Removed.
4112        * svg/SVGFilterElement.cpp:
4113        * svg/SVGFilterPrimitiveStandardAttributes.h:
4114        * svg/graphics/SVGResourceFilter.cpp:
4115        (WebCore::SVGResourceFilter::SVGResourceFilter):
4116        * svg/graphics/SVGResourceFilter.h:
4117        (WebCore::SVGResourceFilter::builder):
4118        * svg/graphics/filters/SVGFilterBuilder.cpp: Added.
4119        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
4120        (WebCore::SVGFilterBuilder::add):
4121        (WebCore::SVGFilterBuilder::getEffectById):
4122        (WebCore::SVGFilterBuilder::clearEffects):
4123        * svg/graphics/filters/SVGFilterBuilder.h: Added.
4124        (WebCore::SVGFilterBuilder::lastEffect):
4125
41262009-05-31  Alexey Proskuryakov  <ap@webkit.org>
4127
4128        Reviewed by Darin Adler.
4129
4130        https://bugs.webkit.org/show_bug.cgi?id=13233
4131        Need to implement an optimizing XPath evaluator
4132
4133        Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure
4134        with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes
4135        to 33 ms.
4136
4137        * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint,
4138        which is useful for optimization.
4139        (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one.
4140        (WebCore::XPath::NodeSet::operator=): Ditto.
4141        (WebCore::XPath::NodeSet::swap): Ditto.
4142        (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort()
4143        was never called.
4144        (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is
4145        maintained by callers.
4146        (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree.
4147        Currently, the only way for a set to gain this flag is to be produced from a single element
4148        set with a hierarchical location path.
4149
4150        * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid
4151        maintaining a set of unique nodes, and to avoid sorting the result.
4152
41532009-05-31  Alexey Proskuryakov  <ap@webkit.org>
4154
4155        Reviewed by Darin Adler.
4156
4157        https://bugs.webkit.org/show_bug.cgi?id=13233
4158        Need to implement an optimizing XPath evaluator
4159
4160        This patch adds some infrastructure and simple optimizations. Namely,
4161        - we now avoid building a full NodeSet just to evaluate a predicate in some cases;
4162        - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible;
4163
4164        * xml/XPathExpressionNode.cpp:
4165        (WebCore::XPath::Expression::Expression):
4166        * xml/XPathExpressionNode.h:
4167        (WebCore::XPath::Expression::addSubExpression):
4168        (WebCore::XPath::Expression::isContextNodeSensitive):
4169        (WebCore::XPath::Expression::isContextPositionSensitive):
4170        (WebCore::XPath::Expression::isContextSizeSensitive):
4171        (WebCore::XPath::Expression::setIsContextNodeSensitive):
4172        (WebCore::XPath::Expression::setIsContextPositionSensitive):
4173        (WebCore::XPath::Expression::setIsContextSizeSensitive):
4174        XPath expression now knows its result type, and whether evaluation depends on context.
4175
4176        * xml/XPathFunctions.cpp:
4177        (WebCore::XPath::FunLast::resultType):
4178        (WebCore::XPath::FunLast::FunLast):
4179        (WebCore::XPath::FunPosition::resultType):
4180        (WebCore::XPath::FunPosition::FunPosition):
4181        (WebCore::XPath::FunCount::resultType):
4182        (WebCore::XPath::FunId::resultType):
4183        (WebCore::XPath::FunLocalName::resultType):
4184        (WebCore::XPath::FunLocalName::FunLocalName):
4185        (WebCore::XPath::FunNamespaceURI::resultType):
4186        (WebCore::XPath::FunNamespaceURI::FunNamespaceURI):
4187        (WebCore::XPath::FunName::resultType):
4188        (WebCore::XPath::FunName::FunName):
4189        (WebCore::XPath::FunString::resultType):
4190        (WebCore::XPath::FunString::FunString):
4191        (WebCore::XPath::FunConcat::resultType):
4192        (WebCore::XPath::FunStartsWith::resultType):
4193        (WebCore::XPath::FunContains::resultType):
4194        (WebCore::XPath::FunSubstringBefore::resultType):
4195        (WebCore::XPath::FunSubstringAfter::resultType):
4196        (WebCore::XPath::FunSubstring::resultType):
4197        (WebCore::XPath::FunStringLength::resultType):
4198        (WebCore::XPath::FunStringLength::FunStringLength):
4199        (WebCore::XPath::FunNormalizeSpace::resultType):
4200        (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace):
4201        (WebCore::XPath::FunTranslate::resultType):
4202        (WebCore::XPath::FunBoolean::resultType):
4203        (WebCore::XPath::FunNot::resultType):
4204        (WebCore::XPath::FunTrue::resultType):
4205        (WebCore::XPath::FunFalse::resultType):
4206        (WebCore::XPath::FunLang::resultType):
4207        (WebCore::XPath::FunLang::FunLang):
4208        (WebCore::XPath::FunNumber::resultType):
4209        (WebCore::XPath::FunNumber::FunNumber):
4210        (WebCore::XPath::FunSum::resultType):
4211        (WebCore::XPath::FunFloor::resultType):
4212        (WebCore::XPath::FunCeiling::resultType):
4213        (WebCore::XPath::FunRound::resultType):
4214        (WebCore::XPath::Function::setArguments):
4215        Set optimization details for the expression. Normally, a function does not introduce context
4216        node set dependency, but some use context node as default argument, or otherwise use the context.
4217
4218        * xml/XPathFunctions.h: Tweaked style.
4219
4220        * xml/XPathPath.cpp:
4221        (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is.
4222        (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive,
4223        and only if the path relative.
4224        (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations.
4225        (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
4226        (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is.
4227
4228        * xml/XPathPath.h:
4229        (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression
4230        (useful filters return NodeSets, of course).
4231        (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set
4232        insensitive.
4233        (WebCore::XPath::LocationPath::resultType): A path's result is always a node set.
4234        (WebCore::XPath::Path::resultType): Ditto.
4235
4236        * xml/XPathPredicate.h:
4237        (WebCore::XPath::Number::resultType): Return a proper result type.
4238        (WebCore::XPath::StringExpression::resultType): Ditto.
4239        (WebCore::XPath::Negative::resultType): Ditto.
4240        (WebCore::XPath::NumericOp::resultType): Ditto.
4241        (WebCore::XPath::EqTestOp::resultType): Ditto.
4242        (WebCore::XPath::LogicalOp::resultType): Ditto.
4243        (WebCore::XPath::Union::resultType): Ditto.
4244        (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position
4245        sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5].
4246        (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result.
4247
4248        * xml/XPathStep.h:
4249        (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously
4250        borrowed from XPath 2.0 to express some optimizations.
4251        (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and
4252        filtering it with predicates, we now try to apply predicates while enumerating an axis.
4253        (WebCore::XPath::Step::nodeTest): Expose m_nodeTest.
4254
4255        * xml/XPathStep.cpp:
4256        (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still
4257        possible to copy NodeTests.
4258        (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible.
4259        (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//".
4260        (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only
4261        possible if there are no context sensitive predicates for "//".
4262        (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate.
4263        (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring
4264        merged predicates.
4265        (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position.
4266        (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code
4267        path.
4268
4269        * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable
4270        references are not used with XPathEvaluator, so we'll only need them if we decide to
4271        reimplement XSLT. The type of variable reference is not known at compile time.
4272
42732009-05-31  Sam Weinig  <sam@webkit.org>
4274
4275        Rubber-stamped by Dan Bernstein.
4276
4277        Remove unused JSEventTargetBase.h
4278
4279        * GNUmakefile.am:
4280        * WebCore.vcproj/WebCore.vcproj:
4281        * WebCore.xcodeproj/project.pbxproj:
4282        * bindings/js/JSEventTargetBase.h: Removed.
4283
42842009-05-31  Sam Weinig  <sam@webkit.org>
4285
4286        Reviewed by Dan Bernstein.
4287
4288        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
4289        Add missing event handler properties to the DOMWindow
4290
4291        Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
4292        onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
4293        onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
4294        onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
4295        ondragend, ondragenter, ondragleave, ondragover, ondragstart and 
4296        ondrop event handlers to the DOMWindow.
4297
4298        * page/DOMWindow.cpp:
4299        (WebCore::DOMWindow::ondrag):
4300        (WebCore::DOMWindow::setOndrag):
4301        (WebCore::DOMWindow::ondragend):
4302        (WebCore::DOMWindow::setOndragend):
4303        (WebCore::DOMWindow::ondragenter):
4304        (WebCore::DOMWindow::setOndragenter):
4305        (WebCore::DOMWindow::ondragleave):
4306        (WebCore::DOMWindow::setOndragleave):
4307        (WebCore::DOMWindow::ondragover):
4308        (WebCore::DOMWindow::setOndragover):
4309        (WebCore::DOMWindow::ondragstart):
4310        (WebCore::DOMWindow::setOndragstart):
4311        (WebCore::DOMWindow::ondrop):
4312        (WebCore::DOMWindow::setOndrop):
4313        (WebCore::DOMWindow::oncanplay):
4314        (WebCore::DOMWindow::setOncanplay):
4315        (WebCore::DOMWindow::oncanplaythrough):
4316        (WebCore::DOMWindow::setOncanplaythrough):
4317        (WebCore::DOMWindow::ondurationchange):
4318        (WebCore::DOMWindow::setOndurationchange):
4319        (WebCore::DOMWindow::onemptied):
4320        (WebCore::DOMWindow::setOnemptied):
4321        (WebCore::DOMWindow::onended):
4322        (WebCore::DOMWindow::setOnended):
4323        (WebCore::DOMWindow::onloadeddata):
4324        (WebCore::DOMWindow::setOnloadeddata):
4325        (WebCore::DOMWindow::onloadedmetadata):
4326        (WebCore::DOMWindow::setOnloadedmetadata):
4327        (WebCore::DOMWindow::onpause):
4328        (WebCore::DOMWindow::setOnpause):
4329        (WebCore::DOMWindow::onplay):
4330        (WebCore::DOMWindow::setOnplay):
4331        (WebCore::DOMWindow::onplaying):
4332        (WebCore::DOMWindow::setOnplaying):
4333        (WebCore::DOMWindow::onratechange):
4334        (WebCore::DOMWindow::setOnratechange):
4335        (WebCore::DOMWindow::onseeked):
4336        (WebCore::DOMWindow::setOnseeked):
4337        (WebCore::DOMWindow::onseeking):
4338        (WebCore::DOMWindow::setOnseeking):
4339        (WebCore::DOMWindow::ontimeupdate):
4340        (WebCore::DOMWindow::setOntimeupdate):
4341        (WebCore::DOMWindow::onvolumechange):
4342        (WebCore::DOMWindow::setOnvolumechange):
4343        (WebCore::DOMWindow::onwaiting):
4344        (WebCore::DOMWindow::setOnwaiting):
4345        (WebCore::DOMWindow::onloadstart):
4346        (WebCore::DOMWindow::setOnloadstart):
4347        (WebCore::DOMWindow::onprogress):
4348        (WebCore::DOMWindow::setOnprogress):
4349        (WebCore::DOMWindow::onstalled):
4350        (WebCore::DOMWindow::setOnstalled):
4351        (WebCore::DOMWindow::onsuspend):
4352        (WebCore::DOMWindow::setOnsuspend):
4353        * page/DOMWindow.h:
4354        * page/DOMWindow.idl:
4355
43562009-05-31  Sam Weinig  <sam@webkit.org>
4357
4358        Reviewed by Anders Carlsson.
4359
4360        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
4361        Add missing event handler properties to the DOMWindow
4362
4363        Add missing onstorage event handler to the DOMWindow.
4364
4365        * page/DOMWindow.cpp:
4366        (WebCore::DOMWindow::onstorage):
4367        (WebCore::DOMWindow::setOnstorage):
4368        * page/DOMWindow.h:
4369        * page/DOMWindow.idl:
4370
43712009-05-30  Sam Weinig  <sam@webkit.org>
4372
4373        Reviewed by Mark Rowe.
4374
4375        Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
4376        Update online/offline events to match the current spec.
4377        - Also adds window.ononline and window.onoffline event handler
4378          properties.
4379
4380        * page/DOMWindow.cpp:
4381        (WebCore::DOMWindow::onoffline):
4382        (WebCore::DOMWindow::setOnoffline):
4383        (WebCore::DOMWindow::ononline):
4384        (WebCore::DOMWindow::setOnonline):
4385        * page/DOMWindow.h:
4386        * page/DOMWindow.idl:
4387        * page/Page.cpp:
4388        (WebCore::networkStateChanged):
4389
43902009-05-31  Dirk Schulze  <krit@webkit.org>
4391
4392        Reviewed by Nikolas Zimmermann.
4393
4394        WebKit needs cross-platform filter system
4395        [https://bugs.webkit.org/show_bug.cgi?id=19991]
4396
4397        Make use of the new filter system in WebCore for SVG. Deleted Mac bindings
4398        and replace it by a platform independent code. Calculation of subRegions
4399        is missing but needed for a first filter effect.
4400
4401        * GNUmakefile.am:
4402        * WebCore.pro:
4403        * WebCore.vcproj/WebCore.vcproj:
4404        * WebCore.xcodeproj/project.pbxproj:
4405        * platform/graphics/filters/Filter.h:
4406        (WebCore::Filter::~Filter):
4407        (WebCore::Filter::setSourceImage):
4408        * rendering/SVGRenderSupport.cpp:
4409        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
4410        (WebCore::SVGRenderBase::finishRenderSVGContent):
4411        * svg/FilterBuilder.h:
4412        (WebCore::FilterBuilder::lastEffect):
4413        * svg/SVGFEBlendElement.cpp:
4414        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
4415        (WebCore::SVGFEBlendElement::build):
4416        * svg/SVGFEBlendElement.h:
4417        * svg/SVGFEColorMatrixElement.cpp:
4418        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
4419        (WebCore::SVGFEColorMatrixElement::build):
4420        * svg/SVGFEColorMatrixElement.h:
4421        * svg/SVGFEComponentTransferElement.cpp:
4422        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
4423        (WebCore::SVGFEComponentTransferElement::build):
4424        * svg/SVGFEComponentTransferElement.h:
4425        * svg/SVGFECompositeElement.cpp:
4426        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
4427        (WebCore::SVGFECompositeElement::build):
4428        * svg/SVGFECompositeElement.h:
4429        * svg/SVGFEDiffuseLightingElement.cpp:
4430        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
4431        (WebCore::SVGFEDiffuseLightingElement::build):
4432        * svg/SVGFEDiffuseLightingElement.h:
4433        * svg/SVGFEDisplacementMapElement.cpp:
4434        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
4435        (WebCore::SVGFEDisplacementMapElement::build):
4436        * svg/SVGFEDisplacementMapElement.h:
4437        * svg/SVGFEFloodElement.cpp:
4438        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
4439        (WebCore::SVGFEFloodElement::build):
4440        * svg/SVGFEFloodElement.h:
4441        * svg/SVGFEGaussianBlurElement.cpp:
4442        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
4443        (WebCore::SVGFEGaussianBlurElement::build):
4444        * svg/SVGFEGaussianBlurElement.h:
4445        * svg/SVGFEImageElement.cpp:
4446        (WebCore::SVGFEImageElement::SVGFEImageElement):
4447        (WebCore::SVGFEImageElement::notifyFinished):
4448        (WebCore::SVGFEImageElement::build):
4449        * svg/SVGFEImageElement.h:
4450        * svg/SVGFEMergeElement.cpp:
4451        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
4452        (WebCore::SVGFEMergeElement::build):
4453        * svg/SVGFEMergeElement.h:
4454        * svg/SVGFEOffsetElement.cpp:
4455        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
4456        (WebCore::SVGFEOffsetElement::build):
4457        * svg/SVGFEOffsetElement.h:
4458        * svg/SVGFESpecularLightingElement.cpp:
4459        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
4460        (WebCore::SVGFESpecularLightingElement::build):
4461        * svg/SVGFESpecularLightingElement.h:
4462        * svg/SVGFETileElement.cpp:
4463        (WebCore::SVGFETileElement::SVGFETileElement):
4464        (WebCore::SVGFETileElement::build):
4465        * svg/SVGFETileElement.h:
4466        * svg/SVGFETurbulenceElement.cpp:
4467        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
4468        (WebCore::SVGFETurbulenceElement::build):
4469        * svg/SVGFETurbulenceElement.h:
4470        * svg/SVGFilterElement.cpp:
4471        (WebCore::SVGFilterElement::canvasResource):
4472        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
4473        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
4474        * svg/SVGFilterPrimitiveStandardAttributes.h:
4475        (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
4476        * svg/graphics/SVGResourceFilter.cpp:
4477        (WebCore::SVGResourceFilter::SVGResourceFilter):
4478        (WebCore::SVGResourceFilter::addFilterEffect):
4479        (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
4480        (WebCore::SVGResourceFilter::prepareFilter):
4481        (WebCore::SVGResourceFilter::applyFilter):
4482        (WebCore::SVGResourceFilter::externalRepresentation):
4483        * svg/graphics/SVGResourceFilter.h:
4484        (WebCore::SVGResourceFilter::filterBoundingBox):
4485        (WebCore::SVGResourceFilter::setFilterBoundingBox):
4486        (WebCore::SVGResourceFilter::itemBoundingBox):
4487        (WebCore::SVGResourceFilter::setItemBoundingBox):
4488        (WebCore::SVGResourceFilter::builder):
4489
44902009-05-31  Dirk Schulze  <krit@webkit.org>
4491
4492        Reviewed by Nikolas Zimmermann.
4493
4494        WebKit needs cross-platform filter system
4495        [https://bugs.webkit.org/show_bug.cgi?id=19991]
4496
4497        Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1.
4498        This change helps creating test cases, once filters are activated.
4499
4500        * svg/SVGFEFloodElement.cpp:
4501        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
4502        (WebCore::SVGFEFloodElement::parseMappedAttribute):
4503        (WebCore::SVGFEFloodElement::build):
4504        * svg/SVGFEFloodElement.h:
4505        * svg/SVGFEFloodElement.idl:
4506        * svg/graphics/filters/SVGFEFlood.cpp:
4507        (WebCore::FEFlood::FEFlood):
4508        (WebCore::FEFlood::create):
4509        * svg/graphics/filters/SVGFEFlood.h:
4510
45112009-05-31  Dirk Schulze  <krit@webkit.org>
4512
4513        Reviewed by Nikolas Zimmermann.
4514
4515        WebKit needs cross-platform filter system
4516        [https://bugs.webkit.org/show_bug.cgi?id=19991]
4517
4518        Replace all occurrences of SVGResourceFilter by Filter. This is the last 
4519        step for a SVG independent filter system. Every other part of WebCore can
4520        use the filter system by creating a new Filter object.
4521
4522        * GNUmakefile.am:
4523        * WebCore.pro:
4524        * WebCore.xcodeproj/project.pbxproj:
4525        * platform/graphics/filters/FEBlend.cpp:
4526        (WebCore::FEBlend::apply):
4527        * platform/graphics/filters/FEBlend.h:
4528        * platform/graphics/filters/FEColorMatrix.cpp:
4529        (WebCore::FEColorMatrix::apply):
4530        * platform/graphics/filters/FEColorMatrix.h:
4531        * platform/graphics/filters/FEComponentTransfer.cpp:
4532        (WebCore::FEComponentTransfer::apply):
4533        * platform/graphics/filters/FEComponentTransfer.h:
4534        * platform/graphics/filters/FEComposite.cpp:
4535        (WebCore::FEComposite::apply):
4536        * platform/graphics/filters/FEComposite.h:
4537        * platform/graphics/filters/Filter.h: Added.
4538        (WebCore::Filter::setSourceImage):
4539        (WebCore::Filter::sourceImage):
4540        * platform/graphics/filters/FilterEffect.h:
4541        * platform/graphics/filters/SourceAlpha.cpp:
4542        (WebCore::SourceAlpha::apply):
4543        * platform/graphics/filters/SourceAlpha.h:
4544        * platform/graphics/filters/SourceGraphic.cpp:
4545        (WebCore::SourceGraphic::apply):
4546        * platform/graphics/filters/SourceGraphic.h:
4547        * svg/Filter.cpp: Removed.
4548        * svg/Filter.h: Removed.
4549        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
4550        (WebCore::FEConvolveMatrix::apply):
4551        * svg/graphics/filters/SVGFEConvolveMatrix.h:
4552        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
4553        (WebCore::FEDiffuseLighting::apply):
4554        * svg/graphics/filters/SVGFEDiffuseLighting.h:
4555        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
4556        (WebCore::FEDisplacementMap::apply):
4557        * svg/graphics/filters/SVGFEDisplacementMap.h:
4558        * svg/graphics/filters/SVGFEFlood.cpp:
4559        (WebCore::FEFlood::apply):
4560        * svg/graphics/filters/SVGFEFlood.h:
4561        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
4562        (WebCore::FEGaussianBlur::apply):
4563        * svg/graphics/filters/SVGFEGaussianBlur.h:
4564        * svg/graphics/filters/SVGFEImage.cpp:
4565        (WebCore::FEImage::apply):
4566        * svg/graphics/filters/SVGFEImage.h:
4567        * svg/graphics/filters/SVGFEMerge.cpp:
4568        (WebCore::FEMerge::apply):
4569        * svg/graphics/filters/SVGFEMerge.h:
4570        * svg/graphics/filters/SVGFEMorphology.cpp:
4571        (WebCore::FEMorphology::apply):
4572        * svg/graphics/filters/SVGFEMorphology.h:
4573        * svg/graphics/filters/SVGFEOffset.cpp:
4574        (WebCore::FEOffset::apply):
4575        * svg/graphics/filters/SVGFEOffset.h:
4576        * svg/graphics/filters/SVGFESpecularLighting.cpp:
4577        (WebCore::FESpecularLighting::apply):
4578        * svg/graphics/filters/SVGFESpecularLighting.h:
4579        * svg/graphics/filters/SVGFETile.cpp:
4580        (WebCore::FETile::apply):
4581        * svg/graphics/filters/SVGFETile.h:
4582        * svg/graphics/filters/SVGFETurbulence.cpp:
4583        (WebCore::FETurbulence::apply):
4584        * svg/graphics/filters/SVGFETurbulence.h:
4585        * svg/graphics/filters/SVGFilter.cpp: Added.
4586        (WebCore::SVGFilter::SVGFilter):
4587        (WebCore::SVGFilter::calculateEffectSubRegion):
4588        (WebCore::SVGFilter::create):
4589        * svg/graphics/filters/SVGFilter.h: Added.
4590
45912009-05-30  Kevin Ollivier  <kevino@theolliviers.com>
4592
4593        Build fix for platforms without plugins support.
4594
4595        * plugins/PluginViewNone.cpp:
4596        (WebCore::PluginView::userAgentStatic):
4597        (WebCore::PluginView::getValueStatic):
4598
45992009-05-30  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4600
4601        Reviewed by Darin Adler.
4602
4603        Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979
4604
4605        Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected.    
4606        Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation.
4607
4608        * platform/network/mac/ResourceHandleMac.mm:
4609        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
4610
46112009-05-29  Sam Weinig  <sam@webkit.org>
4612
4613        Reviewed by Anders Carlsson.
4614
4615        Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
4616        Make storage events match the current spec.
4617        - Storage event listeners are added to the window.
4618        - Storage events are dispatched to the window.
4619
4620        Updated existing tests.
4621
4622        * dom/Document.cpp:
4623        (WebCore::Document::dispatchWindowEvent):
4624        * dom/Document.h:
4625        * dom/Node.cpp:
4626        * dom/Node.h:
4627        * html/HTMLBodyElement.cpp:
4628        (WebCore::HTMLBodyElement::parseMappedAttribute):
4629        * storage/LocalStorageArea.cpp:
4630        (WebCore::LocalStorageArea::dispatchStorageEvent):
4631        * storage/SessionStorageArea.cpp:
4632        (WebCore::SessionStorageArea::dispatchStorageEvent):
4633
46342009-05-30  Darin Adler  <darin@apple.com>
4635
4636        Reviewed by Adele Peterson.
4637
4638        Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element
4639
4640        Test: fast/forms/focus-control-to-page.html
4641
4642        * dom/SelectElement.h: Made destructor protected. Tweaked a bit.
4643
4644        * html/HTMLSelectElement.cpp: Removed unneeded includes.
4645        (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the
4646        result of optionToListIndex.
4647        (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the
4648        unused attribute, m_minwidth.
4649        (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix.
4650        Call through to the base class defaultEventHandler if the event hasn't
4651        been handled yet.
4652
4653        * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions
4654        private. Removed unused minWidth function and m_minwidth data member.
4655
46562009-05-30  Fridrich Strba  <fridrich.strba@bluewin.ch>
4657
4658        Reviewed by Holger Freyther.
4659
4660        The two KeyboardCodes.h files are basically identical and the
4661        qt one is properly #ifdef-ed for different win32 systems. Share
4662        them between Qt and Gtk implementations.
4663
4664        * GNUmakefile.am:
4665        * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h.
4666        * platform/gtk/KeyboardCodes.h: Removed.
4667        * platform/qt/KeyboardCodes.h: Removed.
4668
46692009-05-30  Jeremy Orlow  <jorlow@chromium.org>
4670
4671        Reviewed by Sam Weinig.
4672
4673        LocalStorage and SessionStorage's implicit setters do not correctly 
4674        handle null.  The custom JS bindings should convert to strings
4675        unconditionally and not try to handle null specially.
4676        https://bugs.webkit.org/show_bug.cgi?id=25970
4677
4678        Tests: storage/domstorage/localstorage/string-conversion.html
4679               storage/domstorage/sessionstorage/string-conversion.html
4680
4681        * bindings/js/JSStorageCustom.cpp:
4682        (WebCore::JSStorage::customPut):
4683
46842009-05-30  Dan Bernstein  <mitz@apple.com>
4685
4686        Reviewed by Darin Adler.
4687
4688        - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
4689          bars in key window draw as inactive if the WebView is not active
4690
4691        Test: platform/mac/scrollbars/key-window-not-first-responder.html
4692
4693        * platform/mac/ScrollbarThemeMac.mm:
4694        (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead
4695        of the WebView's first responder state to switch between active and
4696        inactive state.
4697
46982009-05-30  Dan Bernstein  <mitz@apple.com>
4699
4700        Reviewed by Simon Fraser.
4701
4702        - fix https://bugs.webkit.org/show_bug.cgi?id=18445
4703          <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
4704          with -webkit-gradient as body's background
4705
4706        Test: fast/backgrounds/body-generated-image-propagated-to-root.html
4707
4708        * rendering/RenderBoxModelObject.cpp:
4709        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this
4710        is the root element painting a background layer propagated from the
4711        body, and if it is, use the body's renderer as the client to
4712        StyleImage::image().
4713
47142009-05-30  Holger Hans Peter Freyther  <zecke@selfish.org>
4715
4716        Unreviewed build fix for AXObjectCache.
4717
4718        For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move
4719        that into the #ifdef.
4720
4721        * accessibility/AXObjectCache.cpp:
4722
47232009-05-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
4724
4725        Reviewed by George Staikos.
4726
4727        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072
4728
4729        Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing
4730        the same functionality HTMLSelectElement has. The WML specific features will follow soon.
4731    
4732        Add simple testcase covering <select> element rendering: fast/wml/select.wml
4733
4734        * GNUmakefile.am:
4735        * WebCore.pro:
4736        * WebCore.vcproj/WebCore.vcproj:
4737        * WebCore.xcodeproj/project.pbxproj:
4738        * dom/OptionElement.cpp:
4739        (WebCore::OptionElement::optionIndex):
4740        (WebCore::isOptionElement):
4741        * dom/OptionElement.h:
4742        * dom/OptionGroupElement.cpp:
4743        (WebCore::isOptionGroupElement):
4744        * dom/OptionGroupElement.h:
4745        * dom/SelectElement.cpp:
4746        (WebCore::SelectElement::accessKeySetSelectedIndex):
4747        (WebCore::toSelectElement):
4748        * dom/SelectElement.h:
4749        * html/HTMLOptionElement.cpp:
4750        (WebCore::HTMLOptionElement::index):
4751        * html/HTMLSelectElement.cpp:
4752        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
4753        * rendering/RenderListBox.cpp:
4754        (WebCore::RenderListBox::paintItemForeground):
4755        * rendering/RenderMenuList.cpp:
4756        (WebCore::RenderMenuList::itemIsEnabled):
4757        (WebCore::RenderMenuList::itemIsLabel):
4758        * wml/WMLFormControlElement.cpp:
4759        (WebCore::WMLFormControlElement::attach):
4760        (WebCore::WMLFormControlElement::recalcStyle):
4761        * wml/WMLFormControlElement.h:
4762        * wml/WMLInputElement.cpp:
4763        (WebCore::WMLInputElement::attach):
4764        * wml/WMLOptGroupElement.cpp:
4765        (WebCore::WMLOptGroupElement::insertBefore):
4766        (WebCore::WMLOptGroupElement::replaceChild):
4767        (WebCore::WMLOptGroupElement::removeChild):
4768        (WebCore::WMLOptGroupElement::appendChild):
4769        (WebCore::WMLOptGroupElement::removeChildren):
4770        (WebCore::ownerSelectElement):
4771        (WebCore::WMLOptGroupElement::accessKeyAction):
4772        (WebCore::WMLOptGroupElement::childrenChanged):
4773        (WebCore::WMLOptGroupElement::parseMappedAttribute):
4774        (WebCore::WMLOptGroupElement::attach):
4775        (WebCore::WMLOptGroupElement::detach):
4776        (WebCore::WMLOptGroupElement::recalcSelectOptions):
4777        * wml/WMLOptionElement.cpp:
4778        (WebCore::ownerSelectElement):
4779        (WebCore::WMLOptionElement::accessKeyAction):
4780        (WebCore::WMLOptionElement::childrenChanged):
4781        (WebCore::WMLOptionElement::parseMappedAttribute):
4782        (WebCore::WMLOptionElement::attach):
4783        (WebCore::WMLOptionElement::detach):
4784        (WebCore::WMLOptionElement::insertedIntoDocument):
4785        * wml/WMLSelectElement.cpp: Added.
4786        (WebCore::WMLSelectElement::WMLSelectElement):
4787        (WebCore::WMLSelectElement::~WMLSelectElement):
4788        (WebCore::WMLSelectElement::formControlType):
4789        (WebCore::WMLSelectElement::isKeyboardFocusable):
4790        (WebCore::WMLSelectElement::isMouseFocusable):
4791        (WebCore::WMLSelectElement::selectAll):
4792        (WebCore::WMLSelectElement::recalcStyle):
4793        (WebCore::WMLSelectElement::dispatchFocusEvent):
4794        (WebCore::WMLSelectElement::dispatchBlurEvent):
4795        (WebCore::WMLSelectElement::selectedIndex):
4796        (WebCore::WMLSelectElement::setSelectedIndex):
4797        (WebCore::WMLSelectElement::saveFormControlState):
4798        (WebCore::WMLSelectElement::restoreFormControlState):
4799        (WebCore::WMLSelectElement::childrenChanged):
4800        (WebCore::WMLSelectElement::parseMappedAttribute):
4801        (WebCore::WMLSelectElement::createRenderer):
4802        (WebCore::WMLSelectElement::appendFormData):
4803        (WebCore::WMLSelectElement::optionToListIndex):
4804        (WebCore::WMLSelectElement::listToOptionIndex):
4805        (WebCore::WMLSelectElement::reset):
4806        (WebCore::WMLSelectElement::defaultEventHandler):
4807        (WebCore::WMLSelectElement::accessKeyAction):
4808        (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex):
4809        (WebCore::WMLSelectElement::setActiveSelectionEndIndex):
4810        (WebCore::WMLSelectElement::updateListBoxSelection):
4811        (WebCore::WMLSelectElement::listBoxOnChange):
4812        (WebCore::WMLSelectElement::menuListOnChange):
4813        (WebCore::WMLSelectElement::activeSelectionStartListIndex):
4814        (WebCore::WMLSelectElement::activeSelectionEndListIndex):
4815        (WebCore::WMLSelectElement::accessKeySetSelectedIndex):
4816        (WebCore::WMLSelectElement::setRecalcListItems):
4817        (WebCore::WMLSelectElement::scrollToSelection):
4818        (WebCore::WMLSelectElement::insertedIntoTree):
4819        * wml/WMLSelectElement.h: Added.
4820        (WebCore::WMLSelectElement::canSelectAll):
4821        (WebCore::WMLSelectElement::canStartSelection):
4822        (WebCore::WMLSelectElement::size):
4823        (WebCore::WMLSelectElement::multiple):
4824        (WebCore::WMLSelectElement::listItems):
4825        * wml/WMLTagNames.in:
4826
48272009-05-29  David Levin  <levin@chromium.org>
4828
4829        Reviewed by NOBODY (build fix for windows).
4830
4831        http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf"
4832        that it was trying to replace.  Resulting in this variable being defined twice (and
4833        the second time incorrectly).
4834
4835        * platform/win/Language.cpp:
4836        (WebCore::localeInfo):
4837
48382009-05-29  Takeshi Yoshino  <tyoshino@google.com>
4839
4840        Reviewed by Darin Alder.
4841
4842        https://bugs.webkit.org/show_bug.cgi?id=26018
4843
4844        Fix behavior of the Element View of the Web Inspector for double
4845        clicking the element outline tree.
4846
4847        Double clicking the element outline tree should
4848        1) on attribute: enter attribute editing mode
4849        2) on text: enter text editing mode
4850        3) otherwise: change root node to the parent element of double clicked
4851           element.
4852
4853        Now, 3) is broken. For example, clicking <html> clears the element
4854        outline view.
4855
4856        rootDOMNode should be updated to this.representedObject.parentNode, not
4857        this.parent.representedObject which is parent inside the element
4858        outline tree itself.
4859
4860        * inspector/front-end/ElementsTreeOutline.js:
4861        (WebInspector.ElementsTreeElement.prototype.ondblclick):
4862
48632009-05-29  David Moore  <davemoore@google.com>
4864
4865        Reviewed by Darin Alder.
4866
4867        https://bugs.webkit.org/show_bug.cgi?id=26001
4868        Change many of the uses of String::adopt() to String::createUninitialized().
4869        This allows those strings to use an inlined buffer for their characters.
4870
4871        * dom/StyleElement.cpp:
4872        Loop over nodes to precompute length of string and then
4873        write the characters into the allocated inline buffer
4874        (WebCore::StyleElement::process):
4875        * dom/Text.cpp:
4876        Loop over nodes to precompute length of string and then
4877        write the characters into the allocated inline buffer
4878        (WebCore::Text::wholeText):
4879        (WebCore::Text::rendererIsNeeded):
4880        (WebCore::Text::createRenderer):
4881        (WebCore::Text::createWithLengthLimit):
4882        (WebCore::Text::formatForDebugger):
4883        * platform/text/String.cpp:
4884        (WebCore::String::append):
4885        (WebCore::String::insert):
4886        (WebCore::String::truncate):
4887        (WebCore::String::remove):
4888        * platform/text/StringBuilder.cpp:
4889        (WebCore::StringBuilder::toString):
4890        * platform/text/StringImpl.cpp:
4891        (WebCore::StringImpl::lower):
4892        (WebCore::StringImpl::upper):
4893        (WebCore::StringImpl::secure):
4894        (WebCore::StringImpl::foldCase):
4895        (WebCore::StringImpl::replace):
4896        * platform/text/TextCodecLatin1.cpp:
4897        (WebCore::TextCodecLatin1::decode):
4898        * platform/text/TextCodecUserDefined.cpp:
4899        (WebCore::TextCodecUserDefined::decode):
4900        * platform/win/Language.cpp:
4901        (WebCore::localeInfo):
4902
49032009-05-29  Takeshi Yoshino  <tyoshino@google.com>
4904
4905        Reviewed by Darin Alder.
4906
4907        Bug 25911: Apply href in base elements to anchors shown on the source viewer
4908        https://bugs.webkit.org/show_bug.cgi?id=25911
4909
4910        In rendering HTML sources, parse base elements to apply the base URI to
4911        anchors shown on the source viewer.
4912
4913        This issue was originally reported to the Chromium issue tracker.
4914        http://code.google.com/p/chromium/issues/detail?id=2418
4915
4916        Test: fast/frames/viewsource-link-on-href-value.html
4917
4918        * html/HTMLViewSourceDocument.cpp:
4919        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
4920
49212009-05-29  Rob Buis  <rwlbuis@gmail.com>
4922
4923        Reviewed by David Hyatt.
4924
4925        https://bugs.webkit.org/show_bug.cgi?id=22429
4926        document.styleSheets collection ignores media=presentation
4927
4928        Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute.
4929
4930        Test: fast/css/sheet-collection-link.html
4931
4932        * html/HTMLLinkElement.cpp:
4933        (WebCore::HTMLLinkElement::process):
4934
49352009-05-29  Jian Li  <jianli@chromium.org>
4936
4937        Reviewed by Dimitri Glazkov.
4938
4939        https://bugs.webkit.org/show_bug.cgi?id=26069
4940        Fix a crash in custom V8 bindings code for XMLHttpRequest.
4941
4942        Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html
4943
4944        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
4945        (WebCore::CALLBACK_FUNC_DECL):
4946
49472009-05-29  David Levin  <levin@chromium.org>
4948
4949        Reviewed by Darin Adler.
4950
4951        Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy.
4952        https://bugs.webkit.org/show_bug.cgi?id=26074
4953
4954        The constructor for SQLStatement already does a copy for this string.
4955
4956        * storage/SQLTransaction.cpp:
4957        (WebCore::SQLTransaction::executeSQL):
4958
49592009-05-29  Darin Adler  <darin@apple.com>
4960
4961        Fix build; the new Cairo code compiled on Windows only.
4962
4963        * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold
4964        and syntheticOblique functions as in the Windows version to make it
4965        easier to use this cross-platform. Later we can make data members
4966        private as in the Windows version.
4967        * platform/graphics/mac/FontPlatformData.h: Ditto.
4968
49692009-05-29  Alexander Macdonald  <alexmac@adobe.com>
4970
4971        Reviewed by Darin Adler.
4972
4973        Added support for synthetic bold/oblique font rendering
4974        on platforms that use cairo.
4975
4976        * platform/graphics/SimpleFontData.h:
4977        * platform/graphics/cairo/FontCairo.cpp:
4978        (WebCore::Font::drawGlyphs):
4979        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
4980        (WebCore::SimpleFontData::platformInit):
4981        * platform/graphics/gtk/SimpleFontDataPango.cpp:
4982        (WebCore::SimpleFontData::platformInit):
4983        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
4984        (WebCore::SimpleFontData::platformInit):
4985
49862009-05-29  Chris Fleizach  <cfleizach@apple.com>
4987
4988        Reviewed by Beth Dakin.
4989
4990        Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored
4991        https://bugs.webkit.org/show_bug.cgi?id=26024
4992
4993        AX notifications are posted after a one shot timer so that notifications are not performed mid-layout.
4994        Consolidated postNotification and postNotificationToElement into one method.
4995
4996        * accessibility/AXObjectCache.cpp:
4997        (WebCore::AXObjectCache::AXObjectCache):
4998        (WebCore::AXObjectCache::notificationPostTimerFired):
4999        (WebCore::AXObjectCache::postNotification):
5000        (WebCore::AXObjectCache::selectedChildrenChanged):
5001        * accessibility/AXObjectCache.h:
5002        (WebCore::AXObjectCache::postNotification):
5003        (WebCore::AXObjectCache::postPlatformNotification):
5004        * accessibility/AccessibilityRenderObject.cpp:
5005        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
5006        * accessibility/chromium/AXObjectCacheChromium.cpp:
5007        (WebCore::AXObjectCache::postPlatformNotification):
5008        * accessibility/gtk/AXObjectCacheAtk.cpp:
5009        (WebCore::AXObjectCache::postPlatformNotification):
5010        * accessibility/mac/AXObjectCacheMac.mm:
5011        (WebCore::AXObjectCache::postPlatformNotification):
5012        * accessibility/win/AXObjectCacheWin.cpp:
5013        (WebCore::AXObjectCache::postPlatformNotification):
5014        * dom/Document.cpp:
5015        (WebCore::Document::implicitClose):
5016        * editing/Editor.cpp:
5017        (WebCore::Editor::respondToChangedContents):
5018        * editing/mac/SelectionControllerMac.mm:
5019        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
5020        * page/FrameView.cpp:
5021        (WebCore::FrameView::layout):
5022        * rendering/RenderTextControl.cpp:
5023        (WebCore::RenderTextControl::setInnerTextValue):
5024
50252009-05-29  Brent Fulgham  <bfulgham@webkit.org>
5026
5027        Reviewed by Adam Roben.
5028
5029        Build fix for Windows Cairo target.
5030        https://bugs.webkit.org/show_bug.cgi?id=25972
5031
5032        Compiler mistakenly selects SMILTime min/max instead of STL version,
5033        resulting in a build error.  This change makes the meaning of the
5034        min/max explicit and avoids the problem.
5035
5036        * html/TimeRanges.h:
5037        (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange):
5038
50392009-05-29  Gustavo Noronha Silva  <gns@gnome.org>
5040
5041        Reviewed by Jan Alonzo.
5042
5043        Make SoupMessage a member of ResourceRequest, instead of creating
5044        it in startHttp. Implement updating of ResourceRequest from
5045        SoupMessage, and vice versa.
5046
5047        * GNUmakefile.am:
5048        * platform/network/soup/ResourceHandleSoup.cpp:
5049        (WebCore::ResourceHandle::~ResourceHandle):
5050        (WebCore::gotHeadersCallback):
5051        (WebCore::ResourceHandle::startHttp):
5052        * platform/network/soup/ResourceRequest.h:
5053        (WebCore::ResourceRequest::ResourceRequest):
5054        (WebCore::ResourceRequest::~ResourceRequest):
5055        * platform/network/soup/ResourceRequestSoup.cpp: Added.
5056        (WTF::SoupURI):
5057        (WebCore::ResourceRequest::soupMessage):
5058        (WebCore::ResourceRequest::ResourceRequest):
5059        (WebCore::ResourceRequest::doUpdateResourceRequest):
5060        (WebCore::ResourceRequest::doUpdatePlatformRequest):
5061
50622009-05-28  Dmitry Titov  <dimich@chromium.org>
5063
5064        Reviewed by Dimitri Glazkov.
5065
5066        https://bugs.webkit.org/show_bug.cgi?id=26068
5067        V8: Remove the remaining b8::Locker usage in worker code.
5068        This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944,
5069        since the patches for enabling timers and that bug have "crossed in the queue".
5070        Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium).
5071
5072        * bindings/v8/ScheduledAction.cpp:
5073        (WebCore::ScheduledAction::execute):
5074
50752009-05-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5076
5077        Reviewed by Xan Lopez.
5078
5079        Simplify the Accept-Encoding header we are sending out, for it
5080        seems some servers do not enjoy parsing the full, explicit
5081        version.
5082
5083        * platform/network/soup/ResourceHandleSoup.cpp:
5084        (WebCore::ResourceHandle::startHttp):
5085
50862009-05-28  Dirk Schulze  <krit@webkit.org>
5087
5088        Reviewed by Nikolas Zimmermann.
5089
5090        Added a new build flag --filters. This replaces the old --svg-filters and enables
5091        other parts of WebKit to use some basic filters of platform/graphics/filters if needed.
5092        This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag
5093        doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences.
5094        Filters are not working yet. This patch is just a preperation. Filters are deactivated by
5095        default. 
5096
5097        * Configurations/FeatureDefines.xcconfig:
5098        * DerivedSources.make:
5099        * GNUmakefile.am:
5100        * WebCore.pro:
5101        * bindings/objc/DOM.mm:
5102        (WebCore::createElementClassMap):
5103        * dom/DOMImplementation.cpp:
5104        (WebCore::isSVG10Feature):
5105        (WebCore::isSVG11Feature):
5106        * page/DOMWindow.idl:
5107        * platform/graphics/filters/FEBlend.cpp:
5108        * platform/graphics/filters/FEBlend.h:
5109        * platform/graphics/filters/FEColorMatrix.cpp:
5110        * platform/graphics/filters/FEColorMatrix.h:
5111        * platform/graphics/filters/FEComponentTransfer.cpp:
5112        * platform/graphics/filters/FEComponentTransfer.h:
5113        * platform/graphics/filters/FEComposite.cpp:
5114        * platform/graphics/filters/FEComposite.h:
5115        * platform/graphics/filters/FilterEffect.cpp:
5116        * platform/graphics/filters/FilterEffect.h:
5117        * platform/graphics/filters/SourceAlpha.cpp:
5118        * platform/graphics/filters/SourceAlpha.h:
5119        * platform/graphics/filters/SourceGraphic.cpp:
5120        * platform/graphics/filters/SourceGraphic.h:
5121        * rendering/RenderSVGContainer.cpp:
5122        (WebCore::RenderSVGContainer::selfWillPaint):
5123        * rendering/RenderSVGModelObject.cpp:
5124        * rendering/RenderSVGRoot.cpp:
5125        (WebCore::RenderSVGRoot::selfWillPaint):
5126        * rendering/SVGRenderSupport.cpp:
5127        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
5128        (WebCore::SVGRenderBase::finishRenderSVGContent):
5129        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
5130        * svg/Filter.cpp:
5131        * svg/Filter.h:
5132        * svg/FilterBuilder.cpp:
5133        * svg/FilterBuilder.h:
5134        * svg/SVGComponentTransferFunctionElement.cpp:
5135        * svg/SVGComponentTransferFunctionElement.h:
5136        * svg/SVGComponentTransferFunctionElement.idl:
5137        * svg/SVGFEBlendElement.cpp:
5138        * svg/SVGFEBlendElement.h:
5139        * svg/SVGFEBlendElement.idl:
5140        * svg/SVGFEColorMatrixElement.cpp:
5141        * svg/SVGFEColorMatrixElement.h:
5142        * svg/SVGFEColorMatrixElement.idl:
5143        * svg/SVGFEComponentTransferElement.cpp:
5144        * svg/SVGFEComponentTransferElement.h:
5145        * svg/SVGFEComponentTransferElement.idl:
5146        * svg/SVGFECompositeElement.cpp:
5147        * svg/SVGFECompositeElement.h:
5148        * svg/SVGFECompositeElement.idl:
5149        * svg/SVGFEDiffuseLightingElement.cpp:
5150        * svg/SVGFEDiffuseLightingElement.h:
5151        * svg/SVGFEDiffuseLightingElement.idl:
5152        * svg/SVGFEDisplacementMapElement.cpp:
5153        * svg/SVGFEDisplacementMapElement.h:
5154        * svg/SVGFEDisplacementMapElement.idl:
5155        * svg/SVGFEDistantLightElement.cpp:
5156        * svg/SVGFEDistantLightElement.h:
5157        * svg/SVGFEDistantLightElement.idl:
5158        * svg/SVGFEFloodElement.cpp:
5159        * svg/SVGFEFloodElement.h:
5160        * svg/SVGFEFloodElement.idl:
5161        * svg/SVGFEFuncAElement.cpp:
5162        * svg/SVGFEFuncAElement.h:
5163        * svg/SVGFEFuncAElement.idl:
5164        * svg/SVGFEFuncBElement.cpp:
5165        * svg/SVGFEFuncBElement.h:
5166        * svg/SVGFEFuncBElement.idl:
5167        * svg/SVGFEFuncGElement.cpp:
5168        * svg/SVGFEFuncGElement.h:
5169        * svg/SVGFEFuncGElement.idl:
5170        * svg/SVGFEFuncRElement.cpp:
5171        * svg/SVGFEFuncRElement.h:
5172        * svg/SVGFEFuncRElement.idl:
5173        * svg/SVGFEGaussianBlurElement.cpp:
5174        * svg/SVGFEGaussianBlurElement.h:
5175        * svg/SVGFEGaussianBlurElement.idl:
5176        * svg/SVGFEImageElement.cpp:
5177        * svg/SVGFEImageElement.h:
5178        * svg/SVGFEImageElement.idl:
5179        * svg/SVGFELightElement.cpp:
5180        * svg/SVGFELightElement.h:
5181        * svg/SVGFEMergeElement.cpp:
5182        * svg/SVGFEMergeElement.h:
5183        * svg/SVGFEMergeElement.idl:
5184        * svg/SVGFEMergeNodeElement.cpp:
5185        * svg/SVGFEMergeNodeElement.h:
5186        * svg/SVGFEMergeNodeElement.idl:
5187        * svg/SVGFEOffsetElement.cpp:
5188        * svg/SVGFEOffsetElement.h:
5189        * svg/SVGFEOffsetElement.idl:
5190        * svg/SVGFEPointLightElement.cpp:
5191        * svg/SVGFEPointLightElement.h:
5192        * svg/SVGFEPointLightElement.idl:
5193        * svg/SVGFESpecularLightingElement.cpp:
5194        * svg/SVGFESpecularLightingElement.h:
5195        * svg/SVGFESpecularLightingElement.idl:
5196        * svg/SVGFESpotLightElement.cpp:
5197        * svg/SVGFESpotLightElement.h:
5198        * svg/SVGFESpotLightElement.idl:
5199        * svg/SVGFETileElement.cpp:
5200        * svg/SVGFETileElement.h:
5201        * svg/SVGFETileElement.idl:
5202        * svg/SVGFETurbulenceElement.cpp:
5203        * svg/SVGFETurbulenceElement.h:
5204        * svg/SVGFETurbulenceElement.idl:
5205        * svg/SVGFilterElement.cpp:
5206        * svg/SVGFilterElement.h:
5207        * svg/SVGFilterElement.idl:
5208        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
5209        * svg/SVGFilterPrimitiveStandardAttributes.h:
5210        * svg/graphics/SVGResourceFilter.cpp:
5211        * svg/graphics/SVGResourceFilter.h:
5212        * svg/graphics/cairo/SVGResourceFilterCairo.cpp:
5213        * svg/graphics/cg/SVGResourceFilterCg.cpp:
5214        * svg/graphics/cg/SVGResourceFilterCg.mm:
5215        * svg/graphics/filters/SVGDistantLightSource.h:
5216        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
5217        * svg/graphics/filters/SVGFEConvolveMatrix.h:
5218        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
5219        * svg/graphics/filters/SVGFEDiffuseLighting.h:
5220        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
5221        * svg/graphics/filters/SVGFEDisplacementMap.h:
5222        * svg/graphics/filters/SVGFEFlood.cpp:
5223        * svg/graphics/filters/SVGFEFlood.h:
5224        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
5225        * svg/graphics/filters/SVGFEGaussianBlur.h:
5226        * svg/graphics/filters/SVGFEImage.cpp:
5227        * svg/graphics/filters/SVGFEImage.h:
5228        * svg/graphics/filters/SVGFEMerge.cpp:
5229        * svg/graphics/filters/SVGFEMerge.h:
5230        * svg/graphics/filters/SVGFEMorphology.cpp:
5231        * svg/graphics/filters/SVGFEMorphology.h:
5232        * svg/graphics/filters/SVGFEOffset.cpp:
5233        * svg/graphics/filters/SVGFEOffset.h:
5234        * svg/graphics/filters/SVGFESpecularLighting.cpp:
5235        * svg/graphics/filters/SVGFESpecularLighting.h:
5236        * svg/graphics/filters/SVGFETile.cpp:
5237        * svg/graphics/filters/SVGFETile.h:
5238        * svg/graphics/filters/SVGFETurbulence.cpp:
5239        * svg/graphics/filters/SVGFETurbulence.h:
5240        * svg/graphics/filters/SVGFilterEffect.cpp:
5241        * svg/graphics/filters/SVGFilterEffect.h:
5242        * svg/graphics/filters/SVGLightSource.cpp:
5243        * svg/graphics/filters/SVGLightSource.h:
5244        * svg/graphics/filters/SVGPointLightSource.h:
5245        * svg/graphics/filters/SVGSpotLightSource.h:
5246        * svg/graphics/filters/cg/SVGFEHelpersCg.h:
5247        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
5248        * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
5249        * svg/graphics/filters/cg/WKArithmeticFilter.h:
5250        * svg/graphics/filters/cg/WKArithmeticFilter.m:
5251        * svg/graphics/filters/cg/WKComponentMergeFilter.h:
5252        * svg/graphics/filters/cg/WKComponentMergeFilter.m:
5253        * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
5254        * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
5255        * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
5256        * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
5257        * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
5258        * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
5259        * svg/graphics/filters/cg/WKDistantLightFilter.h:
5260        * svg/graphics/filters/cg/WKDistantLightFilter.m:
5261        * svg/graphics/filters/cg/WKGammaTransferFilter.h:
5262        * svg/graphics/filters/cg/WKGammaTransferFilter.m:
5263        * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
5264        * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
5265        * svg/graphics/filters/cg/WKLinearTransferFilter.h:
5266        * svg/graphics/filters/cg/WKLinearTransferFilter.m:
5267        * svg/graphics/filters/cg/WKNormalMapFilter.h:
5268        * svg/graphics/filters/cg/WKNormalMapFilter.m:
5269        * svg/graphics/filters/cg/WKPointLightFilter.h:
5270        * svg/graphics/filters/cg/WKPointLightFilter.m:
5271        * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
5272        * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
5273        * svg/graphics/filters/cg/WKSpotLightFilter.h:
5274        * svg/graphics/filters/cg/WKSpotLightFilter.m:
5275        * svg/graphics/filters/cg/WKTableTransferFilter.h:
5276        * svg/graphics/filters/cg/WKTableTransferFilter.m:
5277        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
5278        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
5279        * svg/graphics/qt/SVGResourceFilterQt.cpp:
5280        * svg/graphics/skia/SVGResourceFilterSkia.cpp:
5281        * svg/svgtags.in:
5282
52832009-05-28  Brett Wilson  <brettw@chromium.org>
5284
5285        Unreviewed, build fix.
5286
5287        https://bugs.webkit.org/show_bug.cgi?id=26067
5288
5289        Add casts for scale function to make more explicit what is happening
5290        and fix a compiler warning.
5291
5292        * platform/graphics/IntSize.h:
5293        (WebCore::IntSize::scale):
5294
52952009-05-28  Sam Weinig  <sam@webkit.org>
5296
5297        Reviewed by Darin Adler.
5298
5299        Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows
5300        are not cleared on navigation it is no longer necessary.
5301
5302        * bindings/js/JSDOMWindowBase.cpp:
5303        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
5304        (WebCore::JSDOMWindowBase::willRemoveFromWindowShell):
5305        * bindings/js/JSDOMWindowBase.h:
5306        * bindings/js/JSDOMWindowCustom.cpp:
5307        (WebCore::JSDOMWindow::showModalDialog):
5308
53092009-05-19  Xan Lopez  <xlopez@igalia.com>
5310
5311        Reviewed by Jan Alonzo and Gustavo Noronha.
5312
5313        https://bugs.webkit.org/show_bug.cgi?id=25415
5314        [GTK][ATK] Please implement support for get_text_at_offset
5315
5316        Implement atk_text_get_text_{at,after,before}_offset.
5317
5318        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5319
53202009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5321
5322        Rubber-stamped by Darin Adler.
5323
5324        Remove unnecessary destructor from InputElementData/OptionElementData.
5325
5326        * dom/InputElement.cpp:
5327        * dom/InputElement.h:
5328        * dom/OptionElement.cpp:
5329        * dom/OptionElement.h:
5330
53312009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5332
5333        Reviewed by Darin Adler.
5334
5335        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062
5336
5337        Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement)
5338        in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses.
5339
5340        A follow-up patch can now easily add WMLSelectElement.
5341
5342        * dom/OptionElement.h:
5343        * dom/SelectElement.cpp:
5344        (WebCore::SelectElement::selectAll):
5345        (WebCore::SelectElement::saveLastSelection):
5346        (WebCore::isOptionElement):
5347        (WebCore::isOptionGroupElement):
5348        (WebCore::SelectElement::nextSelectableListIndex):
5349        (WebCore::SelectElement::previousSelectableListIndex):
5350        (WebCore::SelectElement::setActiveSelectionAnchorIndex):
5351        (WebCore::SelectElement::setActiveSelectionEndIndex):
5352        (WebCore::SelectElement::updateListBoxSelection):
5353        (WebCore::SelectElement::listBoxOnChange):
5354        (WebCore::SelectElement::menuListOnChange):
5355        (WebCore::SelectElement::scrollToSelection):
5356        (WebCore::SelectElement::recalcStyle):
5357        (WebCore::SelectElement::setRecalcListItems):
5358        (WebCore::SelectElement::recalcListItems):
5359        (WebCore::SelectElement::selectedIndex):
5360        (WebCore::SelectElement::setSelectedIndex):
5361        (WebCore::SelectElement::optionToListIndex):
5362        (WebCore::SelectElement::listToOptionIndex):
5363        (WebCore::SelectElement::dispatchFocusEvent):
5364        (WebCore::SelectElement::dispatchBlurEvent):
5365        (WebCore::SelectElement::deselectItems):
5366        (WebCore::SelectElement::saveFormControlState):
5367        (WebCore::SelectElement::restoreFormControlState):
5368        (WebCore::SelectElement::parseMultipleAttribute):
5369        (WebCore::SelectElement::appendFormData):
5370        (WebCore::SelectElement::reset):
5371        (WebCore::SelectElement::menuListDefaultEventHandler):
5372        (WebCore::SelectElement::listBoxDefaultEventHandler):
5373        (WebCore::SelectElement::defaultEventHandler):
5374        (WebCore::SelectElement::lastSelectedListIndex):
5375        (WebCore::stripLeadingWhiteSpace):
5376        (WebCore::SelectElement::typeAheadFind):
5377        (WebCore::SelectElement::insertedIntoTree):
5378        (WebCore::SelectElementData::SelectElementData):
5379        (WebCore::SelectElementData::checkListItems):
5380        (WebCore::SelectElementData::listItems):
5381        * dom/SelectElement.h:
5382        (WebCore::SelectElementData::multiple):
5383        (WebCore::SelectElementData::setMultiple):
5384        (WebCore::SelectElementData::size):
5385        (WebCore::SelectElementData::setSize):
5386        (WebCore::SelectElementData::usesMenuList):
5387        (WebCore::SelectElementData::lastOnChangeIndex):
5388        (WebCore::SelectElementData::setLastOnChangeIndex):
5389        (WebCore::SelectElementData::lastOnChangeSelection):
5390        (WebCore::SelectElementData::activeSelectionState):
5391        (WebCore::SelectElementData::setActiveSelectionState):
5392        (WebCore::SelectElementData::activeSelectionAnchorIndex):
5393        (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
5394        (WebCore::SelectElementData::activeSelectionEndIndex):
5395        (WebCore::SelectElementData::setActiveSelectionEndIndex):
5396        (WebCore::SelectElementData::cachedStateForActiveSelection):
5397        (WebCore::SelectElementData::shouldRecalcListItems):
5398        (WebCore::SelectElementData::setShouldRecalcListItems):
5399        (WebCore::SelectElementData::rawListItems):
5400        (WebCore::SelectElementData::repeatingChar):
5401        (WebCore::SelectElementData::setRepeatingChar):
5402        (WebCore::SelectElementData::lastCharTime):
5403        (WebCore::SelectElementData::setLastCharTime):
5404        (WebCore::SelectElementData::typedString):
5405        (WebCore::SelectElementData::setTypedString):
5406        * html/HTMLOptionElement.h:
5407        * html/HTMLSelectElement.cpp:
5408        (WebCore::HTMLSelectElement::HTMLSelectElement):
5409        (WebCore::HTMLSelectElement::recalcStyle):
5410        (WebCore::HTMLSelectElement::formControlType):
5411        (WebCore::HTMLSelectElement::selectedIndex):
5412        (WebCore::HTMLSelectElement::deselectItems):
5413        (WebCore::HTMLSelectElement::setSelectedIndex):
5414        (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
5415        (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
5416        (WebCore::HTMLSelectElement::saveFormControlState):
5417        (WebCore::HTMLSelectElement::restoreFormControlState):
5418        (WebCore::HTMLSelectElement::parseMappedAttribute):
5419        (WebCore::HTMLSelectElement::canSelectAll):
5420        (WebCore::HTMLSelectElement::selectAll):
5421        (WebCore::HTMLSelectElement::createRenderer):
5422        (WebCore::HTMLSelectElement::appendFormData):
5423        (WebCore::HTMLSelectElement::optionToListIndex):
5424        (WebCore::HTMLSelectElement::listToOptionIndex):
5425        (WebCore::HTMLSelectElement::recalcListItems):
5426        (WebCore::HTMLSelectElement::setRecalcListItems):
5427        (WebCore::HTMLSelectElement::reset):
5428        (WebCore::HTMLSelectElement::dispatchFocusEvent):
5429        (WebCore::HTMLSelectElement::dispatchBlurEvent):
5430        (WebCore::HTMLSelectElement::defaultEventHandler):
5431        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
5432        (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
5433        (WebCore::HTMLSelectElement::updateListBoxSelection):
5434        (WebCore::HTMLSelectElement::menuListOnChange):
5435        (WebCore::HTMLSelectElement::listBoxOnChange):
5436        (WebCore::HTMLSelectElement::saveLastSelection):
5437        (WebCore::HTMLSelectElement::setOption):
5438        (WebCore::HTMLSelectElement::scrollToSelection):
5439        (WebCore::HTMLSelectElement::insertedIntoTree):
5440        * html/HTMLSelectElement.h:
5441        (WebCore::HTMLSelectElement::size):
5442        (WebCore::HTMLSelectElement::multiple):
5443        (WebCore::HTMLSelectElement::listItems):
5444        * wml/WMLOptionElement.cpp:
5445        (WebCore::WMLOptionElement::text):
5446        * wml/WMLOptionElement.h:
5447
5448
5449        * dom/OptionElement.h:
5450        * dom/SelectElement.cpp:
5451        (WebCore::SelectElement::selectAll):
5452        (WebCore::SelectElement::saveLastSelection):
5453        (WebCore::isOptionElement):
5454        (WebCore::isOptionGroupElement):
5455        (WebCore::SelectElement::nextSelectableListIndex):
5456        (WebCore::SelectElement::previousSelectableListIndex):
5457        (WebCore::SelectElement::setActiveSelectionAnchorIndex):
5458        (WebCore::SelectElement::setActiveSelectionEndIndex):
5459        (WebCore::SelectElement::updateListBoxSelection):
5460        (WebCore::SelectElement::listBoxOnChange):
5461        (WebCore::SelectElement::menuListOnChange):
5462        (WebCore::SelectElement::scrollToSelection):
5463        (WebCore::SelectElement::recalcStyle):
5464        (WebCore::SelectElement::setRecalcListItems):
5465        (WebCore::SelectElement::recalcListItems):
5466        (WebCore::SelectElement::selectedIndex):
5467        (WebCore::SelectElement::setSelectedIndex):
5468        (WebCore::SelectElement::optionToListIndex):
5469        (WebCore::SelectElement::listToOptionIndex):
5470        (WebCore::SelectElement::dispatchFocusEvent):
5471        (WebCore::SelectElement::dispatchBlurEvent):
5472        (WebCore::SelectElement::deselectItems):
5473        (WebCore::SelectElement::saveFormControlState):
5474        (WebCore::SelectElement::restoreFormControlState):
5475        (WebCore::SelectElement::parseMultipleAttribute):
5476        (WebCore::SelectElement::appendFormData):
5477        (WebCore::SelectElement::reset):
5478        (WebCore::SelectElement::menuListDefaultEventHandler):
5479        (WebCore::SelectElement::listBoxDefaultEventHandler):
5480        (WebCore::SelectElement::defaultEventHandler):
5481        (WebCore::SelectElement::lastSelectedListIndex):
5482        (WebCore::stripLeadingWhiteSpace):
5483        (WebCore::SelectElement::typeAheadFind):
5484        (WebCore::SelectElement::insertedIntoTree):
5485        (WebCore::SelectElementData::SelectElementData):
5486        (WebCore::SelectElementData::~SelectElementData):
5487        (WebCore::SelectElementData::checkListItems):
5488        (WebCore::SelectElementData::listItems):
5489        * dom/SelectElement.h:
5490        (WebCore::SelectElementData::multiple):
5491        (WebCore::SelectElementData::setMultiple):
5492        (WebCore::SelectElementData::size):
5493        (WebCore::SelectElementData::setSize):
5494        (WebCore::SelectElementData::usesMenuList):
5495        (WebCore::SelectElementData::lastOnChangeIndex):
5496        (WebCore::SelectElementData::setLastOnChangeIndex):
5497        (WebCore::SelectElementData::lastOnChangeSelection):
5498        (WebCore::SelectElementData::activeSelectionState):
5499        (WebCore::SelectElementData::setActiveSelectionState):
5500        (WebCore::SelectElementData::activeSelectionAnchorIndex):
5501        (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
5502        (WebCore::SelectElementData::activeSelectionEndIndex):
5503        (WebCore::SelectElementData::setActiveSelectionEndIndex):
5504        (WebCore::SelectElementData::cachedStateForActiveSelection):
5505        (WebCore::SelectElementData::shouldRecalcListItems):
5506        (WebCore::SelectElementData::setShouldRecalcListItems):
5507        (WebCore::SelectElementData::rawListItems):
5508        (WebCore::SelectElementData::repeatingChar):
5509        (WebCore::SelectElementData::setRepeatingChar):
5510        (WebCore::SelectElementData::lastCharTime):
5511        (WebCore::SelectElementData::setLastCharTime):
5512        (WebCore::SelectElementData::typedString):
5513        (WebCore::SelectElementData::setTypedString):
5514        * html/HTMLOptionElement.h:
5515        * html/HTMLSelectElement.cpp:
5516        (WebCore::HTMLSelectElement::HTMLSelectElement):
5517        (WebCore::HTMLSelectElement::recalcStyle):
5518        (WebCore::HTMLSelectElement::formControlType):
5519        (WebCore::HTMLSelectElement::selectedIndex):
5520        (WebCore::HTMLSelectElement::deselectItems):
5521        (WebCore::HTMLSelectElement::setSelectedIndex):
5522        (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
5523        (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
5524        (WebCore::HTMLSelectElement::saveFormControlState):
5525        (WebCore::HTMLSelectElement::restoreFormControlState):
5526        (WebCore::HTMLSelectElement::parseMappedAttribute):
5527        (WebCore::HTMLSelectElement::canSelectAll):
5528        (WebCore::HTMLSelectElement::selectAll):
5529        (WebCore::HTMLSelectElement::createRenderer):
5530        (WebCore::HTMLSelectElement::appendFormData):
5531        (WebCore::HTMLSelectElement::optionToListIndex):
5532        (WebCore::HTMLSelectElement::listToOptionIndex):
5533        (WebCore::HTMLSelectElement::recalcListItems):
5534        (WebCore::HTMLSelectElement::setRecalcListItems):
5535        (WebCore::HTMLSelectElement::reset):
5536        (WebCore::HTMLSelectElement::dispatchFocusEvent):
5537        (WebCore::HTMLSelectElement::dispatchBlurEvent):
5538        (WebCore::HTMLSelectElement::defaultEventHandler):
5539        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
5540        (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
5541        (WebCore::HTMLSelectElement::updateListBoxSelection):
5542        (WebCore::HTMLSelectElement::menuListOnChange):
5543        (WebCore::HTMLSelectElement::listBoxOnChange):
5544        (WebCore::HTMLSelectElement::saveLastSelection):
5545        (WebCore::HTMLSelectElement::setOption):
5546        (WebCore::HTMLSelectElement::scrollToSelection):
5547        (WebCore::HTMLSelectElement::insertedIntoTree):
5548        * html/HTMLSelectElement.h:
5549        (WebCore::HTMLSelectElement::size):
5550        (WebCore::HTMLSelectElement::multiple):
5551        (WebCore::HTMLSelectElement::listItems):
5552        * wml/WMLOptionElement.cpp:
5553        (WebCore::WMLOptionElement::text):
5554        * wml/WMLOptionElement.h:
5555
55562009-05-28  Adam Roben  <aroben@apple.com>
5557
5558        Don't try to use the new combobox parts on Vista in Classic mode
5559
5560        Fixes:
5561        <rdar://problem/6929277> REGRESSION (r42289+r42350): Windows Classic
5562        theme: drop down lists in Preferences get a line/square
5563        <rdar://problem/6929298> REGRESSION (r42289): Windows Classic: drop
5564        down lists are black with a circle on many sites
5565
5566        Reviewed by Steve Falkenburg.
5567
5568        * rendering/RenderThemeWin.cpp:
5569        (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox
5570        parts when we have a theme (i.e., when we're not in Classic mode).
5571        When we don't have a theme, fall back to the pre-r42289 code.
5572
55732009-05-27  Peter Kasting  <pkasting@google.com>
5574
5575        Reviewed by Simon Fraser.
5576
5577        https://bugs.webkit.org/show_bug.cgi?id=25659
5578        Avoid calling frameCount() unnecessarily (which could lead to extra
5579        GIF decoding).
5580
5581        * platform/graphics/BitmapImage.cpp:
5582        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
5583
55842009-05-28  Simon Fraser  <simon.fraser@apple.com>
5585
5586        Reviewed by Oliver Hunt.
5587        
5588        https://bugs.webkit.org/show_bug.cgi?id=8736
5589
5590        Tests: fast/borders/border-radius-constraints.html
5591               fast/borders/border-radius-split-inline.html
5592               
5593        When the sum of the corner radii on a side exceed the length of the side,
5594        reduce the radii according to CSS 3 rules.
5595        
5596        Add RenderStyle::getBorderRadiiForRect() to fetch corner radii, applying
5597        the constraints. Use that for painting borders, box-shadow, clipping replaced
5598        elements
5599
5600        * platform/graphics/IntSize.h:
5601        (WebCore::IntSize::scale):
5602        Add a scale method that scales by a float (using C rounding rules, like IntRect::scale()).
5603
5604        * platform/graphics/Path.cpp:
5605        Make the QUARTER const static.
5606
5607        * rendering/RenderBox.cpp:
5608        (WebCore::RenderBox::pushContentsClip):
5609        Use getBorderRadiiForRect to fetch border radii.
5610
5611        * rendering/RenderBoxModelObject.cpp:
5612        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
5613        Use getBorderRadiiForRect to fetch border radii.
5614
5615        (WebCore::RenderBoxModelObject::paintBorder):
5616        Use getBorderRadiiForRect to fetch border radii, and fix a bug when drawing
5617        borders for split inlines, which used to apply the radii for each segment,
5618        and no longer does.
5619
5620        (WebCore::RenderBoxModelObject::paintBoxShadow):
5621        Use getBorderRadiiForRect to fetch border radii.
5622
5623        * rendering/RenderReplaced.cpp:
5624        (WebCore::RenderReplaced::paint):
5625        Use getBorderRadiiForRect to fetch border radii for clipping.
5626
5627        * rendering/RenderWidget.cpp:
5628        (WebCore::RenderWidget::paint):
5629        Use getBorderRadiiForRect to fetch border radii for clipping.
5630
5631        * rendering/style/RenderStyle.h:
5632        * rendering/style/RenderStyle.cpp:
5633        (WebCore::RenderStyle::getBorderRadiiForRect):
5634        New bottleneck method to fetch corner radiil given a rect, applying the constraint
5635        rules.
5636
56372009-05-28  Alexey Proskuryakov  <ap@webkit.org>
5638
5639        Reviewed by Darin Adler.
5640
5641        https://bugs.webkit.org/show_bug.cgi?id=26005
5642        Optimization for XPath //* does not preserve context size
5643
5644        Test: fast/xpath/position.html
5645
5646        Fixed the bug by removing the incorrect optimization, and made enough micro-optimizations to
5647        get a performance progression on my tests.
5648
5649        * xml/XPathPath.h: Removed broken optimizeStepPair().
5650
5651        * xml/XPathPath.cpp:
5652        (WebCore::XPath::LocationPath::evaluate): Style fix.
5653        (WebCore::XPath::LocationPath::appendStep): Don't call optimizeStepPair().
5654        (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
5655        (WebCore::XPath::Path::Path): Style fix.
5656
5657        * xml/XPathStep.cpp:
5658        (WebCore::XPath::primaryNodeType): Turned this member function into a static inline helper.
5659        (WebCore::XPath::nodeMatches): Ditto. Don't check for namespace axis, which is unsupported
5660        (and might never be).
5661        (WebCore::XPath::Step::nodesInAxis): Updated for the new nodeMatches() signature.
5662
5663        * xml/XPathStep.h:
5664        (WebCore::XPath::Step::NodeTest::data):
5665        (WebCore::XPath::Step::NodeTest::namespaceURI):
5666        Made these data members AtomicString to avoid repeated conversions. This is the biggest
5667        performance win here.
5668
5669        * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Reserve some capacity upfront.
5670
56712009-05-28  Stephen White  <senorblanco@chromium.org>
5672
5673        Reviewed by Dimitri Glazkov.
5674
5675        When creating a linear or radial gradient with a single stop
5676        at offset 1.0, the Skia layer was allocating 3 stops, but only
5677        filling 2, leaving one uninitialized.  Only 2 stops are necessary
5678        in this case, at offsets (0.0, 1.0).
5679
5680        http://bugs.webkit.org/show_bug.cgi?id=26063
5681
5682        Covered by: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-16-b.svg
5683                    LayoutTests/svg/custom/gradient-stop-corner-cases.svg
5684                    LayoutTests/svg/custom/js-late-gradient-and-object-creation.svg
5685
5686        * platform/graphics/skia/GradientSkia.cpp:
5687        (WebCore::totalStopsNeeded):
5688
56892009-05-28  Yury Semikhatsky  <yurys@chromium.org>
5690
5691        Reviewed by Timothy Hatcher.
5692
5693        https://bugs.webkit.org/show_bug.cgi?id=26041
5694        Allow adding resource source to WebInspector.SourceFrame asynchronously.
5695
5696        Provide common implementation for InspectorController::addResourceSourceToFrame and
5697        InspectorController::addSourceToFrame methods.
5698
5699        * bindings/js/JSInspectorControllerCustom.cpp:
5700        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
5701        * inspector/InspectorController.cpp:
5702        (WebCore::InspectorController::addResourceSourceToFrame):
5703        * inspector/InspectorController.h:
5704        * inspector/InspectorController.idl:
5705        * inspector/front-end/SourceFrame.js:
5706        (WebInspector.SourceFrame.prototype.revealLine):
5707        (WebInspector.SourceFrame.prototype.highlightLine):
5708        (WebInspector.SourceFrame.prototype._loaded):
5709        (WebInspector.SourceFrame.prototype._isContentLoaded):
5710        * inspector/front-end/SourceView.js:
5711        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
5712        (WebInspector.SourceView.prototype._contentLoaded):
5713
57142009-05-28  Holger Hans Peter Freyther  <zecke@selfish.org>
5715
5716        Reviewed by Xan Lopez.
5717
5718        After r44177 we had a problem when increasing the size
5719        of the window the scrollbars stayed and were not hidden.
5720        This was due WebCore giving up on the Scrollbar as it became
5721        unnecessary but the GtkAdjustment remained unchanged.
5722        So from the point of view of the GtkScrolledWindow scrolling
5723        was still necessary and the GtkScrollbar kept being displayed.
5724
5725        Solve the issue by resetting the GtkAdjustment in the
5726        destructor of ScrollbarGtk.
5727
5728        * platform/gtk/ScrollbarGtk.cpp:
5729        (ScrollbarGtk::~ScrollbarGtk):
5730
57312009-05-28  Adam Barth  <abarth@webkit.org>
5732
5733        Reviewed by Darin Adler.
5734
5735        Clean up window.open()'s use of lexical and dynamic scope.
5736
5737        (Added one unreviewed tweak: use dynamicFrame instead of lexicalFrame
5738        for DOMWindow::allowPopUp.)
5739
5740        Test: http/tests/security/frameNavigation/context-for-window-open.html
5741
5742        * bindings/js/JSDOMBinding.cpp:
5743        (WebCore::toDynamicFrame):
5744        (WebCore::processingUserGesture):
5745        (WebCore::completeURL):
5746        * bindings/js/JSDOMBinding.h:
5747        * bindings/js/JSDOMWindowCustom.cpp:
5748        (WebCore::createWindow):
5749        (WebCore::JSDOMWindow::open):
5750        (WebCore::JSDOMWindow::showModalDialog):
5751        * bindings/v8/custom/V8DOMWindowCustom.cpp:
5752        (WebCore::CALLBACK_FUNC_DECL):
5753        (WebCore::createWindow):
5754
57552009-05-27  Alexey Proskuryakov  <ap@webkit.org>
5756
5757        Reviewed by Oliver Hunt.
5758
5759        https://bugs.webkit.org/show_bug.cgi?id=26056
5760        XPath string() function can be very slow
5761
5762        * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Use an intermediate Vector when appending.
5763
57642009-05-27  Dan Bernstein  <mitz@apple.com>
5765
5766        Reviewed by Sam Weinig.
5767
5768        - fix <rdar://problem/6927761> <isindex> placeholder text is unstylable
5769          and initially not visible
5770
5771        Test: fast/forms/isindex-placeholder.html
5772
5773        * css/html4.css: Added a default style for <isindex> placeholder text.
5774        * html/HTMLInputElement.cpp:
5775        (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call
5776        the new protected function updatePlaceholderVisibility().
5777        * html/HTMLInputElement.h:
5778        (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this
5779        protected function to allow HTMLIsIndexElement::parseMappedAttribute()
5780        to invoke InputElement::updatePlaceholderVisibility().
5781        * html/HTMLIsIndexElement.cpp:
5782        (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call
5783        updatePlaceholderVisibility() when parsing the placeholder attribute.
5784        * rendering/RenderTextControlSingleLine.cpp:
5785        (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there
5786        is no placeholder pseudo-element style, use the normal style.
5787
57882009-05-27  Sam Weinig  <sam@webkit.org>
5789
5790        Reviewed by Maciej Stachowiak.
5791
5792        More cleanup of DOMWindow related functions.
5793
5794        * bindings/js/JSDOMWindowBase.cpp:
5795        (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Renamed from JSDOMWindowBase::clear()
5796        * bindings/js/JSDOMWindowBase.h:
5797
5798        * bindings/js/JSDOMWindowCustom.cpp:
5799        (WebCore::JSDOMWindow::showModalDialog): Update Comment.
5800
5801        * bindings/js/JSDOMWindowShell.cpp:
5802        * bindings/js/JSDOMWindowShell.h:
5803        Remove JSDOMWindowShell::clear().  It was unused.
5804
5805        * bindings/js/ScriptController.cpp:
5806        (WebCore::ScriptController::clearWindowShell):
5807
58082009-05-27  Sam Weinig  <sam@webkit.org>
5809
5810        Reviewed by David Hyatt.
5811
5812        Miscellaneous cleanup of DOMWindow related functions.
5813
5814        * bindings/js/JSDOMGlobalObject.cpp:
5815        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Fix poorly named variables.
5816        * bindings/js/JSDOMWindowBase.cpp:
5817        (WebCore::JSDOMWindowBase::supportsProfiling): Don't jump through hoops
5818        checking for null frames if the build does not support profiling.
5819        (WebCore::JSDOMWindowBase::clear): Use setCurrentEvent(0) instead of calling
5820        clearHelperObjectProperties().  It is clearer.
5821        * bindings/js/JSDOMWindowBase.h:
5822        Removed now unused clearHelperObjectProperties() function, empty disconnectFrame()
5823        function, and the empty destructor.
5824        * bindings/js/JSDOMWindowShell.cpp:
5825        * bindings/js/JSDOMWindowShell.h:
5826        Remove disconnectFrame() which only called JSDOMWindowBase::disconnectFrame(), which
5827        is a no-op.
5828        * page/Frame.cpp:
5829        (WebCore::Frame::~Frame):
5830        (WebCore::Frame::pageDestroyed):
5831        Remove calls to JSDOMWindowShell::disconnectFrame() which only called
5832        JSDOMWindowBase::disconnectFrame(), which is a no-op.
5833
58342009-05-27  Dimitri Glazkov  <dglazkov@chromium.org>
5835
5836        Unreviewed, build fix.
5837
5838        https://bugs.webkit.org/show_bug.cgi?id=25974
5839        Remove extra qualifiers from the ScheduledAction decl.
5840
5841        * bindings/v8/ScheduledAction.h: Removed extraneous class qualifiers.
5842
58432009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5844
5845        Unreviewed make distcheck fix. One more missing file.
5846
5847        * GNUmakefile.am:
5848
58492009-05-27  Antonio Gomes   <antonio.gomes@openbossa.org>
5850
5851        Reviewed by Simon Hausmann.
5852
5853        [Qt] Fixed trunk build on Linux after r44126.
5854
5855        * WebCore.pro:
5856
58572009-05-27  Eric Carlson  <eric.carlson@apple.com>
5858
5859        Reviewed by Oliver Hunt.
5860
5861        <rdar://problem/6926046> REGRESSION (r43972): http://www.youtube.com/html5 crashes on open
5862
5863        * platform/graphics/MediaPlayer.cpp:
5864        (WebCore::MediaPlayer::load): Don't look for a media engine based on an empty MIME type.
5865
58662009-05-27  David Levin  <levin@chromium.org>
5867
5868        Reviewed by Maciej Stachowiak.
5869
5870        Bug 26029: FrameLoader::canLoad should allow calls with just a security origin
5871        https://bugs.webkit.org/show_bug.cgi?id=26029
5872
5873        No functional changes, so no tests.
5874
5875        * loader/FrameLoader.cpp:
5876        (WebCore::FrameLoader::canLoad):
5877        * loader/FrameLoader.h:
5878
58792009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5880
5881        Unreviewed build fix.
5882
5883        Remove file that does not exist from the build.
5884
5885        * GNUmakefile.am:
5886
58872009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5888
5889        Reviewed by Darin Adler.
5890
5891        Remove two unneeded protected constructors, these classes have pure-virtual functions, and can't be constructed anyway.
5892
5893        * dom/InputElement.h:
5894        * dom/OptionGroupElement.h:
5895
58962009-05-27  Alexey Proskuryakov  <ap@webkit.org>
5897
5898        Reviewed by Darin Adler.
5899
5900        https://bugs.webkit.org/show_bug.cgi?id=17725
5901        XPath should be case insensitive for HTML
5902
5903        Test: fast/xpath/node-name-case-sensitivity.html
5904
5905        * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeMatches): Made node name check case insensitive
5906        for HTML elements in HTML documents.
5907
59082009-05-27  John Sullivan  <sullivan@apple.com>
5909
5910        fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping 
5911        bookmarks (at least) over Top Sites (at least)
5912
5913        Reviewed by Kevin Decker
5914
5915        * page/DragController.cpp:
5916        (WebCore::DragController::dragExited):
5917        nil check m_documentUnderMouse and take the "local file" case if it's nil
5918
59192009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
5920
5921        Reviewed by Gustavo Noronha.
5922
5923        When building on window, consider Windows specific files.
5924
5925        * GNUmakefile.am:
5926
59272009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5928
5929        Reviewed by George Staikos.
5930
5931        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26031
5932
5933        InputElementData is too heavy, save storing two pointers by passing them
5934        directly to the static helper functions (the only place which needs them). 
5935
5936        * dom/InputElement.cpp:
5937        (WebCore::InputElement::dispatchFocusEvent):
5938        (WebCore::InputElement::dispatchBlurEvent):
5939        (WebCore::InputElement::updatePlaceholderVisibility):
5940        (WebCore::InputElement::updateFocusAppearance):
5941        (WebCore::InputElement::updateSelectionRange):
5942        (WebCore::InputElement::aboutToUnload):
5943        (WebCore::InputElement::setValueFromRenderer):
5944        (WebCore::InputElement::constrainValue):
5945        (WebCore::InputElement::handleBeforeTextInsertedEvent):
5946        (WebCore::InputElement::parseSizeAttribute):
5947        (WebCore::InputElement::parseMaxLengthAttribute):
5948        (WebCore::InputElement::updateValueIfNeeded):
5949        (WebCore::InputElement::notifyFormStateChanged):
5950        (WebCore::InputElementData::InputElementData):
5951        * dom/InputElement.h:
5952        * html/HTMLInputElement.cpp:
5953        (WebCore::HTMLInputElement::HTMLInputElement):
5954        (WebCore::HTMLInputElement::updateFocusAppearance):
5955        (WebCore::HTMLInputElement::aboutToUnload):
5956        (WebCore::HTMLInputElement::dispatchFocusEvent):
5957        (WebCore::HTMLInputElement::dispatchBlurEvent):
5958        (WebCore::HTMLInputElement::setInputType):
5959        (WebCore::HTMLInputElement::setSelectionRange):
5960        (WebCore::HTMLInputElement::parseMappedAttribute):
5961        (WebCore::HTMLInputElement::setValue):
5962        (WebCore::HTMLInputElement::setValueFromRenderer):
5963        (WebCore::HTMLInputElement::setFileListFromRenderer):
5964        (WebCore::HTMLInputElement::defaultEventHandler):
5965        (WebCore::HTMLInputElement::constrainValue):
5966        * wml/WMLInputElement.cpp:
5967        (WebCore::WMLInputElement::WMLInputElement):
5968        (WebCore::WMLInputElement::dispatchFocusEvent):
5969        (WebCore::WMLInputElement::dispatchBlurEvent):
5970        (WebCore::WMLInputElement::updateFocusAppearance):
5971        (WebCore::WMLInputElement::aboutToUnload):
5972        (WebCore::WMLInputElement::setValue):
5973        (WebCore::WMLInputElement::setValueFromRenderer):
5974        (WebCore::WMLInputElement::parseMappedAttribute):
5975        (WebCore::WMLInputElement::defaultEventHandler):
5976        (WebCore::WMLInputElement::constrainValue):
5977
59782009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5979
5980        Reviewed by George Staikos.
5981
5982        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26033
5983
5984        OptionElementData saves an Element pointer, which is unnessary.
5985        Just pass it to the static function calls directly.
5986
5987        * dom/OptionElement.cpp:
5988        (WebCore::OptionElement::setSelectedState):
5989        (WebCore::OptionElement::collectOptionText):
5990        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
5991        (WebCore::OptionElement::collectOptionValue):
5992        (WebCore::OptionElementData::OptionElementData):
5993        * dom/OptionElement.h:
5994        * html/HTMLOptionElement.cpp:
5995        (WebCore::HTMLOptionElement::HTMLOptionElement):
5996        (WebCore::HTMLOptionElement::text):
5997        (WebCore::HTMLOptionElement::value):
5998        (WebCore::HTMLOptionElement::setSelected):
5999        (WebCore::HTMLOptionElement::setSelectedState):
6000        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
6001        * wml/WMLOptionElement.cpp:
6002        (WebCore::WMLOptionElement::WMLOptionElement):
6003        (WebCore::WMLOptionElement::setSelectedState):
6004        (WebCore::WMLOptionElement::value):
6005        (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
6006
60072009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
6008
6009        Reviewed by Maciej Stachowiak.
6010
6011        When building with MinGW, don't use the __declspec(dl{import,export})
6012        decorations and rely on the linker to use its nifty auto-import feature.
6013        It is extremely hard to get the decorations right with MinGW in general
6014        and impossible in WebKit, where the resulting shared library is linking 
6015        together some static libraries.
6016
6017        * config.h:
6018
60192009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
6020
6021        Reviewed by Xan Lopez.
6022
6023        https://bugs.webkit.org/show_bug.cgi?id=25613
6024
6025        Add a WebCore::Widget that can embed GtkWidget with and
6026        without a GdkWindow. This can be used to embed any GtkWidget.
6027
6028        Some bits are directly copied from the Scrollbar implementation
6029        but can not be easily shared here.
6030
6031        * GNUmakefile.am:
6032        * platform/gtk/GtkPluginWidget.cpp: Added.
6033        (WebCore::GtkPluginWidget::GtkPluginWidget):
6034        (WebCore::GtkPluginWidget::invalidateRect):
6035        (WebCore::GtkPluginWidget::frameRectsChanged):
6036        (WebCore::GtkPluginWidget::paint):
6037        * platform/gtk/GtkPluginWidget.h: Added.
6038
60392009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
6040
6041        Reviewed by Gustavo Noronha.
6042
6043        https://bugs.webkit.org/show_bug.cgi?id=25613.
6044
6045        Implement Widget::setIsSelected for Gtk+ by searching
6046        for a property of the name "webkit-widget-is-selected" and if
6047        such property exists we are going to set it. We expect
6048        the property to take a boolean.
6049
6050        * platform/gtk/WidgetGtk.cpp:
6051        (WebCore::Widget::setIsSelected):
6052
60532009-05-26  Sam Weinig  <sam@webkit.org>
6054
6055        Reviewed by Brady Eidson.
6056
6057        Fix for <rdar://problem/6916371>
6058        iWeb 'Announce' button does nothing after publishing to MobileMe
6059
6060        Add ability to force content sniffing for all urls (including file: urls)
6061
6062        * WebCore.base.exp:
6063        * platform/network/ResourceHandle.cpp:
6064        (WebCore::ResourceHandle::shouldContentSniffURL):
6065        (WebCore::ResourceHandle::forceContentSniffing):
6066        * platform/network/ResourceHandle.h:
6067
60682009-05-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
6069
6070        Reviewed by Holger Freyther.
6071
6072        https://bugs.webkit.org/show_bug.cgi?id=25996
6073
6074        [Qt] Dead-code stripping for unix
6075
6076        * WebCore.pro: Turn on GCC dead-code stripping flags for Unix
6077
60782009-05-10  Holger Hans Peter Freyther  <zecke@selfish.org>
6079
6080        Reviewed by Dave Hyatt.
6081
6082        https://bugs.webkit.org/show_bug.cgi?id=25646
6083
6084        [GTK] Send onscroll events for the main FrameView
6085
6086        WebKit/GTK+ is currently not sending any onscroll
6087        events for a frame with external adjustments. This is
6088        due the fact that the value-changed signal of the GtkAdjustment
6089        is handled by WebCore::ScrollView directly and is not going through
6090        the WebCore::Scrollbar -> WebCore::ScrollbarClient ->
6091        WebCore::FrameView::valueChanged -> WebCore::ScrollView::valueChanged
6092        path.
6093
6094        Fix the above problem by wrapping the GtkAdjustment we get
6095        assigned from GTK+ in a ScrollbarGtk that will not have any
6096        visual appearance. Remove code from ScrollView that knows
6097        about adjustments and create a special case for
6098        WebCore::ScrollView::createScrollbar that will create such
6099        a special WebCore::ScrollbarGtk.
6100
6101        * platform/ScrollView.cpp: Remove adjustment code
6102        (WebCore::ScrollView::setHasHorizontalScrollbar):
6103        (WebCore::ScrollView::setHasVerticalScrollbar):
6104        (WebCore::ScrollView::updateScrollbars):
6105        (WebCore::ScrollView::wheelEvent):
6106        * platform/ScrollView.h: Remove adjustment code
6107        * platform/gtk/ScrollViewGtk.cpp:
6108        (WebCore::ScrollView::platformDestroy):
6109        (WebCore::ScrollView::createScrollbar):
6110        (WebCore::ScrollView::setGtkAdjustments):
6111        * platform/gtk/ScrollbarGtk.cpp:
6112        (ScrollbarGtk::createScrollbar): Special case.
6113        (ScrollbarGtk::ScrollbarGtk):  New ctor and work on the adjustment
6114        (ScrollbarGtk::~ScrollbarGtk): Disconnect signal
6115        (ScrollbarGtk::frameRectsChanged): Do nothing when we lack a platformWidget
6116        * platform/gtk/ScrollbarGtk.h:
6117
61182009-05-26  Cameron Zwarich  <zwarich@apple.com>
6119
6120        Reviewed by Maciej Stachowiak.
6121
6122        Bug 26035: Make ImageSource::frameHasAlphaAtIndex() return false for JPEGs with CG
6123        <https://bugs.webkit.org/show_bug.cgi?id=26035>
6124        <rdar://problem/6924087>
6125
6126        * platform/graphics/cg/ImageSourceCG.cpp:
6127        (WebCore::ImageSource::frameHasAlphaAtIndex): return false if the image
6128        is JPEG, there is no image type, or m_decoder is null.
6129
61302009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
6131
6132        Unreviewed build fix for the JPEGImageDecoder.
6133
6134        Revision 44167 removed stdio.h from the included headers and
6135        this will lead to an error that FILE is not known inside the
6136        jpeglib.h Put back the stdio.h include.
6137
6138        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
6139
61402009-05-26  Yichao Yin  <yichao.yin@torchmobile.com.cn>
6141
6142        Reviewed by Maciej Stachowiak.
6143
6144        Fix the crash issue while running layout tests after enalbed XHTMLMP
6145        https://bugs.webkit.org/show_bug.cgi?id=26017
6146
6147        * dom/Document.cpp:
6148        (WebCore::Document::isXHTMLMPDocument):
6149
61502009-05-26  Anders Carlsson  <andersca@apple.com>
6151
6152        Reviewed by Dan Bernstein.
6153
6154        <rdar://problem/6901751> 
6155        REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
6156        
6157        Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable
6158        the improved selection drawing on Tiger.
6159        
6160        * WebCore.Tiger.exp:
6161        * platform/graphics/cg/GraphicsContextCG.cpp:
6162        (WebCore::GraphicsContext::fillPath):
6163        (WebCore::GraphicsContext::strokePath):
6164        (WebCore::GraphicsContext::fillRect):
6165        (WebCore::GraphicsContext::clip):
6166        (WebCore::GraphicsContext::clipOut):
6167        (WebCore::GraphicsContext::clipOutEllipseInRect):
6168        (WebCore::GraphicsContext::clipPath):
6169        (WebCore::GraphicsContext::addInnerRoundedRectClip):
6170        (WebCore::GraphicsContext::strokeRect):
6171        * platform/mac/WebCoreSystemInterface.h:
6172        * platform/mac/WebCoreSystemInterface.mm:
6173        * rendering/RenderBlock.cpp:
6174        (WebCore::RenderBlock::fillSelectionGaps):
6175
61762009-05-26  Peter Kasting  <pkasting@google.com>
6177
6178        Reviewed by Eric Seidel.
6179
6180        https://bugs.webkit.org/show_bug.cgi?id=25709 part two
6181        Mostly cosmetic changes, mainly to get image decoders for Cairo build to
6182        comply with WebKit style guidelines:
6183        * Fix header guard names
6184        * Fix initializer list wrapping
6185        * Fix class/function "{" wrapping
6186        * Fix wrapping of long boolean expressions
6187        * Fix whitespace around operators
6188        * Eliminate whitespace on otherwise-blank lines
6189        * No {} on single-line conditional arms
6190        * Use 0 instead of NULL
6191        * Don't #include "config.h" in headers
6192
6193        Also a few non-cosmetic changes:
6194        * Remove unneeded #ifdef protecting the contents of these files.  The
6195          platforms listed don't match who uses these files anymore (even
6196          without considering Skia), and platforms which don't use them at all
6197          (like CG) aren't harmed by the files, since they don't have
6198          equivalently-named classes.  It's simpler to just ditch these.
6199        * Convert a use of Vector<>& into SharedBuffer*, since that's how the
6200          data is really stored anyway.
6201        * Use size() instead of m_size, for consistency with Skia code, and
6202          future-proofing (if a particular decoder wants to specialize this).
6203        * Move an ASSERT that was slightly more aggressive than necessary.
6204        * Change variable names/types for clarity/accuracy and to match Skia.
6205        * Remove unnecessary macro magic to work around a problem which no
6206          longer exists in the third-party JPEG headers.
6207        * Stop silencing a portability warning about setjmp (the vcproj/vsprops
6208          are the right place for this)
6209        * In Skia code, don't explicitly check |m_failed| before calling
6210          isSizeAvailable(), which itself checks |m_failed|.
6211
6212        * platform/image-decoders/ImageDecoder.h: Fix header guards, "{" wrapping.
6213        (WebCore::RGBA32Buffer::):
6214        (WebCore::RGBA32Buffer::RGBA32Buffer): Fix initializer list wrapping.
6215        (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
6216        * platform/image-decoders/bmp/BMPImageDecoder.cpp: Remove unneeded #ifdef.
6217        * platform/image-decoders/bmp/BMPImageDecoder.h: Fix header guards, "{" wrapping.
6218        * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove unneeded #ifdef, fix "{" wrapping.
6219        (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): Use an initializer instead of a block-level statement.
6220        (WebCore::GIFImageDecoderPrivate::decode): Expect a SharedBuffer.
6221        (WebCore::GIFImageDecoderPrivate::getColorMap):
6222        (WebCore::GIFImageDecoder::GIFImageDecoder): Fix initializer list wrapping.
6223        (WebCore::GIFImageDecoder::frameCount): Add comment.
6224        (WebCore::GIFImageDecoder::frameBufferAtIndex): Explicitly cast, fix whitespace around operators.
6225        (WebCore::GIFImageDecoder::decode): Pass a SharedBuffer.
6226        (WebCore::GIFImageDecoder::initFrameBuffer): Use size() instead of m_size, move ASSERT, fix boolean wrapping, fix indenting.
6227        (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): Use size() instead of m_size.
6228        (WebCore::GIFImageDecoder::haveDecodedRow): Use size() instead of m_size, eliminate unneeded whitespace, change variable name.
6229        (WebCore::GIFImageDecoder::frameComplete): Use size() instead of m_size, no {} on single-line conditional arms, fix boolean wrapping.
6230        * platform/image-decoders/gif/GIFImageDecoder.h: Fix header guards, "{" wrapping.
6231        * platform/image-decoders/gif/GIFImageReader.cpp: Remove unneeded #ifdef.
6232        (GIFImageReader::read):
6233        * platform/image-decoders/gif/GIFImageReader.h: Fix header guards, change variable type.
6234        * platform/image-decoders/ico/ICOImageDecoder.cpp: Remove unneeded #ifdef.
6235        * platform/image-decoders/ico/ICOImageDecoder.h: Fix header guards, "{" wrapping.
6236        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove unneeded #ifdef, macro magic, silencing of warning.
6237        (WebCore::JPEGImageDecoder::outputScanlines): Use size() instead of m_size, change variable name.
6238        * platform/image-decoders/jpeg/JPEGImageDecoder.h: Fix header guards, "{" wrapping.
6239        * platform/image-decoders/png/PNGImageDecoder.cpp: Remove unneeded #ifdef, silencing of warning, change variable type.
6240        (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
6241        (WebCore::PNGImageReader::close): Add comment, zero another member for consistency.
6242        (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
6243        (WebCore::PNGImageDecoder::decodingFailed): Define in .cpp, not .h.
6244        (WebCore::PNGImageDecoder::rowAvailable):
6245        * platform/image-decoders/png/PNGImageDecoder.h: Fix header guards, "{" wrapping.
6246        * platform/image-decoders/skia/GIFImageDecoder.cpp:
6247        (WebCore::GIFImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
6248        (WebCore::GIFImageDecoder::frameBufferAtIndex): Fix whitespace around operators.
6249        * platform/image-decoders/skia/GIFImageReader.h: "unsigned" is sufficient to convey "unsigned int".
6250        * platform/image-decoders/skia/ImageDecoder.h: Remove unnecessary #includes.
6251        (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
6252        * platform/image-decoders/skia/JPEGImageDecoder.cpp:
6253        (WebCore::JPEGImageReader::JPEGImageReader): Use 0 instead of NULL.
6254        (WebCore::JPEGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
6255        * platform/image-decoders/skia/PNGImageDecoder.cpp:
6256        (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
6257        (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
6258        (WebCore::PNGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
6259        (WebCore::rowAvailable):
6260        * platform/image-decoders/skia/XBMImageDecoder.h: Don't #include config.h.
6261        * platform/image-decoders/xbm/XBMImageDecoder.cpp: Remove unneeded #ifdef.
6262        * platform/image-decoders/xbm/XBMImageDecoder.h: Fix header guards, "{" wrapping.
6263
62642009-05-26  Jian Li  <jianli@chromium.org>
6265
6266        Reviewed by Dimitri Glazkov.
6267
6268        https://bugs.webkit.org/show_bug.cgi?id=25944
6269        Remove the uses of V8 Locker in worker execution code. No additional test is needed.
6270        The normal WebKit layout tests should cover it. However, layout tests that start
6271        multiple workers will fail to pass due to test shell limitation in Chromium. To cover
6272        this, UI tests will be added (http://code.google.com/p/chromium/issues/detail?id=12554).
6273
6274        * bindings/v8/V8WorkerContextEventListener.cpp:
6275        (WebCore::V8WorkerContextEventListener::handleEvent):
6276        * bindings/v8/WorkerContextExecutionProxy.cpp:
6277        (WebCore::WorkerContextExecutionProxy::dispose):
6278        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
6279        (WebCore::WorkerContextExecutionProxy::evaluate):
6280        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
6281        (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
6282
62832009-05-26  Dmitry Titov  <dimich@chromium.org>
6284
6285        Reviewed by Dimitri Glazkov.
6286
6287        https://bugs.webkit.org/show_bug.cgi?id=25974
6288        Enable timers in Chromuim workers.
6289
6290        * bindings/v8/ScheduledAction.cpp:
6291        (WebCore::ScheduledAction::execute): Added function which can execute a callback using WorkerContext.
6292        * bindings/v8/ScheduledAction.h:
6293        (WebCore::ScheduledAction::ScheduledAction): added url parameter to capture the worker's location.
6294        * bindings/v8/custom/V8WorkerContextCustom.cpp:
6295        (WebCore::SetTimeoutOrInterval): replaced NotImplemented with code to create ScheduledAction and DOMTimer.
6296        Also, removed declarations for clearTimeout/clearInterval callbacks since they are now directly generated from IDL.
6297
62982009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
6299
6300        Unreviewed, build fix.
6301
6302        https://bugs.webkit.org/show_bug.cgi?id=23649
6303        Update V8 bindings to match SQLTransactionErrorCallback change.
6304
6305        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
6306        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): Changed to return void.
6307        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Ditto.
6308
63092009-05-26  Dirk Schulze  <krit@webkit.org>
6310
6311        Reviewed by Nikolas Zimmermann.
6312
6313        Move FilterEffect to platform/graphics/filters. First step to get an
6314        SVG independent filter system.
6315
6316        * GNUmakefile.am:
6317        * WebCore.pro:
6318        * WebCore.xcodeproj/project.pbxproj:
6319        * platform/graphics/filters/FilterEffect.cpp: Added.
6320        (WebCore::FilterEffect::FilterEffect):
6321        (WebCore::FilterEffect::~FilterEffect):
6322        (WebCore::FilterEffect::externalRepresentation):
6323        * platform/graphics/filters/FilterEffect.h: Added.
6324        (WebCore::FilterEffect::xBoundingBoxMode):
6325        (WebCore::FilterEffect::setXBoundingBoxMode):
6326        (WebCore::FilterEffect::yBoundingBoxMode):
6327        (WebCore::FilterEffect::setYBoundingBoxMode):
6328        (WebCore::FilterEffect::widthBoundingBoxMode):
6329        (WebCore::FilterEffect::setWidthBoundingBoxMode):
6330        (WebCore::FilterEffect::heightBoundingBoxMode):
6331        (WebCore::FilterEffect::setHeightBoundingBoxMode):
6332        (WebCore::FilterEffect::subRegion):
6333        (WebCore::FilterEffect::setSubRegion):
6334        (WebCore::FilterEffect::resultImage):
6335        (WebCore::FilterEffect::setEffectBuffer):
6336        * svg/FilterEffect.cpp: Removed.
6337        * svg/FilterEffect.h: Removed.
6338
63392009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
6340
6341        Reviewed by Maciej Stachowiak.
6342
6343        https://bugs.webkit.org/show_bug.cgi?id=23649
6344        Update SQLTransactionErrorCallback to not return a value per changes in
6345        HTML5 spec.
6346
6347        Test: storage/transaction-error-callback.html
6348
6349        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
6350        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
6351        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
6352        * storage/SQLTransaction.cpp:
6353        (WebCore::SQLTransaction::SQLTransaction):
6354        (WebCore::SQLTransaction::postflightAndCommit):
6355        (WebCore::SQLTransaction::handleTransactionError):
6356        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
6357        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
6358        * storage/SQLTransaction.h:
6359        * storage/SQLTransactionErrorCallback.h:
6360
63612009-05-26  David Hyatt  <hyatt@apple.com>
6362
6363        Reviewed by Darin Adler.
6364
6365        Fix for https://bugs.webkit.org/show_bug.cgi?id=25969
6366
6367        Detect the case where we can fit without scrollbars when the view shrinks, so that we don't mistakenly
6368        continue to show scrollbars.
6369
6370        Added two tests in fast/dynamic.
6371
6372        * platform/ScrollView.cpp:
6373        (WebCore::ScrollView::updateScrollbars):
6374
63752009-05-26  Chris Fleizach  <cfleizach@apple.com>
6376
6377        Reviewed by Mark Rowe.
6378
6379        Bug 25801: change AccessibilityAria -> AccessibilityARIA
6380        https://bugs.webkit.org/show_bug.cgi?id=25801
6381
6382        * GNUmakefile.am:
6383        * WebCore.order:
6384        * WebCore.pro:
6385        * WebCore.vcproj/WebCore.vcproj:
6386        * WebCore.xcodeproj/project.pbxproj:
6387        * WebCoreSources.bkl:
6388        * accessibility/AXObjectCache.cpp:
6389        (WebCore::AXObjectCache::getOrCreate):
6390        * accessibility/AccessibilityARIAGrid.cpp: Copied from WebCore/accessibility/AccessibilityAriaGrid.cpp.
6391        (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
6392        (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
6393        (WebCore::AccessibilityARIAGrid::create):
6394        (WebCore::AccessibilityARIAGrid::addChild):
6395        (WebCore::AccessibilityARIAGrid::addChildren):
6396        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
6397        * accessibility/AccessibilityARIAGrid.h: Copied from WebCore/accessibility/AccessibilityAriaGrid.h.
6398        * accessibility/AccessibilityARIAGridCell.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridCell.cpp.
6399        (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
6400        (WebCore::AccessibilityARIAGridCell::~AccessibilityARIAGridCell):
6401        (WebCore::AccessibilityARIAGridCell::create):
6402        (WebCore::AccessibilityARIAGridCell::parentTable):
6403        (WebCore::AccessibilityARIAGridCell::rowIndexRange):
6404        (WebCore::AccessibilityARIAGridCell::columnIndexRange):
6405        * accessibility/AccessibilityARIAGridCell.h: Copied from WebCore/accessibility/AccessibilityAriaGridCell.h.
6406        * accessibility/AccessibilityARIAGridRow.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridRow.cpp.
6407        (WebCore::AccessibilityARIAGridRow::AccessibilityARIAGridRow):
6408        (WebCore::AccessibilityARIAGridRow::~AccessibilityARIAGridRow):
6409        (WebCore::AccessibilityARIAGridRow::create):
6410        (WebCore::AccessibilityARIAGridRow::parentTable):
6411        (WebCore::AccessibilityARIAGridRow::headerObject):
6412        * accessibility/AccessibilityARIAGridRow.h: Copied from WebCore/accessibility/AccessibilityAriaGridRow.h.
6413        * accessibility/AccessibilityAriaGrid.cpp: Removed.
6414        * accessibility/AccessibilityAriaGrid.h: Removed.
6415        * accessibility/AccessibilityAriaGridCell.cpp: Removed.
6416        * accessibility/AccessibilityAriaGridCell.h: Removed.
6417        * accessibility/AccessibilityAriaGridRow.cpp: Removed.
6418        * accessibility/AccessibilityAriaGridRow.h: Removed.
6419
64202009-05-26  Stephen White  <senorblanco@chromium.org>
6421
6422        Reviewed by Dimitri Glazkov.
6423
6424        https://bugs.webkit.org/show_bug.cgi?id=26012
6425
6426        Fix the Skia path to normalize the given source rect when
6427        drawing patterns, so it accepts negative width/height (as CG does).
6428        Fixes Chromium bug http://www.crbug.com/6167.
6429        * platform/graphics/skia/ImageSkia.cpp:
6430        (WebCore::Image::drawPattern):
6431
64322009-05-26  Pavel Feldman  <pfeldman@chromium.org>
6433
6434        Reviewed by Timothy Hatcher.
6435
6436        Serialize calls to WebInspector. This is the first step where method 
6437        calls are being serialized to arrays (not yet JSON stringified ones) and 
6438        are being dispatched on the client. This change also allows client to override 
6439        InspectorFrontend, so that the serialized calls can be made on a given object
6440        instead of in-process WebInspector global. This will be the main control flow
6441        when InspectorController is decoupled from the in-process frontend.
6442
6443        https://bugs.webkit.org/show_bug.cgi?id=26010
6444
6445        * inspector/InspectorController.cpp:
6446        (WebCore::InspectorController::scriptObjectReady):
6447        (WebCore::InspectorController::overrideFrontendObject):
6448        (WebCore::InspectorController::show):
6449        (WebCore::InspectorController::populateScriptObjects):
6450        * inspector/InspectorController.h:
6451        * inspector/InspectorFrontend.cpp:
6452        (WebCore::InspectorFrontend::addMessageToConsole):
6453        (WebCore::InspectorFrontend::addResource):
6454        (WebCore::InspectorFrontend::updateResource):
6455        (WebCore::InspectorFrontend::removeResource):
6456        (WebCore::InspectorFrontend::updateFocusedNode):
6457        (WebCore::InspectorFrontend::setAttachedWindow):
6458        (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
6459        (WebCore::InspectorFrontend::showPanel):
6460        (WebCore::InspectorFrontend::populateInterface):
6461        (WebCore::InspectorFrontend::reset):
6462        (WebCore::InspectorFrontend::debuggerWasEnabled):
6463        (WebCore::InspectorFrontend::debuggerWasDisabled):
6464        (WebCore::InspectorFrontend::profilerWasEnabled):
6465        (WebCore::InspectorFrontend::profilerWasDisabled):
6466        (WebCore::InspectorFrontend::parsedScriptSource):
6467        (WebCore::InspectorFrontend::failedToParseScriptSource):
6468        (WebCore::InspectorFrontend::addProfile):
6469        (WebCore::InspectorFrontend::setRecordingProfile):
6470        (WebCore::InspectorFrontend::pausedScript):
6471        (WebCore::InspectorFrontend::resumedScript):
6472        (WebCore::InspectorFrontend::addDatabase):
6473        (WebCore::InspectorFrontend::addDOMStorage):
6474        (WebCore::InspectorFrontend::newFunctionCall):
6475        (WebCore::InspectorFrontend::callSimpleFunction):
6476        * inspector/InspectorFrontend.h:
6477        * inspector/front-end/inspector.js:
6478        (WebInspector.dispatch):
6479
64802009-05-25  Alexey Proskuryakov  <ap@webkit.org>
6481
6482        Reviewed by Darin Adler.
6483
6484        <rdar://problem/6918671> REGRESSION (r41700): Crashes in debug DumpRenderTree at RefCountedBase::ref().
6485
6486        * dom/QualifiedName.cpp: (WebCore::QualifiedName::QualifiedName):
6487        * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
6488        Adjust empty namespace before QNameComponentsTranslator black magic, not after.
6489
64902009-05-25  David Levin  <levin@chromium.org>
6491
6492        Reviewed by Maciej Stachowiak and Oliver Hunt.
6493
6494        Added forwarding headers.
6495
6496        * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
6497        * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
6498
64992009-05-25  Anders Carlsson  <andersca@apple.com>
6500
6501        Reviewed by Sam Weinig.
6502
6503        - WebCore side of <rdar://problem/6914001>.
6504
6505        Add a new m_allowPopupsFromPlugin flag.
6506        
6507        * bindings/js/ScriptController.cpp:
6508        (WebCore::ScriptController::ScriptController):
6509        (WebCore::ScriptController::processingUserGesture):
6510        * bindings/js/ScriptController.h:
6511        (WebCore::ScriptController::setAllowPopupsFromPlugin):
6512        (WebCore::ScriptController::allowPopupsFromPlugin):
6513
65142009-05-25  Adam Barth  <abarth@webkit.org>
6515
6516        Reviewed by Sam Weinig.
6517
6518        https://bugs.webkit.org/show_bug.cgi?id=26006
6519
6520        Sort out our use of dynamicGlobalObject and lexicalGlobalObject for
6521        window.location.  The correct use appears to be as follows:
6522
6523        1) Use dynamicGlobalObject to find the user gesture.
6524        2) Use dynamicGlobalObject to complete URLs.
6525        3) Use lexicalGlobalObject to find the referrer.
6526        4) Use lexicalGlobalObject for the frame navigation checks.
6527        5) Use lexicalGlobalObject for the XSS checks.
6528
6529        Tests: http/tests/security/frameNavigation/context-for-location-assign.html
6530               http/tests/security/frameNavigation/context-for-location-href.html
6531               http/tests/security/frameNavigation/context-for-location.html
6532
6533        * bindings/js/JSDOMBinding.cpp:
6534        (WebCore::shouldAllowNavigation):
6535        (WebCore::toLexicalFrame):
6536        (WebCore::processingUserGesture):
6537        (WebCore::completeURL):
6538        * bindings/js/JSDOMBinding.h:
6539        * bindings/js/JSDOMWindowCustom.cpp:
6540        (WebCore::JSDOMWindow::setLocation):
6541        * bindings/js/JSLocationCustom.cpp:
6542        (WebCore::navigateIfAllowed):
6543        (WebCore::JSLocation::setHref):
6544        (WebCore::JSLocation::replace):
6545        (WebCore::JSLocation::reload):
6546        (WebCore::JSLocation::assign):
6547        (WebCore::JSLocation::toString):
6548        (WebCore::JSLocationPrototype::customPut):
6549        * bindings/v8/V8Utilities.cpp:
6550        (WebCore::processingUserGesture):
6551        (WebCore::shouldAllowNavigation):
6552        (WebCore::completeURL):
6553        (WebCore::navigateIfAllowed):
6554        * bindings/v8/V8Utilities.h:
6555        * bindings/v8/custom/V8DOMWindowCustom.cpp:
6556        (WebCore::V8Custom::WindowSetLocation):
6557        * bindings/v8/custom/V8LocationCustom.cpp:
6558        (WebCore::ACCESSOR_SETTER):
6559        (WebCore::CALLBACK_FUNC_DECL):
6560
65612009-05-25  Fridrich Strba  <fridrich.strba@bluewin.ch>
6562
6563        Reviewed by Maciej Stachowiak.
6564
6565        With Windows compilers older then MSVC 2005, the functions
6566        gmtime_s and localtime_s don't exist. The gmtime and localtime are
6567        on Windows always thread safe. So use them in the cases where
6568        gmtime_s and localtime_s are not present.
6569
6570        * loader/FTPDirectoryDocument.cpp:
6571        * loader/FTPDirectoryParser.cpp:
6572
65732009-05-25  Holger Hans Peter Freyther  <zecke@selfish.org>
6574
6575        Reviewed by Simon Hausmann.
6576
6577        Follow up on r44120. PluginPackageMac.cpp is used
6578        by Qt on Mac and contained a copy of the m_browserFunc
6579        assignments and ::equal, ::hash and ::compareFileVersion.
6580        Change it to use the ones from PluginPackage.cpp as well.
6581
6582        * plugins/mac/PluginPackageMac.cpp:
6583        (WebCore::PluginPackage::load):
6584
65852009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
6586
6587        Reviewed by Tor Arne Vestbø.
6588
6589        https://bugs.webkit.org/show_bug.cgi?id=25612
6590
6591        Support conditionals in the tag factories, by placing
6592        feature #ifdefs around the individual factory functions
6593        and the registration.
6594
6595        Made the Audio and Video elements conditional in the tag factories
6596
6597        * html/HTMLTagNames.in:
6598        * dom/make_names.pl:
6599
66002009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
6601
6602        Fix the Gtk build when video is disabled.
6603
6604        * GNUmakefile.am: Always generate and compile the IDL files for the media
6605        elements. They contain proper feature #ifdefs.
6606
66072009-05-25  Simon Hausmann  <simon.hausmann@nokia.com>
6608
6609        Fix the Qt build when video is disabled.
6610
6611        * WebCore.pro: Always generate the IDL files for the media elements. They
6612        contain proper ENABLE(VIDEO) #ifdefs.
6613
66142009-05-25  Adam Barth  <abarth@webkit.org>
6615
6616        Reviewed by Maciej Stachowiak.
6617
6618        https://bugs.webkit.org/show_bug.cgi?id=26004
6619
6620        The origin for postMessage should follow lexical scope, not dynamic
6621        scope.  Yes, this is a super-obscure corner case.
6622
6623        Test: http/tests/security/postMessage/origin-follows-lexical-scope.html
6624
6625        * bindings/js/JSDOMWindowCustom.cpp:
6626        (WebCore::JSDOMWindow::postMessage):
6627        * bindings/v8/custom/V8DOMWindowCustom.cpp:
6628        (WebCore::CALLBACK_FUNC_DECL):
6629
66302009-05-24  Darin Fisher  <darin@chromium.org>
6631
6632        Reviewed by Mark Rowe.
6633
6634        Fix build bustage related to PassOwnPtr changes.
6635
6636        https://bugs.webkit.org/show_bug.cgi?id=25999
6637
6638        * platform/graphics/chromium/TransparencyWin.cpp:
6639
66402009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
6641
6642        Reviewed by Maciej Stachowiak.
6643
6644        https://bugs.webkit.org/show_bug.cgi?id=25988
6645
6646        Minor cleanup in PluginPackage::hash. Let the compiler
6647        figure out the size of the array. Do not have it in the
6648        definition and specially not the in the call to
6649        StringImpl::hash.
6650
6651        * plugins/PluginPackage.cpp:
6652        (WebCore::PluginPackage::hash):
6653
66542009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
6655
6656        Reviewed by Maciej Stachowiak.
6657
6658        https://bugs.webkit.org/show_bug.cgi?id=25988
6659
6660        Move ::hash, ::equal and ::compareFileVersion from
6661        the duplicated copies in PluginPackageQt.cpp and
6662        PluginPackageGtk to PluginPackage.cpp. We need to #ifdef
6663        this for the PluginPackageWin version. Use the new style
6664        ENABLE() for this feature/policy and enable it in the Gtk+
6665        and Qt buildsystem.
6666
6667        * GNUmakefile.am:
6668        * WebCore.pro:
6669        * plugins/PluginPackage.cpp:
6670        (WebCore::PluginPackage::hash):
6671        (WebCore::PluginPackage::equal):
6672        (WebCore::PluginPackage::compareFileVersion):
6673        * plugins/gtk/PluginPackageGtk.cpp:
6674        * plugins/qt/PluginPackageQt.cpp:
6675
66762009-05-24  Holger Hans Peter Freyther  <zecke@selfish.org>
6677
6678        Reviewed by Maciej Stachowiak.
6679
6680        https://bugs.webkit.org/show_bug.cgi?id=25988
6681
6682        So far the initialization of the browserfuncs struct
6683        is done in PluginPackageQt, PluginPackageGtk and
6684        PluginPackageWin there is no need for this duplication.
6685
6686        The PluginPackageWin version got copied to PluginPackage
6687
6688        * plugins/PluginPackage.cpp:
6689        (WebCore::PluginPackage::initializeBrowserFuncs):
6690        * plugins/PluginPackage.h:
6691        * plugins/gtk/PluginPackageGtk.cpp:
6692        (WebCore::PluginPackage::load):
6693        * plugins/qt/PluginPackageQt.cpp:
6694        (WebCore::PluginPackage::load):
6695        * plugins/win/PluginPackageWin.cpp:
6696        (WebCore::PluginPackage::load):
6697
66982009-05-24  Dirk Schulze  <krit@webkit.org>
6699
6700        Reviewed by Nikolas Zimmermann.
6701
6702        WebKit needs cross-platform filter system
6703        [https://bugs.webkit.org/show_bug.cgi?id=19991]
6704
6705        Added standard input for filter system.
6706
6707        No testcases were added. Filter system is still off.
6708
6709        * GNUmakefile.am:
6710        * WebCore.pro:
6711        * WebCore.xcodeproj/project.pbxproj:
6712        * platform/graphics/filters/SourceAlpha.cpp: Added.
6713        (WebCore::SourceAlpha::create):
6714        (WebCore::SourceAlpha::effectName):
6715        (WebCore::SourceAlpha::apply):
6716        (WebCore::SourceAlpha::dump):
6717        * platform/graphics/filters/SourceAlpha.h: Added.
6718        (WebCore::SourceAlpha::SourceAlpha):
6719        * platform/graphics/filters/SourceGraphic.cpp: Added.
6720        (WebCore::SourceGraphic::create):
6721        (WebCore::SourceGraphic::effectName):
6722        (WebCore::SourceGraphic::apply):
6723        (WebCore::SourceGraphic::dump):
6724        * platform/graphics/filters/SourceGraphic.h: Added.
6725        (WebCore::SourceGraphic::SourceGraphic):
6726        * svg/FilterBuilder.cpp: Added.
6727        (WebCore::FilterBuilder::FilterBuilder):
6728        (WebCore::FilterBuilder::add):
6729        (WebCore::FilterBuilder::getEffectById):
6730        (WebCore::FilterBuilder::clearEffects):
6731        * svg/FilterBuilder.h:
6732
67332009-05-24  Simon Hausmann  <simon.hausmann@nokia.com>
6734
6735        Reviewed by Maciej Stachowiak.
6736
6737        https://bugs.webkit.org/show_bug.cgi?id=25612
6738
6739        Add support conditionals in the JSC bindings generator code for attributes,
6740        by placing feature #ifdefs around the setters/getters.
6741
6742        Made the audio and video element specific DOM attributes conditional
6743        in the generated code, by moving the #ifdefs from the IDL files into
6744        the generated code. This allows for re-using the same generated code
6745        with or without ENABLE(VIDEO).
6746
6747        * page/DOMWindow.idl:
6748        * bindings/scripts/CodeGeneratorJS.pm:
6749
67502009-05-23  Holger Hans Peter Freyther  <zecke@selfish.org>
6751
6752        Unreviewed build fix for Qt. Change signature to have PassOwnPtr.
6753
6754        * platform/text/qt/TextCodecQt.cpp:
6755        (WebCore::newTextCodecQt):
6756
67572009-05-23  Dan Bernstein  <mitz@apple.com>
6758
6759        Reviewed by Darin Adler.
6760
6761        - clean up ColorMac a little
6762
6763        * platform/graphics/mac/ColorMac.h: Whitespace change.
6764        * platform/graphics/mac/ColorMac.mm: Removed redundant #import
6765        statements and sorted the remaining ones.
6766        (WebCore::makeRGBAFromNSColor): Replaced four Objective-C method calls
6767        with a single call and removed redundant casts to int.
6768        (WebCore::nsColor): Removed ".0f" from number literals used as CGFloats.
6769        In one case, this avoids an intermediate conversion to float before
6770        conversion to double on 64-bit.
6771        (WebCore::CGColorFromNSColor): Replaced four Objective-C method calls
6772        with a single call.
6773        (WebCore::focusRingColor):
6774        (+[WebCoreControlTintObserver controlTintDidChange]): Whitespace change.
6775
67762009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
6777
6778        Reviewed by Xan Lopez.
6779
6780        [Gtk] ROLE_ROW_HEADER should not be used for list item bullets/numbers
6781        https://bugs.webkit.org/show_bug.cgi?id=25900
6782
6783        Use ATK_ROLE_TEXT for ListMarkerRole.
6784
6785        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6786        (atkRole):
6787
67882009-05-23  David Kilzer  <ddkilzer@apple.com>
6789
6790        Reformat WebCore::requiresContextForWordBoundary()
6791
6792        * platform/text/TextBoundaries.h:
6793        (WebCore::requiresContextForWordBoundary):
6794
67952009-05-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6796
6797        Not reviewed. Roll out ResourceHandle patch, that I accidently included in my last commit.
6798
6799        * platform/network/ResourceHandle.cpp:
6800        (WebCore::ResourceHandle::shouldContentSniffURL):
6801
68022009-05-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6803
6804        Reviewed by Darin Adler.
6805
6806        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23808
6807
6808        After a long journey, add the last missing ABC to share form control element support with HTMLSelectElement.
6809        RenderListBox/RenderMenuList operates on SelectElement instead of HTMLSelectElement now, querying selected index etc.
6810        This makes it possible to use these render objects for ie. WML, as it's done before for input & option elements.
6811
6812        WMLSelectElement will be created soon, in a follow-up patch, adding more methods to SelectElement, sharing code between
6813        HTMLSelectElement/WMLSelectElement.
6814
6815        * GNUmakefile.am:
6816        * WebCore.pro:
6817        * WebCore.vcproj/WebCore.vcproj:
6818        * WebCore.xcodeproj/project.pbxproj:
6819        * WebCoreSources.bkl:
6820        * accessibility/AccessibilityListBox.cpp:
6821        (WebCore::AccessibilityListBox::addChildren):
6822        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
6823        * accessibility/AccessibilityListBoxOption.cpp:
6824        (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
6825        * accessibility/AccessibilityRenderObject.cpp:
6826        (WebCore::AccessibilityRenderObject::actionElement):
6827        * dom/Element.h:
6828        (WebCore::Element::isFormControlElement):
6829        (WebCore::Element::dispatchFormControlChangeEvent):
6830        * dom/SelectElement.cpp: Added.
6831        (WebCore::toSelectElement):
6832        * dom/SelectElement.h: Added.
6833        (WebCore::SelectElement::~SelectElement):
6834        * html/HTMLFormControlElement.cpp:
6835        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
6836        * html/HTMLFormControlElement.h:
6837        * html/HTMLInputElement.cpp:
6838        (WebCore::HTMLInputElement::setChecked):
6839        (WebCore::HTMLInputElement::defaultEventHandler):
6840        * html/HTMLOptionElement.cpp:
6841        (WebCore::HTMLOptionElement::index):
6842        * html/HTMLSelectElement.cpp:
6843        (WebCore::HTMLSelectElement::selectedIndex):
6844        (WebCore::HTMLSelectElement::lastSelectedListIndex):
6845        (WebCore::HTMLSelectElement::deselectItems):
6846        (WebCore::HTMLSelectElement::setSelectedIndex):
6847        (WebCore::HTMLSelectElement::length):
6848        (WebCore::HTMLSelectElement::remove):
6849        (WebCore::HTMLSelectElement::value):
6850        (WebCore::HTMLSelectElement::setValue):
6851        (WebCore::HTMLSelectElement::saveFormControlState):
6852        (WebCore::HTMLSelectElement::restoreFormControlState):
6853        (WebCore::HTMLSelectElement::selectAll):
6854        (WebCore::HTMLSelectElement::appendFormData):
6855        (WebCore::HTMLSelectElement::optionToListIndex):
6856        (WebCore::HTMLSelectElement::listToOptionIndex):
6857        (WebCore::HTMLSelectElement::recalcListItems):
6858        (WebCore::HTMLSelectElement::reset):
6859        (WebCore::HTMLSelectElement::dispatchFocusEvent):
6860        (WebCore::HTMLSelectElement::dispatchBlurEvent):
6861        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
6862        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
6863        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
6864        (WebCore::HTMLSelectElement::updateListBoxSelection):
6865        (WebCore::HTMLSelectElement::menuListOnChange):
6866        (WebCore::HTMLSelectElement::listBoxOnChange):
6867        (WebCore::HTMLSelectElement::saveLastSelection):
6868        (WebCore::HTMLSelectElement::typeAheadFind):
6869        (WebCore::HTMLSelectElement::nextSelectableListIndex):
6870        (WebCore::HTMLSelectElement::previousSelectableListIndex):
6871        (WebCore::HTMLSelectElement::setLength):
6872        (WebCore::HTMLSelectElement::checkListItems):
6873        * html/HTMLSelectElement.h:
6874        (WebCore::HTMLSelectElement::size):
6875        (WebCore::HTMLSelectElement::multiple):
6876        (WebCore::HTMLSelectElement::listItems):
6877        (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
6878        * platform/network/ResourceHandle.cpp:
6879        (WebCore::ResourceHandle::shouldContentSniffURL):
6880        * rendering/RenderFileUploadControl.cpp:
6881        (WebCore::RenderFileUploadControl::valueChanged):
6882        * rendering/RenderListBox.cpp:
6883        (WebCore::RenderListBox::RenderListBox):
6884        (WebCore::RenderListBox::updateFromElement):
6885        (WebCore::RenderListBox::scrollToRevealSelection):
6886        (WebCore::RenderListBox::size):
6887        (WebCore::RenderListBox::numItems):
6888        (WebCore::RenderListBox::paintItemForeground):
6889        (WebCore::RenderListBox::paintItemBackground):
6890        (WebCore::RenderListBox::panScroll):
6891        (WebCore::RenderListBox::autoscroll):
6892        (WebCore::RenderListBox::stopAutoscroll):
6893        (WebCore::RenderListBox::valueChanged):
6894        (WebCore::RenderListBox::nodeAtPoint):
6895        * rendering/RenderListBox.h:
6896        * rendering/RenderMenuList.cpp:
6897        (WebCore::RenderMenuList::RenderMenuList):
6898        (WebCore::RenderMenuList::updateOptionsWidth):
6899        (WebCore::RenderMenuList::updateFromElement):
6900        (WebCore::RenderMenuList::setTextFromOption):
6901        (WebCore::RenderMenuList::showPopup):
6902        (WebCore::RenderMenuList::valueChanged):
6903        (WebCore::RenderMenuList::itemText):
6904        (WebCore::RenderMenuList::itemIsEnabled):
6905        (WebCore::RenderMenuList::itemStyle):
6906        (WebCore::RenderMenuList::itemBackgroundColor):
6907        (WebCore::RenderMenuList::listSize):
6908        (WebCore::RenderMenuList::selectedIndex):
6909        (WebCore::RenderMenuList::itemIsSeparator):
6910        (WebCore::RenderMenuList::itemIsLabel):
6911        (WebCore::RenderMenuList::itemIsSelected):
6912        (WebCore::RenderMenuList::setTextFromItem):
6913        * rendering/RenderMenuList.h:
6914        * rendering/RenderSlider.cpp:
6915        (WebCore::RenderSlider::setValueForPosition):
6916
69172009-05-23  David Kilzer  <ddkilzer@apple.com>
6918
6919        Fix Gtk/Qt builds for PassOwnPtr
6920
6921        * platform/graphics/cairo/ImageCairo.cpp:
6922        (WebCore::Image::drawPattern): Use an OwnPtr<ImageBuffer>
6923        instead of an std::auto_ptr<ImageBuffer> to store the result of
6924        ImageBuffer::create() now that it returns a
6925        PassOwnPtr<ImageBuffer>.
6926        * platform/graphics/qt/PathQt.cpp:
6927        (WebCore::Path::strokeContains): Ditto.
6928        (WebCore::Path::strokeBoundingRect): Ditto.
6929
69302009-05-23  David Kilzer  <ddkilzer@apple.com>
6931
6932        Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
6933
6934        <https://bugs.webkit.org/show_bug.cgi?id=25495>
6935
6936        Reviewed by Oliver Hunt.
6937
6938        No test cases added since there is no change in behavior.
6939
6940        * WebCore.base.exp: Updated export for
6941        HistoryItem::setRedirectURLs() which now takes a PassOwnPtr.
6942        * dom/Node.cpp:
6943        (WebCore::Node::childNodes): Use NodeListsNodeData::create()
6944        instead of new NodeListsNodeData.
6945        (WebCore::Node::registerDynamicNodeList): Ditto.
6946        (WebCore::Node::getElementsByTagNameNS): Ditto.
6947        (WebCore::Node::getElementsByName): Ditto.
6948        (WebCore::Node::getElementsByClassName): Ditto.
6949        * dom/NodeRareData.h:
6950        (WebCore::NodeListsNodeData::create): Added.  Implements
6951        create() pattern popularized by RefCounted classes.
6952        (WebCore::NodeListsNodeData::NodeListsNodeData): Declared
6953        private constructor.
6954        (WebCore::NodeRareData::setNodeLists): Now takes a PassOwnPtr<>
6955        instead of an auto_ptr<>.
6956        * history/HistoryItem.cpp:
6957        (WebCore::HistoryItem::setRedirectURLs): Ditto.
6958        * history/HistoryItem.h:
6959        (WebCore::HistoryItem::setRedirectURLs): Ditto.
6960        * html/CanvasRenderingContext2D.cpp:
6961        (WebCore::CanvasRenderingContext2D::drawTextInternal): Use
6962        OwnPtr<> instead of auto_ptr<> for stack variable.
6963        * html/HTMLCanvasElement.cpp:
6964        (WebCore::HTMLCanvasElement::createImageBuffer): Updated to use
6965        assignment operator now that ImageBuffer::create() returns a
6966        PassOwnPtr<>.
6967        * loader/EmptyClients.h:
6968        (WebCore::EmptyChromeClient::createHTMLParserQuirks): Return a
6969        PassOwnPtr<> instead of a raw HTMLParserQuirks pointer.
6970        * page/ChromeClient.h:
6971        (WebCore::ChromeClient::createHTMLParserQuirks): Ditto.
6972        * platform/graphics/GeneratedImage.cpp:
6973        (WebCore::GeneratedImage::drawPattern): Use OwnPtr<> instead of
6974        auto_ptr<> for stack variable.
6975        * platform/graphics/ImageBuffer.h:
6976        (WebCore::ImageBuffer::create): Return PassOwnPtr<> instead of
6977        auto_ptr<>.  Use OwnPtr<> instead of auto_ptr<> for stack
6978        variable.
6979        * platform/mac/ScrollbarThemeMac.mm:
6980        (WebCore::ScrollbarThemeMac::paint): Use OwnPtr<> instead of
6981        auto_ptr<> for stack variable.
6982        * platform/text/TextCodec.h:
6983        (WebCore::NewTextCodecFunction): Return PassOwnPtr<> instead of
6984        auto_ptr<>.
6985        * platform/text/TextCodecICU.cpp:
6986        (WebCore::newTextCodecICU): Ditto.
6987        * platform/text/TextCodecLatin1.cpp:
6988        (WebCore::newStreamingTextDecoderWindowsLatin1): Ditto.
6989        * platform/text/TextCodecUTF16.cpp:
6990        (WebCore::newStreamingTextDecoderUTF16LE): Ditto.
6991        (WebCore::newStreamingTextDecoderUTF16BE): Ditto.
6992        * platform/text/TextCodecUserDefined.cpp:
6993        (WebCore::newStreamingTextDecoderUserDefined): Ditto.
6994        * platform/text/TextEncodingRegistry.cpp:
6995        (WebCore::newTextCodec): Ditto.
6996        * platform/text/TextEncodingRegistry.h:
6997        (WebCore::newTextCodec): Ditto.
6998        * platform/text/mac/TextCodecMac.cpp:
6999        (WebCore::newTextCodecMac): Ditto.
7000        * rendering/RenderBoxModelObject.cpp:
7001        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use
7002        OwnPtr<> instead of auto_ptr<> for stack variable.
7003        * svg/SVGMaskElement.cpp:
7004        (WebCore::SVGMaskElement::drawMaskerContent): Ditto.  Return
7005        OwnPtr<> instead of auto_ptr<>.
7006        * svg/SVGMaskElement.h:
7007        (WebCore::SVGMaskElement::drawMaskerContent): Return OwnPtr<>
7008        instead of auto_ptr<>.
7009        * svg/SVGPatternElement.cpp:
7010        (WebCore::SVGPatternElement::buildPattern): Use OwnPtr<> instead
7011        of auto_ptr<> for stack variable.
7012        * svg/graphics/SVGImage.cpp:
7013        (WebCore::SVGImage::nativeImageForCurrentFrame): Updated to use
7014        assignment operator now that ImageBuffer::create() returns a
7015        PassOwnPtr<>.
7016        * svg/graphics/SVGPaintServerGradient.cpp:
7017        (WebCore::createMaskAndSwapContextForTextGradient): Use OwnPtr<>
7018        instead of auto_ptr<> for stack variable.
7019        * svg/graphics/SVGPaintServerPattern.cpp:
7020        (WebCore::SVGPaintServerPattern::setTile): Updated to take a
7021        PassOwnPtr<> instead of an auto_ptr<>.
7022        (WebCore::SVGPaintServerPattern::setup): Use OwnPtr<> instead of
7023        auto_ptr<> for stack variable.
7024        * svg/graphics/SVGPaintServerPattern.h:
7025        (WebCore::SVGPaintServerPattern::setTile): Updated to take a
7026        PassOwnPtr<> instead of an auto_ptr<>.
7027        * svg/graphics/SVGResourceMasker.cpp:
7028        (WebCore::SVGResourceMasker::applyMask): Updated to use
7029        assignment operator now that SVGMaskElement::drawMaskerContent()
7030        returns a PassOwnPtr<>.  Use OwnPtr<> instead of auto_ptr<> for
7031        stack variable.
7032
70332009-05-23  David Kilzer  <ddkilzer@apple.com>
7034
7035        Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
7036
7037        <https://bugs.webkit.org/show_bug.cgi?id=25495>
7038
7039        Reviewed by Oliver Hunt.
7040
7041        * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
7042        * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
7043        * WebCore.vcproj/WebCore.vcproj: Added OwnPtrCommon.h and
7044        PassOwnPtr.h.
7045
70462009-05-23  David Kilzer  <ddkilzer@apple.com>
7047
7048        Fix Mac builds by backing out r44093
7049
7050        * bindings/js/JSCustomPositionCallback.cpp:
7051        * bindings/js/JSCustomPositionCallback.h:
7052        * bindings/js/JSCustomPositionErrorCallback.cpp:
7053        * bindings/js/JSCustomPositionErrorCallback.h:
7054        * bindings/js/JSGeolocationCustom.cpp:
7055        * page/Geolocation.cpp:
7056        * page/Geolocation.idl:
7057        * page/Geoposition.cpp:
7058        * page/Geoposition.h:
7059        * page/Geoposition.idl:
7060        * page/Navigator.cpp:
7061        (WebCore::Navigator::disconnectFrame):
7062        (WebCore::Navigator::geolocation):
7063        * page/PositionError.idl:
7064        * platform/GeolocationService.cpp:
7065        (WebCore::GeolocationService::create):
7066
70672009-05-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
7068
7069        Reviewed by Eric Seidel.
7070
7071        Add GEOLOCATION guards around Geolocation API code
7072        https://bugs.webkit.org/show_bug.cgi?id=25756
7073
7074        * bindings/js/JSCustomPositionCallback.cpp:
7075        * bindings/js/JSCustomPositionCallback.h:
7076        * bindings/js/JSCustomPositionErrorCallback.cpp:
7077        * bindings/js/JSCustomPositionErrorCallback.h:
7078        * bindings/js/JSGeolocationCustom.cpp:
7079        * page/Geolocation.cpp:
7080        * page/Geolocation.idl:
7081        * page/Geoposition.cpp:
7082        * page/Geoposition.h:
7083        * page/Geoposition.idl:
7084        * page/Navigator.cpp:
7085        (WebCore::Navigator::disconnectFrame):
7086        (WebCore::Navigator::geolocation):
7087        * page/PositionError.idl:
7088        * platform/GeolocationService.cpp:
7089
70902009-05-23  David Kilzer  <ddkilzer@apple.com>
7091
7092        Rename startupdateStyleIfNeededDispatcher to startUpdateStyleIfNeededDispatcher
7093
7094        In r42377, startUpdateRenderingDispatcher() was renamed to
7095        startupdateStyleIfNeededDispatcher(), but the camelCase "U" was
7096        dropped.  This change restores it.
7097
7098        * WebCore.order:
7099        * page/animation/AnimationController.cpp:
7100        (WebCore::AnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):
7101        (WebCore::AnimationControllerPrivate::addEventToDispatch):
7102        (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
7103        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
7104        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
7105        * page/animation/AnimationControllerPrivate.h:
7106
71072009-05-23  Holger Hans Peter Freyther  <zecke@selfish.org>
7108
7109        Unreviewed build-fix for Qt. Disable SVG Filters.
7110
7111        SVG Filters can not be built right now and Qt should not have
7112        them enabled anyway as they do not carry out any filtering.
7113
7114        * WebCore.pro:
7115
71162009-05-23  Dirk Schulze  <krit@webkit.org>
7117
7118        Unreviewed build-fix for gtk. Remove source input files
7119        for SVG filter system from the build for the moment and
7120        add them later again.
7121
7122        * GNUmakefile.am:
7123
71242009-05-23  Dirk Schulze  <krit@webkit.org>
7125
7126        Reviewed by Eric Seidel.
7127
7128        WebKit needs cross-platform filter system
7129        [https://bugs.webkit.org/show_bug.cgi?id=19991]
7130
7131        Preparing Filter primitves for the new filter system.
7132
7133        No testcases were added. SVG filters are off by default.
7134
7135        * GNUmakefile.am:
7136        * platform/graphics/filters/FEBlend.cpp:
7137        (WebCore::FEBlend::apply):
7138        * platform/graphics/filters/FEBlend.h:
7139        * platform/graphics/filters/FEColorMatrix.cpp:
7140        (WebCore::FEColorMatrix::apply):
7141        * platform/graphics/filters/FEColorMatrix.h:
7142        * platform/graphics/filters/FEComponentTransfer.cpp:
7143        (WebCore::FEComponentTransfer::apply):
7144        * platform/graphics/filters/FEComponentTransfer.h:
7145        * platform/graphics/filters/FEComposite.cpp:
7146        (WebCore::FEComposite::apply):
7147        * platform/graphics/filters/FEComposite.h:
7148        * svg/Filter.h:
7149        * svg/FilterBuilder.h:
7150        (WebCore::FilterBuilder::lastFilter):
7151        * svg/FilterEffect.cpp:
7152        (WebCore::FilterEffect::FilterEffect):
7153        * svg/FilterEffect.h:
7154        (WebCore::FilterEffect::xBoundingBoxMode):
7155        (WebCore::FilterEffect::setXBoundingBoxMode):
7156        (WebCore::FilterEffect::yBoundingBoxMode):
7157        (WebCore::FilterEffect::setYBoundingBoxMode):
7158        (WebCore::FilterEffect::widthBoundingBoxMode):
7159        (WebCore::FilterEffect::setWidthBoundingBoxMode):
7160        (WebCore::FilterEffect::heightBoundingBoxMode):
7161        (WebCore::FilterEffect::setHeightBoundingBoxMode):
7162        (WebCore::FilterEffect::subRegion):
7163        (WebCore::FilterEffect::setSubRegion):
7164        (WebCore::FilterEffect::resultImage):
7165        (WebCore::FilterEffect::setEffectBuffer):
7166        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
7167        (WebCore::FEConvolveMatrix::apply):
7168        * svg/graphics/filters/SVGFEConvolveMatrix.h:
7169        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
7170        (WebCore::FEDiffuseLighting::apply):
7171        * svg/graphics/filters/SVGFEDiffuseLighting.h:
7172        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
7173        (WebCore::FEDisplacementMap::apply):
7174        * svg/graphics/filters/SVGFEDisplacementMap.h:
7175        * svg/graphics/filters/SVGFEFlood.cpp:
7176        (WebCore::FEFlood::apply):
7177        * svg/graphics/filters/SVGFEFlood.h:
7178        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
7179        (WebCore::FEGaussianBlur::apply):
7180        * svg/graphics/filters/SVGFEGaussianBlur.h:
7181        * svg/graphics/filters/SVGFEImage.cpp:
7182        (WebCore::FEImage::apply):
7183        * svg/graphics/filters/SVGFEImage.h:
7184        * svg/graphics/filters/SVGFEMerge.cpp:
7185        (WebCore::FEMerge::apply):
7186        * svg/graphics/filters/SVGFEMerge.h:
7187        * svg/graphics/filters/SVGFEMorphology.cpp:
7188        (WebCore::FEMorphology::apply):
7189        * svg/graphics/filters/SVGFEMorphology.h:
7190        * svg/graphics/filters/SVGFEOffset.cpp:
7191        (WebCore::FEOffset::apply):
7192        * svg/graphics/filters/SVGFEOffset.h:
7193        * svg/graphics/filters/SVGFESpecularLighting.cpp:
7194        (WebCore::FESpecularLighting::apply):
7195        * svg/graphics/filters/SVGFESpecularLighting.h:
7196        * svg/graphics/filters/SVGFETile.cpp:
7197        (WebCore::FETile::apply):
7198        * svg/graphics/filters/SVGFETile.h:
7199        * svg/graphics/filters/SVGFETurbulence.cpp:
7200        (WebCore::FETurbulence::apply):
7201        * svg/graphics/filters/SVGFETurbulence.h:
7202
72032009-05-22  Dirk Schulze  <krit@webkit.org>
7204
7205        Unreviewed build-fix for gtk. Breakage caused by a wrong call of ImageBuffer.
7206
7207        * platform/graphics/cairo/ImageCairo.cpp:
7208        (WebCore::Image::drawPattern):
7209
72102009-05-22  Dirk Schulze  <vbs85@gmx.de>
7211
7212        Reviewed by Eric Seidel.
7213
7214        Added the use of tileRect() for a correct drawing of
7215        border-images.
7216
7217        Testcases for border-image are in fast/borders like
7218        border-image-01.html and will be activated for cairo, once
7219        gtk supports pixel tests.
7220
7221        https://bugs.webkit.org/show_bug.cgi?id=19652
7222        [CAIRO] wrong drawing of border-image
7223
7224        * platform/graphics/cairo/ImageCairo.cpp:
7225        (WebCore::Image::drawPattern):
7226
72272009-05-22  Holger Hans Peter Freyther  <zecke@selfish.org>
7228
7229        Reviewed by Maciej Stachowiak.
7230
7231        https://bugs.webkit.org/show_bug.cgi?id=25684
7232
7233        Ask the Scrollbar for the orientation.
7234
7235        Use Scrollbar::orientation to figure out the
7236        direction of scrolling.
7237
7238        * platform/ScrollView.cpp:
7239        (WebCore::ScrollView::valueChanged):
7240
72412009-05-22  Darin Adler  <darin@apple.com>
7242
7243        Reviewed by Dan Bernstein.
7244
7245        <rdar://problem/6916082> Incorrect handling of % as CSS value.
7246
7247        Test: fast/css/percent-character-as-value.html
7248
7249        * css/CSSGrammar.y: Make a stray % character reliably cause
7250        CSS parsing to succeed, but the CSS value to be ignored because
7251        of incorrect type. A type of 0 has this effect.
7252
72532009-05-22  Brent Fulgham  <bfulgham@webkit.org>
7254
7255        Reviewed by Adam Roben.
7256
7257        https://bugs.webkit.org/show_bug.cgi?id=25971
7258        Correct a handful of build errors in the Windows Cairo variant
7259        due to missing VIDEO support.
7260
7261        * WebCore.vcproj/WebCore.vcproj: Exclude RenderMediaControls for
7262          the Cairo-based Windows target.
7263        * rendering/RenderThemeWin.cpp: Avoid #include of RenderMediaControls
7264          for non-VIDEO builds.
7265
72662009-05-22  David Kilzer  <ddkilzer@apple.com>
7267
7268        One <limits> is enough
7269
7270        * html/HTMLMediaElement.cpp: Removed duplicate #include <limits>.
7271
72722009-05-22  Jon Honeycutt  <jhoneycutt@apple.com>
7273
7274        <rdar://problem/6915957> REGRESSION: Hang when leaving page with VLC
7275        plug-in
7276
7277        Reviewed by Steve Falkenburg.
7278
7279        * plugins/win/PluginPackageWin.cpp:
7280        (WebCore::PluginPackage::determineQuirks):
7281        Look for the VLC plug-in's new name.
7282
72832009-05-22  Adam Barth  <abarth@webkit.org>
7284
7285        Reviewed by Darin Fisher.
7286
7287        https://bugs.webkit.org/show_bug.cgi?id=25966
7288
7289        Remove redudant member from Chromium's ResourceRequest.  We already
7290        have this data in the cross-platform ResourceRequestBase.  Also, rename
7291        ChromiumBridge parameter to be consistant with the new name for this
7292        piece of data.
7293
7294        * platform/chromium/ChromiumBridge.h:
7295        * platform/network/chromium/ResourceRequest.h:
7296
72972009-05-22  Kevin Watters  <kevinwatters@gmail.com>
7298
7299        Reviewed by Kevin Ollivier.
7300
7301        Only account for overhang for multi-character strings.
7302        
7303        https://bugs.webkit.org/show_bug.cgi?id=25961
7304
7305        * platform/wx/wxcode/win/fontprops.cpp:
7306        (GetTextExtent):
7307
73082009-05-22  Kevin Ollivier  <kevino@theolliviers.com>
7309
7310        wx build fix. Switch to CURL cookies so we can benefit from API updates.
7311
7312        * platform/wx/TemporaryLinkStubs.cpp:
7313        * webcore-wx.bkl:
7314
73152009-05-22  Peter Kasting  <pkasting@google.com>
7316
7317        Reviewed by Darin Fisher.
7318
7319        https://bugs.webkit.org/show_bug.cgi?id=25709 part one
7320        Indent contents of namespaces in header files, to comply with the
7321        style guide.  No functional change.
7322
7323        * platform/image-decoders/ImageDecoder.h:
7324        (WebCore::RGBA32Buffer::):
7325        (WebCore::RGBA32Buffer::RGBA32Buffer):
7326        (WebCore::RGBA32Buffer::clear):
7327        (WebCore::RGBA32Buffer::bytes):
7328        (WebCore::RGBA32Buffer::rect):
7329        (WebCore::RGBA32Buffer::height):
7330        (WebCore::RGBA32Buffer::status):
7331        (WebCore::RGBA32Buffer::duration):
7332        (WebCore::RGBA32Buffer::disposalMethod):
7333        (WebCore::RGBA32Buffer::hasAlpha):
7334        (WebCore::RGBA32Buffer::setRect):
7335        (WebCore::RGBA32Buffer::ensureHeight):
7336        (WebCore::RGBA32Buffer::setStatus):
7337        (WebCore::RGBA32Buffer::setDuration):
7338        (WebCore::RGBA32Buffer::setDisposalMethod):
7339        (WebCore::RGBA32Buffer::setHasAlpha):
7340        (WebCore::RGBA32Buffer::setRGBA):
7341        (WebCore::ImageDecoder::m_failed):
7342        (WebCore::ImageDecoder::~ImageDecoder):
7343        (WebCore::ImageDecoder::setData):
7344        (WebCore::ImageDecoder::size):
7345        (WebCore::ImageDecoder::frameCount):
7346        (WebCore::ImageDecoder::repetitionCount):
7347        (WebCore::ImageDecoder::supportsAlpha):
7348        (WebCore::ImageDecoder::failed):
7349        (WebCore::ImageDecoder::setFailed):
7350        (WebCore::ImageDecoder::clearFrameBufferCache):
7351        * platform/image-decoders/bmp/BMPImageDecoder.h:
7352        (WebCore::BMPImageDecoder::filenameExtension):
7353        * platform/image-decoders/gif/GIFImageDecoder.h:
7354        (WebCore::GIFImageDecoder::filenameExtension):
7355        (WebCore::GIFImageDecoder::frameDurationAtIndex):
7356        (WebCore::GIFImageDecoder::):
7357        * platform/image-decoders/ico/ICOImageDecoder.h:
7358        (WebCore::ICOImageDecoder::filenameExtension):
7359        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
7360        (WebCore::JPEGImageDecoder::filenameExtension):
7361        (WebCore::JPEGImageDecoder::supportsAlpha):
7362        (WebCore::JPEGImageDecoder::reader):
7363        (WebCore::JPEGImageDecoder::setSize):
7364        * platform/image-decoders/png/PNGImageDecoder.h:
7365        (WebCore::PNGImageDecoder::filenameExtension):
7366        (WebCore::PNGImageDecoder::reader):
7367        (WebCore::PNGImageDecoder::decodingFailed):
7368        * platform/image-decoders/xbm/XBMImageDecoder.h:
7369        (WebCore::XBMImageDecoder::filenameExtension):
7370
73712009-05-22  Dominik Röttsches  <dominik.roettsches@access-company.com>
7372
7373        Reviewed by Gustavo Noronha.
7374
7375        https://bugs.webkit.org/show_bug.cgi?id=15914
7376        [GTK] Implement Unicode functionality using GLib
7377
7378        Minor changes that allow building a hybrid version of WebKit
7379        that has WTF Unicode backend based on GLib functions while
7380        text codecs and TextBreakIterator remain based on ICU.
7381
7382        Fixed some includes that were assuming a WTF ICU backend and
7383        introduced temporary usage of WTF_USE_GLIB_ICU_UNICODE_HYBRID
7384        macro.
7385
7386        * platform/ThreadGlobalData.cpp:
7387        (WebCore::ThreadGlobalData::ThreadGlobalData):
7388        (WebCore::ThreadGlobalData::~ThreadGlobalData):
7389        * platform/ThreadGlobalData.h:
7390        * platform/text/TextBoundariesICU.cpp:
7391        * platform/text/TextCodecICU.h:
7392        * platform/text/TextEncoding.cpp:
7393        (WebCore::TextEncoding::encode):
7394        * platform/text/TextEncodingRegistry.cpp:
7395        (WebCore::buildBaseTextCodecMaps):
7396        (WebCore::extendTextCodecMaps):
7397
73982009-05-22  Adam Barth  <abarth@webkit.org>
7399
7400        Reviewed by Maciej Stachowiak.
7401
7402        https://bugs.webkit.org/show_bug.cgi?id=25955
7403
7404        Remove the policyBaseURL parameter from setCookie.  This parameter is
7405        redundant with the document parameter.
7406
7407        * WebCore.base.exp:
7408        * WebCore.order:
7409        * dom/Document.cpp:
7410        (WebCore::Document::setCookie):
7411        * platform/CookieJar.h:
7412        * platform/mac/CookieJar.mm:
7413        (WebCore::setCookies):
7414        * platform/network/chromium/CookieJarChromium.cpp:
7415        (WebCore::setCookies):
7416        * platform/network/curl/CookieJarCurl.cpp:
7417        (WebCore::setCookies):
7418        * platform/network/soup/CookieJarSoup.cpp:
7419        (WebCore::setCookies):
7420        * platform/network/win/CookieJarCFNetWin.cpp:
7421        (WebCore::setCookies):
7422        * platform/network/win/CookieJarWin.cpp:
7423        (WebCore::setCookies):
7424        * platform/qt/CookieJarQt.cpp:
7425        (WebCore::setCookies):
7426
74272009-05-22  Adam Barth  <abarth@webkit.org>
7428
7429        Reviewed by Maciej Stachowiak.
7430
7431        https://bugs.webkit.org/show_bug.cgi?id=25955
7432
7433        Rename policyBaseURL and mainDocumentURL to firstPartyForCookies.  The
7434        previous names were confusing and inaccurate.
7435
7436        * WebCore.order:
7437        * dom/Document.cpp:
7438        (WebCore::Document::setCookie):
7439        * dom/Document.h:
7440        (WebCore::Document::firstPartyForCookies):
7441        (WebCore::Document::setFirstPartyForCookies):
7442        * loader/FrameLoader.cpp:
7443        (WebCore::FrameLoader::begin):
7444        (WebCore::FrameLoader::updateFirstPartyForCookies):
7445        (WebCore::FrameLoader::setFirstPartyForCookies):
7446        (WebCore::FrameLoader::open):
7447        (WebCore::FrameLoader::addExtraFieldsToRequest):
7448        (WebCore::FrameLoader::loadResourceSynchronously):
7449        * loader/FrameLoader.h:
7450        * loader/MainResourceLoader.cpp:
7451        (WebCore::MainResourceLoader::willSendRequest):
7452        (WebCore::ResourceRequestBase::adopt):
7453        (WebCore::ResourceRequestBase::copyData):
7454        (WebCore::ResourceRequestBase::firstPartyForCookies):
7455        (WebCore::ResourceRequestBase::setFirstPartyForCookies):
7456        (WebCore::equalIgnoringHeaderFields):
7457        * platform/network/ResourceRequestBase.h:
7458        * platform/network/cf/ResourceRequestCFNet.cpp:
7459        (WebCore::ResourceRequest::doUpdatePlatformRequest):
7460        (WebCore::ResourceRequest::doUpdateResourceRequest):
7461        * platform/network/chromium/CookieJarChromium.cpp:
7462        (WebCore::setCookies):
7463        * platform/network/mac/ResourceRequestMac.mm:
7464        (WebCore::ResourceRequest::doUpdateResourceRequest):
7465        (WebCore::ResourceRequest::doUpdatePlatformRequest):
7466        * platform/network/ResourceRequestBase.cpp:
7467        (WebCore::ResourceRequestBase::firstPartyForCookies):
7468        (WebCore::ResourceRequestBase::setFirstPartyForCookies):
7469        * platform/network/chromium/CookieJarChromium.cpp:
7470        (WebCore::setCookies):
7471        * platform/network/curl/CookieJarCurl.cpp:
7472        (WebCore::setCookies):
7473        * platform/network/soup/CookieJarSoup.cpp:
7474        (WebCore::setCookies):
7475        * platform/network/win/CookieJarCFNetWin.cpp:
7476        (WebCore::setCookies):
7477        * platform/network/win/CookieJarWin.cpp:
7478        (WebCore::setCookies):
7479        * platform/qt/CookieJarQt.cpp:
7480        (WebCore::setCookies):
7481
74822009-05-22  Pavel Feldman  <pfeldman@chromium.org>
7483
7484        Fix the call to editingCancelled to be this._editingCancelled, since
7485        editingCancelled doesn't exist and throws an exception.
7486
7487        <https://bugs.webkit.org/show_bug.cgi?id=24881>
7488
7489        Reviewed by Timothy Hatcher.
7490
7491        * inspector/front-end/ElementsTreeOutline.js:
7492        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
7493
74942009-05-22  Alexey Proskuryakov  <ap@webkit.org>
7495
7496        Reviewed by Eric Seidel.
7497
7498        https://bugs.webkit.org/show_bug.cgi?id=25928
7499        Several errors detected by cppcheck
7500
7501        Fix all (the only one) problem in cross-platform code found by the tool. Port maintainers
7502        should take a look at other reports.
7503
7504        * css/CSSParser.cpp: (WebCore::CSSParser::addProperty): Don't leak the property even if there
7505        are billions of those.
7506
75072009-05-22  Shinichiro Hamaji  <hamaji@google.com>
7508
7509        Reviewed by Oliver Hunt.
7510
7511        Remove optimization path alpha=0 case from GraphicContext(CG|Skia).
7512        This optimization doesn't make sense for some composite mode (e.g., 'copy' operation).
7513
7514        https://bugs.webkit.org/show_bug.cgi?id=25956
7515
7516        * platform/graphics/cg/GraphicsContextCG.cpp:
7517        (WebCore::GraphicsContext::drawRect):
7518        (WebCore::GraphicsContext::drawLine):
7519        (WebCore::GraphicsContext::strokeArc):
7520        (WebCore::GraphicsContext::drawConvexPolygon):
7521        (WebCore::GraphicsContext::fillPath):
7522        (WebCore::GraphicsContext::strokePath):
7523        (WebCore::GraphicsContext::fillRect):
7524        (WebCore::GraphicsContext::fillRoundedRect):
7525        (WebCore::GraphicsContext::strokeRect):
7526        * platform/graphics/skia/GraphicsContextSkia.cpp:
7527        (WebCore::GraphicsContext::drawConvexPolygon):
7528        (WebCore::GraphicsContext::drawEllipse):
7529        (WebCore::GraphicsContext::fillPath):
7530        (WebCore::GraphicsContext::fillRect):
7531        (WebCore::GraphicsContext::strokePath):
7532        (WebCore::GraphicsContext::strokeRect):
7533
75342009-05-22  Xan Lopez  <xlopez@igalia.com>
7535
7536        Unreviewed build fix.
7537
7538        Revert the whole thing, since we can't figure out a way to make it
7539        work in all platforms.
7540
7541        * rendering/SVGInlineTextBox.cpp:
7542        (WebCore::pathForDecoration):
7543        * svg/SVGLength.cpp:
7544        (WebCore::SVGLength::PercentageOfViewport):
7545
75462009-05-22  Xan Lopez  <xlopez@igalia.com>
7547
7548        Try to fix Windows build.
7549
7550        Apparently it can't tell if '1.0f' is float or double, so cast to
7551        float.
7552
7553        * rendering/SVGInlineTextBox.cpp:
7554        (WebCore::pathForDecoration):
7555
75562009-05-22  Xan Lopez  <xlopez@igalia.com>
7557
7558        Try to fix breakage from the previous patch.
7559
7560        * rendering/SVGInlineTextBox.cpp:
7561        (WebCore::pathForDecoration):
7562        * svg/SVGLength.cpp:
7563        (WebCore::SVGLength::PercentageOfViewport):
7564
75652009-05-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
7566
7567        Reviewed by Maciej Stachowiak.
7568
7569        https://bugs.webkit.org/show_bug.cgi?id=25805
7570        In debug build, mingw win32 build has problems with powf
7571
7572        Change C-style calls to powf and sqrtf to C++-style calls to
7573        overloaded pow and sqrt. This solves also a problem with mingw
7574        compiler during the debug build.
7575
7576        * rendering/SVGInlineTextBox.cpp:
7577        (WebCore::pathForDecoration):
7578        * svg/SVGLength.cpp:
7579        (WebCore::SVGLength::PercentageOfViewport):
7580
75812009-05-21  Stephanie Lewis  <slewis@apple.com>
7582
7583        Reviewed by Mark Rowe.
7584
7585        <rdar://problem/6913680> Update image caching options.
7586        Disable extra ImageIO cache because we already handle caching decoded image data.
7587
7588        * platform/graphics/cg/ImageSourceCG.cpp:
7589        (WebCore::imageSourceOptions):
7590
75912009-05-21  Albert J. Wong  <ajwong@chromium.org>
7592
7593        Reviewed by Eric Seidel.
7594
7595        Bug 25903: Create a default UI theme for media controls in Chromium.
7596        https://bugs.webkit.org/show_bug.cgi?id=25903
7597
7598        Implement a default UI for chromium.  Add a style sheet for Chromium
7599        media controls with good defaults and implemented basic draw functions
7600        for play/pause & mute buttons.
7601
7602        * css/mediaControlsChromium.css: Added.
7603        * rendering/RenderThemeChromiumLinux.cpp:
7604        (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export
7605        our custom media controls style sheet.
7606        (WebCore::RenderThemeChromiumLinux::paintMediaButtonInternal): Paint
7607        buttons respecting chromium media controls color scheme.
7608        (WebCore::RenderThemeChromiumLinux::paintMediaPlayButton): Paint logic
7609        specific to play/pause button.
7610        (WebCore::RenderThemeChromiumLinux::paintMediaMuteButton): Paint
7611        specific to mute button.
7612        * rendering/RenderThemeChromiumLinux.h: Appropriate header changes.
7613        * rendering/RenderThemeChromiumWin.cpp:
7614        (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export
7615        our custom media controls style sheet.
7616        (WebCore::RenderThemeChromiumWin::paintMediaButtonInternal): Paint
7617        buttons respecting chromium media controls color scheme.
7618        (WebCore::RenderThemeChromiumWin::paintMediaPlayButton): Paint logic
7619        specific to play/pause button.
7620        (WebCore::RenderThemeChromiumWin::paintMediaMuteButton): Paint specific
7621        to mute button.
7622        (WebCore::RenderThemeChromiumWin::setDefaultFontSize): Appropriate
7623        header changes.
7624        * rendering/RenderThemeChromiumWin.h:
7625
76262009-05-21  Kevin Watters  <kevinwatters@gmail.com>
7627
7628        Reviewed by Kevin Ollivier.
7629
7630        When stripping the query from a file:// URL, do not leave a trailing question mark.
7631        
7632        https://bugs.webkit.org/show_bug.cgi?id=25940
7633
7634        * platform/network/curl/ResourceHandleManager.cpp:
7635        (WebCore::ResourceHandleManager::initializeHandle):
7636
76372009-05-21  Kevin Watters  <kevinwatters@gmail.com>
7638
7639        Reviewed by Kevin Ollivier.
7640
7641        Notify ImageObserver::didDraw to help the cache purge alive resources.
7642
7643        https://bugs.webkit.org/show_bug.cgi?id=25942
7644
7645        * platform/graphics/wx/ImageWx.cpp:
7646        (WebCore::BitmapImage::draw):
7647        (WebCore::BitmapImage::drawPattern):
7648
76492009-05-21  Evan Martin  <evan@chromium.org>
7650
7651        Reviewed by Eric Seidel.
7652
7653        Flesh out font fallback for Chromium's Skia port.
7654        getLastResortFallbackFont should fall back on well-known fonts.
7655        https://bugs.webkit.org/show_bug.cgi?id=25860
7656
7657        * platform/graphics/chromium/FontCacheLinux.cpp:
7658        (WebCore::FontCache::getLastResortFallbackFont): try known font names.
7659
76602009-05-21  Dan Bernstein  <mitz@apple.com>
7661
7662        Reviewed by John Sullivan.
7663
7664        - speculative fix for <rdar://problem/6890716> crash at
7665          FontCache::purgeInactiveFontData + 199
7666
7667        * platform/graphics/FontCache.cpp:
7668        (WebCore::FontCache::purgeInactiveFontData): Deleting a SimpleFontData
7669        can cause releaseFontData() to be called, which modifies
7670        gInactiveFontData. Therefore, avoid deleting SimpleFontData instances
7671        while iterating over gInactiveFontData and delete them afterwards.
7672
76732009-05-21  Geoffrey Garen  <ggaren@apple.com>
7674
7675        Reviewed by Sam Weinig.
7676        
7677        Test for <rdar://problem/6910832> | https://bugs.webkit.org/show_bug.cgi?id=25907
7678        Incorrect URL returned to the DOM while the user drags a file
7679
7680        * page/DragController.cpp:
7681        (WebCore::DragController::dragExited):
7682        (WebCore::DragController::tryDHTMLDrag): Don't base our decision on KURL,
7683        since that only looks at the text of the document's URL. Do base our
7684        decision on the securityOrigin(), which knows more about the document's
7685        actual origin.
7686
76872009-05-21  Dan Bernstein  <mitz@apple.com>
7688
7689        Rubber-stamped by Mark Rowe.
7690
7691        - fix https://bugs.webkit.org/show_bug.cgi?id=25947
7692          Assertion failure in FrameLoader::transitionToCommitted on launch in
7693          Safari with r43985
7694
7695        Rolled out r43979.
7696
7697        * platform/MIMETypeRegistry.cpp:
7698        (WebCore::initializeSupportedNonImageMimeTypes):
7699        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
7700
77012009-05-21  Sam Weinig  <sam@webkit.org>
7702
7703        Reviewed by Brady Eidson and Mark Rowe.
7704
7705        Fix for <rdar://problem/6901522>
7706        REGRESSION: Office 2008: Preview with browser is not shown, and Finder window is in the front of Safari
7707
7708        If the NSURLRequest is annotated with a "ForceHTMLMIMEType" property, force
7709        the MIME type to be text/html.
7710
7711        * platform/network/mac/ResourceHandleMac.mm:
7712        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
7713
77142009-05-21  Kevin Ollivier  <kevino@theolliviers.com>
7715
7716        Blind windows fix after last commit.
7717
7718        * platform/Logging.cpp:
7719        (WebCore::getChannelFromName):
7720
77212009-05-21  Kevin Watters  <kevinwatters@gmail.com>
7722
7723        Reviewed by Kevin Ollivier.
7724
7725        Use an environment variable to control which logs are on and off.
7726        Also, make a generic function for translating channel name to its log.
7727        
7728        https://bugs.webkit.org/show_bug.cgi?id=25936
7729
7730        * platform/Logging.cpp:
7731        (WebCore::getChannelFromName):
7732        * platform/Logging.h:
7733        * platform/wx/LoggingWx.cpp:
7734        (WebCore::InitializeLoggingChannelsIfNecessary):
7735
77362009-05-21  David Levin  <levin@chromium.org>
7737
7738        Reviewed by Darin Fisher.
7739
7740        Bug 25946: Chromium needs MIMETypeRegistry::getMediaMIMETypeForExtension implementation.
7741        https://bugs.webkit.org/show_bug.cgi?id=25946
7742
7743        A very simple implementation to keep it working.  A bug has been filed in the chromium db
7744        (http://code.google.com/p/chromium/issues/detail?id=12441) to investigate doing something more
7745        complete.
7746
7747        * platform/chromium/MimeTypeRegistryChromium.cpp:
7748        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
7749
77502009-05-20  Siddhartha Chattopadhyaya  <sidchat@google.com>
7751
7752        Reviewed by Justin Garcia.
7753        
7754        Add automatic spell correction support in WebKit
7755
7756        https://bugs.webkit.org/show_bug.cgi?id=24953
7757
7758        * editing/Editor.cpp:
7759        (WebCore::findFirstMisspellingInRange):
7760        (WebCore::Editor::advanceToNextMisspelling):
7761        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
7762        (WebCore::markAllMisspellingsInRange):
7763        (WebCore::markMisspellingsOrBadGrammar):
7764        (WebCore::Editor::markMisspellings):
7765        (WebCore::Editor::markBadGrammar):
7766        (WebCore::Editor::markMisspellingsAndBadGrammar):
7767        * editing/Editor.h:
7768        * loader/EmptyClients.h:
7769        (WebCore::EmptyEditorClient::getAutoCorrectSuggestionForMisspelledWord):
7770        * page/EditorClient.h:
7771
77722009-05-21  Christian Dywan  <christian@twotoasts.de>
7773
7774        Reviewed by Darin Adler.
7775
7776        Text files which have sub MIME types are treated as not displayable
7777        http://bugs.webkit.org/show_bug.cgi?id=24903
7778
7779        * platform/MIMETypeRegistry.cpp:
7780        (WebCore::initializeSupportedNonImageMimeTypes):
7781        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): Regard any
7782        MIME type beginning with "text/" as supported and remove all "text/"
7783        types from the list.
7784
77852009-05-21  Alexey Proskuryakov  <ap@webkit.org>
7786
7787        Reviewed by David Kilzer.
7788
7789        https://bugs.webkit.org/show_bug.cgi?id=25890
7790        Implement Network logging channel on Mac
7791
7792        * platform/network/mac/ResourceHandleMac.mm:
7793        (WebCore::ResourceHandle::~ResourceHandle):
7794        (WebCore::ResourceHandle::start):
7795        (WebCore::ResourceHandle::cancel):
7796        (WebCore::ResourceHandle::setDefersLoading):
7797        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
7798        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
7799        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
7800        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
7801        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
7802        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
7803        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
7804        (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
7805        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
7806        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
7807        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
7808        Added logging for async requests (as these are most interesting).
7809
78102009-05-21  Eric Carlson  <eric.carlson@apple.com>
7811
7812        Reviewed by David Kilzer.
7813
7814        <rdar://problem/6902197> WebCore doesn't know about all of the MIME types supported by QTKit
7815        
7816        Add a static table to map from some common file extensions to their MIME types so it
7817        is possible to detect support even when the platform mapping is incomplete. Use the
7818        table to lookup types not found by UTI on the OSX, and when looking for a media engine
7819        with a generic or missing type.
7820
7821        * platform/MIMETypeRegistry.cpp:
7822        (WebCore::initializeMediaTypeMaps): New, initialize the mediaMIMETypeForExtensionMap.
7823        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): New. Look for the specified
7824        MIME type in the static mapping table if the platform specific getMIMETypeForExtension
7825        doesn't find a match.
7826        * platform/MIMETypeRegistry.h: Declare getMediaMIMETypeForExtension.
7827
7828        * platform/graphics/MediaPlayer.cpp:
7829        (WebCore::MediaPlayer::load): When the type passed is empty, "application/octet-stream", or
7830        "text/plain", try to look it up based on the file extension with getMediaMIMETypeForExtension.
7831
7832        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7833        (WebCore::addFileTypesToCache): See if getMediaMIMETypeForExtension can map from file extension
7834        to MIME type if UTI fails.
7835
78362009-05-21  Eric Seidel  <eric@webkit.org>
7837
7838        Reviewed by Alexey Proskuryakov.
7839
7840        Clean up DragController
7841        https://bugs.webkit.org/show_bug.cgi?id=25926
7842
7843        I renamed m_document to m_documentUnderMouse to better document what it does
7844        I could call it m_lastDocumentUnderMouse to be most-accurate, but this seemed
7845        long enough.
7846
7847        I also saw copy/paste code involving clearing the selection when moving out of
7848        one document and into another.  I moved that code into a function called
7849        mouseMovedIntoDocument.
7850
7851        I also got rid of a couple needless null-checks after confirming via source
7852        inspection they were not ever possible.
7853        In Mac WebKit it's not possible to have a Page that doesn't have a mainFrame()
7854        I left an ASSERT(m_page->mainFrame()) in case some other port ever violates this.
7855        It's also not possible to return a document from documentAtPoint that is not
7856        in a frame (as such a document would not be rendered).
7857
7858        No functional changes, thus no tests.
7859
7860        * page/DragController.cpp:
7861        (WebCore::DragController::DragController):
7862        (WebCore::DragController::dragIsMove):
7863        (WebCore::DragController::dragExited):
7864        (WebCore::DragController::performDrag):
7865        (WebCore::DragController::mouseMovedIntoDocument):
7866        (WebCore::DragController::dragEnteredOrUpdated):
7867        (WebCore::DragController::tryDocumentDrag):
7868        (WebCore::DragController::operationForLoad):
7869        (WebCore::DragController::concludeEditDrag):
7870        (WebCore::DragController::canProcessDrag):
7871        (WebCore::DragController::tryDHTMLDrag):
7872        (WebCore::DragController::placeDragCaret):
7873        * page/DragController.h:
7874        (WebCore::DragController::documentUnderMouse):
7875
78762009-05-21  Eric Seidel  <eric@webkit.org>
7877
7878        Reviewed by Alexey Proskuryakov.
7879
7880        Rename DragController::dragOperation() to sourceDragOperation() for clarity
7881        Remove unused setDragOperation()
7882
7883        There are two times DragOperation is used.  The source specifies
7884        what drag operations it supports (in a mask) and the destination
7885        picks a subset of those as DragOperations it supports if a drop were
7886        to occur.  I was confused when I first saw this accessor as to which
7887        it meant.  It turns out that this is only used when WebKit starts a
7888        drag, and we keep it around so that we can provide this information
7889        to other Mac OS X applications when they ask.  I've renamed the method
7890        for clarity so the next person in this code will be less confused.
7891
7892        No functional changes, thus no tests.
7893
7894        * page/DragController.h:
7895        (WebCore::DragController::sourceDragOperation):
7896
78972009-05-21  Dan Bernstein  <mitz@apple.com>
7898
7899        Reviewed by Anders Carlsson.
7900
7901        - WebCore part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
7902          crash painting the selection on registration page of car2go.com
7903
7904        A bug in old versions of Core Graphics causes memory corruption to occur
7905        when clipping under certain conditions. Make the clipping functions
7906        fail silently under those conditions.
7907
7908        Test: fast/block/float/selection-gap-clip-out-tiger-crash.html
7909
7910        * WebCore.Tiger.exp: Added wkCGContextIsSafeToClip
7911        * platform/graphics/cg/GraphicsContextCG.cpp:
7912        (WebCore::safeCGContextClip): Added a wrapper around CGContextClip that,
7913        on Tiger, bails out if wkCGContextIsSafeToClip() returns false.
7914        (WebCore::safeCGContextEOClip): Ditto for CGContextEOClip.
7915        (WebCore::safeCGContextClipToRect): Ditto for CGContextClipToRect.
7916        (WebCore::GraphicsContext::fillPath): Changed to call the safe variants
7917        of CGContextClip, CGContextEOClip and CGContextClipToRect.
7918        (WebCore::GraphicsContext::strokePath): Ditto.
7919        (WebCore::GraphicsContext::fillRect): Ditto.
7920        (WebCore::GraphicsContext::clip): Ditto.
7921        (WebCore::GraphicsContext::clipOut): Ditto.
7922        (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
7923        (WebCore::GraphicsContext::clipPath): Ditto.
7924        (WebCore::GraphicsContext::addInnerRoundedRectClip): Ditto.
7925        (WebCore::GraphicsContext::strokeRect): Ditto.
7926        * platform/mac/WebCoreSystemInterface.h: Added wkCGContextIsSafeToClip.
7927        * platform/mac/WebCoreSystemInterface.mm: Added wkCGContextIsSafeToClip.
7928
79292009-05-21  Xan Lopez  <xlopez@igalia.com>
7930
7931        Unreviewed build fix.
7932
7933        https://bugs.webkit.org/show_bug.cgi?id=25910
7934        WebkitGTK r43960 cannot compile
7935
7936        Do not include local copy of guriescape header, which was
7937        removed. We now use the copy in glib.
7938
7939        * platform/gtk/FileSystemGtk.cpp:
7940
79412009-05-20  Adam Barth  <abarth@webkit.org>
7942
7943        Reviewed by Dimitri Glazkov.
7944
7945        https://bugs.webkit.org/show_bug.cgi?id=25706
7946
7947        It turns out the CurrentContext wasn't currect either because it gave
7948        us the frame for the write() function itself.  We actually want the
7949        *calling* context.
7950
7951        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
7952        (WebCore::CALLBACK_FUNC_DECL):
7953
79542009-05-20  Holger Hans Peter Freyther  <zecke@selfish.org>
7955
7956        Reviewed by Gustavo Noronha.
7957
7958        [GTK] Implement Image::loadPlatformResource.
7959
7960        Install the four resources we are using. For the icons
7961        where an icon name is specified by freedeskop.org try to
7962        map the WebCore name to that name and fallback to the
7963        internal icon. For everything else use the internal icon
7964        name. Remove the temporary link stub as this is not
7965        required any more.
7966
7967        * GNUmakefile.am: Install the png files, set DATA_DIR again
7968        * Resources/panIcon.png: Copied from WebKit/win/WebKit.vcproj/panIcon.png.
7969        * platform/graphics/gtk/ImageGtk.cpp:
7970        (WTF::GtkIconInfo): Add template specialization for GtkIconInfo
7971        (WebCore::getIconFileNameOrFallback): Use GtkIconTheme to get the icon
7972        (WebCore::loadResourceIntoSharedBuffer):
7973        (WebCore::Image::loadPlatformResource): Implement
7974        * platform/gtk/TemporaryLinkStubs.cpp: Remove link stub
7975
79762009-05-20  Holger Hans Peter Freyther  <zecke@selfish.org>
7977
7978        Reviewed by Gustavo Noronha.
7979
7980        https://bugs.webkit.org/show_bug.cgi?id=19357
7981
7982        [GTK] The Gtk+ port wants to have a themable
7983        urlIcon too.
7984
7985        * loader/icon/IconDatabase.cpp:
7986
79872009-05-20  Stephanie Lewis  <slewis@apple.com>
7988
7989        Update the order files.  <rdar://problem/6881750> Generate new order files.
7990
7991        * WebCore.order:
7992
79932009-05-20  Mark Rowe  <mrowe@apple.com>
7994
7995        Reviewed by Gavin Barraclough.
7996
7997        Fix some assertion failures in plug-in tests on the Windows debug build bot.
7998
7999        * plugins/PluginStream.cpp:
8000        (WebCore::PluginStream::startStream): Switch to using protocolIsJavaScript.
8001        * plugins/PluginView.cpp:
8002        (WebCore::scriptStringIfJavaScriptURL): Ditto.
8003
80042009-05-20  Brady Eidson  <beidson@apple.com>
8005
8006        Reviewed by Darin Adler.
8007
8008        More protocolInHTTPFamily() cleanup.
8009
8010        * xml/XMLHttpRequest.cpp:
8011        (WebCore::XMLHttpRequest::send):
8012
80132009-05-20  Sam Weinig  <sam@webkit.org>
8014
8015        Reviewed by Oliver Hunt.
8016
8017        Fix for <rdar://problem/6905475>
8018        Office 2008: Entourage: Crash when you switch to "My Day" view
8019
8020        The host function callback callObjCFallbackObject was not annotated
8021        with JSC_HOST_CALL which meant that when it was called by the JIT, which
8022        expects the JSC_HOST_CALL calling convention, the arguments are not in the
8023        expected places.
8024
8025        * bridge/objc/objc_runtime.mm:
8026        (JSC::Bindings::callObjCFallbackObject): Added missing JSC_HOST_CALL
8027        annotation on callObjCFallbackObject.
8028
80292009-05-20  David Levin  <levin@chromium.org>
8030
8031        Not Reviewed, build fix.
8032
8033        Need to disable this assert while the chormium code is fixed for it.
8034
8035        * platform/KURLGoogle.cpp:
8036        (WebCore::KURL::protocolIs):
8037
80382009-05-20  David Levin  <levin@chromium.org>
8039
8040        Not Reviewed, build fix.
8041
8042        Change KURLGoogle.cpp to mirror the KURL.cpp changes done in
8043        http://trac.webkit.org/changeset/43929.  Fix assert placement.
8044
8045        * platform/KURLGoogle.cpp:
8046        (WebCore::KURL::protocolIs):
8047        (WebCore::protocolIs):
8048
80492009-05-20  Nate Chapin  <japhet@google.com>
8050
8051        Reviewed by Dimitri Glazkov.
8052
8053        Upstream V8 bindings for V8DomWindow.
8054        https://bugs.webkit.org/show_bug.cgi?id=25869
8055
8056        * bindings/v8/custom/V8DOMWindowCustom.cpp:
8057        (WebCore::V8Custom::WindowSetTimeoutImpl): Moved from v8_custom.cpp.
8058        (WebCore::isAscii): Moved from v8_custom.cpp.
8059        (WebCore::convertBase64): Moved from v8_custom.cpp.
8060        (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp.
8061        (WebCore::eventNameFromAttributeName): Moved from v8_custom.cpp.
8062        (WebCore::ACCESSOR_SETTER): Moved from v8_custom.cpp.
8063        (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp.
8064        (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp.
8065        (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp.
8066
80672009-05-21  Christian Dywan  <christian@twotoasts.de>
8068
8069        Reviewed by Jan Alonzo.
8070
8071        * platform/network/soup/ResourceHandleSoup.cpp:
8072        (WebCore::parseDataUrl): Always use Glib Base64 decoding.
8073
80742009-05-21  Christian Dywan  <christian@twotoasts.de>
8075
8076        Rubberstamped by Gustavo Noronha.
8077
8078        * platform/network/curl/ResourceHandleManager.cpp:
8079        (WebCore::parseDataUrl): Remove Gtk/ Glib Base64 decoding.
8080
80812009-05-20  Christian Dywan  <christian@twotoasts.de>
8082
8083        Reviewed by Gustavo Noronha.
8084
8085        * GNUmakefile.am:
8086        * platform/gtk/guriescape.c:
8087        * platform/gtk/guriescape.h: Remove copies of g_uri_escape_string and
8088        g_uri_unescape_string now that we require Glib 2.16.
8089
80902009-05-20  David Levin  <levin@chromium.org>
8091
8092        Not Reviewed, build fix.
8093
8094        Change KURLGoogle.cpp to mirror the KURL.cpp changes done in
8095        http://trac.webkit.org/changeset/43929.
8096
8097        * platform/KURLGoogle.cpp:
8098        (WebCore::protocolIsJavaScript):
8099        (WebCore::protocolIs):
8100
81012009-05-20  Brady Eidson  <beidson@apple.com>
8102
8103        Rubberstamped by Sam Weinig
8104
8105        At all call sites that check if a KURL has either the http or https protocol,
8106        use the KURL::protocolInHTTPFamily() accessor, instead.
8107
8108        * loader/FrameLoader.cpp:
8109        (WebCore::FrameLoader::iconURL):
8110        (WebCore::FrameLoader::didOpenURL):
8111        (WebCore::FrameLoader::open):
8112
8113        * loader/appcache/ApplicationCache.cpp:
8114        (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
8115
8116        * loader/loader.cpp:
8117        (WebCore::Loader::load):
8118
8119        * xml/XMLHttpRequest.cpp:
8120        (WebCore::XMLHttpRequest::send):
8121
81222009-05-20  Brady Eidson  <beidson@apple.com>
8123
8124        Reviewed by Darin Adler.
8125
8126        Fix <rdar://problem/6904941> and https://bugs.webkit.org/show_bug.cgi?id=25300
8127
8128        KURL parsing changes back in r30243 and r30815 made javascript urls that use the form
8129        "javascript://" be detected as invalid hierarchical URLs.  When a KURL is marked as
8130        invalid, you can no longer ask it a question such as "is your protocol javascript?"
8131        Therefore FrameLoader wouldn't recognize them as javascript URLs and instead try to
8132        navigate to them.
8133
8134        URL parsing rules aside, such URLs are in use in the wild (Microsoft's Virtual Earth 
8135        being a high profile example) and actually represent valid javascript.
8136
8137        Whenever checking for javascript urls, the new protocolIsJavaScript() should be used
8138        as it functions on a String which doesn't have to pass KURLs parsing rules. 
8139
8140        Test: fast/loader/javascript-url-hierarchical-execution.html
8141
8142        * bindings/js/JSAttrCustom.cpp:
8143        (WebCore::JSAttr::setValue): Use protocolIsJavaScript().
8144        * bindings/js/JSDOMWindowCustom.cpp:
8145        (WebCore::JSDOMWindow::setLocation): Ditto.
8146        (WebCore::createWindow): Ditto.
8147        (WebCore::JSDOMWindow::open): Ditto.
8148        * bindings/js/JSElementCustom.cpp:
8149        (WebCore::allowSettingSrcToJavascriptURL): Ditto.
8150        * bindings/js/JSHTMLFrameElementCustom.cpp:
8151        (WebCore::allowSettingJavascriptURL): Ditto.
8152        * bindings/js/JSHTMLIFrameElementCustom.cpp:
8153        (WebCore::JSHTMLIFrameElement::setSrc): Ditto.
8154        * bindings/js/JSLocationCustom.cpp:
8155        (WebCore::navigateIfAllowed): Ditto.
8156        (WebCore::JSLocation::reload): Ditto.
8157        * editing/markup.cpp:
8158        (WebCore::appendQuotedURLAttributeValue): Ditto.
8159        * html/HTMLAnchorElement.cpp:
8160        (WebCore::HTMLAnchorElement::parseMappedAttribute): Ditto.
8161        * loader/FrameLoader.cpp:
8162        (WebCore::FrameLoader::requestFrame): Ditto.
8163        (WebCore::FrameLoader::submitForm): Ditto.
8164        (WebCore::FrameLoader::executeIfJavaScriptURL): Ditto.
8165        
8166        * platform/KURL.cpp:
8167        (WebCore::KURL::init): Use protocolIsJavaScript().
8168        (WebCore::KURL::protocolIs): ASSERT that the protocol being asked about is not javascript.
8169           Such checks should go through protocolIsJavaScript() instead.
8170        (WebCore::encodeRelativeString): Use protocolIsJavaScript().
8171        (WebCore::protocolIsJavaScript):
8172        * platform/KURL.h:
8173
81742009-05-20  Holger Hans Peter Freyther  <zecke@selfish.org>
8175
8176        Reviewed by Anders Carlsson.
8177
8178        https://bugs.webkit.org/show_bug.cgi?id=24510
8179
8180        Fix a bug where the browserfuncs were not properly assigned,
8181        make hasproperty use _NP_HasProperty and hasmethod _NP_HasMethod.
8182
8183        Test: plugins/netscape-invoke-browserfuncs.html
8184
8185        * plugins/gtk/PluginPackageGtk.cpp:
8186        (WebCore::PluginPackage::load): Fix assignment
8187        * plugins/qt/PluginPackageQt.cpp:
8188        (WebCore::PluginPackage::load): Fix assignment
8189
81902009-05-20  Sam Weinig  <sam@webkit.org>
8191
8192        Reviewed by Timothy Hatcher.
8193
8194        Make absoluteRectsForRange and absoluteQuadsForRange non-virtual
8195        and only exist on RenderText.
8196
8197        * dom/Range.cpp:
8198        (WebCore::Range::textRects):
8199        * inspector/InspectorController.cpp:
8200        (WebCore::InspectorController::drawNodeHighlight): Use absoluteQuads instead
8201        of absoluteQuadsForRange since no range is being specifiec.
8202        * rendering/RenderObject.cpp:
8203        * rendering/RenderObject.h:
8204        * rendering/RenderText.h:
8205
82062009-05-20  Xan Lopez  <xlopez@igalia.com>
8207
8208        Reviewed by Gustavo Noronha.
8209
8210        Implement AtkObject::focus-event and
8211        AtkObject::state-changed:focused signal emission.
8212
8213        Adds a new handleFocusedUIElementChangedWithRenderers, only in the
8214        GTK port, called at the same point than
8215        handleFocusedUIElementChanged but with two parameters, the old and
8216        the newly focused RenderObjects. We need this, since the ATK
8217        signals require us to pass the objects involved in the focus
8218        change as arguments.
8219
8220        * accessibility/AXObjectCache.h:
8221        * accessibility/gtk/AXObjectCacheAtk.cpp:
8222        (WebCore::AXObjectCache::handleFocusedUIElementChangedWithRenderers):
8223        * dom/Document.cpp:
8224        (WebCore::Document::setFocusedNode):
8225
82262009-05-20  Holger Hans Peter Freyther  <zecke@selfish.org>
8227
8228        Reviewed by Darin Adler.
8229
8230        https://bugs.webkit.org/show_bug.cgi?id=25834
8231
8232        Make ChromeClient a interface again
8233
8234        With recent additions to ChromeClient.h empty defaults were
8235        added. This is bad for porters as these changes go unnoticed
8236        and at runtime no notImplemented warning is logged and grepping
8237        for notImplemented will not show anything. Change this Client
8238        to be like the other Clients again and always have pure virtuals
8239        (but for stuff inside #ifdef PLATFORM(MAC)).
8240
8241        Update the various WebKit/* implementations to compile again.
8242
8243        * loader/EmptyClients.h: Add empty defaults
8244        (WebCore::EmptyChromeClient::setCursor):
8245        (WebCore::EmptyChromeClient::scrollRectIntoView):
8246        (WebCore::EmptyChromeClient::requestGeolocationPermissionForFrame):
8247        * page/ChromeClient.h: Make methods pure virtual
8248
82492009-05-19  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
8250
8251        Reviewed by Simon Hausmann.
8252
8253        Fix a bug where a non visible plugin would show it self in a
8254        sibling frame. The problem was due to our clipping. In Qt,
8255        if setMask is set with an empty QRegion, no clipping will
8256        be performed, so in that case we hide the PluginContainer
8257
8258        Added manual test.
8259
8260        * plugins/qt/PluginContainerQt.cpp:
8261        (PluginContainerQt::adjustGeometry):
8262        * manual-tests/qt/plugin-sibling-frame-include.html
8263        * manual-tests/qt/plugin-sibling-frame.html
8264
82652009-05-19  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
8266
8267        Reviewed by Simon Hausmann.
8268
8269        Do not call the parent implementation (Widget::) in show() and hide()
8270        of the PluginViewQt, as it always changes the visible state of the
8271        platformWidget (equal to the platformPluginWidget in the Qt port),
8272        thus ignoring the isParentVisible() test.
8273
8274        * plugins/qt/PluginViewQt.cpp:
8275        (WebCore::PluginView::show):
8276        (WebCore::PluginView::hide):
8277
82782009-05-20  Yichao Yin  <yichao.yin@torchmobile.com.cn>
8279
8280        Reviewed by George Staikos.
8281
8282        https://bugs.webkit.org/show_bug.cgi?id=23452
8283        Change the implementation of HTMLNoScriptElement to avoid the pain of 
8284        adding virtual function for XHTMLMP support
8285
8286        Includes changes suggested by Simon Fraser.
8287
8288        * dom/Node.cpp:
8289        (WebCore::Node::styleForRenderer):
8290        * dom/Node.h:
8291        * html/HTMLNoScriptElement.cpp:
8292        * html/HTMLNoScriptElement.h:
8293
82942009-05-20  Kevin Ollivier  <kevino@theolliviers.com>
8295
8296        CURL backend build fix. Make sure URL is always set.
8297        
8298        * platform/network/curl/ResourceHandleManager.cpp:
8299        (WebCore::ResourceHandleManager::downloadTimerCallback):
8300
83012009-05-20  Yongjun Zhang  <yongjun.zhang@nokia.com>
8302
8303        Reviewed by George Staikos.
8304
8305        Fix Qt WebKit build break in Mac OS.
8306
8307        * platform/FileSystem.h:
8308
83092009-05-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
8310
8311        Rubber-stamped by Eric Seidel.
8312
8313        Enable code that was commented out waiting for a way to get a
8314        GdkPixbuf from an image, effectively enabling copying images to
8315        the clipboard.
8316
8317        * platform/gtk/PasteboardGtk.cpp:
8318        (WebCore::Pasteboard::writeImage):
8319
83202009-05-20  Xan Lopez  <xlopez@igalia.com>
8321
8322        Reviewed by Jan Alonzo.
8323
8324        https://bugs.webkit.org/show_bug.cgi?id=25414
8325        [GTK] ROLE_PANEL should not be used for paragraphs and list items.
8326
8327        Implement Atk list item role for list items.
8328
8329        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8330        (webkit_accessible_get_role):
8331
83322009-05-20  Xan Lopez  <xlopez@igalia.com>
8333
8334        Reviewed by Jan Alonzo.
8335
8336        https://bugs.webkit.org/show_bug.cgi?id=25414
8337        [GTK] ROLE_PANEL should not be used for paragraphs and list items.
8338
8339        Implement Atk paragraph role for paragraph elements.
8340
8341        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8342        (webkit_accessible_get_role):
8343
83442009-05-20  Eric Seidel  <eric@webkit.org>
8345
8346        Fix bug URL in ChangeLogs in r43903.
8347        https://bugs.webkit.org/show_bug.cgi?id=25742
8348
83492009-05-20  Takeshi Yoshino <tyoshino@google.com>
8350
8351        Reviewed by Eric Seidel.
8352
8353        Bug 24539: Fix RenderThemeChromiumWin::paintTextFieldInternal() not to hide background image.
8354        https://bugs.webkit.org/show_bug.cgi?id=25742
8355
8356        Fix RenderThemeChromiumWin::paintTextFieldInternal().
8357
8358        We shouldn't paint the content area of text fields when o->style() has
8359        background image or transparent background color. paintTextFieldInternal() is
8360        used for painting inner area of HTML option elements by Chromium.
8361
8362        When we pass fillContentArea = true to ChromiumBridge::paintTextField, it hides
8363        the background image rendered by RenderBoxModelObject. So, we should set
8364        fillContentArea = false in such case.
8365
8366        Besides, when background-color:transparent is specified for CSS property,
8367        o->style().backgroundColor returns black color with alpha channel == 0. But
8368        since ThemeEngine for Windows behind ChromiumBridge::paintTextField cannot
8369        recognize alpha channel, it fills the rect with black. I made workaround to set
8370        fillContentArea = false when alpha channel == 0 to avoid this.
8371
8372        And more, I'd like to fallback the color passed to ChromiumBridge to white when
8373        o->style()->backgroundColor() is invalid.
8374
8375        * rendering/RenderThemeChromiumWin.cpp:
8376        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
8377
83782009-05-20  Shinichiro Hamaji  <hamaji@google.com>
8379
8380        Reviewed by Eric Seidel.
8381
8382        https://bugs.webkit.org/show_bug.cgi?id=25417
8383        Map CompositeCopy to Skia's kSrc_Mode composite operation.
8384
8385        Test: fast/canvas/canvas-composite-alpha.html
8386
8387        * platform/graphics/skia/SkiaUtils.cpp:
8388        (WebCore::):
8389
83902009-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
8391
8392        Rubber-stamped by Xan Lopez.
8393
8394        Remove misplaced extern "C"
8395
8396        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8397
83982009-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
8399
8400        Reviewed by Xan Lopez.
8401
8402        [GTK] Expose password field with role of PASSWORD_TEXT
8403        https://bugs.webkit.org/show_bug.cgi?id=25682
8404
8405        Check if input type is a password field and return
8406        ATK_ROLE_PASSWORD_TEXT if it is.
8407
8408        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8409
84102009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8411
8412        Reviewed by George Staikos.
8413
8414        BUG 25845: [Qt] Fix QtWebKit pkgconfig dependencies
8415        <https://bugs.webkit.org/show_bug.cgi?id=25845>
8416
8417        * WebCore.pro: Remove QtDBus; remove QtXml if Qt >= 4.4
8418
84192009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8420
8421        Reviewed by George Staikos.
8422
8423        BUG 25843: [Qt] Remove qt-port build flag
8424        <https://bugs.webkit.org/show_bug.cgi?id=25843>
8425
8426        * bridge/testbindings.pro:
8427
84282009-05-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8429
8430        Reviewed by George Staikos.
8431
8432        https://bugs.webkit.org/show_bug.cgi?id=25824
8433
8434        [Qt] Cleanup - move files exclusive to JAVASCRIPT_DEBUGGER
8435        and WORKERS under the appropriate build section
8436
8437        * WebCore.pro:
8438
84392009-05-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
8440
8441        Unreviewed Qt build fix, after r43892.
8442
8443        * platform/graphics/qt/ImageQt.cpp: included ImageObservser.h
8444
84452009-05-20  Yongjun Zhang  <yongjun.zhang@nokia.com>
8446
8447        Reviewed by Simon Hausmann.
8448
8449        https://bugs.webkit.org/show_bug.cgi?id=25856
8450        [Qt] notify an image has been drawn, to help Cache purge alive decoded data.
8451
8452        * platform/graphics/qt/ImageQt.cpp:
8453        (WebCore::Image::drawPattern):
8454        (WebCore::BitmapImage::draw):
8455
84562009-05-20  David Levin  <levin@chromium.org>
8457
8458        Reviewed by NOBODY, layout tests fix.
8459
8460        https://bugs.webkit.org/show_bug.cgi?id=23727
8461        This reverts commit r43888.
8462
8463        Once that change was checked in many of the fast/flexbox0*.html        
8464        tests (and others) started failing.
8465
8466        * WebCore.pro:
8467        * css/CSSParser.cpp:
8468        (WebCore::CSSParser::parseValue):
8469        * css/CSSPropertyNames.in:
8470        * css/CSSStyleSelector.cpp:
8471        (WebCore::CSSStyleSelector::applyProperty):
8472        * css/CSSValueKeywords.in:
8473        * rendering/RenderMarquee.cpp:
8474        (WebCore::RenderMarquee::updateMarqueePosition):
8475        (WebCore::RenderMarquee::timerFired):
8476
84772009-05-19  Yichao Yin <yichao.yin@torchmobile.com.cn>
8478
8479        Reviewed by George Staikos.
8480
8481        Add XHTMLMP support to Webkit
8482        Update the configure files for building XHTMLMP-enabled WebKit on different platform
8483        https://bugs.webkit.org/show_bug.cgi?id=23452
8484
8485        * GNUmakefile.am:
8486        * WebCore.pro:
8487        * WebCore.vcproj/WebCore.vcproj:
8488        * WebCoreSources.bkl:
8489
84902009-05-19  Antti Koivisto  <antti@apple.com>
8491
8492        I can't figure out how to make this not timing dependent, making it manual test instead.
8493
8494        * manual-tests/preload-scanner-entities.html: Added.
8495
84962009-05-19  Brady Eidson  <beidson@apple.com>
8497
8498        Reviewed by Antti Koivisto. 
8499
8500        <rdar://problem/6886382> REGRESSION (Safari 4PB -> ToT): HTTP cache revalidation broken.
8501
8502        This was caused in http://trac.webkit.org/changeset/41425, which fixed an image caching bug
8503        in QuickLooks (rdar://problem/6619630).
8504
8505        We need to respect the DocumentLoader's request cache policy when deciding the cache policy
8506        for subresources, but the check (originally removed in r39304 and added back in in the same
8507        place in r41424) needs to be tweaked and relocated a bit.
8508
8509        * loader/FrameLoader.cpp:
8510        (WebCore::FrameLoader::subresourceCachePolicy): Renamed from cachePolicy().  Move checking
8511          the DocumentLoader's request to a more appropriate place. Add code to handle the recently 
8512          added FIXME regarding POSTs. Add a new FIXME describing a great way to make this code 
8513          cleaner in the future.
8514        * loader/FrameLoader.h:
8515
8516        * loader/DocLoader.cpp:
8517        (WebCore::DocLoader::cachePolicy): Calls the newly renamed subresourceCachePolicy().
8518
85192009-05-19  Chris Fleizach  <cfleizach@apple.com>
8520
8521        Reviewed by Beth Dakin.
8522
8523        Bug 25872: aria-labeledby appends all siblings instead of all children to aria name
8524        https://bugs.webkit.org/show_bug.cgi?id=25872
8525
8526        When setting the aria-labeledby text it should stay within the element identified by the id
8527        when searching through the sibling list.
8528  
8529        This also removes an outdated assert in getDocumentLinks. Its possible for the document to
8530        think an element is a link, but accessibility can treat it differently (eg. its ARIA role is different).
8531
8532        Test: accessibility/aria-labelledby-stay-within.html
8533
8534        * accessibility/AccessibilityRenderObject.cpp:
8535        (WebCore::AccessibilityRenderObject::ariaAccessiblityName):
8536        (WebCore::AccessibilityRenderObject::getDocumentLinks):
8537
85382009-05-19  Antti Koivisto  <antti@apple.com>
8539
8540        Reviewed by Darin Adler).
8541        
8542        <rdar://problem/6902674> REGRESSION: Query parameters are sometimes incorrect in URL (23135)
8543        
8544        Push characters back in correct order when entity parsing fails after 3 characters.
8545
8546        Test: fast/tokenizer/preload-scanner-entities.html
8547
8548        * html/PreloadScanner.cpp:
8549        (WebCore::PreloadScanner::consumeEntity):
8550
85512009-05-19  Paul Godavari  <paul@chromium.org>
8552
8553        Reviewed by Dimitri Glazkov.
8554
8555        Fix a crash in Mac Chromium when displaying an HTML select element
8556        with no items.
8557        https://bugs.webkit.org/show_bug.cgi?id=25874
8558
8559        * platform/chromium/PopupMenuChromium.cpp:
8560        (WebCore::PopupContainer::showExternal):
8561
85622009-05-19  Nate Chapin  <japhet@google.com>
8563
8564        Reviewed by Darin Fisher.
8565
8566        Upstream V8 bindings for CanvasRenderingContext2D.
8567        https://bugs.webkit.org/show_bug.cgi?id=25858
8568
8569        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Moved bindings from v8_custom.cpp.
8570
85712009-05-19  Jessie Berlin  <jberlin@apple.com>
8572
8573        Reviewed by Mark Rowe.
8574
8575        Windows Build Fix.
8576
8577        * WebCore.vcproj/WebCore.vcproj: Copy accessibility headers from WebCore.
8578
85792009-05-19  Timothy Hatcher  <timothy@apple.com>
8580
8581        <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
8582        loaded because willSendRequest doesn't happen immediately
8583
8584        Reviewed by Antti Koivisto.
8585
8586        * WebCore.base.exp: Export Loader::servePendingRequests().
8587
85882009-05-19  David Levin  <levin@chromium.org>
8589
8590        Reviewed by Dimitri Glazkov.
8591
8592        Bug 25859: Need to upstream ScriptController.* for v8.
8593        https://bugs.webkit.org/show_bug.cgi?id=25859
8594
8595        Fixing the header file (which I accidentally made identical to the cpp file).
8596
8597        * bindings/v8/ScriptController.h:
8598
85992009-05-19  Alexey Proskuryakov  <ap@webkit.org>
8600
8601        Reviewed by Darin Adler and Brady Eidson.
8602
8603        <rdar://problem/6900582> REGRESSION (r42446?): UA Profiler in http://stevesouders.com/ua/ stalls
8604
8605        The problem was that Document::removeAllEventListeners() was called for a wrong document
8606        when a CachedFrame was destroyed.
8607
8608        Cannot be tested automatically, because DRT doesn't have a b/f cache.
8609
8610        * dom/Document.cpp: (WebCore::Document::domWindow): Make sure that this doesn't return an
8611        unrelated window even if document's m_frame pointer is stale.
8612
8613        * history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Added a FIXME about strange behavior.
8614
86152009-05-19  Pavel Feldman  <pfeldman@chromium.org>
8616
8617        Reviewed by Timothy Hatcher.
8618
8619        Split InspectorController into InspectorController and InspectorFrontend. Latter encapsulates all frontend interaction and is the only entity allowed to make ScriptFunctionCalls. The further plan is to serialize these script function calls.
8620
8621        https://bugs.webkit.org/show_bug.cgi?id=25419
8622
8623        * GNUmakefile.am:
8624        * WebCore.pro:
8625        * WebCore.vcproj/WebCore.vcproj:
8626        * WebCore.xcodeproj/project.pbxproj:
8627        * WebCoreSources.bkl:
8628        * inspector/ConsoleMessage.cpp:
8629        (WebCore::ConsoleMessage::addToConsole):
8630        * inspector/ConsoleMessage.h:
8631        * inspector/InspectorController.cpp:
8632        (WebCore::InspectorController::~InspectorController):
8633        (WebCore::InspectorController::inspect):
8634        (WebCore::InspectorController::focusNode):
8635        (WebCore::InspectorController::setWindowVisible):
8636        (WebCore::InspectorController::addConsoleMessage):
8637        (WebCore::InspectorController::setAttachedWindow):
8638        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
8639        (WebCore::InspectorController::scriptObjectReady):
8640        (WebCore::InspectorController::showPanel):
8641        (WebCore::InspectorController::close):
8642        (WebCore::InspectorController::populateScriptObjects):
8643        (WebCore::InspectorController::resetScriptObjects):
8644        (WebCore::InspectorController::pruneResources):
8645        (WebCore::InspectorController::didCommitLoad):
8646        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
8647        (WebCore::InspectorController::identifierForInitialRequest):
8648        (WebCore::InspectorController::willSendRequest):
8649        (WebCore::InspectorController::didReceiveResponse):
8650        (WebCore::InspectorController::didReceiveContentLength):
8651        (WebCore::InspectorController::didFinishLoading):
8652        (WebCore::InspectorController::didFailLoading):
8653        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
8654        (WebCore::InspectorController::scriptImported):
8655        (WebCore::InspectorController::didOpenDatabase):
8656        (WebCore::InspectorController::didUseDOMStorage):
8657        (WebCore::InspectorController::addScriptProfile):
8658        (WebCore::InspectorController::toggleRecordButton):
8659        (WebCore::InspectorController::enableProfiler):
8660        (WebCore::InspectorController::disableProfiler):
8661        (WebCore::InspectorController::enableDebugger):
8662        (WebCore::InspectorController::disableDebugger):
8663        (WebCore::InspectorController::didParseSource):
8664        (WebCore::InspectorController::failedToParseSource):
8665        (WebCore::InspectorController::didPause):
8666        (WebCore::InspectorController::didContinue):
8667        * inspector/InspectorController.h:
8668        * inspector/InspectorDOMStorageResource.cpp:
8669        (WebCore::InspectorDOMStorageResource::bind):
8670        * inspector/InspectorDOMStorageResource.h:
8671        * inspector/InspectorDatabaseResource.cpp:
8672        (WebCore::InspectorDatabaseResource::bind):
8673        * inspector/InspectorDatabaseResource.h:
8674        * inspector/InspectorFrontend.cpp: Added.
8675        (WebCore::callSimpleFunction):
8676        (WebCore::InspectorFrontend::InspectorFrontend):
8677        (WebCore::InspectorFrontend::~InspectorFrontend):
8678        (WebCore::InspectorFrontend::newJSONObject):
8679        (WebCore::InspectorFrontend::addMessageToConsole):
8680        (WebCore::InspectorFrontend::addResource):
8681        (WebCore::InspectorFrontend::updateResource):
8682        (WebCore::InspectorFrontend::removeResource):
8683        (WebCore::InspectorFrontend::updateFocusedNode):
8684        (WebCore::InspectorFrontend::setAttachedWindow):
8685        (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
8686        (WebCore::InspectorFrontend::showPanel):
8687        (WebCore::InspectorFrontend::populateInterface):
8688        (WebCore::InspectorFrontend::reset):
8689        (WebCore::InspectorFrontend::debuggerWasEnabled):
8690        (WebCore::InspectorFrontend::debuggerWasDisabled):
8691        (WebCore::InspectorFrontend::profilerWasEnabled):
8692        (WebCore::InspectorFrontend::profilerWasDisabled):
8693        (WebCore::InspectorFrontend::parsedScriptSource):
8694        (WebCore::InspectorFrontend::failedToParseScriptSource):
8695        (WebCore::InspectorFrontend::addProfile):
8696        (WebCore::InspectorFrontend::setRecordingProfile):
8697        (WebCore::InspectorFrontend::pausedScript):
8698        (WebCore::InspectorFrontend::resumedScript):
8699        (WebCore::InspectorFrontend::addDatabase):
8700        (WebCore::InspectorFrontend::addDOMStorage):
8701        * inspector/InspectorFrontend.h: Added.
8702        * inspector/InspectorResource.cpp:
8703        (WebCore::InspectorResource::createScriptObject):
8704        (WebCore::InspectorResource::updateScriptObject):
8705        (WebCore::InspectorResource::releaseScriptObject):
8706        * inspector/InspectorResource.h:
8707
87082009-05-19  Pavel Feldman  <pfeldman@chromium.org>
8709
8710        Reviewed by Timothy Hatcher.
8711
8712        Introduce JSONObject that wraps ScriptObject and ScriptState* for further serialization
8713
8714        https://bugs.webkit.org/show_bug.cgi?id=25419
8715
8716        * GNUmakefile.am:
8717        * WebCore.pro:
8718        * WebCore.vcproj/WebCore.vcproj:
8719        * WebCore.xcodeproj/project.pbxproj:
8720        * WebCoreSources.bkl:
8721        * inspector/ConsoleMessage.cpp:
8722        (WebCore::ConsoleMessage::addToConsole):
8723        * inspector/InspectorDOMStorageResource.cpp:
8724        (WebCore::InspectorDOMStorageResource::bind):
8725        * inspector/InspectorDatabaseResource.cpp:
8726        (WebCore::InspectorDatabaseResource::bind):
8727        * inspector/InspectorResource.cpp:
8728        (WebCore::populateHeadersObject):
8729        (WebCore::InspectorResource::createScriptObject):
8730        (WebCore::InspectorResource::updateScriptObject):
8731        * inspector/JSONObject.cpp: Added.
8732        (WebCore::JSONObject::JSONObject):
8733        (WebCore::JSONObject::set):
8734        (WebCore::JSONObject::scriptObject):
8735        (WebCore::JSONObject::createNew):
8736        * inspector/JSONObject.h: Added.
8737
87382009-05-19  Pavel Feldman  <pfeldman@chromium.org>
8739
8740        Reviewed by Timothy Hatcher.
8741
8742        Refactor InpectorController so that it does not instantiate resource/console/database/domresource javascript objects. Move instantiation into the javascript.
8743
8744        https://bugs.webkit.org/show_bug.cgi?id=25419
8745
8746        * inspector/ConsoleMessage.cpp:
8747        (WebCore::ConsoleMessage::addToConsole):
8748        * inspector/InspectorController.cpp:
8749        (WebCore::InspectorController::didReceiveResponse):
8750        (WebCore::InspectorController::didReceiveContentLength):
8751        (WebCore::InspectorController::didFinishLoading):
8752        (WebCore::InspectorController::didFailLoading):
8753        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
8754        (WebCore::InspectorController::scriptImported):
8755        * inspector/InspectorDOMStorageResource.cpp:
8756        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
8757        (WebCore::InspectorDOMStorageResource::bind):
8758        (WebCore::InspectorDOMStorageResource::unbind):
8759        * inspector/InspectorDOMStorageResource.h:
8760        * inspector/InspectorDatabaseResource.cpp:
8761        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
8762        (WebCore::InspectorDatabaseResource::bind):
8763        (WebCore::InspectorDatabaseResource::unbind):
8764        * inspector/InspectorDatabaseResource.h:
8765        * inspector/InspectorResource.cpp:
8766        (WebCore::InspectorResource::InspectorResource):
8767        (WebCore::populateHeadersObject):
8768        (WebCore::InspectorResource::createScriptObject):
8769        (WebCore::InspectorResource::updateScriptObject):
8770        (WebCore::InspectorResource::releaseScriptObject):
8771        * inspector/InspectorResource.h:
8772        * inspector/front-end/Console.js:
8773        (WebInspector.ConsoleMessage):
8774        * inspector/front-end/inspector.js:
8775        (WebInspector.addResource):
8776        (WebInspector.updateResource):
8777        (WebInspector.removeResource):
8778        (WebInspector.addDatabase):
8779        (WebInspector.addDOMStorage):
8780        (WebInspector.reset):
8781        (WebInspector.addMessageToConsole):
8782
87832009-05-19  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
8784
8785        Reviewed by Ariya Hidayat.
8786
8787        The Qt port has code that disables scrolling optimizations
8788        when the root contains native windows, such as windowed plugins.
8789
8790        This code broke when detaching iframes containing windowed
8791        plugins.
8792
8793        Each ScrollView now knows how many native windows it and its
8794        children contain, and when it is detached, that number is
8795        substracted from its old parents.
8796
8797        * platform/ScrollView.cpp:
8798        (WebCore::ScrollView::scrollContents):
8799        (WebCore::ScrollView::setParent):
8800        * platform/ScrollView.h:
8801        * platform/qt/ScrollViewQt.cpp:
8802        (WebCore::ScrollView::adjustWidgetsPreventingBlittingCount):
8803        (WebCore::ScrollView::platformAddChild):
8804        (WebCore::ScrollView::platformRemoveChild):
8805
88062009-05-18  David Kilzer  <ddkilzer@apple.com>
8807
8808        Tiger build fix for r43850
8809
8810        * platform/mac/ClipboardMac.mm: Added typedef for NSUinteger
8811        when building on Tiger.
8812
88132009-05-18  Eric Seidel  <eric@webkit.org>
8814
8815        Reviewed by Darin Adler.
8816
8817        ClipboardMac cleanup
8818        https://bugs.webkit.org/show_bug.cgi?id=25847
8819
8820        I'm mostly just moving code, however there are 3 changes I made while moving, detailed below.
8821
8822        No functional changes, so no tests.
8823
8824        * platform/mac/ClipboardMac.mm:
8825        (WebCore::ClipboardMac::clearData):
8826        (WebCore::absoluteURLsFromPasteboardFilenames):
8827          Broke out logic for filenames into its own function to make the caller more readable.
8828        (WebCore::absoluteURLsFromPasteboard):
8829          Broke out logic from getData into absoluteURLsFromPasteboard. This returns an NSArray
8830          so that we can use -[NSArray componentsJoinedByString] in the caller (which is
8831          cleaner than the manual "\n" addition before).
8832          This also access to the full list of file urls for future callers.
8833        (WebCore::ClipboardMac::getData):
8834          unsigned count = (type == "URL") ? 1 : [fileList count]; is now an
8835          explicit check for "URL", before it was a check for != "text/uri-list" which
8836          was much more confusing in my opinion.  text/uri-list and URL are the only
8837          two types which map to NSURLPboardType in cocoaTypeFromMIMEType().
8838        (WebCore::ClipboardMac::types):
8839          I removed an extra if (!types) check, right before [types count].  In Obj-C
8840          messaging nil will return 0 (size of a pointer), so it's safe to message nil
8841          here and expect it to return 0.
8842
88432009-05-18  David Levin  <levin@chromium.org>
8844
8845        Reviewed by Darin Fisher.
8846
8847        Bug 25859: Need to upstream ScriptController.* for v8.
8848        https://bugs.webkit.org/show_bug.cgi?id=25859
8849
8850        * bindings/v8/ScriptController.cpp: Added.
8851        * bindings/v8/ScriptController.h: Added.
8852
88532009-05-18  Yichao Yin  <yichao.yin@torchmobile.com.cn>
8854
8855        Reviewed by George Staikos.
8856
8857        Change ScriptElement to support XHTMLMP in a better way
8858        https://bugs.webkit.org/show_bug.cgi?id=23452
8859
8860        * dom/ScriptElement.h:
8861        * html/HTMLScriptElement.h:
8862        * svg/SVGScriptElement.h:
8863        (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
8864
88652009-05-18  Kevin Ollivier  <kevino@theolliviers.com>
8866
8867        wx build fix, finish up changes after the accessibility dir split.
8868
8869        * webcore-base.bkl:
8870
88712009-05-18  Yichao Yin  <yichao.yin@torchmobile.com.cn>
8872
8873        Reviewed by George Staikos (and others).
8874
8875        Add XHTMLMP support to Webkit
8876        https://bugs.webkit.org/show_bug.cgi?id=23452
8877        XHTMLMP is a strict subset of XHTML 1.1. It extends XHTML Basic and add enhanced
8878        functionality. Most of the functionalities have already been implemented by Webkit.
8879        
8880        The changes include:
8881        1) Adding <noscript> support
8882        2) Document conformance validation
8883        3) User Agent conformance validation
8884 
8885        refer to the specification: OMA-WAP-XHTMLMP-V1_1-20061020-A.pdf
8886
8887        Tests: fast/xhtmlmp/check-doctype-declaration.xhtml
8888               fast/xhtmlmp/check-rootelement.xhtml
8889               fast/xhtmlmp/noscript-in-multiscripts.xhtml
8890               fast/xhtmlmp/noscript-nested.xhtml
8891               fast/xhtmlmp/noscript.xhtml
8892
8893        * dom/DOMImplementation.cpp:
8894        (WebCore::DOMImplementation::createDocument):
8895        * dom/Document.cpp:
8896        (WebCore::Document::Document):
8897        (WebCore::Document::isXHTMLMPDocument):
8898        * dom/Document.h:
8899        (WebCore::Document::shouldProcessNoscriptElement):
8900        (WebCore::Document::setShouldProcessNoscriptElement):
8901        * dom/Node.cpp:
8902        (WebCore::Node::createRendererIfNeeded):
8903        * dom/Node.h:
8904        * dom/XMLTokenizer.h:
8905        (WebCore::XMLTokenizer::setIsXHTMLMPDocument):
8906        (WebCore::XMLTokenizer::isXHTMLMPDocument):
8907        * dom/XMLTokenizerLibxml2.cpp:
8908        (WebCore::XMLTokenizer::XMLTokenizer):
8909        (WebCore::XMLTokenizer::startElementNs):
8910        (WebCore::XMLTokenizer::endElementNs):
8911        (WebCore::XMLTokenizer::endDocument):
8912        (WebCore::XMLTokenizer::internalSubset):
8913        (WebCore::getEntityHandler):
8914        (WebCore::externalSubsetHandler):
8915        * dom/XMLTokenizerQt.cpp:
8916        (WebCore::XMLTokenizer::XMLTokenizer):
8917        (WebCore::XMLTokenizer::parse):
8918        (WebCore::XMLTokenizer::parseStartElement):
8919        (WebCore::XMLTokenizer::parseEndElement):
8920        (WebCore::):
8921        * dom/make_names.pl:
8922        * html/HTMLElement.cpp:
8923        (WebCore::HTMLElement::rendererIsNeeded):
8924        * html/HTMLNoScriptElement.cpp: Added.
8925        (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
8926        (WebCore::HTMLNoScriptElement::~HTMLNoScriptElement):
8927        (WebCore::HTMLNoScriptElement::checkDTD):
8928        (WebCore::HTMLNoScriptElement::attach):
8929        (WebCore::HTMLNoScriptElement::recalcStyle):
8930        (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
8931        (WebCore::HTMLNoScriptElement::styleForRenderer):
8932        * html/HTMLNoScriptElement.h: Added.
8933        (WebCore::HTMLNoScriptElement::rendererIsNeeded):
8934        * html/HTMLParser.cpp:
8935        (WebCore::HTMLParser::getNode):
8936        (WebCore::HTMLParser::isInline):
8937        * html/HTMLTagNames.in:
8938        * html/HTMLTokenizer.cpp:
8939        (WebCore::HTMLTokenizer::scriptHandler):
8940        (WebCore::HTMLTokenizer::notifyFinished):
8941        * loader/FrameLoader.cpp:
8942        (WebCore::FrameLoader::addExtraFieldsToRequest):
8943        * platform/MIMETypeRegistry.cpp:
8944        (WebCore::initializeSupportedNonImageMimeTypes):
8945
89462009-05-18  Mark Rowe  <mrowe@apple.com>
8947
8948        Fix the build.
8949
8950        * WebCore.xcodeproj/project.pbxproj:
8951
89522009-05-18  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
8953
8954        Rubber-stamped by Gustavo Noronha.
8955
8956        Fixed build for the Qt port by adding the WebCore/accessibility
8957        directory to the includepath.
8958
8959        * WebCore.pro:
8960
89612009-05-18  Chris Fleizach  <cfleizach@apple.com>
8962
8963        Bug 25776: accessibility should have its own folder in WebCore project
8964        https://bugs.webkit.org/show_bug.cgi?id=25776
8965   
8966        Speculative fix for windows build failure.
8967
8968        * WebCore.vcproj/WebCoreCommon.vsprops:
8969
89702009-05-18  David Kilzer  <ddkilzer@apple.com>
8971
8972        Bug 20652: WebKit doesn't display favicons with MIME type image/vnd.microsoft.icon
8973
8974        <https://bugs.webkit.org/show_bug.cgi?id=20652>
8975
8976        Reviewed by Darin Adler.
8977
8978        Test: http/tests/misc/favicon-as-image.html
8979
8980        * inspector/front-end/inspector.js: Added
8981        image/vnd.microsoft.icon to WebInspector.MIMETypes.
8982        * platform/MIMETypeRegistry.cpp:
8983        (WebCore::initializeSupportedImageMIMETypes): Added
8984        image/vnd.microsoft.icon to list of supported image and image
8985        resource MIME types.
8986
89872009-05-18  Chris Fleizach  <cfleizach@apple.com>
8988
8989        Reviewed by Sam Weinig.
8990
8991        Bug 25776: accessibility should have its own folder in WebCore project
8992        https://bugs.webkit.org/show_bug.cgi?id=25776
8993
8994        * GNUmakefile.am:
8995        * WebCore.pro:
8996        * WebCore.vcproj/WebCore.vcproj:
8997        * WebCore.xcodeproj/project.pbxproj:
8998        * WebCoreSources.bkl:
8999        * accessibility: Added.
9000        * accessibility/AXObjectCache.cpp: Copied from WebCore/page/AXObjectCache.cpp.
9001        * accessibility/AXObjectCache.h: Copied from WebCore/page/AXObjectCache.h.
9002        * accessibility/AccessibilityAriaGrid.cpp: Copied from WebCore/page/AccessibilityAriaGrid.cpp.
9003        * accessibility/AccessibilityAriaGrid.h: Copied from WebCore/page/AccessibilityAriaGrid.h.
9004        * accessibility/AccessibilityAriaGridCell.cpp: Copied from WebCore/page/AccessibilityAriaGridCell.cpp.
9005        * accessibility/AccessibilityAriaGridCell.h: Copied from WebCore/page/AccessibilityAriaGridCell.h.
9006        * accessibility/AccessibilityAriaGridRow.cpp: Copied from WebCore/page/AccessibilityAriaGridRow.cpp.
9007        * accessibility/AccessibilityAriaGridRow.h: Copied from WebCore/page/AccessibilityAriaGridRow.h.
9008        * accessibility/AccessibilityImageMapLink.cpp: Copied from WebCore/page/AccessibilityImageMapLink.cpp.
9009        * accessibility/AccessibilityImageMapLink.h: Copied from WebCore/page/AccessibilityImageMapLink.h.
9010        * accessibility/AccessibilityList.cpp: Copied from WebCore/page/AccessibilityList.cpp.
9011        * accessibility/AccessibilityList.h: Copied from WebCore/page/AccessibilityList.h.
9012        * accessibility/AccessibilityListBox.cpp: Copied from WebCore/page/AccessibilityListBox.cpp.
9013        * accessibility/AccessibilityListBox.h: Copied from WebCore/page/AccessibilityListBox.h.
9014        * accessibility/AccessibilityListBoxOption.cpp: Copied from WebCore/page/AccessibilityListBoxOption.cpp.
9015        * accessibility/AccessibilityListBoxOption.h: Copied from WebCore/page/AccessibilityListBoxOption.h.
9016        * accessibility/AccessibilityObject.cpp: Copied from WebCore/page/AccessibilityObject.cpp.
9017        * accessibility/AccessibilityObject.h: Copied from WebCore/page/AccessibilityObject.h.
9018        * accessibility/AccessibilityRenderObject.cpp: Copied from WebCore/page/AccessibilityRenderObject.cpp.
9019        * accessibility/AccessibilityRenderObject.h: Copied from WebCore/page/AccessibilityRenderObject.h.
9020        * accessibility/AccessibilityTable.cpp: Copied from WebCore/page/AccessibilityTable.cpp.
9021        * accessibility/AccessibilityTable.h: Copied from WebCore/page/AccessibilityTable.h.
9022        * accessibility/AccessibilityTableCell.cpp: Copied from WebCore/page/AccessibilityTableCell.cpp.
9023        * accessibility/AccessibilityTableCell.h: Copied from WebCore/page/AccessibilityTableCell.h.
9024        * accessibility/AccessibilityTableColumn.cpp: Copied from WebCore/page/AccessibilityTableColumn.cpp.
9025        * accessibility/AccessibilityTableColumn.h: Copied from WebCore/page/AccessibilityTableColumn.h.
9026        * accessibility/AccessibilityTableHeaderContainer.cpp: Copied from WebCore/page/AccessibilityTableHeaderContainer.cpp.
9027        * accessibility/AccessibilityTableHeaderContainer.h: Copied from WebCore/page/AccessibilityTableHeaderContainer.h.
9028        * accessibility/AccessibilityTableRow.cpp: Copied from WebCore/page/AccessibilityTableRow.cpp.
9029        * accessibility/AccessibilityTableRow.h: Copied from WebCore/page/AccessibilityTableRow.h.
9030        * accessibility/chromium: Added.
9031        * accessibility/chromium/AXObjectCacheChromium.cpp: Copied from WebCore/page/chromium/AXObjectCacheChromium.cpp.
9032        * accessibility/chromium/AccessibilityObjectChromium.cpp: Copied from WebCore/page/chromium/AccessibilityObjectChromium.cpp.
9033        * accessibility/chromium/AccessibilityObjectWrapper.h: Copied from WebCore/page/chromium/AccessibilityObjectWrapper.h.
9034        * accessibility/gtk: Added.
9035        * accessibility/gtk/AXObjectCacheAtk.cpp: Copied from WebCore/page/gtk/AXObjectCacheAtk.cpp.
9036        * accessibility/gtk/AccessibilityObjectAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectAtk.cpp.
9037        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.cpp.
9038        * accessibility/gtk/AccessibilityObjectWrapperAtk.h: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.h.
9039        * accessibility/mac: Added.
9040        * accessibility/mac/AXObjectCacheMac.mm: Copied from WebCore/page/mac/AXObjectCacheMac.mm.
9041        * accessibility/mac/AccessibilityObjectMac.mm: Copied from WebCore/page/mac/AccessibilityObjectMac.mm.
9042        * accessibility/mac/AccessibilityObjectWrapper.h: Copied from WebCore/page/mac/AccessibilityObjectWrapper.h.
9043        * accessibility/mac/AccessibilityObjectWrapper.mm: Copied from WebCore/page/mac/AccessibilityObjectWrapper.mm.
9044        * accessibility/qt: Added.
9045        * accessibility/qt/AccessibilityObjectQt.cpp: Copied from WebCore/page/qt/AccessibilityObjectQt.cpp.
9046        * accessibility/win: Added.
9047        * accessibility/win/AXObjectCacheWin.cpp: Copied from WebCore/page/win/AXObjectCacheWin.cpp.
9048        * accessibility/win/AccessibilityObjectWin.cpp: Copied from WebCore/page/win/AccessibilityObjectWin.cpp.
9049        * accessibility/win/AccessibilityObjectWrapperWin.h: Copied from WebCore/page/win/AccessibilityObjectWrapperWin.h.
9050        * accessibility/wx: Added.
9051        * accessibility/wx/AccessibilityObjectWx.cpp: Copied from WebCore/page/wx/AccessibilityObjectWx.cpp.
9052        * page/AXObjectCache.cpp: Removed.
9053        * page/AXObjectCache.h: Removed.
9054        * page/AccessibilityAriaGrid.cpp: Removed.
9055        * page/AccessibilityAriaGrid.h: Removed.
9056        * page/AccessibilityAriaGridCell.cpp: Removed.
9057        * page/AccessibilityAriaGridCell.h: Removed.
9058        * page/AccessibilityAriaGridRow.cpp: Removed.
9059        * page/AccessibilityAriaGridRow.h: Removed.
9060        * page/AccessibilityImageMapLink.cpp: Removed.
9061        * page/AccessibilityImageMapLink.h: Removed.
9062        * page/AccessibilityList.cpp: Removed.
9063        * page/AccessibilityList.h: Removed.
9064        * page/AccessibilityListBox.cpp: Removed.
9065        * page/AccessibilityListBox.h: Removed.
9066        * page/AccessibilityListBoxOption.cpp: Removed.
9067        * page/AccessibilityListBoxOption.h: Removed.
9068        * page/AccessibilityObject.cpp: Removed.
9069        * page/AccessibilityObject.h: Removed.
9070        * page/AccessibilityRenderObject.cpp: Removed.
9071        * page/AccessibilityRenderObject.h: Removed.
9072        * page/AccessibilityTable.cpp: Removed.
9073        * page/AccessibilityTable.h: Removed.
9074        * page/AccessibilityTableCell.cpp: Removed.
9075        * page/AccessibilityTableCell.h: Removed.
9076        * page/AccessibilityTableColumn.cpp: Removed.
9077        * page/AccessibilityTableColumn.h: Removed.
9078        * page/AccessibilityTableHeaderContainer.cpp: Removed.
9079        * page/AccessibilityTableHeaderContainer.h: Removed.
9080        * page/AccessibilityTableRow.cpp: Removed.
9081        * page/AccessibilityTableRow.h: Removed.
9082        * page/chromium/AXObjectCacheChromium.cpp: Removed.
9083        * page/chromium/AccessibilityObjectChromium.cpp: Removed.
9084        * page/chromium/AccessibilityObjectWrapper.h: Removed.
9085        * page/gtk/AXObjectCacheAtk.cpp: Removed.
9086        * page/gtk/AccessibilityObjectAtk.cpp: Removed.
9087        * page/gtk/AccessibilityObjectWrapperAtk.cpp: Removed.
9088        * page/gtk/AccessibilityObjectWrapperAtk.h: Removed.
9089        * page/mac/AXObjectCacheMac.mm: Removed.
9090        * page/mac/AccessibilityObjectMac.mm: Removed.
9091        * page/mac/AccessibilityObjectWrapper.h: Removed.
9092        * page/mac/AccessibilityObjectWrapper.mm: Removed.
9093        * page/qt/AccessibilityObjectQt.cpp: Removed.
9094        * page/win/AXObjectCacheWin.cpp: Removed.
9095        * page/win/AccessibilityObjectWin.cpp: Removed.
9096        * page/win/AccessibilityObjectWrapperWin.h: Removed.
9097        * page/wx/AccessibilityObjectWx.cpp: Removed.
9098
90992009-05-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
9100
9101        Reviewed by Jan Alonzo.
9102
9103        https://bugs.webkit.org/show_bug.cgi?id=25854
9104        [GTK] Should tell servers we only support identity as content encoding
9105
9106        Let servers know we only support identity as content
9107        encoding. We will implement this in libsoup.
9108
9109        * platform/network/soup/ResourceHandleSoup.cpp:
9110        (WebCore::ResourceHandle::startHttp):
9111
91122009-05-18  Alexey Proskuryakov  <ap@webkit.org>
9113
9114        Reviewed by Darin Adler.
9115
9116        <rdar://problem/6881160> REGRESSION (r41425): Unable to create battle.net account due to
9117        CAPTCHA failure.
9118
9119        The problem was that after loading and displaying a CAPTCHA image, it was loaded from
9120        the server again due to preloading. So, the server expected the last loaded (invisible)
9121        CAPTCHA text to be typed and posted back.
9122
9123        I don't know how to make tests for preloading.
9124
9125        * loader/DocLoader.cpp: (WebCore::DocLoader::checkForPendingPreloads): There is never a reason
9126        to preload after loading for real - and if cache policy is CachePolicyReload, that actually
9127        results in another load from network layer.
9128
9129        * loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePolicy): It's not good for cachePolicy()
9130        to lie, but I don't know how to re-do r41425 properly. Added a FIXME.
9131
91322009-05-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
9133
9134        Reviewed by Simon Hausmann.
9135
9136        Done together with Balazs Kelemen  <kelemen.balazs@stud.u-szeged.hu>.
9137
9138        https://bugs.webkit.org/show_bug.cgi?id=24551
9139
9140        [Qt] Reuse FontPlatformData for the same FontDescription.
9141        This effectively prevents growing heap usage for loading every web page.
9142
9143        * platform/graphics/qt/FontCacheQt.cpp:
9144        (WebCore::qHash): Necessary for FontPlatformDataCache.
9145        (WebCore::FontCache::getCachedFontPlatformData): Reuse the instance if
9146        it exists, otherwise create a new one and insert it in the cache.
9147
91482009-05-18  Balazs Kelemen  <kelemen.balazs@stud.u-szeged.hu>
9149
9150        Reviewed by Ariya Hidayat.
9151
9152        https://bugs.webkit.org/show_bug.cgi?id=24551
9153
9154        [Qt] Fix the leak in FontFallbackList::fontDataAt() function.
9155        When creating a new instance of SimpleFontData, put it in the font list
9156        so that it can deleted later on.
9157
9158        * platform/graphics/qt/FontFallbackListQt.cpp:
9159        (WebCore::FontFallbackList::invalidate):
9160        (WebCore::FontFallbackList::releaseFontData):
9161        (WebCore::FontFallbackList::fontDataAt):
9162
91632009-05-15  Jan Michael Alonzo  <jmalonzo@webkit.org>
9164
9165         Reviewed by Xan Lopez.
9166
9167         [Gtk] Various autotools build refactoring and fixes
9168         https://bugs.webkit.org/show_bug.cgi?id=25286
9169
9170         Style fixes
9171
9172         * GNUmakefile.am:
9173
91742009-05-17  George Staikos  <george.staikos@torchmobile.com>
9175
9176        Not reviewed - build fix.
9177
9178        Fix typo: constr -> const.
9179
9180        * wml/WMLInputElement.h:
9181        (WebCore::WMLInputElement::setPlaceholder):
9182
91832009-05-17  Darin Adler  <darin@apple.com>
9184
9185        Fix done by Simon Fraser (reviewed by me).
9186
9187        <rdar://problem/6893775> Page with screen-only stylesheet with overflow and height
9188        transitions has bad layout and overlapping garbled text when printing
9189
9190        * manual-tests/print-with-height-transition-in-screen-stylesheet.html: Added.
9191
9192        * page/animation/AnimationController.cpp:
9193        (WebCore::AnimationController::updateAnimations): Don't run transitions when printing.
9194
91952009-05-17  Darin Adler  <darin@apple.com>
9196
9197        Reviewed by Simon Fraser.
9198
9199        <rdar://problem/6870241> REGRESSION: Programmatically selected popup menu item not shown
9200
9201        * html/HTMLSelectElement.cpp:
9202        (WebCore::HTMLSelectElement::setSelectedIndex): Added a call to updateFromElement and
9203        also a type check on the selected index to avoid a bad cast to HTMLOptionElement.
9204
9205        * manual-tests/select-option-in-onload.html: Added.
9206
92072009-05-17  Simon Fraser  <simon.fraser@apple.com>
9208
9209        Reviewed by Anders Carlsson
9210
9211        Rename local variables for readability.
9212        
9213        * rendering/RenderBoxModelObject.cpp:
9214        (WebCore::RenderBoxModelObject::paintBorder):
9215
92162009-05-17  Darin Adler  <darin@apple.com>
9217
9218        Reviewed by Mark Rowe.
9219
9220        Bug 25840: fix some warnings seen on the GTK bot
9221        https://bugs.webkit.org/show_bug.cgi?id=25840
9222
9223        * platform/ScrollView.cpp:
9224        (WebCore::ScrollView::platformScrollbarModes): Initialize results here.
9225        This is really just to quiet warnings. I think this code is unreachable.
9226        Someone could put ASSERT_NOT_REACHED() in here too at some point.
9227
9228        * plugins/PluginStream.cpp:
9229        (WebCore::PluginStream::startStream): Use proper printf format for int
9230        here, %d, not %lu. This could cause a real problem when compiled 64-bit,
9231        so it's good to fix.
9232
9233        * rendering/RenderTextControl.cpp:
9234        (WebCore::getNextSoftBreak): Initialize breakOffset to 0 here. This is
9235        really just to quiet the warning, but still seems like a good idea.
9236
92372009-05-17  Chris Fleizach  <cfleizach@apple.com>
9238
9239        Reviewed by Darin Adler.
9240
9241        Bug 25769: Fix accessibility warnings on GTK
9242        https://bugs.webkit.org/show_bug.cgi?id=25769
9243
9244        * page/AccessibilityTable.cpp:
9245        (WebCore::AccessibilityTable::columnCount): Get rid of excess const.
9246        (WebCore::AccessibilityTable::rowCount): Ditto.
9247        * page/AccessibilityTable.h: Ditto.
9248
92492009-05-17  Kai Brüning  <kai@granus.net>
9250
9251        Reviewed by Darin Adler.
9252
9253        bug 25822: DOM normalize does not remove empty text node between element nodes
9254        https://bugs.webkit.org/show_bug.cgi?id=25822
9255
9256        Test: fast/dom/Node/normalize.html
9257
9258        * dom/Node.cpp:
9259        (WebCore::Node::normalize): Changed to remove any empty text nodes.
9260
92612009-05-16  Dave Moore  <davemoore@google.com>
9262
9263        Reviewed by Darin Adler.
9264
9265        Allow Strings to be created with one malloc node with no copying
9266        https://bugs.webkit.org/show_bug.cgi?id=25779
9267
9268        Add new methods to String and StringImpl, refactoring existing
9269        methods in StringImpl to use new createUninitialized() method.
9270
9271        * platform/text/PlatformString.h:
9272        (WebCore::String::createUninitialized):
9273        * platform/text/StringImpl.cpp:
9274        (WebCore::StringImpl::createUninitialized):
9275        (WebCore::StringImpl::create):
9276        * platform/text/StringImpl.h:
9277
92782009-05-16  Mark Rowe  <mrowe@apple.com>
9279
9280        Reviewed by Darin Adler.
9281
9282        <rdar://problem/6827041> WebCore should stop throwing away the CGImageSourceRef to
9283        dramatically improve animated GIF decoding performance
9284
9285        Recent versions of ImageIO discard previously decoded image frames if the client
9286        application no longer holds references to them, so there's no need to throw away
9287        the decoder unless we're explicitly asked to destroy all of the frames.
9288
9289        This drops peak CPU usage when displaying <http://www.aintitcool.com/files/HoD2.gif>
9290        from over 90% to below 3%.
9291
9292        * platform/graphics/cg/ImageSourceCG.cpp:
9293        (WebCore::ImageSource::clear):
9294
92952009-05-16  Dan Bernstein  <mitz@apple.com>
9296
9297        Reviewed by Alexey Proskuryakov.
9298
9299        - fix <rdar://problem/6873305> Two distinct characters are not displayed
9300          correctly with 2 of the font selections from the stickies widget
9301
9302        Test: platform/mac/editing/pasteboard/text-precomposed.html
9303
9304        Ensure that "text/plain" data retrieved from the clipboard is always
9305        precomposed. This makes Clipboard::getData() and
9306        Pasteboard::documentFragment() consistent with Pasteboard::plainText()
9307        and -[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:].
9308
9309        * platform/mac/ClipboardMac.mm:
9310        (WebCore::ClipboardMac::getData):
9311        * platform/mac/PasteboardMac.mm:
9312        (WebCore::Pasteboard::documentFragment):
9313
93142009-05-16  Mark Rowe  <mrowe@apple.com>
9315
9316        Build fix.
9317
9318        * css/CSSComputedStyleDeclaration.cpp:
9319        (WebCore::valueForFamily): Declare valueForFamily as static.
9320
93212009-05-15  Darin Adler  <darin@apple.com>
9322
9323        Reviewed by Dan Bernstein.
9324
9325        <rdar://problem/6883872> REGRESSION (r43243): computed style for font-family is returning
9326        only the generic font, if any generic font is in the family list
9327
9328        Test: fast/css/getComputedStyle/computed-style-font-family.html
9329
9330        * css/CSSComputedStyleDeclaration.cpp:
9331        Sorted computedProperties alphabetically. Added CSSPropertyClip and CSSPropertyWordBreak.
9332        (WebCore::identifierForFamily): Added. Maps internal font family names to identifiers.
9333        (WebCore::valueForFamily): Added. Creates either an identifier or a string as appropriate.
9334        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implemented the font-family
9335        property as specified in the CSS standard. Fixed clip to return "auto" when there is no
9336        clip set instead of nothing at all. Gave inheritableProperties and numInheritableProperties
9337        internal linkage since there was no reason for them to have external linkage.
9338
93392009-05-15  Adam Barth  <abarth@webkit.org>
9340
9341        Reviewed by Oliver Hunt.
9342
9343        https://bugs.webkit.org/show_bug.cgi?id=25741
9344
9345        Append instead of throwing when insertItemBefore gets an out-of-bound
9346        index.
9347
9348        Test: svg/dom/svglist-insertItemBefore-appends.html
9349
9350        * svg/SVGList.h:
9351        (WebCore::SVGList::insertItemBefore):
9352
93532009-05-15  Simon Fraser  <simon.fraser@apple.com>
9354
9355        Reviewed by Darin Adler
9356        
9357        https://bugs.webkit.org/show_bug.cgi?id=25829
9358        
9359        Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset.
9360
9361        Test: fast/backgrounds/background-clip-text.html
9362
9363        * rendering/RenderBoxModelObject.cpp:
9364        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
9365
93662009-05-15  Dan Bernstein  <mitz@apple.com>
9367
9368        Reviewed by Sam Weinig.
9369
9370        - fix <rdar://problem/6888244> REGRESSION: Using the Up or Down keyboard
9371          arrows, I can't navigate caret between To Do items in a Note message
9372
9373        Test: editing/selection/move-by-line-004.html
9374
9375        * editing/visible_units.cpp:
9376        (WebCore::enclosingNodeWithNonInlineRenderer): Added this helper
9377        function.
9378        (WebCore::previousLinePosition): When advancing to the next candidate
9379        node, stop when leaving the closest ancestor of the original node that
9380        is not an inline. The code, incorrectly, was trying to exit the closest
9381        ancestor of that type which was editable, and therefore missing other
9382        blocks in the same editable root.
9383        (WebCore::nextLinePosition): Ditto.
9384
93852009-05-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
9386
9387        Reviewed by Jan Alonzo.
9388
9389        Converting filename to uri by concatenating strings is broken
9390        on Windows. So, don't do it for that platform.
9391
9392        * platform/network/soup/ResourceHandleSoup.cpp:
9393        (WebCore::ResourceHandle::startGio):
9394
93952009-05-15  Nate Chapin  <japhet@google.com>
9396
9397        Reviewed by Dimitri Glazkov.
9398
9399        Upstream V8 bindings for HTMLOptionsCollection and HTMLSelectElementCollection.
9400        https://bugs.webkit.org/show_bug.cgi?id=25739
9401
9402        * bindings/v8/V8Collection.cpp: Added.
9403        (WebCore::toOptionsCollectionSetter): Moved from v8_custom.cpp.
9404        * bindings/v8/V8Collection.h: Added prototype for toOptionsCollectionSetter().
9405        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
9406        (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp.
9407        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Added.
9408        (WebCore::NAMED_PROPERTY_GETTER):  Moved from v8_custom.cpp.
9409        (WebCore::INDEXED_PROPERTY_SETTER):  Moved from v8_custom.cpp.
9410
94112009-05-15  David Kilzer  <ddkilzer@apple.com>
9412
9413        <rdar://problem/6649936> Add *.exp export files to WebCore Xcode project
9414
9415        Reviewed by Darin Adler and Timothy Hatcher.
9416
9417        * WebCore.xcodeproj/project.pbxproj: Added Exports group, moved
9418        WebCore.base.exp into the group, and added 10 other *.exp files
9419        in WebCore.
9420
94212009-05-15  Dimitri Glazkov  <dglazkov@chromium.org>
9422
9423        Unreviewed, build fix.
9424
9425        https://bugs.webkit.org/show_bug.cgi?id=25826
9426        Change type to only have custom getter in JCS.
9427
9428        * html/HTMLInputElement.idl: Changed CustomGetter attribute to JSCCustomGetter.
9429
94302009-05-15  Antti Koivisto  <antti@apple.com>
9431
9432        Reviewed by Dave Kilzer.
9433
9434        Add a settings entry to en/disable web font support
9435        https://bugs.webkit.org/show_bug.cgi?id=25239
9436
9437        * css/CSSFontSelector.cpp:
9438        (WebCore::CSSFontSelector::addFontFaceRule):
9439
94402009-05-15  Sam Weinig  <sam@webkit.org>
9441
9442        Reviewed by Steve Falkenburg.
9443
9444        Remove dead youtube site specific hack that was commented out.
9445
9446        * bindings/js/JSNavigatorCustom.cpp:
9447        * page/Navigator.idl:
9448
94492009-05-15  Sam Weinig  <sam@webkit.org>
9450
9451        Reviewed by Beth Dakin.
9452
9453        Fix for https://bugs.webkit.org/show_bug.cgi?id=25826
9454        <rdar://problem/6884742> 
9455        REGRESSION: In Gmail's Edit Link dialog, I can't type in the Link To: field (due to <input type=url> support)
9456
9457        Added a site specific quirk for mail.google.com which returns "text" when getting the type of an <input type=url>
9458
9459        * bindings/js/JSHTMLInputElementCustom.cpp:
9460        (WebCore::needsGmailQuirk):
9461        (WebCore::JSHTMLInputElement::type):
9462        * html/HTMLInputElement.idl:
9463
94642009-05-14  Dimitri Glazkov  <dglazkov@chromium.org>
9465
9466        Reviewed by Eric Seidel.
9467
9468        https://bugs.webkit.org/show_bug.cgi?id=25810
9469        Upstream V8 DOM Wrapper map declarations.
9470
9471        No behavior change, so no tests.
9472
9473        * bindings/v8/V8DOMMap.h:
9474        (WebCore::WeakReferenceMap::WeakReferenceMap): Added.
9475        (WebCore::WeakReferenceMap::~WeakReferenceMap): Added.
9476        (WebCore::WeakReferenceMap::get): Added.
9477        (WebCore::WeakReferenceMap::set): Added.
9478        (WebCore::WeakReferenceMap::forget): Added.
9479        (WebCore::WeakReferenceMap::contains): Added.
9480        (WebCore::WeakReferenceMap::impl): Added.
9481        (WebCore::DOMWrapperMap::DOMWrapperMap): Added.
9482
94832009-05-15  Simon Fraser  <simon.fraser@apple.com>
9484
9485        Reviewed by Dave Hyatt
9486        
9487        https://bugs.webkit.org/show_bug.cgi?id=25773
9488        
9489        Rename GraphicsLayer::graphicsContextsFlipped() to 
9490        GraphicsLayer::compositingCoordinatesOrientation() in order to clarify the usage.
9491
9492        Clean up code around the GraphicsLayer "contents" layer that makes use of this
9493        flag, by removing the setHasContentsLayer() method, and just using setContentsLayer(),
9494        which can then always do the flipping if necessary.
9495
9496        Only affects ACCELERATED_COMPOSITING builds.
9497        
9498        * platform/graphics/GraphicsLayer.h:
9499        (WebCore::GraphicsLayer::):
9500        * platform/graphics/mac/GraphicsLayerCA.h:
9501        (WebCore::GraphicsLayerCA::contentsLayer):
9502        * platform/graphics/mac/GraphicsLayerCA.mm:
9503        (WebCore::GraphicsLayer::compositingCoordinatesOrientation):
9504        (WebCore::GraphicsLayerCA::setBackgroundColor):
9505        (WebCore::GraphicsLayerCA::clearBackgroundColor):
9506        (WebCore::GraphicsLayerCA::setContentsToImage):
9507        (WebCore::GraphicsLayerCA::clearContents):
9508        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
9509        (WebCore::GraphicsLayerCA::setContentsLayer):
9510        * rendering/RenderLayerCompositor.cpp:
9511        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
9512
95132009-05-15  Chris Marrin  <cmarrin@apple.com>
9514
9515        Reviewed by Simon Fraser.
9516
9517        https://bugs.webkit.org/show_bug.cgi?id=25765
9518
9519        Avoid calling setNeedsStyleRecalc() when we are
9520        putting an animated page in the cache. This avoids
9521        the assert and subsequent problems with a dirty 
9522        page going into the cache.
9523
9524        * page/animation/KeyframeAnimation.cpp:
9525        (WebCore::KeyframeAnimation::endAnimation):
9526
95272009-05-15  Francisco Tolmasky  <francisco@280north.com>
9528
9529        BUG 25467: JavaScript debugger should use function.displayName as the function's name in the call stack
9530        <https://bugs.webkit.org/show_bug.cgi?id=25467>
9531        
9532        Reviewed by Adam Roben.
9533
9534        * inspector/JavaScriptCallFrame.cpp:
9535        (WebCore::JavaScriptCallFrame::functionName): Use calculatedFunctionName which takes into account displayName
9536        * inspector/front-end/CallStackSidebarPane.js: Remove "|| anonymous function" since it is handled internally just like in profiles
9537        (WebInspector.CallStackSidebarPane.prototype.update):
9538
95392009-05-15  Alexey Proskuryakov  <ap@webkit.org>
9540
9541        Windows build fix (and a matching Mac change, to avoid unnecessarily diverging the implementations).
9542
9543        * platform/network/cf/ResourceHandleCFNet.cpp:
9544        (WebCore::ResourceHandle::start):
9545        * platform/network/mac/ResourceHandleMac.mm:
9546        (WebCore::ResourceHandle::start):
9547        Check strings with isEmpty(), not relying on any implicit conversions.
9548
95492009-05-15  Alexey Proskuryakov  <ap@webkit.org>
9550
9551        Reviewed by Darin Adler, Brady Eidson and Eric Carlson.
9552
9553        <rdar://problem/6875643> REGRESSION: Unable to download file with FTP URL that includes
9554        username and password (Lightwave 9.6 for Mac from Newtek site)
9555
9556        CFNetwork only invokes didReceiveAuthenticationChallenge for HTTP requests. Credentials
9557        for other protocols (including FTP) should be included as part of the URL.
9558
9559        * platform/network/cf/ResourceHandleCFNet.cpp:
9560        (WebCore::ResourceHandle::start):
9561        (WebCore::WebCoreSynchronousLoader::load):
9562        * platform/network/mac/ResourceHandleMac.mm:
9563        (WebCore::ResourceHandle::start):
9564        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
9565        Put credentials in URL for non-HTTP requests.
9566
9567        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
9568        Bail out quickly if the URL is non-HTTP. Cross-origin requests require specific HTTP
9569        headers to be received, so they cannot work with other protocols.
9570
95712009-05-15  Ariya Hidayat  <ariya.hidayat@nokia.com>
9572
9573        Reviewed by Holger Freyther.
9574
9575        [Qt] In the image decoder, remove the raw image data represented as QImage
9576        once the image is converted to QPixmap and inserted in the pixmap cache.
9577        This effectively reduces the heap usage when running on graphics system
9578        other than raster (i.e the case where QImage != QPixmap).
9579
9580        * platform/graphics/qt/ImageDecoderQt.cpp:
9581        (WebCore::ImageDecoderQt::imageAtIndex): Nullified the image on purpose.
9582        * platform/graphics/qt/ImageDecoderQt.h: Made m_imageList mutable.
9583
95842009-05-15  Ariya Hidayat  <ariya.hidayat@nokia.com>
9585
9586        Reviewed by Holger Freyther.
9587
9588        [Qt] Refactor alpha channel detection the image decoder.
9589        Sets the boolean flag as soon as the image is being read.
9590
9591        * platform/graphics/qt/ImageDecoderQt.cpp:
9592        (WebCore::ImageDecoderQt::ImageDecoderQt): Initialized m_hasAlphaChannel.
9593        (WebCore::ImageDecoderQt::setData): Set the flag when appropriate.
9594        (WebCore::ImageDecoderQt::supportsAlpha): Simplified.
9595        (WebCore::ImageDecoderQt::reset): Resetted the flag.
9596        * platform/graphics/qt/ImageDecoderQt.h: Added m_hasAlphaChannel.
9597
95982009-05-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9599
9600        Reviewed by Darin Adler.
9601
9602        Finish support for disabling the JavaScript Debugger and Profiler 
9603        at compile time in WebCore
9604        https://bugs.webkit.org/show_bug.cgi?id=24917
9605
9606        * bindings/js/JSInspectorControllerCustom.cpp: ENABLE_JAVASCRIPT_DEBUGGER guard
9607        * bindings/js/JSJavaScriptCallFrameCustom.cpp: Ditto.
9608        * inspector/JavaScriptCallFrame.cpp: Ditto.
9609        * inspector/JavaScriptCallFrame.h: Ditto.
9610        * inspector/JavaScriptCallFrame.idl: Ditto.
9611        * inspector/JavaScriptDebugListener.h: Ditto.
9612        * inspector/JavaScriptDebugServer.cpp: Ditto.
9613        * inspector/JavaScriptDebugServer.h: Ditto.
9614        * inspector/JavaScriptProfile.cpp: Ditto.
9615        * inspector/JavaScriptProfile.h: Ditto.
9616        * inspector/JavaScriptProfileNode.cpp: Ditto.
9617        * inspector/JavaScriptProfileNode.h: Ditto.
9618        * page/Console.cpp: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of USE(JSC)
9619        * page/Console.h: Ditto.
9620        * page/Console.idl: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of !defined(V8_BINDING)
9621
96222009-05-15  Jungshik Shin  <jshin@chromium.org>
9623
9624        Reviewed by Dimitri Glazkov
9625
9626        http://bugs.webkit.org/show_bug.cgi?id=25464
9627
9628        Improve the font fallback for characters belonging to 'common' scripts
9629        in ChromiumWin port. Make characters like Danda, Double Danda (punctuation
9630        marks in North Indian scripts) and currency signs (e.g. Thai Baht)
9631        rendered correctly in Chromium on Win. 
9632
9633        Tests: fast/text/international/danda-space.html
9634               fast/text/international/thai-baht-space.html
9635
9636        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
9637        (WebCore::FontMap::getScriptBasedOnUnicodeBlock):
9638        (WebCore::FontMap::getScript):
9639        (WebCore::getFallbackFamily):
9640
96412009-05-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9642
9643        Reviewed by Holger Freyther.
9644
9645        https://bugs.webkit.org/show_bug.cgi?id=25731
9646        [Qt] Cleanup - move files exclusive to XPATH and XSLT under the
9647        appropriate build section
9648
9649        * WebCore.pro:
9650
96512009-05-14  Evan Martin  <evan@chromium.org>
9652
9653        Reviewed by Eric Seidel and Darin Fisher.
9654
9655        Fix a font-related leak in Chromium's Skia backend found by Valgrind.
9656        https://bugs.webkit.org/show_bug.cgi?id=25760
9657
9658        * platform/graphics/chromium/FontCacheLinux.cpp:
9659        (WebCore::FontCache::getFontDataForCharacters):
9660        Use caches instead of "new" on every call.
9661
96622009-05-14  Rahul Kuchhal  <kuchhal@chromium.org>
9663
9664        Reviewed by Eric Seidel.
9665
9666        Initialize m_spreadMethod in the second constructor too. Not sure if
9667        a test case can be written, so no test case.
9668        https://bugs.webkit.org/show_bug.cgi?id=25814
9669
9670        No test possible: spreadMethod() is only used by SVG, doesn't seem possible to hit
9671        this case, since several other SVG tests already should be calling
9672        spreadMethod().
9673
9674        * platform/graphics/Gradient.cpp:
9675        (WebCore::Gradient::Gradient):
9676
96772009-05-14  Simon Fraser  <simon.fraser@apple.com>
9678
9679        No review.
9680
9681        Fix Windows build after renaming MediaControlElements to MediaControlElementType.
9682
9683        * rendering/RenderMediaControls.cpp:
9684        (WebCore::RenderMediaControls::paintMediaControlsPart):
9685        * rendering/RenderMediaControls.h:
9686
96872009-05-14  Simon Fraser  <simon.fraser@apple.com>
9688
9689        Reviewed by Darin Adler
9690        
9691        <rdar://problem/6739671> Movie controller’s play button does not change into a pause
9692        button
9693
9694        Fix a controls repaint issue when the playing state of a video changes by
9695        educating the MediaControlInputElements about the state they are currently
9696        displaying, and making them repaint when that state changes. This applies
9697        to the play/pause and mute/unmute buttons, which both have two states.
9698        
9699        * rendering/MediaControlElements.cpp:
9700        (WebCore::MediaControlInputElement::MediaControlInputElement):
9701        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
9702        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
9703        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
9704        Pass in and initialize the MediaControlElementType.
9705        
9706        (WebCore::MediaControlInputElement::update):
9707        Update the display type too
9708        
9709        (WebCore::MediaControlInputElement::setDisplayType):
9710        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
9711        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
9712        Choose muted vs. unmuted display.
9713        
9714        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
9715        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
9716        Choose play vs. paused display.
9717
9718        * rendering/MediaControlElements.h:
9719        Renamed the MediaControlElements enum to MediaControlElementType.
9720        (WebCore::MediaControlInputElement::updateDisplayType):
9721        Add a MediaControlElementType member variable with a setter to allow
9722        the element to know what type it is displaying.
9723
97242009-05-14  Dean Jackson  <dino@apple.com>
9725
9726        Reviewed by Simon Fraser.
9727
9728        https://bugs.webkit.org/show_bug.cgi?id=25197
9729
9730        Add support for aspect-ratio and orientation
9731        media queries.
9732
9733        Tests: fast/media/mq-aspect-ratio.html
9734               fast/media/mq-orientation.html
9735
9736        * css/MediaFeatureNames.h:
9737        * css/MediaQueryEvaluator.cpp:
9738        (WebCore::orientationMediaFeatureEval):
9739        (WebCore::aspect_ratioMediaFeatureEval):
9740        (WebCore::min_aspect_ratioMediaFeatureEval):
9741        (WebCore::max_aspect_ratioMediaFeatureEval):
9742        * css/MediaQueryExp.h:
9743        (WebCore::MediaQueryExp::isViewportDependent):
9744
97452009-05-14  Kevin McCullough  <kmccullough@apple.com>
9746
9747        - Resubmitting previous patch, correctly this time.
9748
9749        * editing/CompositeEditCommand.cpp:
9750        (WebCore::CompositeEditCommand::splitTreeToNode):
9751        * editing/IndentOutdentCommand.cpp:
9752        (WebCore::IndentOutdentCommand::outdentParagraph):
9753
97542009-05-14  Kevin McCullough  <kmccullough@apple.com>
9755
9756        - Rolling out to fix a bug and the build
9757
9758        * editing/CompositeEditCommand.cpp:
9759        (WebCore::CompositeEditCommand::splitTreeToNode):
9760        * editing/IndentOutdentCommand.cpp:
9761        (WebCore::IndentOutdentCommand::outdentParagraph):
9762
97632009-05-14  Kevin McCullough  <kmccullough@apple.com>
9764
9765        Reviewed by Dan Bernstein.
9766
9767        <rdar://problem/6510362> In some situations message content is messed up
9768        when indentation is decreased
9769
9770        * editing/CompositeEditCommand.cpp:
9771        (WebCore::CompositeEditCommand::splitTreeToNode): Calling recursively
9772        here served to do nothing because this function will return if the
9773        second argument is the parent of the first.  Not only does this now work
9774        as intended, but is necessary for the rest of this fix.
9775        * editing/IndentOutdentCommand.cpp:
9776        (WebCore::IndentOutdentCommand::outdentParagraph): To determine if we 
9777        are the last node in a <blockquote>, and can therefore remove the
9778        <blockquote> we need the endOfEnclosingBlock to extend to the end of
9779        the <blockquote> not just the next block, which could be a <div>, for
9780        example. 
9781        - Also If a <blockquote> is removed, but it's the child of another
9782        <blockquote> then its children are now children of the top <blockquote>.
9783        In this case we want to split the parent <blockquote> because the next
9784        paragraph assumes that it is the first node in its <blockquote> and if
9785        that is not true, various bugs arise.
9786
97872009-05-14  Brady Eidson  <beidson@apple.com>
9788
9789        Build fix.
9790
9791        * platform/network/cf/ResourceHandleCFNet.cpp:
9792        (WebCore::setDefaultMIMEType):
9793
97942009-05-14  Brady Eidson  <beidson@apple.com>
9795
9796        Reviewed by Adam Roben.
9797
9798        Fix http/tests/xmlhttprequest/cache-override.html on Windows
9799
9800        * platform/network/cf/ResourceHandleCFNet.cpp:
9801        (WebCore::setDefaultMIMEType): Modify the previous response so it maintains all of its data.
9802        (WebCore::didReceiveResponse): Call setDefaultMIMEType() when needed.
9803        (WebCore::WebCoreSynchronousLoader::load): Ditto.
9804
98052009-05-14  Paul Godavari  <paul@chromium.org>
9806
9807        Reviewed by Dimitri Glazkov.
9808
9809        Bug: Mac Chromium popup menus are not positioned correctly
9810        on scrolled pages:
9811        https://bugs.webkit.org/show_bug.cgi?id=25772
9812
9813        Fix Mac Chromium popup menu placement by taking into
9814        account any scrolling in the current window. This mirrors
9815        the positioning done in PopupContainer::show(), which is
9816        used on Chromium Windows and linux.
9817
9818        Also fixed indenting for this method.
9819
9820        * platform/chromium/PopupMenuChromium.cpp:
9821        (WebCore::PopupContainer::showExternal):
9822
98232009-05-14  Drew Wilson  <atwilson@google.com>
9824
9825        Reviewed by Dimitri Glazkov.
9826
9827        https://bugs.webkit.org/show_bug.cgi?id=25774
9828        Upstream V8MessagePortCustom.cpp from the chromium repository.
9829
9830        * bindings/v8/custom/V8MessagePortCustom.cpp: Added.
9831        (WebCore::ACCESSOR_GETTER):
9832        (WebCore::ACCESSOR_SETTER):
9833        (WebCore::CALLBACK_FUNC_DECL):
9834
98352009-05-14  Simon Fraser  <simon.fraser@apple.com>
9836
9837        Reviewed by Darin Adler
9838
9839        https://bugs.webkit.org/show_bug.cgi?id=25777
9840        
9841        StyleGeneratedImage::imageSize() needs to take zooming into account for
9842        fixed-size images (i.e. canvas) so that canvas-as-image-background
9843        renders correctly with zooming.
9844
9845        Test: fast/canvas/canvas-bg-zoom.html
9846
9847        * rendering/style/StyleGeneratedImage.cpp:
9848        (WebCore::StyleGeneratedImage::imageSize):
9849
98502009-05-14  Alexey Proskuryakov  <ap@webkit.org>
9851
9852        Reviewed by Darin Adler.
9853
9854        Patch originally by Darin Adler.
9855
9856        https://bugs.webkit.org/show_bug.cgi?id=25796
9857        <rdar://problem/6886654> Shouldn't set referer and origin in Loader::Host::servePendingRequests().
9858
9859        Test: http/tests/security/credentials-in-referer.html
9860
9861        * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): This will be done in
9862        SubresourceLoader::create() anyway.
9863
98642009-05-14  Chris Fleizach  <cfleizach@apple.com>
9865
9866        Reviewed by Darin Adler.
9867
9868        Bug 25797: Pages with image maps are not properly read with Voiceover
9869        https://bugs.webkit.org/show_bug.cgi?id=25797
9870
9871        * page/AccessibilityImageMapLink.h:
9872        (WebCore::AccessibilityImageMapLink::isEnabled):
9873
98742009-05-14  Brady Eidson  <beidson@apple.com>
9875
9876        Reviewed by Darin Adler.
9877
9878        <rdar://problem/6887762> and https://bugs.webkit.org/show_bug.cgi?id=25790 
9879
9880        Nuke the bogus ASSERT and add a legitimate ASSERT with a little help from a new accessor.
9881
9882        * platform/network/ResourceHandle.cpp:
9883        (WebCore::ResourceHandle::shouldContentSniff):
9884        * platform/network/ResourceHandle.h:
9885
9886        * platform/network/cf/ResourceHandleCFNet.cpp:
9887        (WebCore::createCFURLResponseWithDefaultMIMEType):
9888        (WebCore::didReceiveResponse):
9889
98902009-05-14  Eric Carlson  <eric.carlson@apple.com>
9891
9892        Reviewed by Darin Adler.
9893
9894        https://bugs.webkit.org/show_bug.cgi?id=25791
9895        Bug 25791: HTMLMediaElement: implement 'startTime' attribute
9896        
9897        Support the recently added HTMLMediaElement 'startTime' attribute. This is a read-only 
9898        value that only the media engine can know, so we just need to add the attribute 
9899        to HTMLMediaElement and add methods to MediaPlayer and MediaPlayerPrivateInterface so 
9900        the engine can make it available.
9901
9902        Test: media/media-startTime.html
9903
9904        * html/HTMLMediaElement.cpp:
9905        (WebCore::HTMLMediaElement::startTime): New.
9906        * html/HTMLMediaElement.h:
9907        * html/HTMLMediaElement.idl:
9908
9909        * platform/graphics/MediaPlayer.cpp:
9910        (WebCore::MediaPlayer::startTime): New.
9911        * platform/graphics/MediaPlayer.h:
9912
9913        * platform/graphics/MediaPlayerPrivate.h:
9914        (WebCore::MediaPlayerPrivateInterface::startTime): New.
9915
99162009-05-14  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
9917
9918        Reviewed by Ariya Hidayat.
9919
9920        Only create a QWidget wrapper for the plugin in the case it is not
9921        in the Qt window mapper, and thus receiving events from the Qt
9922        event system. Native Qt based plugins running in process, will
9923        already be in the window mapper, and thus creating a wrapper,
9924        stops them from getting events from Qt, as they are redirected
9925        to the wrapper.
9926
9927        * plugins/qt/PluginContainerQt.cpp:
9928        (PluginContainerQt::on_clientIsEmbedded):
9929
99302009-05-14  Alexey Proskuryakov  <ap@webkit.org>
9931
9932        Reviewed by Darin Adler.
9933
9934        https://bugs.webkit.org/show_bug.cgi?id=25784
9935        Leaks seen on HTTP tests
9936
9937        We should change ResourceHandleMac.mm to use smart pointers some day, but this is a minimal fix.
9938
9939        * platform/network/mac/ResourceHandleMac.mm:
9940        (WebCore::ResourceHandle::loadResourceSynchronously): Release mutable request copy made for
9941        disabling content sniffing, matching the normal code path.
9942        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Release m_user
9943        and m_pass before overwriting.
9944        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
9945
99462009-05-14  Yury Semikhatsky <yurys@chromium.org>
9947
9948        Reviewed by Dimitri Glazkov.
9949
9950        https://bugs.webkit.org/show_bug.cgi?id=25418
9951        Remove new lines from event handler wrapper to make line numbers
9952        in the wrapped script conside with the lines in the original script.
9953
9954        * bindings/v8/V8LazyEventListener.cpp:
9955        (WebCore::V8LazyEventListener::getListenerFunction):
9956        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
9957
99582009-05-14  Dimitri Glazkov  <dglazkov@chromium.org>
9959
9960        Reviewed by Alexey Proskuryakov.
9961
9962        Remove a JSC-specific include that is already added by including
9963        ScriptController.
9964
9965        No change in behavior, so no tests.
9966
9967        * dom/Document.cpp: Removed JSDOMBinding include.
9968
99692009-05-14  Alexey Proskuryakov  <ap@webkit.org>
9970
9971        Reviewed by Brady Eidson.
9972
9973        <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
9974
9975        Hopefully, a final stroke. When updating ResourceRequest from a platform request, a wrong
9976        CFString function was used, so a user-friendly name was stored in encoding fallback array.
9977
9978        * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest):
9979        * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest):
9980
99812009-05-14  Ben Murdoch  <benm@google.com>
9982
9983        Reviewed by Darin Adler.
9984
9985        Add more ENABLE_DATABASE guards.
9986        https://bugs.webkit.org/show_bug.cgi?id=25616
9987
9988        See also https://bugs.webkit.org/show_bug.cgi?id=24776 (original set of guards)
9989
9990        * bindings/js/JSSQLResultSetRowListCustom.cpp:
9991        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
9992        * bindings/v8/custom/V8CustomSQLStatementCallback.h:
9993        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
9994        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
9995        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
9996        * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
9997        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
9998        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
9999        * bindings/v8/custom/V8DatabaseCustom.cpp:
10000        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
10001        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
10002        * storage/Database.cpp:
10003        * storage/DatabaseDetails.h:
10004        * storage/OriginUsageRecord.cpp:
10005        * storage/OriginUsageRecord.h:
10006        * storage/SQLError.h:
10007        * storage/SQLError.idl:
10008        * storage/SQLResultSet.cpp:
10009        * storage/SQLResultSet.h:
10010        * storage/SQLResultSet.idl:
10011        * storage/SQLResultSetRowList.cpp:
10012        * storage/SQLResultSetRowList.h:
10013        * storage/SQLResultSetRowList.idl:
10014        * storage/SQLStatementCallback.h:
10015        * storage/SQLStatementErrorCallback.h:
10016        * storage/SQLTransactionCallback.h:
10017        * storage/SQLTransactionErrorCallback.h:
10018
100192009-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>
10020
10021        Reviewed by Darin Adler.
10022
10023        https://bugs.webkit.org/show_bug.cgi?id=25787
10024
10025        Gtk was the last platform to not unregister plugins when
10026        the plugin is stopped. Catch up with r43550.
10027
10028        * plugins/gtk/PluginViewGtk.cpp:
10029        (WebCore::PluginView::stop):
10030
100312009-05-14  Adam Roben  <aroben@apple.com>
10032
10033        Make WebCore.vcproj's pre-build event work again
10034
10035        * WebCore.vcproj/WebCore.vcproj: Removed empty override of the
10036        pre-build event that was accidentally left in when the pre-build event
10037        was moved to WebCoreCommon.vsprops.
10038
100392009-05-14  Darin Adler  <darin@apple.com>
10040
10041        * manual-tests/right-click-crash.html: Added.
10042
100432009-05-14  Mark Rowe  <mrowe@apple.com>
10044
10045        Rubber-stamped by Darin Adler.
10046
10047        <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
10048
10049        The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
10050        Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
10051        if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
10052
10053        * Configurations/Base.xcconfig:
10054
100552009-05-13  Anders Carlsson  <andersca@apple.com>
10056
10057        Fix build.
10058
10059        * WebCore.NPAPI.exp:
10060
100612009-05-13  Eric Seidel  <eric@webkit.org>
10062
10063        Reviewed by Oliver Hunt.
10064
10065        Fix invalid memory write seen in HTMLCanvasElement by Valgrind
10066        https://bugs.webkit.org/show_bug.cgi?id=25759
10067
10068        I can't think of any way to catch this with a layout test, so no test.
10069
10070        * css/CSSCanvasValue.cpp:
10071        (WebCore::CSSCanvasValue::canvasDestroyed):
10072        * css/CSSCanvasValue.h:
10073        * html/HTMLCanvasElement.cpp:
10074        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
10075        * html/HTMLCanvasElement.h:
10076
100772009-05-13  Dan Bernstein  <mitz@apple.com>
10078
10079        Reviewed by Anders Carlsson.
10080
10081        - fix <rdar://problem/5483015> Replies in Mail are drawn first without
10082          the user style sheet and then redrawn with the style sheet
10083
10084        Test: platform/mac/fast/loader/user-stylesheet-fast-path.html
10085
10086        * page/mac/FrameMac.mm:
10087        (WebCore::Frame::setUserStyleSheetLocation): For data URLs with
10088        base64-encoded UTF-8 data, just decode the style sheet here an apply
10089        it synchronously instead of invoking an asynchronous loader.
10090
100912009-05-13  Chris Fleizach  <cfleizach@apple.com>
10092
10093        Bug 25755: Implement ARIA grid role
10094        https://bugs.webkit.org/show_bug.cgi?id=25755
10095
10096        Fix build bustage from last checkin.
10097
10098        * page/AccessibilityAriaGrid.cpp:
10099        (WebCore::AccessibilityAriaGrid::addChild):
10100
101012009-05-13  Chris Fleizach  <cfleizach@apple.com>
10102
10103        Reviewed by Beth Dakin.
10104
10105        Bug 25755: Implement ARIA grid role
10106        https://bugs.webkit.org/show_bug.cgi?id=25755
10107
10108        Test: accessibility/aria-tables.html
10109
10110        * GNUmakefile.am:
10111        * WebCore.pro:
10112        * WebCore.vcproj/WebCore.vcproj:
10113        * WebCore.xcodeproj/project.pbxproj:
10114        * WebCoreSources.bkl:
10115        * page/AXObjectCache.cpp:
10116        (WebCore::AXObjectCache::nodeIsAriaType):
10117        (WebCore::AXObjectCache::getOrCreate):
10118        * page/AXObjectCache.h:
10119        * page/AccessibilityAriaGrid.cpp: Added.
10120        (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid):
10121        (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid):
10122        (WebCore::AccessibilityAriaGrid::create):
10123        (WebCore::AccessibilityAriaGrid::addChild):
10124        (WebCore::AccessibilityAriaGrid::addChildren):
10125        (WebCore::AccessibilityAriaGrid::cellForColumnAndRow):
10126        * page/AccessibilityAriaGrid.h: Added.
10127        (WebCore::AccessibilityAriaGrid::isAriaTable):
10128        * page/AccessibilityAriaGridCell.cpp: Added.
10129        (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell):
10130        (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell):
10131        (WebCore::AccessibilityAriaGridCell::create):
10132        (WebCore::AccessibilityAriaGridCell::parentTable):
10133        (WebCore::AccessibilityAriaGridCell::rowIndexRange):
10134        (WebCore::AccessibilityAriaGridCell::columnIndexRange):
10135        * page/AccessibilityAriaGridCell.h: Added.
10136        * page/AccessibilityAriaGridRow.cpp: Added.
10137        (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow):
10138        (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow):
10139        (WebCore::AccessibilityAriaGridRow::create):
10140        (WebCore::AccessibilityAriaGridRow::parentTable):
10141        (WebCore::AccessibilityAriaGridRow::headerObject):
10142        * page/AccessibilityAriaGridRow.h: Added.
10143        * page/AccessibilityList.cpp:
10144        (WebCore::AccessibilityList::accessibilityIsIgnored):
10145        * page/AccessibilityList.h:
10146        * page/AccessibilityObject.h:
10147        (WebCore::):
10148        * page/AccessibilityRenderObject.cpp:
10149        (WebCore::RoleEntry::):
10150        * page/AccessibilityTable.cpp:
10151        (WebCore::AccessibilityTable::AccessibilityTable):
10152        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
10153        * page/AccessibilityTable.h:
10154        (WebCore::AccessibilityTable::isAriaTable):
10155        * page/AccessibilityTableCell.cpp:
10156        (WebCore::AccessibilityTableCell::parentTable):
10157        (WebCore::AccessibilityTableCell::isTableCell):
10158        (WebCore::AccessibilityTableCell::titleUIElement):
10159        * page/AccessibilityTableCell.h:
10160        * page/AccessibilityTableColumn.cpp:
10161        (WebCore::AccessibilityTableColumn::setParentTable):
10162        (WebCore::AccessibilityTableColumn::headerObject):
10163        * page/AccessibilityTableRow.cpp:
10164        (WebCore::AccessibilityTableRow::isTableRow):
10165        (WebCore::AccessibilityTableRow::parentTable):
10166        * page/AccessibilityTableRow.h:
10167        * page/mac/AccessibilityObjectWrapper.mm:
10168        (RoleEntry::):
10169
101702009-05-13  David Levin  <levin@chromium.org>
10171
10172        Reviewed by Dimitri Glazkov.
10173
10174        Bug 25763: Need to move v8 custom binding to the custom directory.
10175        https://bugs.webkit.org/show_bug.cgi?id=25763
10176
10177        No test due to no change in behavior.
10178
10179        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp.
10180
101812009-05-13  Nate Chapin  <japhet@google.com>
10182
10183        Reviewed by Dimitri Glazkov.
10184
10185        Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8.
10186        https://bugs.webkit.org/show_bug.cgi?id=25758
10187
10188        * bindings/v8/custom/V8ElementCustom.cpp:
10189        (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called.
10190
101912009-05-13  Jeremy Moskovich  <jeremy@chromium.org>
10192
10193        Reviewed by Dave Hyatt.
10194
10195        Fix a number of bugs relating to RTL and text-overflow:ellipsis.
10196        Also refactor the relevant code to make it a little clearer.
10197
10198        This CL fixes 3 fundamental issues:
10199        - Corrects behavior if the truncated InlineTextBox's directionality is
10200          different from the overall flow direction - bug 25135.
10201        - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206.
10202        - Full truncation on InlineBoxes in RTL flow - bug 24186
10203        - Add tests for the above + reorder/cleanup tests for easier
10204          interpretation of outcome.
10205
10206        The code for placing ellipsis has been refactored to use
10207        left/right notation rather than a single variable whose meaning
10208        could differ based on flow directionality.
10209
10210        To support differing inline directionality vs flow directionality,
10211        different variables are now used in InlineTextBox::placeEllipsisBox to
10212        track the two.
10213
10214        The drawing mode for underlines in standards mode now correctly handles
10215        RTL truncation and relevant test where added.
10216
10217        https://bugs.webkit.org/show_bug.cgi?id=24186
10218        https://bugs.webkit.org/show_bug.cgi?id=25135
10219        https://bugs.webkit.org/show_bug.cgi?id=24206
10220
10221        Tests: fast/css/text-overflow-ellipsis-bidi.html
10222               fast/css/text-overflow-ellipsis-strict.html
10223
10224        * rendering/InlineBox.cpp:
10225        (WebCore::InlineBox::placeEllipsisBox):
10226        * rendering/InlineBox.h:
10227        * rendering/InlineFlowBox.cpp:
10228        (WebCore::InlineFlowBox::paintTextDecorations):
10229        (WebCore::InlineFlowBox::placeEllipsisBox):
10230        * rendering/InlineFlowBox.h:
10231        * rendering/InlineTextBox.cpp:
10232        (WebCore::InlineTextBox::placeEllipsisBox):
10233        (WebCore::InlineTextBox::paint):
10234        * rendering/InlineTextBox.h:
10235        * rendering/RenderFlexibleBox.cpp:
10236        (WebCore::RenderFlexibleBox::layoutVerticalBox):
10237        * rendering/RootInlineBox.cpp:
10238        (WebCore::RootInlineBox::placeEllipsis):
10239        (WebCore::RootInlineBox::placeEllipsisBox):
10240        * rendering/RootInlineBox.h:
10241        * rendering/bidi.cpp:
10242        (WebCore::RenderBlock::checkLinesForTextOverflow):
10243
102442009-05-13  Dmitry Titov  <dimich@chromium.org>
10245
10246        Rubber-stamped by Mark Rowe.
10247
10248        https://bugs.webkit.org/show_bug.cgi?id=25746
10249        Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
10250
10251        * dom/XMLTokenizerLibxml2.cpp:
10252        (WebCore::matchFunc):
10253        (WebCore::openFunc):
10254        (WebCore::createStringParser):
10255        (WebCore::createMemoryParser):
10256        * loader/icon/IconDatabase.cpp:
10257        (WebCore::IconDatabase::open):
10258        * platform/sql/SQLiteDatabase.cpp:
10259        (WebCore::SQLiteDatabase::SQLiteDatabase):
10260        (WebCore::SQLiteDatabase::close):
10261        * storage/DatabaseThread.cpp:
10262        (WebCore::DatabaseThread::DatabaseThread):
10263        (WebCore::DatabaseThread::start):
10264        (WebCore::DatabaseThread::databaseThread):
10265        * storage/LocalStorageThread.cpp:
10266        (WebCore::LocalStorageThread::LocalStorageThread):
10267        (WebCore::LocalStorageThread::start):
10268        (WebCore::LocalStorageThread::localStorageThread):
10269        (WebCore::LocalStorageThread::scheduleImport):
10270        (WebCore::LocalStorageThread::scheduleSync):
10271        (WebCore::LocalStorageThread::terminate):
10272        * workers/WorkerThread.cpp:
10273        (WebCore::WorkerThread::WorkerThread):
10274        (WebCore::WorkerThread::start):
10275
102762009-05-13  David Hyatt  <hyatt@apple.com>
10277
10278        Reviewed by Beth Dakin.
10279
10280        Fix for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus
10281        
10282        Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect
10283        (which is typically clipped to the padding or content box).  Doing so was causing rounded clips to be incorrectly applied to padding and
10284        content.
10285    
10286        Added fast/overflow/border-radius-clipping.html
10287
10288        * rendering/RenderBox.cpp:
10289        (WebCore::RenderBox::pushContentsClip):
10290
102912009-05-13  Darin Adler  <darin@apple.com>
10292
10293        Revert the parser arena change. It was a slowdown, not a speedup.
10294        Better luck next time (I'll break it up into pieces).
10295
102962009-05-13  David Hyatt  <hyatt@apple.com>
10297
10298        Reviewed by Beth Dakin and Darin Adler.
10299
10300        Fix for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update.
10301        
10302        Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer
10303        to a non-self-painting layer (and vice versa).
10304        
10305        Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers
10306        repaint properly on opacity changes, etc.
10307
10308        Added fast/repaint/opacity-change-on-overflow-float.html.
10309
10310        * rendering/RenderBox.cpp:
10311        (WebCore::RenderBox::styleWillChange):
10312        * rendering/RenderBoxModelObject.cpp:
10313        (WebCore::RenderBoxModelObject::styleWillChange):
10314        (WebCore::RenderBoxModelObject::styleDidChange):
10315        * rendering/RenderBoxModelObject.h:
10316
103172009-05-13  Dimitri Glazkov  <dglazkov@chromium.org>
10318
10319        Not reviewed, build fix.
10320
10321        Move an include, needed by Debugger under the corresponding guard.
10322
10323        * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER
10324            guard.
10325
103262009-05-13  David Levin  <levin@chromium.org>
10327
10328        Reviewed by Darin Adler.
10329
10330        Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer
10331        https://bugs.webkit.org/show_bug.cgi?id=25394
10332
10333        Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html
10334
10335        * loader/SubresourceLoader.cpp:
10336        (WebCore::SubresourceLoader::create):
10337        Add another check to subresource loader to avoid doing any loads in frames
10338        when the loaders are being stopped.
10339
103402009-05-13  Stephan Haller  <nomad@froevel.de>
10341
10342        Reviewed by Gustavo Noronha.
10343
10344        Wrong handling of file upload if no file selected
10345        https://bugs.webkit.org/show_bug.cgi?id=25649
10346
10347        Fixed returned path if path is empty
10348
10349        * WebCore/platform/gtk/FileSystemGtk.cpp:
10350
103512009-05-13  Dan Bernstein  <mitz@apple.com>
10352
10353        Reviewed by Dave Hyatt.
10354
10355        - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white
10356          when loading
10357
10358        Tests: fast/frames/content-opacity-1.html
10359               fast/frames/content-opacity-2.html
10360
10361        * page/FrameView.cpp:
10362        (WebCore::FrameView::reset): Reset m_contentIsOpaque to false.
10363        (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content
10364        is not known to be opaque.
10365        (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque
10366        and enables or disables fast repaints accordingly.
10367        * page/FrameView.h:
10368        * rendering/RenderBoxModelObject.cpp:
10369        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the
10370        document()->haveStylesheetsLoaded() condition in determining whether the
10371        root is opaque. This is what was causing the bug, as iframes were
10372        considered to be opaque, and thus painted an opaque white background,
10373        whenever they were pending a style sheet load.
10374        Changed to call FrameView::setContentIsOpaqe() instead of
10375        setUseSlowRepaints(), which allows the frame to go back to fast repaints
10376        if the content becomes opaque.
10377        Corrected the check for background color opacity: any alpha value other
10378        than 255--not just zero--is not opaque.
10379
103802009-05-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
10381
10382        Reviewed by Sam Weinig.
10383
10384        [Qt] Fix "lighther" composition mode.
10385        QPainter::CompositionMode_Plus is the right match.
10386
10387        * platform/graphics/qt/GraphicsContextQt.cpp:
10388        (WebCore::toQtCompositionMode):
10389
103902009-05-13  Darin Adler  <darin@apple.com>
10391
10392        Reviewed by Cameron Zwarich.
10393
10394        Bug 25674: syntax tree nodes should use arena allocation
10395        https://bugs.webkit.org/show_bug.cgi?id=25674
10396
10397        * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h.
10398        We don't want the entire DOM binding to depend on that file.
10399
10400        * bindings/js/JSAudioConstructor.cpp: Added include of Error.h.
10401        Before we inherited this automatically because JDDOMBinding.h
10402        included JSFunction.h, but that was excessive.
10403        * bindings/js/JSDOMWindowCustom.cpp: Ditto.
10404        * bindings/js/JSHTMLInputElementCustom.cpp: Ditto.
10405        * bindings/js/JSImageConstructor.cpp: Ditto.
10406        * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h.
10407        * bindings/js/JSMessageChannelConstructor.cpp: Ditto.
10408        * bindings/js/JSOptionConstructor.cpp: Ditto.
10409        * bindings/js/JSWorkerConstructor.cpp: Ditto.
10410        * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto.
10411        * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h.
10412        * inspector/InspectorController.cpp: Ditto.
10413
10414        * inspector/JavaScriptDebugServer.cpp:
10415        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
10416        Moved mose of this function into the base class in JavaScriptCore,
10417        so the details of compilation don't have to be exposed.
10418
104192009-05-13  Douglas R. Davidson  <ddavidso@apple.com>
10420
10421        Reviewed by Darin Adler.
10422
10423        <rdar://problem/6879145>
10424        Generate a contextual menu item allowing autocorrections to
10425        easily be changed back.  Refrain from re-correcting items
10426        that have already been autocorrected once.
10427
10428        * dom/DocumentMarker.h:
10429        * editing/Editor.cpp:
10430        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
10431        (WebCore::Editor::changeBackToReplacedString):
10432        * editing/Editor.h:
10433        * page/ContextMenuController.cpp:
10434        (WebCore::ContextMenuController::contextMenuItemSelected):
10435        * page/mac/WebCoreViewFactory.h:
10436        * platform/ContextMenu.cpp:
10437        (WebCore::ContextMenu::populate):
10438        (WebCore::ContextMenu::checkOrEnableIfNeeded):
10439        * platform/ContextMenuItem.h:
10440        * platform/LocalizedStrings.h:
10441        * platform/mac/LocalizedStringsMac.mm:
10442        (WebCore::contextMenuItemTagChangeBack):
10443        * rendering/HitTestResult.cpp:
10444        (WebCore::HitTestResult::replacedString):
10445        * rendering/HitTestResult.h:
10446        * rendering/InlineTextBox.cpp:
10447        (WebCore::InlineTextBox::computeRectForReplacementMarker):
10448        (WebCore::InlineTextBox::paintDocumentMarkers):
10449        * rendering/InlineTextBox.h:
10450
104512009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
10452
10453        Rubber Stamped by Oliver Hunt.
10454
10455        [GTK] Fix Gtk+/X11 build on OSX
10456
10457        Including the CoreFoundation header here and X11 headers
10458        later will result in different definitions of Boolean. The
10459        CoreFoundation include does not seem to be necessary here
10460        and my mac build was successfull without it. I will remove
10461        it for now. If the build bots disagree this will be replaced
10462        by a #if PLATFORM(CF).
10463
10464        * platform/FileSystem.h:
10465
104662009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
10467
10468        Rubber Stamped by Gustavo Noronha.
10469
10470        [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX
10471
10472        When building Gtk+ on OSX we ended up declaring
10473        setNPWindowIfNeeded twice. Fix that by moving
10474        the #if PLATFORM(GTK) up and using elif instead of
10475        else.
10476
10477        * plugins/PluginView.h:
10478
104792009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
10480
10481        Reviewed by Xan Lopez.
10482
10483        https://bugs.webkit.org/show_bug.cgi?id=25685
10484        [GTK] Middle click paste form the pasteboard
10485
10486        The kit wants to paste from at least two different
10487        clipboards. By introducing getCurrentTarget to the
10488        PasteboardHelper interface we can make this decision
10489        in the kit.
10490        Use the new method in PasteboardGtk to get the right
10491        GdkClipboard for the paste operation.
10492
10493        * platform/gtk/PasteboardGtk.cpp:
10494        (WebCore::Pasteboard::documentFragment):
10495        (WebCore::Pasteboard::plainText):
10496        * platform/gtk/PasteboardHelper.h:
10497
104982009-05-13  Eric Carlson  <eric.carlson@apple.com>
10499
10500        Reviewed by Darin Adler.
10501
10502        <rdar://problem/6438177> QTMoviePreferredTransformAttribute only supported on SnowLeopard
10503        <rdar://problem/6872468> QTMovieOpenForPlaybackAttribute only supported on SnowLeopard
10504
10505        QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported
10506        on Tiger or Leopard.
10507
10508        * html/HTMLMediaElement.cpp:
10509        (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT.
10510
10511        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
10512        (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute
10513        when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD.
10514        (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute 
10515        when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD,
10516
105172009-05-12  Roland Steiner <rolandsteiner@google.com>
10518
10519        Reviewed by Eric Seidel.
10520
10521        Bug 25738: Skia: CSS border style not cleared for SVG object
10522        https://bugs.webkit.org/show_bug.cgi?id=25738
10523
10524        If no dashing is set, this change reverts to solid stroke
10525        (previously the code bailed and left the old setting, whatever it was)
10526
10527        Test case listed in above bug entry.
10528        (Additional complications due to each platform rendering dotted lines differently -
10529        c.f. https://bugs.webkit.org/show_bug.cgi?id=25737)
10530
10531        * platform/graphics/skia/GraphicsContextSkia.cpp:
10532        (WebCore::GraphicsContext::setLineDash):
10533
105342009-05-11  Erik Arvidsson  <arv@chromium.org>
10535
10536        Reviewed by Eric Seidel.
10537
10538        Bug 21903: Adds DOM bindings for the placeholder property of the
10539        HTMLInputElement.
10540        https://bugs.webkit.org/show_bug.cgi?id=21903
10541
10542        Test: fast/forms/placeholder-dom-property.html
10543
10544        * dom/InputElement.cpp:
10545        (WebCore::InputElement::updatePlaceholderVisibility):
10546        * dom/InputElement.h:
10547        * html/HTMLInputElement.cpp:
10548        (WebCore::HTMLInputElement::placeholder):
10549        (WebCore::HTMLInputElement::setPlaceholder):
10550        * html/HTMLInputElement.h:
10551        * html/HTMLInputElement.idl:
10552        * rendering/RenderTextControlSingleLine.cpp:
10553        (WebCore::RenderTextControlSingleLine::updateFromElement):
10554        * wml/WMLInputElement.h:
10555        (WebCore::WMLInputElement::placeholder):
10556        (WebCore::WMLInputElement::setPlaceholder):
10557
105582009-05-12  Adam Barth  <abarth@webkit.org>
10559
10560        Reviewed by Dimitri Glazkov.
10561
10562        https://bugs.webkit.org/show_bug.cgi?id=25706
10563
10564        Change V8 bindings to match JSC bindings with respect to using
10565        the lexical or dynamic global object.
10566
10567        Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html
10568               http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html
10569               http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html
10570
10571        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
10572        (WebCore::CALLBACK_FUNC_DECL):
10573
105742009-03-19  Oliver Hunt  <oliver@apple.com>
10575
10576        Reviewed by Darin Adler.
10577
10578        <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore
10579
10580        SVGList::insertItemBefore would not perform a bounds check on the
10581        index it was provided, potentially leading to a buffer overflow. 
10582
10583        Test: svg/dom/svglist-exception-on-out-bounds-error.html
10584
10585        * svg/SVGList.h:
10586        (WebCore::SVGList::insertItemBefore):
10587
105882009-05-12  Paul Godavari  <paul@chromium.org>
10589
10590        Reviewed by Dimitri Glazkov.
10591
10592        Bug 25708: Cannot choose menu items in popups with many entries in Chromium
10593        https://bugs.webkit.org/show_bug.cgi?id=25708
10594
10595        This change sets the window size for popups on Mac to include all items
10596        in the menu. This is required for hit testing on Mac, where we use native
10597        controls to manage the popups and don't want to artificially limit the
10598        valid hit testing region to a limited scroll window.
10599
10600        * platform/chromium/PopupMenuChromium.cpp:
10601        (WebCore::PopupListBox::layout):
10602
106032009-05-12  Stephen White  <senorblanco@chromium.org>
10604
10605        Reviewed by Dimitri Glazkov.
10606
10607        Fixes to build with latest skia:  SkTypeface::Create() is now
10608        SkTypeface::CreateFromName(); computeBounds() has been reworked
10609        as getBounds().  The changes are placed behind an #ifdef for now,
10610        so that we can roll back the skia version in Chromium if necessary
10611        without having to roll back this change.
10612
10613        https://bugs.webkit.org/show_bug.cgi?id=25705
10614
10615        * platform/graphics/chromium/FontCacheLinux.cpp:
10616        (WebCore::FontCache::createFontPlatformData):
10617        * platform/graphics/skia/PathSkia.cpp:
10618        (WebCore::Path::boundingRect):
10619        (WebCore::boundingBoxForCurrentStroke):
10620        * platform/graphics/skia/SkiaUtils.cpp:
10621        (WebCore::SkPathContainsPoint):
10622
106232009-05-12  Nate Chapin  <japhet@google.com>
10624
10625        Reviewed by Dimitri Glazkov.
10626
10627        https://bugs.webkit.org/show_bug.cgi?id=25732
10628        Update V8ElementCustom.cpp to match the current API of V8Proxy.
10629
10630        (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext().
10631
106322009-05-12  Alexey Proskuryakov  <ap@webkit.org>
10633
10634        Reviewed by Darin Adler.
10635
10636        https://bugs.webkit.org/show_bug.cgi?id=25694
10637        HTMLParser::createHead() ASSERT: Creating an element, calling  document.open() and writing
10638        to the document NULL ptr
10639
10640        Test: fast/parser/implicit-head-in-fragment-crash.html
10641
10642        * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly
10643        create <head> when parsing a fragment.
10644
106452009-05-12  Soren Gjesse  <sgjesse@chromium.org>
10646
10647        Reviewed by Dimitri Glazkov.
10648
10649        https://bugs.webkit.org/show_bug.cgi?id=25687
10650        Missing check for valid function in V8 bindings for toString function for event listeners.
10651
10652        * bindings/v8/V8LazyEventListener.cpp:
10653        (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks.
10654
106552009-05-11  Yael Aharon  <yael.aharon@nokia.com>
10656
10657        Reviewed by Holger Freyther.
10658
10659        Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped.
10660        Not doing that can cause assersion failure.
10661        https://bugs.webkit.org/show_bug.cgi?id=25702
10662
10663        * plugins/qt/PluginViewQt.cpp:
10664        (WebCore::PluginView::stop):
10665
106662009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
10667
10668        Reviewed by Holger Freyther.
10669
10670        Bug 25714: [Qt] Decouple HTML5 Database support from the
10671        SQLite/generic database support in the Qt port
10672
10673        <https://bugs.webkit.org/show_bug.cgi?id=25714>
10674
10675        * WebCore.pro:
10676
106772009-05-11  Chris Fleizach  <cfleizach@apple.com>
10678
10679        Reviewed by Beth Dakin.
10680
10681        Bug 25713: AX: Control Elements not identified in HTML content
10682        https://bugs.webkit.org/show_bug.cgi?id=25713
10683
10684        Test: accessibility/onclick-handlers.html
10685
10686        * page/AccessibilityRenderObject.cpp:
10687        (WebCore::AccessibilityRenderObject::mouseButtonListener):
10688
106892009-05-11  Darin Adler  <darin@apple.com>
10690
10691        Reviewed by Dan Bernstein.
10692
10693        <rdar://problem/6276843> REGRESSION: TextIterator generates
10694        an extra newline for ranges that start outside of body
10695
10696        * editing/TextIterator.cpp:
10697        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
10698        Check startPos for null, not just currPos.
10699
107002009-05-11  Chris Fleizach  <cfleizach@apple.com>
10701
10702        Reviewed by Darin Adler.
10703
10704        Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
10705        https://bugs.webkit.org/show_bug.cgi?id=25700
10706
10707        Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled.
10708        Note: This code is only used when accessibility is enabled.
10709
10710        * page/EventHandler.cpp:
10711        (WebCore::EventHandler::handleKeyboardSelectionMovement):
10712
107132009-05-11  David Kilzer  <ddkilzer@apple.com>
10714
10715        Bug 25087: Test for ENABLE_FOO macros consistently in IDL files
10716
10717        <https://bugs.webkit.org/show_bug.cgi?id=25087>
10718
10719        Reviewed by Timothy Hatcher.
10720
10721        Change tests for ENABLE macros to check for both existence and
10722        value:
10723
10724        - Negative:  #if !defined(ENABLE_FOO) || !ENABLE_FOO
10725        - Positive:  #if defined(ENABLE_FOO) && ENABLE_FOO
10726
10727        * css/CSSCharsetRule.idl:
10728        * css/CSSPrimitiveValue.idl:
10729        * css/RGBColor.idl:
10730        * dom/Attr.idl:
10731        * dom/DOMCoreException.idl:
10732        * dom/DOMImplementation.idl:
10733        * dom/Document.idl:
10734        * dom/Element.idl:
10735        * dom/Event.idl:
10736        * dom/EventException.idl:
10737        * dom/KeyboardEvent.idl:
10738        * dom/MessagePort.idl:
10739        * dom/MouseEvent.idl:
10740        * dom/Node.idl:
10741        * dom/ProcessingInstruction.idl:
10742        * dom/Range.idl:
10743        * dom/RangeException.idl:
10744        * dom/WheelEvent.idl:
10745        * html/CanvasPixelArray.idl:
10746        * html/HTMLAnchorElement.idl:
10747        * html/HTMLAppletElement.idl:
10748        * html/HTMLAreaElement.idl:
10749        * html/HTMLBaseFontElement.idl:
10750        * html/HTMLCanvasElement.idl:
10751        * html/HTMLDocument.idl:
10752        * html/HTMLElement.idl:
10753        * html/HTMLEmbedElement.idl:
10754        * html/HTMLFrameElement.idl:
10755        * html/HTMLIFrameElement.idl:
10756        * html/HTMLImageElement.idl:
10757        * html/HTMLInputElement.idl:
10758        * html/HTMLLinkElement.idl:
10759        * html/HTMLObjectElement.idl:
10760        * html/HTMLOptionElement.idl:
10761        * html/HTMLOptionsCollection.idl:
10762        * html/HTMLSelectElement.idl:
10763        * html/HTMLStyleElement.idl:
10764        * html/ImageData.idl:
10765        * inspector/InspectorController.idl:
10766        * loader/appcache/DOMApplicationCache.idl:
10767        * page/Console.idl:
10768        * page/Coordinates.idl:
10769        * page/DOMSelection.idl:
10770        * page/DOMWindow.idl:
10771        * page/Geoposition.idl:
10772        * page/History.idl:
10773        * page/Location.idl:
10774        * page/Navigator.idl:
10775        * svg/SVGElementInstance.idl:
10776        * svg/SVGException.idl:
10777        * workers/WorkerContext.idl:
10778        * xml/XMLHttpRequestException.idl:
10779        * xml/XPathException.idl:
10780
107812009-05-11  Norbert Leser  <norbert.leser@nokia.com>
10782
10783        Reviewed by Darin Adler.
10784
10785        Bug 24538: class/struct mixup in forward declarations
10786        https://bugs.webkit.org/show_bug.cgi?id=24538
10787
10788        * inspector/InspectorResource.h:
10789        * loader/CachedFont.h:
10790        * loader/appcache/ApplicationCache.h:
10791        * rendering/RenderBlock.h:
10792        * rendering/RootInlineBox.h:
10793        * rendering/SVGInlineTextBox.h:
10794        * svg/SVGGlyphElement.h:
10795        * svg/SVGHKernElement.h:
10796
107972009-05-11  Norbert Leser  <norbert.leser@nokia.com>
10798
10799        Reviewed by Darin Adler.
10800
10801        Bug 24539: Unresolved CSSMutableStyleDeclaration
10802        https://bugs.webkit.org/show_bug.cgi?id=24539
10803
10804        The Symbian tools can't compile and link this without this include.
10805        It's not clear why this is different from other toolsets or why it affects
10806        only this header file, but adding the include for now.
10807
10808        * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
10809
108102009-05-11  Alice Liu  <alice.liu@apple.com>
10811
10812        Reviewed by Dan Bernstein.
10813
10814        https://bugs.webkit.org/show_bug.cgi?id=25701
10815        REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook
10816
10817        Test: fast/forms/search-styled.html
10818
10819        * css/themeWin.css:
10820        Remove the overriding of -webkit-appearance for searchfields. This will cause background
10821        images to not be honored when styling searchfields
10822
10823        * rendering/RenderThemeWin.cpp:
10824        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
10825        * rendering/RenderThemeWin.h:
10826        Re-instate final adjustments to searchfield styling that were removed in r42020
10827
108282009-05-11  Brady Eidson  <beidson@apple.com>
10829
10830        Fix Windows build
10831
10832        * platform/network/cf/ResourceHandleCFNet.cpp:
10833        (WebCore::createCFURLResponseWithDefaultMIMEType):
10834
108352009-05-11  Nate Chapin  <japhet@google.com>
10836
10837        Reviewed by Dimitri Glazkov.
10838
10839        https://bugs.webkit.org/show_bug.cgi?id=25626
10840        Update V8ElementCustom.cpp to match the current API of Node.
10841
10842        * bindings/v8/custom/V8ElementCustom.cpp:
10843        (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names.
10844        (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
10845
108462009-05-11  Brady Eidson  <beidson@apple.com>
10847
10848        Fix Windows build
10849
10850        * platform/network/cf/ResourceHandleCFNet.cpp:
10851        (WebCore::createCFURLResponseWithDefaultMIMEType):
10852        (WebCore::WebCoreSynchronousLoader::load):
10853
108542009-05-11  Brady Eidson  <beidson@apple.com>
10855
10856        Fix Windows build
10857
10858        * platform/network/cf/ResourceHandleCFNet.cpp:
10859        (WebCore::createCFURLResponseWithDefaultMIMEType):
10860
108612009-05-11  Nate Chapin  <japhet@google.com>
10862
10863        Reviewed by Dimitri Glazkov.
10864
10865        V8CustomBinding.cpp is missing a header file
10866
10867        https://bugs.webkit.org/show_bug.cgi?id=25644
10868
10869        * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
10870
108712009-05-11  Aaron Boodman  <aa@chromium.org>
10872
10873        Reviewed by Darin Fisher.
10874
10875        https://bugs.webkit.org/show_bug.cgi?id=25634
10876        Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().
10877
10878        Also, change instances of ScriptController::retrieveActiveFrame() to
10879        V8::retrieveFrameForEnteredContext() for consistency.
10880
10881
10882        See http://codereview.chromium.org/113085 for the corresponding Chromium change.
10883
10884        * bindings/v8/custom/V8DOMWindowCustom.cpp:
10885        (WebCore::V8Custom::WindowSetLocation):
10886        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
10887        (WebCore::CALLBACK_FUNC_DECL):
10888        * bindings/v8/custom/V8LocationCustom.cpp:
10889        (WebCore::navigateIfAllowed):
10890        (WebCore::ACCESSOR_SETTER):
10891        (WebCore::CALLBACK_FUNC_DECL):
10892
108932009-05-11  Brady Eidson  <beidson@apple.com>
10894
10895        Reviewed by Darin Adler.
10896
10897        <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.
10898
10899        First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
10900        Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".
10901
10902        * platform/MIMETypeRegistry.cpp:
10903        (WebCore::defaultMIMEType): "application/octet-stream"
10904        * platform/MIMETypeRegistry.h:
10905
10906        * platform/network/ResourceHandle.cpp:
10907        (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which
10908          might override it to false.
10909        (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
10910        * platform/network/ResourceHandle.h:
10911
10912        * platform/network/cf/ResourceHandleCFNet.cpp:
10913        (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead
10914          of null.
10915        (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type.
10916        (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same 
10917          sniffing policy as asynchronous loads.  Also, correct a null MIME type by creating a copy with the default type.
10918
10919        * platform/network/mac/ResourceHandleMac.mm:
10920        (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the
10921          same sniffing policy as asynchronous loads.
10922        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if
10923          it hasn't been set up yet.
10924        (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
10925
10926        * xml/XMLHttpRequest.cpp:
10927        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by
10928          the new mechanism.
10929
109302009-05-11  David Kilzer  <ddkilzer@apple.com>
10931
10932        Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"
10933
10934        This was added in r39816 to disable dynamic entries.  They are
10935        still disabled after fixing the typo since this feature define
10936        is never set anywhere.
10937
10938        * bindings/js/JSDOMApplicationCacheCustom.cpp:
10939        * loader/appcache/DOMApplicationCache.idl:
10940
109412009-05-11  Dmitry Titov  <dimich@chromium.org>
10942
10943        Reviewed by Alexey Proskuryakov and Adam Roben.
10944
10945        https://bugs.webkit.org/show_bug.cgi?id=25348
10946        Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
10947
10948        Most of the change is in WTF.
10949        Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
10950        method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
10951        is now a class rather then an integer.
10952        Also, there is no need to initialize threadID in constructors to 0 now.
10953
10954        * dom/XMLTokenizerLibxml2.cpp:
10955        (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
10956        since now ThreadIdentifier needs construction and we avoid having global initializers.
10957        (WebCore::matchFunc): use the new accessor function.
10958        (WebCore::openFunc): ditto.
10959        (WebCore::createStringParser): ditto.
10960        (WebCore::createMemoryParser): ditto.
10961        * loader/icon/IconDatabase.cpp:
10962        (WebCore::IconDatabase::open):
10963        * platform/sql/SQLiteDatabase.cpp:
10964        (WebCore::SQLiteDatabase::SQLiteDatabase):
10965        (WebCore::SQLiteDatabase::close):
10966        * storage/DatabaseThread.cpp:
10967        (WebCore::DatabaseThread::start):
10968        (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
10969        * storage/LocalStorageThread.cpp:
10970        (WebCore::LocalStorageThread::start):
10971        (WebCore::LocalStorageThread::scheduleImport):
10972        (WebCore::LocalStorageThread::scheduleSync):
10973        (WebCore::LocalStorageThread::terminate):
10974        * workers/WorkerThread.cpp:
10975        (WebCore::WorkerThread::start):
10976        (WebCore::WorkerThread::WorkerThread):
10977        (WebCore::WorkerThread::start):
10978
109792009-05-11  Brady Eidson  <beidson@apple.com>
10980
10981        Reviewed by Darin Adler.
10982
10983        Remove unused header that declared one function which was never defined anywhere.
10984
10985        * WebCore.vcproj/WebCore.vcproj:
10986        * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means
10987          platform/network/cf/ResourceResponse.h)
10988        * platform/network/cf/ResourceResponseCFNet.h: Removed.
10989
109902009-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
10991
10992        Reviewed by Timothy Hatcher.
10993
10994        https://bugs.webkit.org/show_bug.cgi?id=25213
10995        Fix assert during Inspector destruction.
10996
10997        * inspector/InspectorController.cpp:
10998        (WebCore::InspectorController::inspectedPageDestroyed): Moved closing
10999            inspector above removing InspectorController object to fix JS errors,
11000            added clearing inspector page ptr.
11001
110022009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
11003
11004        Reviewed by Holger Freyther.
11005
11006        [Qt] Make sure that public APIs are properly exported on all Qt platforms
11007        https://bugs.webkit.org/show_bug.cgi?id=25601
11008
11009        * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win
11010
110112009-05-11  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
11012
11013        Reviewed by Holger Freyther.
11014
11015        https://bugs.webkit.org/show_bug.cgi?id=24284
11016
11017        * WebCore.pro: duplicated values removed from INCLUDEPATH
11018
110192009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
11020
11021        Reviewed by Eric Seidel.
11022
11023        Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
11024        https://bugs.webkit.org/show_bug.cgi?id=24688
11025
11026        * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
11027        * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
11028
110292009-05-10  Dan Bernstein  <mitz@apple.com>
11030
11031        Reviewed by Darin Adler.
11032
11033        - fix a crash when deactivating a document that had adopted a <form>
11034          element
11035
11036        Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html
11037
11038        * html/HTMLFormElement.cpp:
11039        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the
11040        logic here: <form> elements should be registered for document activation
11041        callbacks if and only if autocomplete is off.
11042
110432009-05-10  Alexey Proskuryakov  <ap@webkit.org>
11044
11045        Reviewed by Dan Bernstein.
11046
11047        <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
11048        to view protected MobileMe video
11049
11050        Add a temporary workaround.
11051
11052        * platform/network/ResourceHandleInternal.h:
11053        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
11054        Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when
11055        starting a request, so we need to store this data for later use.
11056
11057        * platform/network/mac/ResourceHandleMac.mm:
11058        (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks.
11059        (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
11060
110612009-05-10  Alexey Proskuryakov  <ap@webkit.org>
11062
11063        Reviewed by Dan Bernstein.
11064
11065        <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
11066
11067        * platform/network/cf/AuthenticationCF.cpp:
11068        * platform/network/cf/AuthenticationCF.h:
11069        (WebCore::WebCoreCredentialStorage::set):
11070        (WebCore::WebCoreCredentialStorage::get):
11071        * platform/network/cf/ResourceHandleCFNet.cpp:
11072        Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing
11073        an earlier Mac change).
11074
110752009-05-10  Alexey Proskuryakov  <ap@webkit.org>
11076
11077        Reviewed by Dan Bernstein.
11078
11079        Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
11080        called at a wrong time.
11081
11082        No test, because we are waiting for a newer version of system frameworks to test the attribute.
11083
11084        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
11085        * xml/XMLHttpRequest.h:
11086        * xml/XMLHttpRequest.idl:
11087        Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
11088
110892009-05-10  Dan Bernstein  <mitz@apple.com>
11090
11091        Reviewed by Dave Kilzer.
11092
11093        - fix https://bugs.webkit.org/show_bug.cgi?id=25602
11094          REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
11095          on ToT
11096
11097        Test: fast/layers/self-painting-outline.html
11098
11099        * rendering/RenderLayer.cpp:
11100        (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only
11101        if it is a self-painting layer.
11102
111032009-05-09  Dan Bernstein  <mitz@apple.com>
11104
11105        Reviewed by Geoffrey Garen and Mark Rowe.
11106
11107        - fix https://bugs.webkit.org/show_bug.cgi?id=25666
11108          Assertion failure in Node::setDocument()
11109          (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element
11110
11111        Test: fast/dom/HTMLFormElement/adopt-assertion.html
11112
11113        * html/HTMLFormElement.cpp:
11114        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of
11115        this method are required to call the base class implementation. Do it.
11116        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
11117
111182009-03-29  Kevin Ollivier  <kevino@theolliviers.com>
11119
11120        Reviewed by Maciej Stachowiak.
11121
11122        WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
11123        make sure CURL does not create empty ResourceError() objects.
11124        
11125        https://bugs.webkit.org/show_bug.cgi?id=24927
11126
11127        * platform/network/curl/ResourceHandleManager.cpp:
11128        (WebCore::ResourceHandleManager::downloadTimerCallback):
11129
111302009-05-09  Gustavo Noronha Silva  <gns@gnome.org>
11131
11132        Build fix, adding missing files to make dist.
11133
11134        * GNUmakefile.am:
11135
111362009-05-08  Simon Fraser  <simon.fraser@apple.com>
11137
11138        Reviewed by Dan Bernstein
11139        
11140        https://bugs.webkit.org/show_bug.cgi?id=25656
11141        
11142        Reduce the inline capacity of CSSParserValueList's m_values
11143        vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.
11144
11145        * css/CSSParserValues.h:
11146
111472009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
11148
11149        Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.
11150
11151        * WebCore.xcodeproj/project.pbxproj:
11152
111532009-05-08  Dan Bernstein  <mitz@apple.com>
11154
11155        Reviewed by Darin Adler.
11156
11157        - fix <rdar://problem/6864786> REGRESSION: Crash below
11158          ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
11159          Bugzilla
11160
11161        Test: editing/style/apply-through-end-of-document.html
11162
11163        * editing/ApplyStyleCommand.cpp:
11164        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null
11165        check for the case of a range extending through the end of the document,
11166        in which pastEndNode is 0.
11167
111682009-05-08  Douglas R. Davidson  <ddavidso@apple.com>
11169
11170        Reviewed by Beth Dakin.
11171
11172        <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base 
11173        marked as misspelled even though contraction is a word
11174        Make sure spelling underline does not persist on words like 
11175        <doesn't>.  
11176
11177        * editing/TypingCommand.cpp:
11178        (WebCore::TypingCommand::typingAddedToOpenCommand):
11179
111802009-05-08  Kevin Watters  <kevinwatters@gmail.com>
11181
11182        Reviewed by Kevin Ollivier.
11183
11184        Make sure the path's refdata isn't deleted before we're done with the object.
11185        
11186        https://bugs.webkit.org/show_bug.cgi?id=25652
11187
11188        * platform/graphics/wx/PathWx.cpp:
11189        (WebCore::Path::~Path):
11190        (WebCore::Path::Path):
11191        (WebCore::Path::translate):
11192
111932009-05-08  Kevin Watters  <kevinwatters@gmail.com>
11194
11195        Reviewed by Darin Adler.
11196
11197        Fix for memory leak on Mac.
11198        
11199        https://bugs.webkit.org/show_bug.cgi?id=25650
11200
11201        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
11202        (wxFontProperties::wxFontProperties):
11203
112042009-05-08  Beth Dakin  <bdakin@apple.com>
11205
11206        Reviewed by Dan Bernstein.
11207
11208        <rdar://problem/6857446> REGRESSION (r37591): Cannot print or 
11209        preview from maps.yandex.ru
11210
11211        We need to fall into the stretchesToViewHeight() quirk when we are 
11212        printing and we are the root and the root has percentage height OR 
11213        when we are the body and the root has percentage height. Otherwise 
11214        we have a height of 0 and can run into painting troubles.
11215
11216        * rendering/RenderBox.cpp:
11217        (WebCore::RenderBox::calcHeight):
11218
112192009-05-08  Douglas Davidson  <ddavidso@apple.com>
11220
11221        Reviewed by Darin Adler.
11222
11223        Fixes for <rdar://problem/6852771>.
11224        Prevent text checking replacement immediately after an apostrophe
11225        and automatic link addition except immediately after typing.
11226
11227        * editing/Editor.cpp:
11228        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
11229
112302009-05-08  Eric Carlson  <eric.carlson@apple.com>
11231
11232        Reviewed by Darin Adler.
11233        
11234        https://bugs.webkit.org/show_bug.cgi?id=25627
11235        Bug 25627: HTMLMediaElement: some errors should fire on <source> elements
11236
11237        Update for HTML5 spec change to fire 'error' events on <source> element
11238        when there is a failure while processing/loading a <source>.
11239
11240        Test: media/video-source-error.html
11241
11242        * html/HTMLMediaElement.cpp:
11243        (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space.
11244        (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead
11245        of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on
11246        all <source> element. 
11247        (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in
11248        loadResource() as we need to report errors differently depending on the type of failure. Use
11249        KURL instead of String.
11250        (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild.
11251        Fail silently when there are no more <source> canditates because that is what spec mandates.
11252        Keep url as KURL instead of converting to String.
11253        (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now 
11254        assume the safety check now done before this function. Takes KURL instead of String.
11255        (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs
11256        failure if not.
11257        (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
11258        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on
11259        the media and all source elements.
11260        (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the 
11261        the failure happened while processing one. Only call nonSupported() when the failure happened
11262        while processing media element 'src' attribute.
11263        (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild.
11264        Deal with selectNextSourceChild returning a KURL instead of a String.
11265        (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional
11266        param to control whether or not errors are fired on a source element when it will not be used.
11267        Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a
11268        String.
11269        (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as
11270        a KURL instead of a String.
11271        * html/HTMLMediaElement.h:
11272        (WebCore::HTMLMediaElement::):
11273
11274        * html/HTMLSourceElement.cpp:
11275        (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables.
11276        (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error
11277        event ASAP.
11278        (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event.
11279        (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been
11280        cancelled.
11281        * html/HTMLSourceElement.h:
11282
11283        * html/MediaError.h: 
11284        (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
11285        * html/MediaError.idl: Ditto
11286
112872009-05-08  Dan Bernstein  <mitz@apple.com>
11288
11289        Reviewed by Maciej Stachowiak.
11290
11291        - fix <rdar://problem/6859955> Undoing typed text after selecting all
11292          leaves non-text areas highlighted
11293
11294        Test: fast/repaint/selection-clear.html
11295
11296        When RenderView::clearSelection() is called from
11297        SelectionController::nodeWillBeRemoved(), selected renderers may already
11298        be marked for layout, which means that they can no longer compute
11299        their selection repaint info. Instead, an empty IntRect (or GapRects) is
11300        returned, leading to incomplete repaint.
11301
11302        The fix is not to rely on individual renderers when clearing the
11303        selection, but instead, cache the bounding rectangle of the selected
11304        blocks' GapRects when setting the selection, and invalidate that
11305        entire rectangle when clearing it.
11306
11307        * rendering/RenderView.cpp:
11308        (WebCore::RenderView::setSelection): Added a parameter saying whether
11309        the repainting of selected blocks should include both
11310        previously-selected areas and newly-selected areas or only
11311        newly-selected areas. The default is both. Also compute
11312        m_cachedSelectionBounds to be the bounding rectangle of the
11313        new selection's BlockSelectionInfos' GapRects.
11314        (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds,
11315        and tell setSelection() that it should not paint areas that were in
11316        the old selection's BlockSelectionInfos' GapRects.
11317        * rendering/RenderView.h:
11318        (WebCore::RenderView::):
11319
113202009-05-08  Alexey Proskuryakov  <ap@webkit.org>
11321
11322        Reviewed by Maciej Stachowiak.
11323
11324        <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
11325
11326        * WebCore.base.exp:
11327        * platform/network/mac/AuthenticationMac.h:
11328        (WebCore::WebCoreCredentialStorage::set):
11329        (WebCore::WebCoreCredentialStorage::get):
11330        * platform/network/mac/AuthenticationMac.mm:
11331        * platform/network/mac/ResourceHandleMac.mm:
11332        Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.
11333
113342009-05-08  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
11335
11336        Reviewed by Simon Hausmann.
11337
11338        Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
11339        call methods.
11340
11341        * bridge/qt/qt_runtime.h:
11342
113432009-05-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
11344
11345        Reviewed by Mark Rowe.
11346
11347        Add missing strings to localizedStrings.js
11348        https://bugs.webkit.org/show_bug.cgi?id=25635
11349
11350        Add the strings "Delete", "Key", "Refresh" and "Value".
11351
11352        * English.lproj/localizedStrings.js:
11353
113542009-05-08  Robert Hogan  <robert@roberthogan.net>
11355
11356        Reviewed, tweaked and landed by Alexey Proskuryakov.
11357
11358        https://bugs.webkit.org/show_bug.cgi?id=24992
11359        [Qt] crash at http://browserspy.dk/browser.php
11360
11361        This cannot be easily tested in DRT, because it relies on interaction with QApplication,
11362        but the added assertions guard against re-introducing this issue.
11363
11364        * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls
11365        while the frame is being constructed, because the intermediate state without a document
11366        is something we don't want to expose.
11367
11368        * page/Frame.cpp:
11369        (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an
11370        approximation of it being in a consistent state for client calls.
11371        (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
11372
113732009-05-07  Mark Rowe  <mrowe@apple.com>
11374
11375        Rubber-stamped by Oliver Hunt.
11376
11377        Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
11378        Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
11379        
11380        Roll out r43366 as it removed symbols that Safari 4 Beta uses.
11381
11382        * dom/XMLTokenizerLibxml2.cpp:
11383        (WebCore::matchFunc):
11384        (WebCore::openFunc):
11385        (WebCore::createStringParser):
11386        (WebCore::createMemoryParser):
11387        * loader/icon/IconDatabase.cpp:
11388        (WebCore::IconDatabase::open):
11389        * platform/sql/SQLiteDatabase.cpp:
11390        (WebCore::SQLiteDatabase::SQLiteDatabase):
11391        (WebCore::SQLiteDatabase::close):
11392        * storage/DatabaseThread.cpp:
11393        (WebCore::DatabaseThread::DatabaseThread):
11394        (WebCore::DatabaseThread::start):
11395        (WebCore::DatabaseThread::databaseThread):
11396        * storage/LocalStorageThread.cpp:
11397        (WebCore::LocalStorageThread::LocalStorageThread):
11398        (WebCore::LocalStorageThread::start):
11399        (WebCore::LocalStorageThread::localStorageThread):
11400        (WebCore::LocalStorageThread::scheduleImport):
11401        (WebCore::LocalStorageThread::scheduleSync):
11402        (WebCore::LocalStorageThread::terminate):
11403        * workers/WorkerThread.cpp:
11404        (WebCore::WorkerThread::WorkerThread):
11405        (WebCore::WorkerThread::start):
11406
114072009-05-08  Xan Lopez  <xlopez@igalia.com>
11408
11409        Reviewed by Gustavo Noronha.
11410
11411        Unify scrolling code via adjustments and keys. Use the WebCore
11412        defined constants, since that's what people are most used to at
11413        this point.
11414
11415        * platform/gtk/ScrollViewGtk.cpp:
11416        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
11417        (WebCore::ScrollView::platformHandleVerticalAdjustment):
11418
114192009-05-07  David Levin  <levin@chromium.org>
11420
11421        Reviewed by NOBODY.
11422        Suggested by Oliver Hunt.
11423
11424        Rolling back http://trac.webkit.org/changeset/43385
11425        because we have to use mac artwork for the underline on OSX.
11426
11427        * platform/graphics/cg/GraphicsContextCG.cpp:
11428        * platform/graphics/mac/GraphicsContextMac.mm:
11429        (WebCore::createPatternColor):
11430        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
11431        * platform/graphics/win/GraphicsContextCGWin.cpp:
11432        (WebCore::setCGStrokeColor):
11433        (WebCore::spellingPatternColor):
11434        (WebCore::grammarPatternColor):
11435        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
11436
114372009-05-07  John Grabowski  <jrg@chromium.org>
11438
11439        Reviewed by Simon Fraser.
11440  
11441        https://bugs.webkit.org/show_bug.cgi?id=25573
11442        Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
11443        Cleanup for WebKit, but required for Chromium happiness.
11444
11445        * platform/graphics/cg/GraphicsContextCG.cpp:
11446        (WebCore::spellingPatternColor):
11447        (WebCore::grammarPatternColor):
11448        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
11449        * platform/graphics/mac/GraphicsContextMac.mm:
11450        * platform/graphics/win/GraphicsContextCGWin.cpp:
11451
114522009-05-07  Darin Adler  <darin@apple.com>
11453
11454        Reviewed by Simon Fraser.
11455
11456        Bug 25575: Registered mutation event listener crashes HTMLMediaElement
11457        https://bugs.webkit.org/show_bug.cgi?id=25575
11458
11459        Test: fast/media/video-controls-with-mutation-event-handler.html
11460
11461        * rendering/MediaControlElements.cpp:
11462        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
11463        * rendering/RenderMedia.cpp:
11464        (WebCore::RenderMedia::createTimeline): Call setAttribute here.
11465
114662009-05-07  Simon Fraser  <simon.fraser@apple.com>
11467
11468        Rubber Stamped by Dave Hyatt
11469        
11470        Shuffle the data members to minimize padding.
11471
11472        * rendering/RenderTableSection.cpp:
11473        (WebCore::RenderTableSection::RenderTableSection):
11474        * rendering/RenderTableSection.h:
11475
114762009-05-07  Simon Fraser  <simon.fraser@apple.com>
11477
11478        Rubber Stamped by Dave Hyatt
11479        
11480        Shuffle the data members to make Events 8 bytes smaller in 64-bit.
11481
11482        * dom/Event.cpp:
11483        (WebCore::Event::Event):
11484        * dom/Event.h:
11485
114862009-05-07  Eric Seidel  <eric@webkit.org>
11487
11488        Reviewed by Beth Dakin.
11489
11490        Fix regression caused by r41469, add test case to prevent it from 
11491        happening again.
11492        https://bugs.webkit.org/show_bug.cgi?id=25252
11493  
11494        hasLayer() was true during removeOnlyThisLayer()/
11495        updateLayerPositions()
11496        which caused updateLayerPosition()'s walk up the render tree to 
11497        include offsets from the layer we were about to remove.
11498  
11499        I'm not 100% convinced that this wasn't a bug in 
11500        updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 
11501        because the layer in question is not the containing block for the 
11502        block which gets laid out wrong. But this restores the previous 
11503        behavior and adds a test.  So the next time someone is in here re-
11504        factoring, they will at least know if they break something.
11505  
11506        Test: fast/layers/remove-only-this-layer-update.html
11507
11508        * rendering/RenderBoxModelObject.cpp:
11509        (WebCore::RenderBoxModelObject::destroyLayer):
11510        * rendering/RenderLayer.cpp:
11511        (WebCore::RenderLayer::removeOnlyThisLayer):
11512        * rendering/RenderObject.cpp:
11513        (WebCore::RenderObject::destroy):
11514        * rendering/RenderWidget.cpp:
11515        (WebCore::RenderWidget::destroy):
11516
115172009-05-07  Dmitry Titov  <dimich@chromium.org>
11518
11519        Attempt to fix GTK build.
11520
11521        * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
11522
115232009-05-07  Oliver Hunt  <oliver@apple.com>
11524
11525        Reviewed by Gavin Barraclough.
11526
11527        Improve native call performance
11528
11529        Add calling convention declarations where necessary, and update bindings
11530        script to generate them as well.
11531
11532        * bindings/js/JSHTMLCollectionCustom.cpp:
11533        (WebCore::callHTMLCollection):
11534        * bindings/js/JSNodeListCustom.cpp:
11535        (WebCore::callNodeList):
11536        * bindings/js/JSPluginElementFunctions.cpp:
11537        (WebCore::callPlugin):
11538        * bindings/js/JSQuarantinedObjectWrapper.h:
11539        * bindings/scripts/CodeGeneratorJS.pm:
11540        * bridge/runtime_method.cpp:
11541        (JSC::callRuntimeMethod):
11542        * bridge/runtime_object.cpp:
11543        (JSC::callRuntimeObject):
11544
115452009-05-07  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
11546
11547        Reviewed by Dave Hyatt.
11548
11549        Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
11550
11551        Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
11552
11553        Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
11554        gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
11555
11556        The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
11557        This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
11558        To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
11559        methods are renamed to clarify where they belong to. All renames are listed here:
11560
11561        From FormControlElement:
11562        - isEnabled() -> isEnabledFormControl()
11563        - isReadOnly() -> isReadOnlyFormControl()
11564        - isTextControl() -> isTextFormControl()
11565        - valueMatchesRenderer() -> formControlValueMatchesRenderer()
11566        - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
11567        - name() -> formControlName()
11568        - type() -> formControlType()
11569
11570        From FormControlElementWithState:
11571        - saveState() -> saveFormControlState()
11572        - restoreState() -> restoreFormControlState()
11573
11574        A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
11575
11576        No testcases affected, no new tests needed.
11577
11578        * GNUmakefile.am:
11579        * WebCore.pro:
11580        * WebCore.vcproj/WebCore.vcproj:
11581        * WebCore.xcodeproj/project.pbxproj:
11582        * WebCoreSources.bkl:
11583        * css/CSSStyleSelector.cpp:
11584        (WebCore::CSSStyleSelector::canShareStyleWithElement):
11585        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
11586        * dom/Document.cpp:
11587        (WebCore::Document::formElementsState):
11588        * dom/Document.h:
11589        (WebCore::Document::registerFormElementWithState):
11590        (WebCore::Document::unregisterFormElementWithState):
11591        * dom/Element.h:
11592        (WebCore::Element::isFormControlElement):
11593        (WebCore::Element::isEnabledFormControl):
11594        (WebCore::Element::isReadOnlyFormControl):
11595        (WebCore::Element::isTextFormControl):
11596        (WebCore::Element::formControlValueMatchesRenderer):
11597        (WebCore::Element::setFormControlValueMatchesRenderer):
11598        (WebCore::Element::formControlName):
11599        (WebCore::Element::formControlType):
11600        (WebCore::Element::saveFormControlState):
11601        (WebCore::Element::restoreFormControlState):
11602        * dom/FormControlElement.cpp: Removed.
11603        * dom/FormControlElement.h: Removed.
11604        * dom/FormControlElementWithState.cpp: Removed.
11605        * dom/FormControlElementWithState.h: Removed.
11606        * dom/InputElement.cpp:
11607        (WebCore::InputElement::setValueFromRenderer):
11608        * html/HTMLButtonElement.cpp:
11609        (WebCore::HTMLButtonElement::formControlType):
11610        * html/HTMLButtonElement.h:
11611        * html/HTMLFieldSetElement.cpp:
11612        (WebCore::HTMLFieldSetElement::formControlType):
11613        * html/HTMLFieldSetElement.h:
11614        * html/HTMLFormControlElement.cpp:
11615        (WebCore::HTMLFormControlElement::attach):
11616        (WebCore::HTMLFormControlElement::formControlName):
11617        (WebCore::HTMLFormControlElement::willValidate):
11618        (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
11619        (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
11620        (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
11621        (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
11622        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
11623        * html/HTMLFormControlElement.h:
11624        (WebCore::HTMLFormControlElement::isTextFormControl):
11625        (WebCore::HTMLFormControlElement::isEnabledFormControl):
11626        (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
11627        (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
11628        (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
11629        (WebCore::HTMLFormControlElement::type):
11630        (WebCore::HTMLFormControlElement::name):
11631        * html/HTMLInputElement.cpp:
11632        (WebCore::HTMLInputElement::formControlName):
11633        (WebCore::HTMLInputElement::formControlType):
11634        (WebCore::HTMLInputElement::saveFormControlState):
11635        (WebCore::HTMLInputElement::restoreFormControlState):
11636        (WebCore::HTMLInputElement::parseMappedAttribute):
11637        (WebCore::HTMLInputElement::detach):
11638        (WebCore::HTMLInputElement::setValue):
11639        (WebCore::HTMLInputElement::setFileListFromRenderer):
11640        * html/HTMLInputElement.h:
11641        (WebCore::HTMLInputElement::readOnly):
11642        (WebCore::HTMLInputElement::isTextFormControl):
11643        * html/HTMLKeygenElement.cpp:
11644        (WebCore::HTMLKeygenElement::formControlType):
11645        * html/HTMLKeygenElement.h:
11646        * html/HTMLLegendElement.cpp:
11647        (WebCore::HTMLLegendElement::formControlType):
11648        * html/HTMLLegendElement.h:
11649        * html/HTMLOptGroupElement.cpp:
11650        (WebCore::HTMLOptGroupElement::formControlType):
11651        * html/HTMLOptGroupElement.h:
11652        * html/HTMLOptionElement.cpp:
11653        (WebCore::HTMLOptionElement::formControlType):
11654        * html/HTMLOptionElement.h:
11655        * html/HTMLSelectElement.cpp:
11656        (WebCore::HTMLSelectElement::formControlType):
11657        (WebCore::HTMLSelectElement::saveFormControlState):
11658        (WebCore::HTMLSelectElement::restoreFormControlState):
11659        * html/HTMLSelectElement.h:
11660        * html/HTMLTextAreaElement.cpp:
11661        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
11662        (WebCore::HTMLTextAreaElement::formControlType):
11663        (WebCore::HTMLTextAreaElement::saveFormControlState):
11664        (WebCore::HTMLTextAreaElement::restoreFormControlState):
11665        (WebCore::HTMLTextAreaElement::updateValue):
11666        (WebCore::HTMLTextAreaElement::setValue):
11667        * html/HTMLTextAreaElement.h:
11668        (WebCore::HTMLTextAreaElement::readOnly):
11669        (WebCore::HTMLTextAreaElement::isTextFormControl):
11670        * page/AccessibilityRenderObject.cpp:
11671        (WebCore::AccessibilityRenderObject::isEnabled):
11672        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11673        * page/DragController.cpp:
11674        (WebCore::DragController::concludeEditDrag):
11675        * rendering/RenderMenuList.cpp:
11676        (WebCore::RenderMenuList::itemIsEnabled):
11677        * rendering/RenderTextControl.cpp:
11678        (WebCore::updateUserModifyProperty):
11679        (WebCore::RenderTextControl::setInnerTextValue):
11680        * rendering/RenderTextControl.h:
11681        * rendering/RenderTextControlMultiLine.cpp:
11682        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
11683        * rendering/RenderTextControlSingleLine.cpp:
11684        (WebCore::RenderTextControlSingleLine::updateFromElement):
11685        * rendering/RenderTheme.cpp:
11686        (WebCore::RenderTheme::isEnabled):
11687        (WebCore::RenderTheme::isReadOnlyControl):
11688        * rendering/RenderThemeChromiumMac.mm:
11689        (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
11690        * rendering/RenderThemeMac.mm:
11691        (WebCore::RenderThemeMac::adjustMenuListStyle):
11692        * rendering/RenderThemeSafari.cpp:
11693        (WebCore::RenderThemeSafari::adjustMenuListStyle):
11694        * wml/WMLFormControlElement.cpp:
11695        * wml/WMLFormControlElement.h:
11696        (WebCore::WMLFormControlElement::isReadOnlyFormControl):
11697        (WebCore::WMLFormControlElement::isTextFormControl):
11698        (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
11699        (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
11700        * wml/WMLInputElement.cpp:
11701        (WebCore::WMLInputElement::WMLInputElement):
11702        (WebCore::WMLInputElement::isKeyboardFocusable):
11703        (WebCore::WMLInputElement::isMouseFocusable):
11704        (WebCore::WMLInputElement::dispatchBlurEvent):
11705        (WebCore::WMLInputElement::formControlType):
11706        (WebCore::WMLInputElement::formControlName):
11707        (WebCore::WMLInputElement::setValue):
11708        (WebCore::WMLInputElement::saveFormControlState):
11709        (WebCore::WMLInputElement::restoreFormControlState):
11710        (WebCore::WMLInputElement::parseMappedAttribute):
11711        (WebCore::WMLInputElement::detach):
11712        (WebCore::WMLInputElement::appendFormData):
11713        (WebCore::WMLInputElement::init):
11714        * wml/WMLInputElement.h:
11715        (WebCore::WMLInputElement::isTextFormControl):
11716        * wml/WMLOptGroupElement.cpp:
11717        (WebCore::WMLOptGroupElement::formControlType):
11718        * wml/WMLOptGroupElement.h:
11719        * wml/WMLOptionElement.cpp:
11720        (WebCore::WMLOptionElement::formControlType):
11721        * wml/WMLOptionElement.h:
11722
117232009-05-07  Dmitry Titov  <dimich@chromium.org>
11724
11725        Reviewed by Alexey Proskuryakov and Adam Roben.
11726
11727        https://bugs.webkit.org/show_bug.cgi?id=25348
11728        Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
11729
11730        Most of the change is in WTF.
11731        Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
11732        method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
11733        is now a class rather then an integer.
11734        Also, there is no need to initialize threadID in constructors to 0 now.
11735
11736        * dom/XMLTokenizerLibxml2.cpp:
11737        (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
11738        since now ThreadIdentifier needs construction and we avoid having global initializers.
11739        (WebCore::matchFunc): use the new accessor function.
11740        (WebCore::openFunc): ditto.
11741        (WebCore::createStringParser): ditto.
11742        (WebCore::createMemoryParser): ditto.
11743        * loader/icon/IconDatabase.cpp:
11744        (WebCore::IconDatabase::open):
11745        * platform/sql/SQLiteDatabase.cpp:
11746        (WebCore::SQLiteDatabase::SQLiteDatabase):
11747        (WebCore::SQLiteDatabase::close):
11748        * storage/DatabaseThread.cpp:
11749        (WebCore::DatabaseThread::start):
11750        (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
11751        * storage/LocalStorageThread.cpp:
11752        (WebCore::LocalStorageThread::start):
11753        (WebCore::LocalStorageThread::scheduleImport):
11754        (WebCore::LocalStorageThread::scheduleSync):
11755        (WebCore::LocalStorageThread::terminate):
11756        * workers/WorkerThread.cpp:
11757        (WebCore::WorkerThread::start):
11758        (WebCore::WorkerThread::WorkerThread):
11759        (WebCore::WorkerThread::start):
11760
117612009-05-07  Simon Fraser  <simon.fraser@apple.com>
11762
11763        Rubber Stamped by Dave Hyatt
11764        
11765        Shuffle the data members to minimize padding.
11766
11767        * dom/ClassNames.h:
11768
117692009-05-07  Simon Fraser  <simon.fraser@apple.com>
11770
11771        Reviewed by Darin Adler
11772
11773        <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
11774        https://bugs.webkit.org/show_bug.cgi?id=25605
11775
11776        Shrink GlyphPage by splitting the array of GlyphData, which has lots
11777        of padding, into separate Glyph and SimpleFontData* arrays.
11778
11779        * platform/graphics/Font.h:
11780        glyphDataForCharacter has to return a GlyphData by value now.
11781        
11782        * platform/graphics/FontFastPath.cpp:
11783        (WebCore::Font::glyphDataForCharacter):
11784        Return GlyphData by value.
11785        
11786        * platform/graphics/GlyphPageTreeNode.cpp:
11787        (WebCore::GlyphPageTreeNode::initializePage):
11788        Better encapsulation of GlyphPage, using the new methods.
11789
11790        * platform/graphics/Font.h:
11791        * platform/graphics/FontFastPath.cpp:
11792        (WebCore::Font::glyphDataForCharacter):
11793        * platform/graphics/GlyphPageTreeNode.cpp:
11794        (WebCore::GlyphPageTreeNode::initializePage):
11795        * platform/graphics/GlyphPageTreeNode.h:
11796        (WebCore::GlyphData::GlyphData):
11797        (WebCore::GlyphPage::indexForCharacter):
11798        (WebCore::GlyphPage::glyphDataForCharacter):
11799        (WebCore::GlyphPage::glyphDataForIndex):
11800        (WebCore::GlyphPage::glyphAt):
11801        (WebCore::GlyphPage::fontDataForCharacter):
11802        (WebCore::GlyphPage::setGlyphDataForCharacter):
11803        (WebCore::GlyphPage::setGlyphDataForIndex):
11804        (WebCore::GlyphPage::copyFrom):
11805        (WebCore::GlyphPage::clear):
11806
118072009-05-07  Dimitri Glazkov  <dglazkov@chromium.org>
11808
11809        Reviewed by Darin Fisher.
11810
11811        https://bugs.webkit.org/show_bug.cgi?id=25625
11812        Implement Image/Option constructors in V8 bindings.
11813
11814        * bindings/v8/custom/V8DOMWindowCustom.cpp:
11815        (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
11816        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
11817        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
11818
118192009-05-07  Brady Eidson  <beidson@apple.com>
11820
11821        I hate myself for doing this, but need to fix that ChangeLog entry.
11822
11823        * ChangeLog:
11824
118252009-05-07  Brady Eidson  <beidson@apple.com>
11826
11827        Rubberstamped by Darin Adler
11828
11829        * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
11830        * html/HTMLParser.h: Ditto
11831
118322009-05-07  David Hyatt  <hyatt@apple.com>
11833
11834        Restore intrinsic margins to all form controls on Mac and Windows.  Some of this regressed in 43007
11835        when textareas were given explicit margins.  Some of it had already regressed earlier whenever intrinsic
11836        margins were turned off in themeWin.css.
11837
11838        Reviewed by Beth Dakin.
11839
11840        * css/html4.css:
11841        * css/themeWin.css:
11842
118432009-05-07  Brady Eidson  <beidson@apple.com>
11844
11845        Reviewed by Darin Adler and Alexey Proskuryakov.
11846
11847        <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
11848
11849        * dom/Document.cpp:
11850        (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
11851
11852        * html/HTMLParser.cpp:
11853        (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
11854        (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
11855        (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
11856        * html/HTMLParser.h:
11857        (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
11858
118592009-05-07  Antony Sargent  <asargent@chromium.org>
11860
11861        Reviewed by Darin Fisher.
11862
11863        Fix a memory leak in V8EventListenerList::remove.
11864
11865        https://bugs.webkit.org/show_bug.cgi?id=25618
11866
11867        No new functionality so no new tests. 
11868
11869        * bindings/v8/V8EventListenerList.cpp:
11870        (WebCore::V8EventListenerList::remove):
11871
118722009-05-07  Darin Fisher  <darin@chromium.org>
11873
11874        Fix Chromium build bustage.
11875
11876        * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
11877        HTMLCollection.h include.
11878
118792009-05-07  Chris Fleizach  <cfleizach@apple.com>
11880
11881        Reviewed by Beth Dakin.
11882
11883        Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
11884        https://bugs.webkit.org/show_bug.cgi?id=25598
11885
11886        Test: accessibility/radio-button-title-label.html
11887
11888        * page/AccessibilityObject.h:
11889        (WebCore::AccessibilityObject::exposesTitleUIElement):
11890        * page/AccessibilityRenderObject.cpp:
11891        (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
11892        (WebCore::AccessibilityRenderObject::titleUIElement):
11893        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
11894        * page/AccessibilityRenderObject.h:
11895
118962009-05-07  Darin Fisher  <darin@chromium.org>
11897
11898        Fix Chromium build bustage.
11899
11900        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
11901        (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
11902
119032009-05-07  Xan Lopez  <xlopez@igalia.com>
11904
11905        Reviewed by Gustavo Noronha.
11906
11907        https://bugs.webkit.org/show_bug.cgi?id=25610
11908        [GTK] text.caretOffset is reportedly always 0
11909
11910        Use the right function to get the caret offset in an
11911        element. selectionStart() would only work for text
11912        controls (there's even an ASSERT when calculating the selected
11913        text range). Instead just get the selection and get the offset of
11914        the start position.
11915
11916        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
11917
119182009-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11919
11920        Reviewed by Simon Hausmann.
11921
11922        [Qt] Fix support for antialiased CSS border-radius
11923        
11924        WebKit implements border-radius by drawing a double-size border,
11925        and then letting the clip constrain the border to the right width
11926        and position. This requires support for antialiased clipping, as
11927        well as painting, to get a nice smooth border.
11928        
11929        Qt only does antialiased clipping if the anti-alias flag is set
11930        at the time of clipping, so we have to enable this in the method
11931        addInnerRoundedRectClip(), as well as when we draw the border.
11932        
11933        Currently the raster-engine is the only Qt paint engine to support
11934        anti-aliased clipping, but the OpenGL and Mac paint engines could
11935        potentially support this in the future.
11936
11937        * platform/graphics/qt/GraphicsContextQt.cpp:
11938        (WebCore::GraphicsContext::strokeArc):
11939        (WebCore::GraphicsContext::addInnerRoundedRectClip):
11940
119412009-05-07  Adam Langley  <agl@google.com>
11942
11943        Reviewed by Eric Seidel.
11944
11945        Render empty optgroup elements.
11946
11947        https://bugs.webkit.org/show_bug.cgi?id=24900
11948
11949        Currently, optgroup elements which are empty are not rendered. The
11950        HTML specification gives no guidance on this situation.
11951
11952        However, the test for being empty is that they have no children, thus
11953        this will not render:
11954          <optgroup label="test"></optgroup>
11955        while this /will/ render (because of the text node child):
11956          <optgroup label="test"> </optgroup>
11957
11958        This patch will cause both cases to render which matches IE's and
11959        Firefox's behaviour.
11960
11961        The difference only appears when opening the select element and does
11962        not appear in the render tree. Thus, a manual layout-test is required.
11963
11964        * html/HTMLSelectElement.cpp:
11965        (WebCore::HTMLSelectElement::recalcListItems):
11966        * manual-tests/optgroup-empty-and-nested.html: Added.
11967
119682009-05-06  Julie Parent  <jparent@google.com>
11969
11970        Reviewed by Eric Seidel.
11971
11972        Bug 25608: Unused m_frame in ChromiumClipboard.
11973        https://bugs.webkit.org/show_bug.cgi?id=25608
11974
11975        * platform/chromium/ClipboardChromium.h:
11976        
11977        No tests added as this is only removing dead code, no functional changes.
11978
119792009-05-06  Dan Bernstein  <mitz@apple.com>
11980
11981        Reviewed by Simon Fraser and Justin Garcia.
11982
11983        - fix another part of <rdar://problem/6703873> Triple-click quoted line
11984          and type Return creates an extra quoted blank line
11985
11986        Test: editing/inserting/6703873-2.html
11987
11988        * editing/BreakBlockquoteCommand.cpp:
11989        (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
11990        determining the first node that should go into the new blockquote
11991        given the split position: if it is at the end of a container, use the
11992        next node after the container. Otherwise, use the child at the
11993        position's offset.
11994
119952009-05-06  Kevin Ollivier  <kevino@theolliviers.com>
11996
11997        wx build fix, fixes for wx trunk builds.
11998
11999        * platform/graphics/wx/ImageWx.cpp:
12000        (WebCore::BitmapImage::draw):
12001        * platform/wx/RenderThemeWx.cpp:
12002        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
12003        (wxFontProperties::wxFontProperties):
12004
120052009-05-06  Albert J. Wong  <ajwong@chromium.org>
12006
12007        Reviewed by Darin Fisher.
12008
12009        https://bugs.webkit.org/show_bug.cgi?id=25597
12010        Fix API drift compile errors that occurred while this was ifdef-ed out.
12011        The two big issues were that RenderObject::element() became
12012        RenderObject::node() and some of the wk* drawing functions had
12013        an extra theme parameter added to the argument list.
12014
12015        * rendering/RenderThemeChromiumMac.mm:
12016        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
12017        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
12018        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
12019        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
12020        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
12021        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
12022        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
12023
120242009-05-06  Jian Li  <jianli@chromium.org>
12025
12026        Reviewed by Dimitri Glazkov.
12027
12028        https://bugs.webkit.org/show_bug.cgi?id=25385
12029        Upstream changes to V8 bindings for supporting nested workers.
12030
12031        * bindings/v8/WorkerContextExecutionProxy.cpp:
12032        (WebCore::WorkerContextExecutionProxy::ToV8Object):
12033        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
12034        * bindings/v8/custom/V8WorkerCustom.cpp:
12035        (WebCore::getEventListener):
12036        (WebCore::ACCESSOR_SETTER WorkerOnmessage):
12037        (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
12038
120392009-05-06  Dave Moore  <davemoore@google.com>
12040
12041        Reviewed by Dimitri Glazkov.
12042
12043        https://bugs.webkit.org/show_bug.cgi?id=25513
12044        The V8 bindings convert every javascript property to its associated css style
12045        name. It then calls functions that convert that name to an id. This makes
12046        getting or setting css styles on elements slow.
12047        
12048        The patch fixes this by caching the results of the transformation, mapping a
12049        javascript property name to its css property id. It then calls the already
12050        public webkit methods that take the id in place of the string property names.
12051
12052        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
12053
120542009-05-06  Nate Chapin  <japhet@google.com>
12055
12056        Reviewed by Dimitri Glazkov.
12057
12058        https://bugs.webkit.org/show_bug.cgi?id=25591
12059        Upstream V8HTMLFormElement from the Chromium repository.
12060
12061        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
12062        (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository
12063        (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor();
12064        (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
12065
120662009-05-06  Albert J. Wong  <ajwong@chromium.org>
12067
12068        Reviewed by Dimitri Glazkov.
12069
12070        https://bugs.webkit.org/show_bug.cgi?id=25595
12071        Upstream V8CanvasPixelArrayCustom from chromium port tree.
12072
12073        * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
12074
120752009-05-06  Simon Fraser  <simon.fraser@apple.com>
12076
12077        Rubber-stampted by Eric Seidel
12078
12079        Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
12080        Only affects ACCELERATED_COMPOSITING builds.
12081
12082        * rendering/RenderObject.cpp:
12083        (WebCore::RenderObject::adjustStyleDifference):
12084
120852009-05-06  Simon Fraser  <simon.fraser@apple.com>
12086
12087        Reviewed by Dan Bernstein
12088
12089        <rdar://problem/6862550> Reduce size of RenderText in 64-bit
12090        
12091        Rearrange data members of RenderText so that an int comes
12092        first, to minimize padding.
12093
12094        * rendering/RenderText.cpp:
12095        (WebCore::RenderText::RenderText):
12096        * rendering/RenderText.h:
12097
120982009-05-06  Simon Fraser  <simon.fraser@apple.com>
12099
12100        Reviewed by Dan Bernstein
12101
12102        <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit
12103        
12104        Rearrange data members of RenderStyle to minimize padding
12105        when building for 64-bit.
12106
12107        * rendering/style/RenderStyle.cpp:
12108        (WebCore::RenderStyle::RenderStyle):
12109        * rendering/style/RenderStyle.h:
12110        (WebCore::):
12111
121122009-05-06  Darin Fisher  <darin@chromium.org>
12113
12114        Reviewed by Dimitri Glazkov.
12115
12116        https://bugs.webkit.org/show_bug.cgi?id=25596
12117
12118        Fixes Chromium build bustage caused by r43317 (making
12119        RefCountedBase::m_refCount private)
12120
12121        * page/chromium/AccessibilityObjectWrapper.h:
12122        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
12123
121242009-05-06  Hin-Chung Lam  <hclam@chromium.org>
12125
12126        Reviewed by Darin Fisher.
12127
12128        https://bugs.webkit.org/show_bug.cgi?id=25593
12129
12130        Refactor for MediaPlayerPrivate for Chromium port. Remove
12131        the implementation of MediaPlayerPrivateInferface from it.
12132
12133        * platform\graphics\chromium\MediaPlayerPrivateChromium.h:
12134
121352009-05-06  Simon Fraser  <simon.fraser@apple.com>
12136
12137        Reviewed by Dave Hyatt, Dan Bernstein
12138        
12139        <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit
12140
12141        Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.
12142
12143        * platform/graphics/FontFallbackList.cpp:
12144        (WebCore::FontFallbackList::FontFallbackList):
12145        * platform/graphics/FontFallbackList.h:
12146
121472009-05-06  Simon Fraser  <simon.fraser@apple.com>
12148
12149        Reviewed by Darin Adler, Dan Bernstein
12150
12151        <rdar://problem/6860068> Reduce size of InlineBox in 64-bit
12152
12153        Re-order the data members of InlineBox to save 8 bytes when building 64-bit.
12154
12155        * rendering/InlineBox.h:
12156        (WebCore::InlineBox::InlineBox):
12157
121582009-05-06  David Levin  <levin@chromium.org>
12159
12160        Reviewed by Dimitri Glazkov.
12161
12162        https://bugs.webkit.org/show_bug.cgi?id=25588
12163        Adding the custom v8 bindings Document.location.
12164
12165        * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
12166
121672009-05-06  Kevin McCullough  <kmccullough@apple.com>
12168
12169        -Clarified a comment
12170
12171        * editing/InsertParagraphSeparatorCommand.cpp:
12172        (WebCore::InsertParagraphSeparatorCommand::doApply):
12173
121742009-05-06  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
12175
12176        Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.
12177
12178        * wml/WMLAElement.cpp:
12179        * wml/WMLAccessElement.cpp:
12180        * wml/WMLBRElement.cpp:
12181        * wml/WMLCardElement.cpp:
12182        * wml/WMLDoElement.cpp:
12183        * wml/WMLElement.cpp:
12184        * wml/WMLFieldSetElement.cpp:
12185        * wml/WMLGoElement.cpp:
12186        * wml/WMLImageElement.cpp:
12187        * wml/WMLInputElement.cpp:
12188        * wml/WMLMetaElement.cpp:
12189        * wml/WMLOnEventElement.cpp:
12190        * wml/WMLOptGroupElement.cpp:
12191        * wml/WMLOptionElement.cpp:
12192        * wml/WMLPElement.cpp:
12193        * wml/WMLPostfieldElement.cpp:
12194        * wml/WMLSetvarElement.cpp:
12195        * wml/WMLTableElement.cpp:
12196        * wml/WMLTemplateElement.cpp:
12197        * wml/WMLTimerElement.cpp:
12198
121992009-05-06  Xan Lopez  <xlopez@igalia.com>
12200
12201        Reviewed by Gustavo Noronha.
12202
12203        https://bugs.webkit.org/show_bug.cgi?id=25526
12204        [Gtk] Additional support is needed for caret browsing
12205
12206        Emit AtkText::text-selection-changed when the selection changes
12207        and the current selection is of Range (ie, the start and end
12208        positions are different) type. This seems to match what Gecko
12209        does.
12210
12211        * editing/gtk/SelectionControllerGtk.cpp:
12212        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
12213
122142009-05-05  Xan Lopez  <xlopez@igalia.com>
12215
12216        Reviewed by Gustavo Noronha.
12217
12218        https://bugs.webkit.org/show_bug.cgi?id=25526
12219        [Gtk] Additional support is needed for caret browsing
12220
12221        Emit AtkText::text-caret-moved when selection changes.
12222
12223        * GNUmakefile.am:
12224        * editing/SelectionController.h:
12225        * editing/gtk/SelectionController.cpp: Added.
12226        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
12227
122282009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
12229
12230        Reviewed by Gustavo Noronha.
12231
12232        Use mozilla cursors for the previously not implemented
12233        cursors. The manual-tests/cursor.html is looking complete
12234        now.
12235
12236        * platform/gtk/CursorGtk.cpp:
12237        (WebCore::cellCursor):
12238        (WebCore::noDropCursor):
12239        (WebCore::progressCursor):
12240        (WebCore::noneCursor):
12241        (WebCore::notAllowedCursor):
12242        (WebCore::grabCursor):
12243        (WebCore::grabbingCursor):
12244        * platform/gtk/CursorGtk.h:
12245
122462009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
12247
12248        Reviewed by Xan Lopez.
12249
12250        Properly indent the header file.
12251
12252        * platform/gtk/CursorGtk.h:
12253
122542009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
12255
12256        Reviewed by Gustavo Noronha.
12257
12258        Use the mozilla copyright header. Use MPL1.1/GPL2.0
12259        and LGPL2.1 as the license compared to LGPL2.0.
12260
12261        * platform/gtk/CursorGtk.h:
12262
122632009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
12264
12265        Reviewed by Gustavo Noronha.
12266
12267        Move PluginView::invalidateRegion from the
12268        TemporaryLinkStubs to PluginViewGtk.cpp and implement
12269        it with a call to Widget::invalidate() just like
12270        mac is doing. Optimisations would have to be window
12271        system specific.
12272
12273        * platform/gtk/TemporaryLinkStubs.cpp:
12274        * plugins/gtk/PluginViewGtk.cpp:
12275        (WebCore::PluginView::invalidateRegion):
12276
122772009-05-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
12278
12279        Reviewed by Holger Freyther.
12280
12281        Misc fixes to InspectorClientGtk.
12282
12283        * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA.
12284        This prevents copious amounts "Localized string not found" errors
12285        in the console
12286
122872009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
12288
12289        Reviewed by Ariya Hidayat.
12290
12291        Fix the Qt build on Windows.
12292
12293        * platform/graphics/GraphicsContext.h:
12294        (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor.
12295
122962009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
12297
12298        Reviewed by Tor Arne Vestbø.
12299
12300        Tweak WebCore.pro for being able to override the generated sources dir for the
12301        generated_files target.
12302
12303        * WebCore.pro:
12304
123052009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
12306
12307        Reviewed by Holger Freyther.
12308
12309        Fix the Qt/Windows build, use iface instead of interface to avoid conflict
12310        with VS2005 headers.
12311
12312        * css/CSSStyleSelector.cpp:
12313        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
12314
123152009-05-06  Joerg Bornemann  <joerg.bornemann@trolltech.com>
12316
12317        Reviewed by Simon Hausmann.
12318
12319        We need to include StringExtras.h on Windows CE to access the strdup function.
12320
12321        * plugins/PluginStream.cpp:
12322
123232009-05-06  Soren Gjesse  <sgjesse@chromium.org>
12324
12325        Reviewed by Eric Seidel.
12326
12327        Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
12328        https://bugs.webkit.org/show_bug.cgi?id=25544
12329
12330        In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
12331        function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
12332        use the source of an event handler to create new functions this wrapper code causes compatibility problems.
12333
12334        Create a specific toString function for these handlers which will return a function source compatible with the
12335        source returned by the JSC bindings and other browsers.
12336
12337        Test: fast/events/event-function-toString.html
12338
12339        * bindings/v8/ScriptEventListener.cpp:
12340        (WebCore::createAttributeEventListener):
12341        * bindings/v8/V8LazyEventListener.cpp:
12342        (WebCore::V8LazyEventListener::V8LazyEventListener):
12343        (WebCore::V8LazyEventListener::getListenerFunction):
12344        (WebCore::V8LazyEventListenerToString):
12345        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
12346        * bindings/v8/V8LazyEventListener.h:
12347        (WebCore::V8LazyEventListener::create):
12348
123492009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
12350
12351        Reviewed by Simon Hausmann.
12352
12353        Build QtWebKit as a framework on Mac
12354
12355        This implies both debug and release build by default, unless
12356        one of the --debug or --release config options are passed to
12357        the build-webkit script.
12358
12359        Frameworks can be disabled by passing CONFIG+=webkit_no_framework
12360        to the build-webkit script.
12361
12362        To be able to build both debug and release targets in parallel
12363        we have to use separate output directories for the generated
12364        sources, which is not optimal, but required to avoid race conditions.
12365
12366        An optimization would be to only require this spit-up on Mac.
12367
12368        * WebCore.pro:
12369
123702009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
12371
12372        Reviewed by Simon Hausmann.
12373
12374        [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison
12375
12376        A couple of the generators left the bison output file in the source
12377        tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
12378        work well when building release and debug configurations in parallel.
12379
12380        * WebCore.pro:
12381
123822009-05-06  Dan Bernstein  <mitz@apple.com>
12383
12384        Reviewed by Justin Garcia.
12385
12386        - fix an assertion failure in RemoveNodeCommand() when deleting a <br>
12387          between a block and a mail blockquote
12388
12389        Test: editing/deleting/removeNodeCommand-assert.html
12390
12391        * editing/DeleteSelectionCommand.cpp:
12392        (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block
12393        to prune() instead of passing m_upstreamStart.node(), because the latter
12394        may have been removed already.
12395
123962009-05-05  Eric Seidel  <eric@webkit.org>
12397
12398        No review, roll out only.
12399
12400        Roll out r23072 since it broke layout tests
12401
12402        * page/AccessibilityRenderObject.cpp:
12403        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
12404
124052009-05-05  Ben Murdoch  <benm@google.com>
12406
12407        Reviewed by Eric Seidel.
12408        
12409        Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
12410        https://bugs.webkit.org/show_bug.cgi?id=24776
12411
12412        No functional changes, thus no tests.
12413
12414        * bindings/js/JSCustomSQLStatementCallback.cpp:
12415        * bindings/js/JSCustomSQLStatementCallback.h:
12416        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12417        * bindings/js/JSCustomSQLStatementErrorCallback.h:
12418        * bindings/js/JSCustomSQLTransactionCallback.cpp:
12419        * bindings/js/JSCustomSQLTransactionCallback.h:
12420        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12421        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
12422        * bindings/js/JSDatabaseCustom.cpp:
12423        * bindings/js/JSSQLTransactionCustom.cpp:
12424        * loader/EmptyClients.h:
12425        * page/ChromeClient.h:
12426        * storage/ChangeVersionWrapper.cpp:
12427        * storage/ChangeVersionWrapper.h:
12428        * storage/Database.cpp:
12429        (WebCore::Database::databaseInfoTableName):
12430        * storage/Database.h:
12431        * storage/Database.idl:
12432        * storage/DatabaseTask.cpp:
12433        * storage/DatabaseTask.h:
12434        * storage/DatabaseThread.cpp:
12435        * storage/DatabaseThread.h:
12436        * storage/DatabaseTracker.cpp:
12437        * storage/DatabaseTracker.h:
12438        * storage/DatabaseTrackerClient.h:
12439        * storage/OriginQuotaManager.cpp:
12440        * storage/OriginQuotaManager.h:
12441        * storage/SQLStatement.cpp:
12442        * storage/SQLStatement.h:
12443        * storage/SQLTransaction.cpp:
12444        * storage/SQLTransaction.h:
12445        * storage/SQLTransaction.idl:
12446
124472009-05-05  Jeremy Moskovich  <jeremy@chromium.org>
12448
12449        Reviewed by Eric Seidel.
12450
12451        Add some documentation to InlineBox::x(),y().
12452        https://bugs.webkit.org/show_bug.cgi?id=25378
12453
12454        * rendering/InlineBox.h:
12455
124562009-05-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
12457
12458        Reviewed by Eric Seidel.
12459
12460        Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 
12461        https://bugs.webkit.org/show_bug.cgi?id=24693
12462
12463        * WebCore.pro:
12464
124652009-05-05  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
12466
12467        Reviewed by Eric Seidel.
12468
12469        Anonymous blocks should not be exposed in accessibility tree.
12470        Part of https://bugs.webkit.org/show_bug.cgi?id=23072
12471
12472        Tests: accessibility/ignore-anonymous-block.html
12473               platform/win/accessibility/document-role.html
12474
12475        * page/AccessibilityRenderObject.cpp:
12476        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return
12477        true for Anonymous blocks. Matching Firefox 2.0.0.14
12478
124792009-05-05  Jungshik Shin  <jshin@chromium.org>
12480
12481        Reviewed by Alexey Proskuryakov.
12482
12483        http://bugs.webkit.org/show_bug.cgi?id=25487
12484
12485        For euc-kr and other 8bit Korean encodings
12486        (similar to euc-kr/windows-949), make document.charset return
12487        EUC-KR instead of windows-949. The latter is not recognized by
12488        Korean web servers.
12489
12490        Add domName method to TextEncoding to deal with cases where
12491        our internal encoding name does not match what's widely recognized
12492        by web servers. Currently, the only case is 'windows-949' (internal
12493        name) vs 'EUC-KR'.
12494
12495        Test: fast/encoding/euckr-name.html
12496
12497        * dom/Document.cpp:
12498        (WebCore::Document::encoding): Call TextEncoding.domName() instead
12499        of TextEncoding.name().
12500        * platform/text/TextEncoding.cpp:
12501        (WebCore::TextEncoding::domName): For the canonical name 'windows-949',
12502        return 'EUC-KR'. Otherwise, just return the canonical name.
12503        * platform/text/TextEncoding.h:
12504
125052009-05-05  Adam Langley  <agl@google.com>
12506
12507        Reviewed by Darin Adler.
12508
12509        Rendering fix for <select> elements.
12510        https://bugs.webkit.org/show_bug.cgi?id=25558
12511
12512        When switching a <select> element from display:none to default
12513        display, we would fail to invalidate the parent's pref widths in some
12514        situations:
12515
12516        When attaching the element, RenderMenuList::updateOptionsWidth would
12517        call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
12518        set. This would mark the pref widths as dirty, but not for any parent
12519        objects.
12520
12521        When RenderObjectChildList::appendChildNode later calls
12522        setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
12523        nothing would be done because the pref widths were already dirty for.
12524        the RenderMenuList.
12525
12526        * rendering/RenderMenuList.cpp:
12527        (WebCore::RenderMenuList::updateOptionsWidth):
12528
125292009-05-05  Antony Sargent  <asargent@chromium.org>
12530
12531        Reviewed by Dimitri Glazkov.
12532
12533        Switch V8EventListenerList to use HashTable<T>.
12534        https://bugs.webkit.org/show_bug.cgi?id=25496
12535        
12536        This avoids some tricky issues with event listener removal in the 
12537        current implementation and has slightly better performance.
12538
12539        No new functionality so no new tests.
12540
12541        * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator.
12542        * bindings/v8/V8EventListenerList.h:
12543        (WebCore::V8EventListenerList::size):
12544        * bindings/v8/WorkerContextExecutionProxy.cpp:
12545        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
12546
125472009-05-05  Darin Fisher  <darin@chromium.org>
12548
12549        Fixing build bustage.
12550
12551        Add some missing includes to fix the Chromium build.
12552
12553        * bindings/v8/custom/V8DOMWindowCustom.cpp:
12554        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
12555
125562009-05-05  Darin Fisher  <darin@chromium.org>
12557
12558        Reviewed by Darin Adler.
12559
12560        https://bugs.webkit.org/show_bug.cgi?id=25570
12561
12562        history.{back,forward,go} should always be dispatched asynchronously,
12563        even when the history navigation would just result in scrolling the
12564        page.  This matches the behavior of other browsers like IE and FF.
12565
12566        Test: fast/history/back-forward-is-asynchronous.html
12567
12568        * loader/FrameLoader.cpp:
12569        (WebCore::FrameLoader::scheduleHistoryNavigation):
12570
125712009-05-05  Eric Seidel  <eric@webkit.org>
12572
12573        Reviewed by Simon Fraser.
12574
12575        Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
12576        https://bugs.webkit.org/show_bug.cgi?id=25532
12577        https://bugs.webkit.org/show_bug.cgi?id=25568
12578
12579        Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup
12580        which was causing transformed SVG text when filled/stroked with a
12581        pattern using patternUnits=objectBoundingBox to draw incorrectly.
12582
12583        I fixed the incorrect drawing (by removing the broken code) and added
12584        two test cases to test the fix:
12585        * svg/transforms/text-with-pattern-inside-transformed-html.xhtml
12586        * svg/transforms/text-with-pattern-with-svg-transform.svg
12587
12588        * rendering/RenderSVGRoot.cpp:
12589        (WebCore::RenderSVGRoot::mapLocalToContainer):
12590        * rendering/SVGRenderSupport.cpp:
12591        (WebCore::SVGRenderBase::mapLocalToContainer):
12592        * svg/graphics/SVGPaintServerPattern.cpp:
12593        (WebCore::SVGPaintServerPattern::setup):
12594
125952009-05-05  Greg Bolsinga  <bolsinga@apple.com>
12596
12597        Reviewed by Sam Weinig.
12598
12599        https://bugs.webkit.org/show_bug.cgi?id=25554
12600        
12601        Support HTML5 text control input types: email, number, tel, url
12602
12603        Test: fast/html/text-field-input-types.html
12604
12605        * bindings/objc/DOMHTML.mm:
12606        (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly.
12607        * html/HTMLInputElement.cpp: Use the new types where appropriate.
12608        (WebCore::HTMLInputElement::setInputType):
12609        (WebCore::HTMLInputElement::type):
12610        (WebCore::HTMLInputElement::saveState):
12611        (WebCore::HTMLInputElement::restoreState):
12612        (WebCore::HTMLInputElement::accessKeyAction):
12613        (WebCore::HTMLInputElement::rendererIsNeeded):
12614        (WebCore::HTMLInputElement::createRenderer):
12615        (WebCore::HTMLInputElement::appendFormData):
12616        (WebCore::HTMLInputElement::valueWithDefault):
12617        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
12618        (WebCore::HTMLInputElement::defaultEventHandler):
12619        * html/HTMLInputElement.h: Ditto.
12620        (WebCore::HTMLInputElement::):
12621        (WebCore::HTMLInputElement::isTextField):
12622
126232009-04-01  miggilin  <mr.diggilin@gmail.com>
12624
12625        Reviewed by Kevin Ollivier.
12626
12627        Mouse wheel scrolling and keyboard shortcut support for wx.
12628        
12629        https://bugs.webkit.org/show_bug.cgi?id=24797
12630
12631        * platform/ScrollView.cpp:
12632        (WebCore::ScrollView::wheelEvent):
12633        * platform/wx/KeyboardEventWx.cpp:
12634        (WebCore::windowsKeyCodeForKeyEvent):
12635        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12636        * platform/wx/ScrollViewWx.cpp:
12637        (WebCore::ScrollView::platformSetScrollPosition):
12638
126392009-05-05  Kevin Ollivier  <kevino@theolliviers.com>
12640
12641        wx build fix for Windows, add missing include.
12642        
12643        https://bugs.webkit.org/show_bug.cgi?id=24798
12644
12645        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
12646
126472009-05-05  Chris Fleizach  <cfleizach@apple.com>
12648
12649        Reviewed by Beth Dakin.
12650
12651        Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
12652        https://bugs.webkit.org/show_bug.cgi?id=25574
12653
12654        Enable accessibility hit-testing for image map links. 
12655        Allow image map links to return AXURLs and AXAccessKey information.
12656
12657        Test: platform/mac/accessibility/imagemap-hittest.html
12658
12659        * page/AccessibilityImageMapLink.cpp:
12660        (WebCore::AccessibilityImageMapLink::url):
12661        * page/AccessibilityImageMapLink.h:
12662        * page/AccessibilityObject.h:
12663        (WebCore::AccessibilityObject::minValueForRange):
12664        * page/AccessibilityRenderObject.cpp:
12665        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
12666        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
12667        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
12668        * page/AccessibilityRenderObject.h:
12669        * page/mac/AccessibilityObjectWrapper.mm:
12670        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
12671
126722009-05-05  Kevin McCullough  <kmccullough@apple.com>
12673
12674        Reviewed by Dan Bernstein.
12675
12676        <rdar://problem/6552129> Select a quote line and paste elsewhere, you
12677        get that line and an extra quoted blank line
12678        <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
12679        onto an empty line makes an extra quoted line
12680
12681        - When pasting a blockquote with a newline, make sure we put the newline
12682        outside of the blockquote so that it is not quoted.
12683
12684        * editing/InsertParagraphSeparatorCommand.cpp:
12685        (WebCore::InsertParagraphSeparatorCommand::doApply):
12686
126872009-05-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
12688
12689        Reviewed by Xan Lopez.
12690
12691        Call moz_gtk_shutdown on RenderThemeGtk destruction.
12692
12693        * platform/gtk/RenderThemeGtk.cpp:
12694        (WebCore::RenderThemeGtk::~RenderThemeGtk):
12695        * platform/gtk/RenderThemeGtk.h:
12696
126972009-05-05  Darin Adler  <darin@apple.com>
12698
12699        Reviewed by Steve Falkenburg.
12700
12701        <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost"
12702
12703        * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost.
12704
127052009-05-05  Peter Kasting  <pkasting@google.com>
12706
12707        Reviewed by Brady Eidson.
12708
12709        Safety-check m_documentLoader before dereferencing.  While it seems
12710        unlikely this could fail (as Safari 3 shipped without this),
12711        technically almost any call can change or reset m_documentLoader.
12712
12713        * loader/FrameLoader.cpp:
12714        (WebCore::FrameLoader::receivedFirstData):
12715
127162009-05-05  Dan Bernstein  <mitz@apple.com>
12717
12718        - Tiger build fix
12719
12720        * css/CSSComputedStyleDeclaration.cpp:
12721        (WebCore::toCSSIdentifier):
12722
127232009-05-05  Peter Kasting  <pkasting@google.com>
12724
12725        Reviewed by Eric Seidel.
12726
12727        https://bugs.webkit.org/show_bug.cgi?id=25303
12728        No need to ref the internal buffer inside the Skia ImageDecoder.
12729
12730        * platform/image-decoders/skia/ImageDecoder.h:
12731        (WebCore::RGBA32Buffer::RGBA32Buffer):
12732        (WebCore::RGBA32Buffer::operator=):
12733        (WebCore::RGBA32Buffer::clear):
12734        (WebCore::RGBA32Buffer::copyBitmapData):
12735        (WebCore::RGBA32Buffer::bitmap):
12736        (WebCore::RGBA32Buffer::setSize):
12737        (WebCore::RGBA32Buffer::width):
12738        (WebCore::RGBA32Buffer::height):
12739        (WebCore::RGBA32Buffer::hasAlpha):
12740        (WebCore::RGBA32Buffer::setStatus):
12741        (WebCore::RGBA32Buffer::setHasAlpha):
12742        (WebCore::RGBA32Buffer::setRGBA):
12743
127442009-05-05  Dan Bernstein  <mitz@apple.com>
12745
12746        Reviewed by Darin Adler.
12747
12748        - fix https://bugs.webkit.org/show_bug.cgi?id=24192
12749          <rdar://problem/5760774> Replying to a Mail message that contains
12750          fixed width text can change the size of the text
12751
12752        Covered by existing tests: editing/pasteboard/5027857.html
12753                                   editing/pasteboard/paste-pre-002.html
12754
12755        * css/CSSComputedStyleDeclaration.cpp:
12756        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
12757        Added. If the font-size is keyword-based, returns the keyword value
12758        instead of the pixel size.
12759        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If
12760        font-family is a generic family, return the generic family instead of
12761        the the internal string -webkit-[serif|sans-serif|cursive|fantasy
12762        |monospace].
12763        (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
12764        For the font-size property, prefer a keyword value over a pixel size.
12765        * css/CSSComputedStyleDeclaration.h:
12766        * editing/ApplyStyleCommand.cpp:
12767        (WebCore::StyleChange::currentlyHasStyle): For the font-size property,
12768        call getFontSizeCSSValuePreferringKeyword().
12769        * platform/graphics/FontDescription.h:
12770        (WebCore::FontDescription::keywordSize): Changed the return type to
12771        unsigned.
12772        (WebCore::FontDescription::setKeywordSize): Changed the parameter type
12773        to unsigned.
12774        (WebCore::FontDescription::m_keywordSize): Changed the type of this
12775        4-bit field to unsigned, because it takes values as high as 8.
12776
127772009-05-05  Oliver Hunt  <oliver@apple.com>
12778
12779        Reviewed by Maciej Stachowiak.
12780
12781        Fix http/tests/misc/DOMContentLoaded-event.html
12782
12783        The native call performance improvement removed a few places where we
12784        unintentionally performed a toThisObject conversion.  This patch updates
12785        the bindings codegen to not rely on this bug.
12786
12787        * bindings/scripts/CodeGeneratorJS.pm:
12788
127892009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
12790
12791        Reviewed by Xan Lopez and Gustavo Noronha.
12792
12793        Implement WebCore::directoryName for Gtk+.
12794
12795        * platform/gtk/FileSystemGtk.cpp:
12796        (WebCore::directoryName):
12797
127982009-05-05  Eric Seidel  <eric@webkit.org>
12799
12800        Reviewed by Adam Roben.
12801
12802        Fix mappedAttributes() access without NULL check
12803        https://bugs.webkit.org/show_bug.cgi?id=25553
12804
12805        SVGStyledElement::getPresentationAttribute was using mappedAttributes()
12806        without checking for NULL.
12807
12808        HTMLInputElement::setInputType also doesn't NULL check, but I was not
12809        able to get it to crash with a test case so I just added an ASSERT.
12810
12811        * html/HTMLInputElement.cpp:
12812        (WebCore::HTMLInputElement::setInputType):
12813        * svg/SVGStyledElement.cpp:
12814        (WebCore::SVGStyledElement::getPresentationAttribute):
12815
128162009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
12817
12818        Reviewed by Xan Lopez.
12819
12820        Implement WebCore::imageTitle for Gtk+.
12821
12822        * platform/gtk/LocalizedStringsGtk.cpp:
12823        (WebCore::imageTitle):
12824
128252009-05-05  Oliver Hunt  <oliver@apple.com>
12826
12827        Reviewed by Gavin Barraclough.
12828
12829        Bug 25559: Improve native function call performance
12830        <https://bugs.webkit.org/show_bug.cgi?id=25559>
12831
12832        Add forwarding header necessary for compilation, and fix debugger
12833        to correctly account for change in JSFunction behaviour.
12834
12835        * ForwardingHeaders/jit/JITCode.h: Added.
12836        * inspector/JavaScriptDebugServer.cpp:
12837        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
12838
128392009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
12840
12841        Reviewed by Ariya Hidayat.
12842
12843        Make convertValueToQVariant more robust against null JSValues.
12844
12845        Don't require the caller to do the null check.
12846
12847        * bridge/qt/qt_runtime.cpp:
12848        (JSC::Bindings::convertValueToQVariant):
12849
128502009-05-05  Eric Seidel  <eric@webkit.org>
12851
12852        No review, just a revert.
12853
12854        Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash.
12855
12856        * rendering/RenderSVGRoot.cpp:
12857        (WebCore::RenderSVGRoot::mapLocalToContainer):
12858        * rendering/SVGRenderSupport.cpp:
12859        (WebCore::SVGRenderBase::mapLocalToContainer):
12860
128612009-05-04  Alexey Proskuryakov  <ap@webkit.org>
12862
12863        Reviewed by Dave Hyatt.
12864
12865        <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com
12866
12867        The problem was caused by missing <head> element - we used to create it when moving a
12868        misplaced <style> element, but we now handle those in place. Other browsers always create
12869        a <head> element.
12870
12871        There is no guarantee that a <head> element always exists - first, it can be removed with
12872        removeChild or innerHTML, and also, we don't currently create it for frameset documents, or
12873        for manually created ones (e.g. ImageDocument).
12874
12875        Test: fast/parser/head-element-for-yahoo-player.html
12876
12877        * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank.
12878        A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this
12879        code is removed completely.
12880
12881        * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script>
12882        elements as children of <html>. This isn't directly related to this bug, but it was easier
12883        to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements).
12884
12885        * html/HTMLParser.cpp:
12886        (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet.
12887        Create a <head> it a <body> is created implicitly to contain some other element.
12888        (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is
12889        explicitly present in source.
12890        (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet.
12891
128922009-05-04  Jakub Wieczorek  <faw217@gmail.com>
12893
12894        Reviewed by Simon Hausmann.
12895
12896        As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
12897        returns the application/octet-stream mimetype when it can't associate
12898        extension with any mimetype, it can happen that the application/octet-stream
12899        mimetype will hit the list of supported image formats. For instance,
12900        it is possible when QImageReader or QImageWriter support an extension
12901        that is not in the extensions map.
12902
12903        Make sure that this mimetype is not treated as displayable image type.
12904
12905        * platform/MIMETypeRegistry.cpp:
12906        (WebCore::initializeSupportedImageMIMETypes):
12907        (WebCore::initializeSupportedImageMIMETypesForEncoding):
12908
129092009-05-03  Eric Seidel  <eric@webkit.org>
12910
12911        Reviewed by Simon Fraser.
12912
12913        ASSERT(useTransforms) in SVG mapLocalToContainer implementations
12914        https://bugs.webkit.org/show_bug.cgi?id=25532
12915
12916        * rendering/RenderSVGRoot.cpp:
12917        (WebCore::RenderSVGRoot::mapLocalToContainer):
12918        * rendering/SVGRenderSupport.cpp:
12919        (WebCore::SVGRenderBase::mapLocalToContainer):
12920
129212009-05-03  Eric Seidel  <eric@webkit.org>
12922
12923        Reviewed by Simon Fraser.
12924
12925        Remove m_absoluteBounds hack from RenderSVGText
12926        https://bugs.webkit.org/show_bug.cgi?id=25532
12927
12928        No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better)
12929
12930        * rendering/RenderSVGText.cpp:
12931        (WebCore::RenderSVGText::layout):
12932        * rendering/RenderSVGText.h:
12933
129342009-05-03  Eric Seidel  <eric@webkit.org>
12935
12936        Reviewed by Simon Fraser.
12937
12938        Remove the vestigial calculateLocalTransform()
12939        https://bugs.webkit.org/show_bug.cgi?id=25532
12940
12941        RenderSVGContainer is now the only render which needs this
12942        function, but it no longer returns the unused bool.
12943
12944        calculateLocalTransform() previously was called by the DOM before
12945        transform updates were part of layout().
12946
12947        * rendering/RenderForeignObject.cpp:
12948        (WebCore::RenderForeignObject::layout):
12949        * rendering/RenderForeignObject.h:
12950        (WebCore::RenderForeignObject::localTransform):
12951        * rendering/RenderPath.cpp:
12952        (WebCore::RenderPath::layout):
12953        * rendering/RenderPath.h:
12954        * rendering/RenderSVGContainer.cpp:
12955        * rendering/RenderSVGContainer.h:
12956        (WebCore::RenderSVGContainer::calculateLocalTransform):
12957        * rendering/RenderSVGImage.cpp:
12958        (WebCore::RenderSVGImage::layout):
12959        * rendering/RenderSVGImage.h:
12960        * rendering/RenderSVGText.cpp:
12961        (WebCore::RenderSVGText::layout):
12962        * rendering/RenderSVGText.h:
12963        * rendering/RenderSVGTransformableContainer.cpp:
12964        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
12965        * rendering/RenderSVGTransformableContainer.h:
12966
129672009-05-03  Eric Seidel  <eric@webkit.org>
12968
12969        Reviewed by Simon Fraser.
12970
12971        Move more code into SVGRenderBase
12972        https://bugs.webkit.org/show_bug.cgi?id=25532
12973
12974        clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer
12975        are now all shared via SVGRenderBase.
12976
12977        RenderForeignObject should also be sharing this code, but I've left it
12978        alone for now, as changing that would likely cause test changes.
12979
12980        No test changes.  It's possible that transformed <svg:image> elements will
12981        now show up with better metrics in the inspector.
12982
12983        * rendering/RenderSVGImage.cpp:
12984        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
12985        (WebCore::RenderSVGImage::computeRectForRepaint):
12986        (WebCore::RenderSVGImage::mapLocalToContainer):
12987        * rendering/RenderSVGImage.h:
12988        * rendering/RenderSVGModelObject.cpp:
12989        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
12990        (WebCore::RenderSVGModelObject::computeRectForRepaint):
12991        (WebCore::RenderSVGModelObject::mapLocalToContainer):
12992        * rendering/RenderSVGText.cpp:
12993        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
12994        (WebCore::RenderSVGText::computeRectForRepaint):
12995        (WebCore::RenderSVGText::mapLocalToContainer):
12996        * rendering/SVGRenderSupport.cpp:
12997        (WebCore::SVGRenderBase::clippedOverflowRectForRepaint):
12998        (WebCore::SVGRenderBase::computeRectForRepaint):
12999        (WebCore::SVGRenderBase::mapLocalToContainer):
13000        * rendering/SVGRenderSupport.h:
13001
130022009-05-03  Eric Seidel  <eric@webkit.org>
13003
13004        Reviewed by Simon Fraser.
13005
13006        Add SVGRenderBase to share logic between SVG renderers
13007        https://bugs.webkit.org/show_bug.cgi?id=25532
13008
13009        I've added an SVGRenderBase base class which is shared by
13010        all of the SVG renders now.  This patch is just moving code
13011        there are no functional changes in this patch.
13012
13013        Currently I've left these functions in SVGRenderSupport.h
13014        In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.*
13015
13016        clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read.
13017
13018        * rendering/RenderSVGBlock.h:
13019        * rendering/RenderSVGImage.h:
13020        * rendering/RenderSVGModelObject.h:
13021        * rendering/RenderSVGRoot.h:
13022        * rendering/SVGRenderSupport.cpp:
13023        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
13024        (WebCore::SVGRenderBase::finishRenderSVGContent):
13025        (WebCore::clampImageBufferSizeToViewport):
13026        (WebCore::SVGRenderBase::computeContainerBoundingBox):
13027        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
13028        * rendering/SVGRenderSupport.h:
13029        * rendering/SVGRootInlineBox.cpp:
13030        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
13031        (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
13032        (WebCore::SVGRootInlineBox::paint):
13033        * svg/SVGMaskElement.cpp:
13034        (WebCore::SVGMaskElement::drawMaskerContent):
13035        * svg/SVGPatternElement.cpp:
13036        (WebCore::SVGPatternElement::buildPattern):
13037        * svg/graphics/SVGPaintServerGradient.cpp:
13038        (WebCore::createMaskAndSwapContextForTextGradient):
13039        (WebCore::clipToTextMask):
13040
130412009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
13042
13043        Unreviewed SVG build fix.
13044
13045        Include MappedAttribute.h after r43187.
13046
13047        * svg/SVGComponentTransferFunctionElement.cpp:
13048        * svg/SVGFEBlendElement.cpp:
13049        * svg/SVGFEColorMatrixElement.cpp:
13050        * svg/SVGFEComponentTransferElement.cpp:
13051        * svg/SVGFECompositeElement.cpp:
13052        * svg/SVGFEDiffuseLightingElement.cpp:
13053        * svg/SVGFEDisplacementMapElement.cpp:
13054        * svg/SVGFEGaussianBlurElement.cpp:
13055        * svg/SVGFEImageElement.cpp:
13056        * svg/SVGFELightElement.cpp:
13057        * svg/SVGFEMergeNodeElement.cpp:
13058        * svg/SVGFEOffsetElement.cpp:
13059        * svg/SVGFESpecularLightingElement.cpp:
13060        * svg/SVGFETileElement.cpp:
13061        * svg/SVGFETurbulenceElement.cpp:
13062        * svg/SVGFilterElement.cpp:
13063        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
13064
130652009-05-04  Brady Eidson  <beidson@apple.com>
13066
13067        Reviewed by Sam 'The Belly' Weinig
13068
13069        <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only
13070
13071        In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one
13072        themselves.  Leopard's Java plug-in mishandles this case and fails to load code for the applet.
13073
13074        The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing
13075        the canLoad() check if a codebase was actually set on the applet tag.
13076
13077        * html/HTMLAppletElement.cpp:
13078        (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute.
13079
13080        * loader/FrameLoader.cpp:
13081        (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set.
13082
130832009-05-04  Adam Roben  <aroben@apple.com>
13084
13085        Windows build fix
13086
13087        * html/HTMLCollection.h:
13088        * html/HTMLFormElement.h:
13089        Declare CollectionCache as a struct, not a class, to match its
13090        definition.
13091
130922009-05-04  Chris Fleizach  <cfleizach@apple.com>
13093
13094        Reviewed by Beth Dakin, Oliver Hunt.
13095
13096        Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
13097        https://bugs.webkit.org/show_bug.cgi?id=25557
13098
13099        Test: accessibility/canvas.html
13100
13101        * page/AccessibilityRenderObject.cpp:
13102        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
13103        (WebCore::AccessibilityRenderObject::roleValue):
13104
131052009-05-04  Brady Eidson  <beidson@apple.com>
13106
13107        Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug.
13108
13109        * ChangeLog
13110
131112009-05-04  Kai Brüning  <kai@granus.net>
13112
13113        Reviewed by Eric Seidel.
13114        
13115        https://bugs.webkit.org/show_bug.cgi?id=24883
13116        24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp
13117        
13118        Fixed test whether all the chunk has been processed to correctly count utf8 bytes.
13119
13120        Test: fast/innerHTML/innerHTML-nbsp.xhtml
13121
13122        * dom/XMLTokenizerLibxml2.cpp:
13123        (WebCore::parseXMLDocumentFragment):
13124
131252009-05-04  Darin Adler  <darin@apple.com>
13126
13127        Reviewed by Eric Seidel.
13128
13129        Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
13130        and NamedMappedAttrMap.h include of MappedAttribute.h
13131        https://bugs.webkit.org/show_bug.cgi?id=24924
13132
13133        Make compiles faster, and debugging info smaller.
13134
13135        * GNUmakefile.am: Added new source files.
13136        * WebCore.pro: Ditto.
13137        * WebCore.scons: Ditto.
13138        * WebCore.vcproj/WebCore.vcproj: Ditto.
13139        * WebCore.xcodeproj/project.pbxproj: Ditto.
13140        * WebCoreSources.bkl: Ditto.
13141
13142        * bindings/js/JSHTMLCollectionCustom.cpp:
13143        (WebCore::toJS): Updated for new collection type names.
13144
13145        * dom/Document.cpp:
13146        (WebCore::Document::createAttribute): Added. No longer inline.
13147        (WebCore::Document::images): Updated for new collection type names.
13148        (WebCore::Document::applets): Ditto.
13149        (WebCore::Document::embeds): Ditto.
13150        (WebCore::Document::plugins): Ditto.
13151        (WebCore::Document::objects): Ditto.
13152        (WebCore::Document::scripts): Ditto.
13153        (WebCore::Document::links): Ditto.
13154        (WebCore::Document::forms): Ditto.
13155        (WebCore::Document::anchors): Ditto.
13156        (WebCore::Document::all): Ditto.
13157        (WebCore::Document::windowNamedItems): Ditto.
13158        (WebCore::Document::documentNamedItems): Ditto.
13159        (WebCore::Document::nameCollectionInfo): Ditto.
13160
13161        * dom/Document.h: Changed around includes and forward declarations.
13162        Updated for changes to collection types.
13163
13164        * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h.
13165
13166        * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp.
13167        Contains the class that used to be HTMLCollection::CollectionInfo.
13168        * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h.
13169        Ditto.
13170
13171        * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h.
13172        Has the enum that used to be HTMLCollection::Type.
13173
13174        * html/HTMLCollection.cpp:
13175        (WebCore::HTMLCollection::HTMLCollection): Update for collection type change.
13176        (WebCore::HTMLCollection::create): Ditto.
13177        (WebCore::HTMLCollection::resetCollectionInfo): Ditto.
13178        (WebCore::HTMLCollection::itemAfter): Ditto.
13179        * html/HTMLCollection.h: Ditto.
13180
13181        * html/HTMLElement.cpp:
13182        (WebCore::HTMLElement::children): Updated for new collection type names.
13183        * html/HTMLFormCollection.cpp:
13184        (WebCore::HTMLFormCollection::formCollectionInfo): Ditto.
13185        (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto.
13186        * html/HTMLFormCollection.h: Ditto.
13187        * html/HTMLFormElement.h: Ditto.
13188        * html/HTMLMapElement.cpp:
13189        (WebCore::HTMLMapElement::areas): Ditto.
13190        * html/HTMLNameCollection.cpp:
13191        (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto.
13192        * html/HTMLNameCollection.h:
13193        (WebCore::HTMLNameCollection::create): Ditto.
13194        * html/HTMLSelectElement.h:
13195        (WebCore::HTMLSelectElement::collectionInfo): Ditto.
13196        * html/HTMLTableElement.cpp:
13197        (WebCore::HTMLTableElement::tBodies):Ditto.
13198        * html/HTMLTableRowElement.cpp:
13199        (WebCore::HTMLTableRowElement::cells):Ditto.
13200        * html/HTMLTableRowsCollection.cpp:
13201        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto.
13202        * html/HTMLTableSectionElement.cpp:
13203        (WebCore::HTMLTableSectionElement::rows): Ditto.
13204
13205        * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes.
13206        * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto.
13207        * css/CSSStyleSelector.cpp: Ditto.
13208        * dom/Element.cpp: Ditto.
13209        * dom/InputElement.cpp: Ditto.
13210        * dom/NamedAttrMap.cpp: Ditto.
13211        * dom/NamedMappedAttrMap.cpp: Ditto.
13212        * dom/Node.cpp: Ditto.
13213        * dom/StyledElement.cpp: Ditto.
13214        * dom/StyledElement.h: Ditto.
13215        * editing/ApplyStyleCommand.cpp: Ditto.
13216        * editing/DeleteSelectionCommand.cpp: Ditto.
13217        * editing/Editor.cpp: Ditto.
13218        * editing/EditorCommand.cpp: Ditto.
13219        * editing/InsertParagraphSeparatorCommand.cpp: Ditto.
13220        * editing/ReplaceSelectionCommand.cpp: Ditto.
13221        * editing/markup.cpp: Ditto.
13222        * html/CanvasRenderingContext2D.cpp: Ditto.
13223        * html/HTMLAnchorElement.cpp: Ditto.
13224        * html/HTMLAppletElement.cpp: Ditto.
13225        * html/HTMLAreaElement.cpp: Ditto.
13226        * html/HTMLBRElement.cpp: Ditto.
13227        * html/HTMLBaseElement.cpp: Ditto.
13228        * html/HTMLBodyElement.cpp: Ditto.
13229        * html/HTMLButtonElement.cpp: Ditto.
13230        * html/HTMLCanvasElement.cpp: Ditto.
13231        * html/HTMLDivElement.cpp: Ditto.
13232        * html/HTMLEmbedElement.cpp: Ditto.
13233        * html/HTMLFontElement.cpp: Ditto.
13234        * html/HTMLFormControlElement.cpp: Ditto.
13235        * html/HTMLFormElement.cpp: Ditto.
13236        * html/HTMLFrameElement.cpp: Ditto.
13237        * html/HTMLFrameElementBase.cpp: Ditto.
13238        * html/HTMLFrameSetElement.cpp: Ditto.
13239        * html/HTMLHRElement.cpp: Ditto.
13240        * html/HTMLIFrameElement.cpp: Ditto.
13241        * html/HTMLImageElement.cpp: Ditto.
13242        * html/HTMLInputElement.cpp: Ditto.
13243        * html/HTMLIsIndexElement.cpp: Ditto.
13244        * html/HTMLKeygenElement.cpp: Ditto.
13245        * html/HTMLLIElement.cpp: Ditto.
13246        * html/HTMLLinkElement.cpp: Ditto.
13247        * html/HTMLMarqueeElement.cpp: Ditto.
13248        * html/HTMLMetaElement.cpp: Ditto.
13249        * html/HTMLOListElement.cpp: Ditto.
13250        * html/HTMLObjectElement.cpp: Ditto.
13251        * html/HTMLOptionElement.cpp: Ditto.
13252        * html/HTMLParagraphElement.cpp: Ditto.
13253        * html/HTMLParamElement.cpp: Ditto.
13254        * html/HTMLPlugInElement.cpp: Ditto.
13255        * html/HTMLPreElement.cpp: Ditto.
13256        * html/HTMLScriptElement.cpp: Ditto.
13257        * html/HTMLSelectElement.cpp: Ditto.
13258        * html/HTMLStyleElement.cpp: Ditto.
13259        * html/HTMLTableCaptionElement.cpp: Ditto.
13260        * html/HTMLTableCellElement.cpp: Ditto.
13261        * html/HTMLTableColElement.cpp: Ditto.
13262        * html/HTMLTablePartElement.cpp: Ditto.
13263        * html/HTMLTextAreaElement.cpp: Ditto.
13264        * html/HTMLTokenizer.cpp: Ditto.
13265        * html/HTMLUListElement.cpp: Ditto.
13266        * html/HTMLVideoElement.cpp: Ditto.
13267        * html/HTMLViewSourceDocument.cpp: Ditto.
13268        * loader/ImageDocument.cpp: Ditto.
13269        * page/Frame.cpp: Ditto.
13270        * rendering/RenderTreeAsText.cpp: Ditto.
13271        * svg/SVGAElement.cpp: Ditto.
13272        * svg/SVGAnimateMotionElement.cpp: Ditto.
13273        * svg/SVGAnimateTransformElement.cpp: Ditto.
13274        * svg/SVGAnimationElement.cpp: Ditto.
13275        * svg/SVGCircleElement.cpp: Ditto.
13276        * svg/SVGClipPathElement.cpp: Ditto.
13277        * svg/SVGCursorElement.cpp: Ditto.
13278        * svg/SVGElement.cpp: Ditto.
13279        * svg/SVGEllipseElement.cpp: Ditto.
13280        * svg/SVGExternalResourcesRequired.cpp: Ditto.
13281        * svg/SVGFitToViewBox.cpp: Ditto.
13282        * svg/SVGFontFaceElement.cpp: Ditto.
13283        * svg/SVGFontFaceUriElement.cpp: Ditto.
13284        * svg/SVGForeignObjectElement.cpp: Ditto.
13285        * svg/SVGGlyphElement.cpp: Ditto.
13286        * svg/SVGGradientElement.cpp: Ditto.
13287        * svg/SVGImageElement.cpp: Ditto.
13288        * svg/SVGLangSpace.cpp: Ditto.
13289        * svg/SVGLineElement.cpp: Ditto.
13290        * svg/SVGLinearGradientElement.cpp: Ditto.
13291        * svg/SVGMarkerElement.cpp: Ditto.
13292        * svg/SVGMaskElement.cpp: Ditto.
13293        * svg/SVGPathElement.cpp: Ditto.
13294        * svg/SVGPatternElement.cpp: Ditto.
13295        * svg/SVGPolyElement.cpp: Ditto.
13296        * svg/SVGRadialGradientElement.cpp: Ditto.
13297        * svg/SVGRectElement.cpp: Ditto.
13298        * svg/SVGSVGElement.cpp: Ditto.
13299        * svg/SVGScriptElement.cpp: Ditto.
13300        * svg/SVGStopElement.cpp: Ditto.
13301        * svg/SVGStyleElement.cpp: Ditto.
13302        * svg/SVGStyledElement.cpp: Ditto.
13303        * svg/SVGStyledTransformableElement.cpp: Ditto.
13304        * svg/SVGTests.cpp: Ditto.
13305        * svg/SVGTextContentElement.cpp: Ditto.
13306        * svg/SVGTextElement.cpp: Ditto.
13307        * svg/SVGTextPathElement.cpp: Ditto.
13308        * svg/SVGTextPositioningElement.cpp: Ditto.
13309        * svg/SVGURIReference.cpp: Ditto.
13310        * svg/SVGUseElement.cpp: Ditto.
13311        * svg/SVGViewElement.cpp: Ditto.
13312        * svg/animation/SVGSMILElement.cpp: Ditto.
13313        * xml/XPathStep.cpp: Ditto.
13314
133152009-05-04  Pavel Feldman  <pfeldman@chromium.org>
13316
13317        Reviewed by Timothy Hatcher.
13318
13319        Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods.
13320        https://bugs.webkit.org/show_bug.cgi?id=25520
13321
13322        * inspector/front-end/inspector.js:
13323        (WebInspector.loaded):
13324
133252009-05-04  Brady Eidson <beidson@apple.com>
13326
13327        Reviewed by Darin Adler.
13328
13329        <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window
13330
13331        DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has 
13332        particularly sticky behavior.  
13333
13334        If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive.  However, we 
13335        prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded 
13336        from the WebArchive.
13337
13338        In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the 
13339        loading delegate machinery.  This was always a possibility, but the Preload Scanner made this significantly more likely.
13340
13341        When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an 
13342        ArchiveResource it has even if the CachedResource hasn't been loaded yet.  The CachedResource has nil data, so no
13343        WebResource is returned, and the client thinks the subresource doesn't exist even though it does.
13344
13345        This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix.
13346
13347        * loader/DocumentLoader.cpp:
13348        (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the
13349          ArchiveResource.
13350
133512009-05-04  Eric Carlson  <eric.carlson@apple.com>
13352
13353        Reviewed by Adam Roben.
13354        
13355        https://bugs.webkit.org/show_bug.cgi?id=25545
13356        Bug 25545: HTMLMediaElement: display anamorphic video correctly
13357        
13358        Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized
13359        and displayed correctly.
13360
13361        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
13362        (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode.
13363        * platform/graphics/win/QTMovieWin.cpp:
13364        (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't 
13365        filled beyond capacity.
13366
133672009-05-03  Mark Rowe  <mrowe@apple.com>
13368
13369        Reviewed by Darin Adler.
13370
13371        Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>.
13372        Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load
13373
13374        Only the first plug-in in a PluginDocument can use the main resource data.  For all
13375        subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself
13376        out for the real Flash plug-in, we need to load the resource data in the same manner
13377        as for other embedded plug-ins.
13378
13379        * loader/FrameLoader.cpp:
13380        (WebCore::FrameLoader::loadPlugin):
13381
133822009-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
13383
13384        Rubber-stamped by Ariya Hidayat.
13385
13386        Update the qrc file for the Web Inspector in the Qt build
13387        with missing files.
13388
13389        * inspector/front-end/WebKit.qrc:
13390
133912009-05-03  Eric Seidel  <eric@webkit.org>
13392
13393        Reviewed by George Staikos.
13394
13395        Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage
13396        https://bugs.webkit.org/show_bug.cgi?id=25532
13397
13398        * rendering/RenderSVGInline.cpp:
13399        (WebCore::RenderSVGInline::absoluteRects):
13400        (WebCore::RenderSVGInline::absoluteQuads):
13401        * rendering/RenderSVGInline.h:
13402        * rendering/RenderSVGTSpan.cpp:
13403        * rendering/RenderSVGTSpan.h:
13404        * rendering/RenderSVGTextPath.cpp:
13405        * rendering/RenderSVGTextPath.h:
13406
134072009-05-03  Eric Seidel  <eric@webkit.org>
13408
13409        Reviewed by George Staikos.
13410
13411        Move RenderSVGText off of localToAbsolute()
13412        https://bugs.webkit.org/show_bug.cgi?id=25532
13413
13414        * rendering/RenderSVGText.cpp:
13415        (WebCore::RenderSVGText::absoluteRects):
13416        (WebCore::RenderSVGText::absoluteQuads):
13417
134182009-05-03  Eric Seidel  <eric@webkit.org>
13419
13420        Reviewed by George Staikos.
13421
13422        Remove broken absoluteTransform() code from RenderSVGInlineText
13423        https://bugs.webkit.org/show_bug.cgi?id=25532
13424
13425        This improved SVG text focus rings.
13426        This also improved SVG.getScreenCTM() results.
13427
13428        SVGSVGElement::getScreenCTM was passing "true" for the second argument in
13429        localToAbsolute, which is "fixed" it meant to pass "true" for the
13430        third argument (useTransforms).  That change alone caused no layout test changes, however
13431        before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer
13432
13433        mapLocalToContainer implementations really should be shared,
13434        but I'll do that in a later patch.
13435
13436        * rendering/RenderSVGInlineText.cpp:
13437        (WebCore::RenderSVGInlineText::styleDidChange):
13438        (WebCore::RenderSVGInlineText::absoluteQuads):
13439        (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
13440        (WebCore::RenderSVGInlineText::computeRepaintQuadForRange):
13441        * rendering/RenderSVGInlineText.h:
13442        * rendering/RenderSVGRoot.cpp:
13443        (WebCore::RenderSVGRoot::mapLocalToContainer):
13444        * rendering/RenderSVGRoot.h:
13445        * rendering/RenderSVGText.cpp:
13446        (WebCore::RenderSVGText::mapLocalToContainer):
13447        * rendering/RenderSVGText.h:
13448        * svg/SVGSVGElement.cpp:
13449        (WebCore::SVGSVGElement::getScreenCTM):
13450
134512009-05-03  Eric Seidel  <eric@webkit.org>
13452
13453        Reviewed by George Staikos.
13454
13455        Remove dead code from RenderPath
13456        https://bugs.webkit.org/show_bug.cgi?id=25532
13457
13458        * rendering/RenderPath.cpp:
13459        * rendering/RenderPath.h:
13460
134612009-05-03  Eric Seidel  <eric@webkit.org>
13462
13463        Reviewed by George Staikos.
13464
13465        Share layout code between RenderSVGViewportContainer and RenderSVGContainer
13466        https://bugs.webkit.org/show_bug.cgi?id=25532
13467
13468        * rendering/RenderSVGContainer.cpp:
13469        (WebCore::RenderSVGContainer::layout):
13470        * rendering/RenderSVGContainer.h:
13471        (WebCore::RenderSVGContainer::calcViewport):
13472        * rendering/RenderSVGViewportContainer.cpp:
13473        (WebCore::RenderSVGViewportContainer::applyViewportClip):
13474        * rendering/RenderSVGViewportContainer.h:
13475
134762009-05-03  Eric Seidel  <eric@webkit.org>
13477
13478        Reviewed by George Staikos.
13479
13480        Remove redundant disableLayoutState() calls
13481        https://bugs.webkit.org/show_bug.cgi?id=25532
13482
13483        * rendering/RenderForeignObject.cpp:
13484        (WebCore::RenderForeignObject::layout):
13485        * rendering/RenderSVGContainer.cpp:
13486        (WebCore::RenderSVGContainer::layout):
13487        * rendering/RenderSVGViewportContainer.cpp:
13488        (WebCore::RenderSVGViewportContainer::layout):
13489
134902009-05-03  Eric Seidel  <eric@webkit.org>
13491
13492        Reviewed by George Staikos.
13493
13494        Simplify RenderForeignObject::paint and fix a repaint bug.
13495        Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect.
13496        https://bugs.webkit.org/show_bug.cgi?id=16939
13497
13498        * rendering/RenderForeignObject.cpp:
13499        (WebCore::RenderForeignObject::paint):
13500
135012009-05-03  Hironori Bono  <hbono@chromium.org>
13502
13503        Reviewed by Eric Seidel.
13504
13505        Test: editing/spelling/spellcheck-attribute.html
13506
13507        Bug 14552: Add a way to disable spell checking for specific element
13508        https://bugs.webkit.org/show_bug.cgi?id=14552
13509
13510        For compatibility with Firefox, this code ascends the DOM tree when an element does
13511        not have its "spellcheck" attribute.
13512
13513        * editing/Editor.cpp:
13514        (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck"
13515        attribute of an element before calling a spell checker or a grammar checker.
13516        * html/HTMLAttributeNames.in: Add a "spellcheck" attribute.
13517
135182009-05-03  Sam Weinig  <sam@webkit.org>
13519
13520        Roll JSC API number marshaling back in one last time (I hope).
13521
135222009-05-03  Sam Weinig  <sam@webkit.org>
13523
13524        Roll JSC API number marshaling back out. It still breaks windows.
13525
135262009-05-03  Sam Weinig  <sam@webkit.org>
13527
13528        Roll JSC API number marshaling back in.
13529
135302009-05-02  Dan Bernstein  <mitz@apple.com>
13531
13532        Reviewed by Darin Adler.
13533
13534        - another fix for <rdar://problem/6617298> Typing delete on an unquoted
13535          blank line unquotes the preceding, quoted blank line
13536
13537        Test: editing/deleting/type-delete-after-quote-2.html
13538
13539        * editing/DeleteSelectionCommand.cpp:
13540        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize
13541        m_startsAtEmptyLine.
13542        (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the
13543        selection starts at an empty line, do not prevent the merging of blocks.
13544        This is what allows the text after the line break to be merged into the
13545        block containing the line break. Also set m_startsAtEmptyLine to true.
13546        (WebCore::DeleteSelectionCommand::mergeParagraphs): If
13547        m_startsAtEmptyLine is true, create a placeholder BR to serve as the
13548        merge destination.
13549        * editing/DeleteSelectionCommand.h:
13550
135512009-05-02  Geoffrey Garen  <ggaren@apple.com>
13552
13553        Reviewed by Sam Weinig.
13554
13555        Simplified null-ish JSValues.
13556        
13557        Replaced calls to noValue() with calls to JSValue() (which is what
13558        noValue() returned). Removed noValue().
13559        
13560        Removed "JSValue()" initialiazers, since default construction happens...
13561        by default.
13562
13563        * bindings/js/JSDOMBinding.cpp:
13564        (WebCore::setDOMException):
13565        * bindings/js/JSDOMWindowCustom.cpp:
13566        (WebCore::JSDOMWindow::open):
13567        (WebCore::JSDOMWindow::showModalDialog):
13568        * bindings/js/JSEventListener.cpp:
13569        (WebCore::JSEventListener::handleEvent):
13570        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13571        (WebCore::JSJavaScriptCallFrame::evaluate):
13572        * bindings/js/JSSQLResultSetRowListCustom.cpp:
13573        (WebCore::JSSQLResultSetRowList::item):
13574        * bindings/js/ScriptController.cpp:
13575        (WebCore::ScriptController::evaluate):
13576        * bindings/js/ScriptValue.h:
13577        (WebCore::ScriptValue::ScriptValue):
13578        (WebCore::ScriptValue::hasNoValue):
13579        * bindings/js/WorkerScriptController.cpp:
13580        (WebCore::WorkerScriptController::evaluate):
13581        * bridge/jni/jni_instance.cpp:
13582        (JavaInstance::invokeMethod):
13583        * bridge/jni/jni_runtime.cpp:
13584        (JavaField::dispatchValueFromInstance):
13585        (JavaField::dispatchSetValueToInstance):
13586        * bridge/runtime.h:
13587        (JSC::Bindings::Instance::invokeConstruct):
13588
135892009-05-02  Antti Koivisto  <antti@apple.com>
13590
13591        Reviewed by Dan Bernstein.
13592
13593        <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454)
13594        
13595        Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach().
13596
13597        * dom/ContainerNode.cpp:
13598        (WebCore::ContainerNode::suspendPostAttachCallbacks):
13599        (WebCore::ContainerNode::resumePostAttachCallbacks):
13600        (WebCore::ContainerNode::attach):
13601        * dom/Element.cpp:
13602        (WebCore::Element::attach):
13603        * loader/loader.cpp:
13604        (WebCore::Loader::Loader):
13605        (WebCore::Loader::servePendingRequests):
13606        (WebCore::Loader::suspendPendingRequests):
13607        (WebCore::Loader::resumePendingRequests):
13608        (WebCore::Loader::Host::servePendingRequests):
13609        * loader/loader.h:
13610        (WebCore::Loader::isSuspendingPendingRequests):
13611
136122009-05-02  Darin Adler  <darin@apple.com>
13613
13614        Reviewed by Dan Bernstein.
13615
13616        Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
13617        https://bugs.webkit.org/show_bug.cgi?id=25352
13618        rdar://problem/6823239
13619
13620        Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
13621
13622        * platform/network/HTTPParsers.cpp:
13623        (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator.
13624
136252009-05-02  Darin Adler  <darin@apple.com>
13626
13627        Reviewed by Brady Eidson.
13628
13629        Bug 25491: WebFrame leak when a subframe removes itself
13630        https://bugs.webkit.org/show_bug.cgi?id=25491
13631        rdar://problem/6833859
13632
13633        Test: fast/loading/subframe-removes-itself.html
13634
13635        * loader/FrameLoader.cpp:
13636        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true,
13637        treat load as complete, even if isLoadingInAPISense is still returning true.
13638
136392009-05-01  Sam Weinig  <sam@webkit.org>
13640
13641        Roll out JavaScriptCore API number marshaling.
13642
13643        * bindings/js/ScriptValue.cpp:
13644        (WebCore::ScriptValue::isEqual):
13645        * inspector/JavaScriptProfile.cpp:
13646        (WebCore::getHeadCallback):
13647        * inspector/JavaScriptProfileNode.cpp:
13648        (WebCore::getChildren):
13649        (WebCore::getParent):
13650        (WebCore::getHead):
13651
136522009-05-01  Sam Weinig  <sam@webkit.org>
13653
13654        Fix build.
13655
13656        * workers/WorkerContext.idl:
13657
136582009-05-01  Sam Weinig  <sam@webkit.org>
13659
13660        Reviewed by Oliver Hunt.
13661
13662        Cleanup workers code a bit.
13663
13664        * bindings/js/JSWorkerContextBase.cpp:
13665        (WebCore::toJS):
13666        * bindings/js/JSWorkerContextBase.h:
13667        * bindings/js/JSWorkerContextCustom.cpp:
13668        (WebCore::JSWorkerContext::customGetOwnPropertySlot):
13669        * workers/WorkerContext.h:
13670        (WebCore::WorkerContext::toWorkerContext):
13671        (WebCore::WorkerContext::self):
13672        (WebCore::WorkerContext::setOnmessage):
13673        (WebCore::WorkerContext::onmessage):
13674        * workers/WorkerContext.idl:
13675
136762009-05-01  Sam Weinig  <sam@webkit.org>
13677
13678        Reviewed by Darin Adler.
13679
13680        A little clean up.
13681
13682        * loader/FrameLoader.cpp:
13683        (WebCore::FrameLoader::createJavaAppletWidget):
13684
136852009-05-01  Sam Weinig  <sam@webkit.org>
13686
13687        Fix the build.
13688
13689        * bindings/js/ScriptValue.cpp:
13690        (WebCore::ScriptValue::isEqual):
13691        * inspector/JavaScriptProfile.cpp:
13692        (WebCore::getHeadCallback):
13693        * inspector/JavaScriptProfileNode.cpp:
13694        (WebCore::getChildren):
13695        (WebCore::getParent):
13696        (WebCore::getHead):
13697
136982009-05-01  Brady Eidson  <beidson@apple.com>
13699
13700        Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig
13701
13702        Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail
13703
13704        * bindings/objc/DOMHTML.mm:
13705        (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes.
13706
137072009-05-01  Geoffrey Garen  <ggaren@apple.com>
13708
13709        Rubber Stamped by Sam Weinig.
13710        
13711        Renamed JSValuePtr => JSValue.
13712
13713        * bindings/js/JSAttrCustom.cpp:
13714        (WebCore::JSAttr::setValue):
13715        * bindings/js/JSCDATASectionCustom.cpp:
13716        (WebCore::toJSNewlyCreated):
13717        * bindings/js/JSCSSRuleCustom.cpp:
13718        (WebCore::toJS):
13719        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
13720        (WebCore::JSCSSStyleDeclaration::nameGetter):
13721        (WebCore::JSCSSStyleDeclaration::customPut):
13722        * bindings/js/JSCSSValueCustom.cpp:
13723        (WebCore::toJS):
13724        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13725        (WebCore::toJS):
13726        (WebCore::toHTMLCanvasStyle):
13727        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
13728        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
13729        (WebCore::JSCanvasRenderingContext2D::fillStyle):
13730        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
13731        (WebCore::JSCanvasRenderingContext2D::setFillColor):
13732        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
13733        (WebCore::JSCanvasRenderingContext2D::strokeRect):
13734        (WebCore::JSCanvasRenderingContext2D::drawImage):
13735        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
13736        (WebCore::JSCanvasRenderingContext2D::setShadow):
13737        (WebCore::JSCanvasRenderingContext2D::createPattern):
13738        (WebCore::JSCanvasRenderingContext2D::putImageData):
13739        (WebCore::JSCanvasRenderingContext2D::fillText):
13740        (WebCore::JSCanvasRenderingContext2D::strokeText):
13741        * bindings/js/JSClipboardCustom.cpp:
13742        (WebCore::JSClipboard::types):
13743        (WebCore::JSClipboard::clearData):
13744        (WebCore::JSClipboard::getData):
13745        (WebCore::JSClipboard::setData):
13746        (WebCore::JSClipboard::setDragImage):
13747        * bindings/js/JSConsoleCustom.cpp:
13748        (WebCore::JSConsole::profiles):
13749        * bindings/js/JSCoordinatesCustom.cpp:
13750        (WebCore::JSCoordinates::altitude):
13751        (WebCore::JSCoordinates::altitudeAccuracy):
13752        (WebCore::JSCoordinates::heading):
13753        (WebCore::JSCoordinates::speed):
13754        * bindings/js/JSCustomPositionCallback.cpp:
13755        (WebCore::JSCustomPositionCallback::handleEvent):
13756        * bindings/js/JSCustomPositionErrorCallback.cpp:
13757        (WebCore::JSCustomPositionErrorCallback::handleEvent):
13758        * bindings/js/JSCustomSQLStatementCallback.cpp:
13759        (WebCore::JSCustomSQLStatementCallback::handleEvent):
13760        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
13761        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
13762        * bindings/js/JSCustomSQLTransactionCallback.cpp:
13763        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
13764        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
13765        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
13766        * bindings/js/JSCustomVoidCallback.cpp:
13767        (WebCore::JSCustomVoidCallback::handleEvent):
13768        (WebCore::toVoidCallback):
13769        * bindings/js/JSCustomVoidCallback.h:
13770        * bindings/js/JSCustomXPathNSResolver.cpp:
13771        (WebCore::JSCustomXPathNSResolver::create):
13772        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
13773        * bindings/js/JSCustomXPathNSResolver.h:
13774        * bindings/js/JSDOMApplicationCacheCustom.cpp:
13775        (WebCore::JSDOMApplicationCache::hasItem):
13776        (WebCore::JSDOMApplicationCache::add):
13777        (WebCore::JSDOMApplicationCache::remove):
13778        (WebCore::JSDOMApplicationCache::addEventListener):
13779        (WebCore::JSDOMApplicationCache::removeEventListener):
13780        * bindings/js/JSDOMBinding.cpp:
13781        (WebCore::jsStringOrNull):
13782        (WebCore::jsOwnedStringOrNull):
13783        (WebCore::jsStringOrUndefined):
13784        (WebCore::jsStringOrFalse):
13785        (WebCore::valueToStringWithNullCheck):
13786        (WebCore::valueToStringWithUndefinedOrNullCheck):
13787        (WebCore::reportException):
13788        (WebCore::reportCurrentException):
13789        (WebCore::setDOMException):
13790        (WebCore::objectToStringFunctionGetter):
13791        * bindings/js/JSDOMBinding.h:
13792        (WebCore::getDOMObjectWrapper):
13793        (WebCore::getDOMNodeWrapper):
13794        (WebCore::toJS):
13795        * bindings/js/JSDOMGlobalObject.cpp:
13796        (WebCore::JSDOMGlobalObject::findJSEventListener):
13797        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
13798        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
13799        * bindings/js/JSDOMGlobalObject.h:
13800        * bindings/js/JSDOMStringListCustom.cpp:
13801        (WebCore::JSDOMStringList::getByIndex):
13802        (WebCore::JSDOMStringList::item):
13803        * bindings/js/JSDOMWindowBase.cpp:
13804        (WebCore::JSDOMWindowBase::childFrameGetter):
13805        (WebCore::JSDOMWindowBase::indexGetter):
13806        (WebCore::JSDOMWindowBase::namedItemGetter):
13807        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
13808        (WebCore::JSDOMWindowBase::put):
13809        (WebCore::JSDOMWindowBase::setReturnValueSlot):
13810        (WebCore::toJS):
13811        (WebCore::toJSDOMWindow):
13812        * bindings/js/JSDOMWindowBase.h:
13813        * bindings/js/JSDOMWindowCustom.cpp:
13814        (WebCore::JSDOMWindow::lookupGetter):
13815        (WebCore::JSDOMWindow::lookupSetter):
13816        (WebCore::JSDOMWindow::history):
13817        (WebCore::JSDOMWindow::location):
13818        (WebCore::JSDOMWindow::setLocation):
13819        (WebCore::JSDOMWindow::crypto):
13820        (WebCore::JSDOMWindow::event):
13821        (WebCore::JSDOMWindow::image):
13822        (WebCore::JSDOMWindow::option):
13823        (WebCore::JSDOMWindow::audio):
13824        (WebCore::JSDOMWindow::webKitPoint):
13825        (WebCore::JSDOMWindow::webKitCSSMatrix):
13826        (WebCore::JSDOMWindow::xmlHttpRequest):
13827        (WebCore::JSDOMWindow::xsltProcessor):
13828        (WebCore::JSDOMWindow::messageChannel):
13829        (WebCore::JSDOMWindow::worker):
13830        (WebCore::createWindow):
13831        (WebCore::JSDOMWindow::open):
13832        (WebCore::JSDOMWindow::showModalDialog):
13833        (WebCore::JSDOMWindow::postMessage):
13834        (WebCore::JSDOMWindow::setTimeout):
13835        (WebCore::JSDOMWindow::setInterval):
13836        (WebCore::JSDOMWindow::atob):
13837        (WebCore::JSDOMWindow::btoa):
13838        (WebCore::JSDOMWindow::addEventListener):
13839        (WebCore::JSDOMWindow::removeEventListener):
13840        (WebCore::toDOMWindow):
13841        * bindings/js/JSDOMWindowCustom.h:
13842        (WebCore::nonCachingStaticFunctionGetter):
13843        (WebCore::JSDOMWindow::customPut):
13844        * bindings/js/JSDOMWindowShell.cpp:
13845        (WebCore::JSDOMWindowShell::put):
13846        (WebCore::JSDOMWindowShell::putWithAttributes):
13847        (WebCore::JSDOMWindowShell::lookupGetter):
13848        (WebCore::JSDOMWindowShell::lookupSetter):
13849        (WebCore::toJS):
13850        * bindings/js/JSDOMWindowShell.h:
13851        (WebCore::JSDOMWindowShell::createStructure):
13852        * bindings/js/JSDatabaseCustom.cpp:
13853        (WebCore::JSDatabase::changeVersion):
13854        (WebCore::JSDatabase::transaction):
13855        * bindings/js/JSDocumentCustom.cpp:
13856        (WebCore::JSDocument::location):
13857        (WebCore::JSDocument::setLocation):
13858        (WebCore::toJS):
13859        * bindings/js/JSElementCustom.cpp:
13860        (WebCore::JSElement::setAttribute):
13861        (WebCore::JSElement::setAttributeNode):
13862        (WebCore::JSElement::setAttributeNS):
13863        (WebCore::JSElement::setAttributeNodeNS):
13864        (WebCore::toJSNewlyCreated):
13865        * bindings/js/JSEventCustom.cpp:
13866        (WebCore::JSEvent::clipboardData):
13867        (WebCore::toJS):
13868        * bindings/js/JSEventListener.cpp:
13869        (WebCore::JSEventListener::handleEvent):
13870        * bindings/js/JSEventTarget.cpp:
13871        (WebCore::toJS):
13872        (WebCore::toEventTarget):
13873        * bindings/js/JSEventTarget.h:
13874        * bindings/js/JSEventTargetBase.h:
13875        * bindings/js/JSGeolocationCustom.cpp:
13876        (WebCore::createPositionOptions):
13877        (WebCore::JSGeolocation::getCurrentPosition):
13878        (WebCore::JSGeolocation::watchPosition):
13879        * bindings/js/JSHTMLAllCollection.h:
13880        (WebCore::JSHTMLAllCollection::createStructure):
13881        * bindings/js/JSHTMLAppletElementCustom.cpp:
13882        (WebCore::JSHTMLAppletElement::customPut):
13883        (WebCore::JSHTMLAppletElement::nameGetter):
13884        * bindings/js/JSHTMLCollectionCustom.cpp:
13885        (WebCore::getNamedItems):
13886        (WebCore::callHTMLCollection):
13887        (WebCore::JSHTMLCollection::nameGetter):
13888        (WebCore::JSHTMLCollection::item):
13889        (WebCore::JSHTMLCollection::namedItem):
13890        (WebCore::toJS):
13891        * bindings/js/JSHTMLDocumentCustom.cpp:
13892        (WebCore::JSHTMLDocument::nameGetter):
13893        (WebCore::JSHTMLDocument::all):
13894        (WebCore::JSHTMLDocument::setAll):
13895        (WebCore::JSHTMLDocument::open):
13896        (WebCore::JSHTMLDocument::write):
13897        (WebCore::JSHTMLDocument::writeln):
13898        * bindings/js/JSHTMLEmbedElementCustom.cpp:
13899        (WebCore::JSHTMLEmbedElement::customPut):
13900        (WebCore::JSHTMLEmbedElement::nameGetter):
13901        * bindings/js/JSHTMLFormElementCustom.cpp:
13902        (WebCore::JSHTMLFormElement::nameGetter):
13903        (WebCore::JSHTMLFormElement::submit):
13904        * bindings/js/JSHTMLFrameElementCustom.cpp:
13905        (WebCore::JSHTMLFrameElement::setSrc):
13906        (WebCore::JSHTMLFrameElement::setLocation):
13907        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
13908        (WebCore::JSHTMLFrameSetElement::nameGetter):
13909        * bindings/js/JSHTMLIFrameElementCustom.cpp:
13910        (WebCore::JSHTMLIFrameElement::setSrc):
13911        * bindings/js/JSHTMLInputElementCustom.cpp:
13912        (WebCore::JSHTMLInputElement::selectionStart):
13913        (WebCore::JSHTMLInputElement::setSelectionStart):
13914        (WebCore::JSHTMLInputElement::selectionEnd):
13915        (WebCore::JSHTMLInputElement::setSelectionEnd):
13916        (WebCore::JSHTMLInputElement::setSelectionRange):
13917        * bindings/js/JSHTMLObjectElementCustom.cpp:
13918        (WebCore::JSHTMLObjectElement::customPut):
13919        (WebCore::JSHTMLObjectElement::nameGetter):
13920        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
13921        (WebCore::JSHTMLOptionsCollection::length):
13922        (WebCore::JSHTMLOptionsCollection::setLength):
13923        (WebCore::JSHTMLOptionsCollection::indexSetter):
13924        (WebCore::JSHTMLOptionsCollection::add):
13925        (WebCore::JSHTMLOptionsCollection::remove):
13926        * bindings/js/JSHTMLSelectElementCustom.cpp:
13927        (WebCore::JSHTMLSelectElement::remove):
13928        (WebCore::selectIndexSetter):
13929        (WebCore::JSHTMLSelectElement::indexSetter):
13930        * bindings/js/JSHTMLSelectElementCustom.h:
13931        * bindings/js/JSHistoryCustom.cpp:
13932        (WebCore::nonCachingStaticBackFunctionGetter):
13933        (WebCore::nonCachingStaticForwardFunctionGetter):
13934        (WebCore::nonCachingStaticGoFunctionGetter):
13935        (WebCore::JSHistory::customPut):
13936        * bindings/js/JSImageDataCustom.cpp:
13937        (WebCore::toJS):
13938        * bindings/js/JSInspectedObjectWrapper.cpp:
13939        (WebCore::JSInspectedObjectWrapper::wrap):
13940        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
13941        * bindings/js/JSInspectedObjectWrapper.h:
13942        (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
13943        * bindings/js/JSInspectorCallbackWrapper.cpp:
13944        (WebCore::JSInspectorCallbackWrapper::wrap):
13945        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
13946        * bindings/js/JSInspectorCallbackWrapper.h:
13947        (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
13948        * bindings/js/JSInspectorControllerCustom.cpp:
13949        (WebCore::JSInspectorController::highlightDOMNode):
13950        (WebCore::JSInspectorController::addResourceSourceToFrame):
13951        (WebCore::JSInspectorController::addSourceToFrame):
13952        (WebCore::JSInspectorController::getResourceDocumentNode):
13953        (WebCore::JSInspectorController::search):
13954        (WebCore::JSInspectorController::databaseTableNames):
13955        (WebCore::JSInspectorController::inspectedWindow):
13956        (WebCore::JSInspectorController::setting):
13957        (WebCore::JSInspectorController::setSetting):
13958        (WebCore::JSInspectorController::wrapCallback):
13959        (WebCore::JSInspectorController::currentCallFrame):
13960        (WebCore::JSInspectorController::profiles):
13961        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13962        (WebCore::JSJavaScriptCallFrame::evaluate):
13963        (WebCore::JSJavaScriptCallFrame::thisObject):
13964        (WebCore::JSJavaScriptCallFrame::type):
13965        (WebCore::JSJavaScriptCallFrame::scopeChain):
13966        * bindings/js/JSLazyEventListener.cpp:
13967        (WebCore::JSLazyEventListener::parseCode):
13968        * bindings/js/JSLocationCustom.cpp:
13969        (WebCore::nonCachingStaticReplaceFunctionGetter):
13970        (WebCore::nonCachingStaticReloadFunctionGetter):
13971        (WebCore::nonCachingStaticAssignFunctionGetter):
13972        (WebCore::JSLocation::customPut):
13973        (WebCore::JSLocation::setHref):
13974        (WebCore::JSLocation::setProtocol):
13975        (WebCore::JSLocation::setHost):
13976        (WebCore::JSLocation::setHostname):
13977        (WebCore::JSLocation::setPort):
13978        (WebCore::JSLocation::setPathname):
13979        (WebCore::JSLocation::setSearch):
13980        (WebCore::JSLocation::setHash):
13981        (WebCore::JSLocation::replace):
13982        (WebCore::JSLocation::reload):
13983        (WebCore::JSLocation::assign):
13984        (WebCore::JSLocation::toString):
13985        (WebCore::JSLocationPrototype::customPut):
13986        * bindings/js/JSMessagePortCustom.cpp:
13987        (WebCore::JSMessagePort::startConversation):
13988        (WebCore::JSMessagePort::addEventListener):
13989        (WebCore::JSMessagePort::removeEventListener):
13990        * bindings/js/JSMimeTypeArrayCustom.cpp:
13991        (WebCore::JSMimeTypeArray::nameGetter):
13992        * bindings/js/JSNamedNodeMapCustom.cpp:
13993        (WebCore::JSNamedNodeMap::nameGetter):
13994        * bindings/js/JSNamedNodesCollection.cpp:
13995        (WebCore::JSNamedNodesCollection::lengthGetter):
13996        (WebCore::JSNamedNodesCollection::indexGetter):
13997        * bindings/js/JSNamedNodesCollection.h:
13998        (WebCore::JSNamedNodesCollection::createStructure):
13999        * bindings/js/JSNavigatorCustom.cpp:
14000        (WebCore::needsYouTubeQuirk):
14001        (WebCore::JSNavigator::appVersion):
14002        * bindings/js/JSNodeCustom.cpp:
14003        (WebCore::JSNode::insertBefore):
14004        (WebCore::JSNode::replaceChild):
14005        (WebCore::JSNode::removeChild):
14006        (WebCore::JSNode::appendChild):
14007        (WebCore::JSNode::addEventListener):
14008        (WebCore::JSNode::removeEventListener):
14009        (WebCore::createWrapper):
14010        (WebCore::toJSNewlyCreated):
14011        (WebCore::toJS):
14012        * bindings/js/JSNodeFilterCondition.cpp:
14013        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
14014        (WebCore::JSNodeFilterCondition::acceptNode):
14015        * bindings/js/JSNodeFilterCondition.h:
14016        (WebCore::JSNodeFilterCondition::create):
14017        * bindings/js/JSNodeFilterCustom.cpp:
14018        (WebCore::JSNodeFilter::acceptNode):
14019        (WebCore::toNodeFilter):
14020        * bindings/js/JSNodeIteratorCustom.cpp:
14021        (WebCore::JSNodeIterator::nextNode):
14022        (WebCore::JSNodeIterator::previousNode):
14023        * bindings/js/JSNodeListCustom.cpp:
14024        (WebCore::callNodeList):
14025        (WebCore::JSNodeList::nameGetter):
14026        * bindings/js/JSPluginArrayCustom.cpp:
14027        (WebCore::JSPluginArray::nameGetter):
14028        * bindings/js/JSPluginCustom.cpp:
14029        (WebCore::JSPlugin::nameGetter):
14030        * bindings/js/JSPluginElementFunctions.cpp:
14031        (WebCore::runtimeObjectGetter):
14032        (WebCore::runtimeObjectPropertyGetter):
14033        (WebCore::runtimeObjectCustomPut):
14034        (WebCore::callPlugin):
14035        * bindings/js/JSPluginElementFunctions.h:
14036        * bindings/js/JSQuarantinedObjectWrapper.cpp:
14037        (WebCore::JSQuarantinedObjectWrapper::asWrapper):
14038        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
14039        (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
14040        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
14041        (WebCore::JSQuarantinedObjectWrapper::put):
14042        (WebCore::JSQuarantinedObjectWrapper::construct):
14043        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
14044        (WebCore::JSQuarantinedObjectWrapper::call):
14045        * bindings/js/JSQuarantinedObjectWrapper.h:
14046        (WebCore::JSQuarantinedObjectWrapper::createStructure):
14047        * bindings/js/JSRGBColor.cpp:
14048        (WebCore::getJSRGBColor):
14049        (jsRGBColorRed):
14050        (jsRGBColorGreen):
14051        (jsRGBColorBlue):
14052        * bindings/js/JSRGBColor.h:
14053        (WebCore::JSRGBColor::createStructure):
14054        * bindings/js/JSSQLResultSetRowListCustom.cpp:
14055        (WebCore::JSSQLResultSetRowList::item):
14056        * bindings/js/JSSQLTransactionCustom.cpp:
14057        (WebCore::JSSQLTransaction::executeSql):
14058        * bindings/js/JSSVGElementInstanceCustom.cpp:
14059        (WebCore::JSSVGElementInstance::addEventListener):
14060        (WebCore::JSSVGElementInstance::removeEventListener):
14061        (WebCore::toJS):
14062        * bindings/js/JSSVGLengthCustom.cpp:
14063        (WebCore::JSSVGLength::value):
14064        (WebCore::JSSVGLength::convertToSpecifiedUnits):
14065        * bindings/js/JSSVGMatrixCustom.cpp:
14066        (WebCore::JSSVGMatrix::inverse):
14067        (WebCore::JSSVGMatrix::rotateFromVector):
14068        * bindings/js/JSSVGPathSegCustom.cpp:
14069        (WebCore::toJS):
14070        * bindings/js/JSSVGPathSegListCustom.cpp:
14071        (WebCore::JSSVGPathSegList::clear):
14072        (WebCore::JSSVGPathSegList::initialize):
14073        (WebCore::JSSVGPathSegList::getItem):
14074        (WebCore::JSSVGPathSegList::insertItemBefore):
14075        (WebCore::JSSVGPathSegList::replaceItem):
14076        (WebCore::JSSVGPathSegList::removeItem):
14077        (WebCore::JSSVGPathSegList::appendItem):
14078        * bindings/js/JSSVGPointListCustom.cpp:
14079        (WebCore::finishGetter):
14080        (WebCore::finishSetter):
14081        (WebCore::finishSetterReadOnlyResult):
14082        (WebCore::JSSVGPointList::clear):
14083        (WebCore::JSSVGPointList::initialize):
14084        (WebCore::JSSVGPointList::getItem):
14085        (WebCore::JSSVGPointList::insertItemBefore):
14086        (WebCore::JSSVGPointList::replaceItem):
14087        (WebCore::JSSVGPointList::removeItem):
14088        (WebCore::JSSVGPointList::appendItem):
14089        * bindings/js/JSSVGTransformListCustom.cpp:
14090        (WebCore::finishGetter):
14091        (WebCore::finishSetter):
14092        (WebCore::finishSetterReadOnlyResult):
14093        (WebCore::JSSVGTransformList::clear):
14094        (WebCore::JSSVGTransformList::initialize):
14095        (WebCore::JSSVGTransformList::getItem):
14096        (WebCore::JSSVGTransformList::insertItemBefore):
14097        (WebCore::JSSVGTransformList::replaceItem):
14098        (WebCore::JSSVGTransformList::removeItem):
14099        (WebCore::JSSVGTransformList::appendItem):
14100        * bindings/js/JSStorageCustom.cpp:
14101        (WebCore::JSStorage::nameGetter):
14102        (WebCore::JSStorage::deleteProperty):
14103        (WebCore::JSStorage::customPut):
14104        * bindings/js/JSStyleSheetCustom.cpp:
14105        (WebCore::toJS):
14106        * bindings/js/JSStyleSheetListCustom.cpp:
14107        (WebCore::JSStyleSheetList::nameGetter):
14108        * bindings/js/JSTextCustom.cpp:
14109        (WebCore::toJSNewlyCreated):
14110        * bindings/js/JSTreeWalkerCustom.cpp:
14111        (WebCore::JSTreeWalker::parentNode):
14112        (WebCore::JSTreeWalker::firstChild):
14113        (WebCore::JSTreeWalker::lastChild):
14114        (WebCore::JSTreeWalker::nextSibling):
14115        (WebCore::JSTreeWalker::previousSibling):
14116        (WebCore::JSTreeWalker::previousNode):
14117        (WebCore::JSTreeWalker::nextNode):
14118        * bindings/js/JSWorkerContextCustom.cpp:
14119        (WebCore::JSWorkerContext::self):
14120        (WebCore::JSWorkerContext::setSelf):
14121        (WebCore::JSWorkerContext::xmlHttpRequest):
14122        (WebCore::JSWorkerContext::importScripts):
14123        (WebCore::JSWorkerContext::addEventListener):
14124        (WebCore::JSWorkerContext::removeEventListener):
14125        (WebCore::JSWorkerContext::setTimeout):
14126        (WebCore::JSWorkerContext::setInterval):
14127        * bindings/js/JSWorkerCustom.cpp:
14128        (WebCore::JSWorker::addEventListener):
14129        (WebCore::JSWorker::removeEventListener):
14130        * bindings/js/JSXMLHttpRequestCustom.cpp:
14131        (WebCore::JSXMLHttpRequest::open):
14132        (WebCore::JSXMLHttpRequest::setRequestHeader):
14133        (WebCore::JSXMLHttpRequest::send):
14134        (WebCore::JSXMLHttpRequest::getResponseHeader):
14135        (WebCore::JSXMLHttpRequest::overrideMimeType):
14136        (WebCore::JSXMLHttpRequest::addEventListener):
14137        (WebCore::JSXMLHttpRequest::removeEventListener):
14138        (WebCore::JSXMLHttpRequest::responseText):
14139        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14140        (WebCore::JSXMLHttpRequestUpload::addEventListener):
14141        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
14142        * bindings/js/JSXSLTProcessorCustom.cpp:
14143        (WebCore::JSXSLTProcessor::importStylesheet):
14144        (WebCore::JSXSLTProcessor::transformToFragment):
14145        (WebCore::JSXSLTProcessor::transformToDocument):
14146        (WebCore::JSXSLTProcessor::setParameter):
14147        (WebCore::JSXSLTProcessor::getParameter):
14148        (WebCore::JSXSLTProcessor::removeParameter):
14149        * bindings/js/ScheduledAction.cpp:
14150        (WebCore::ScheduledAction::create):
14151        (WebCore::ScheduledAction::ScheduledAction):
14152        (WebCore::ScheduledAction::executeFunctionInContext):
14153        * bindings/js/ScheduledAction.h:
14154        * bindings/js/ScriptCallStack.cpp:
14155        (WebCore::ScriptCallStack::ScriptCallStack):
14156        (WebCore::ScriptCallStack::initialize):
14157        * bindings/js/ScriptCallStack.h:
14158        * bindings/js/ScriptController.cpp:
14159        (WebCore::ScriptController::jsObjectForPluginElement):
14160        * bindings/js/ScriptFunctionCall.cpp:
14161        (WebCore::ScriptFunctionCall::appendArgument):
14162        (WebCore::ScriptFunctionCall::call):
14163        (WebCore::ScriptFunctionCall::construct):
14164        * bindings/js/ScriptFunctionCall.h:
14165        * bindings/js/ScriptObject.cpp:
14166        (WebCore::ScriptGlobalObject::get):
14167        * bindings/js/ScriptValue.h:
14168        (WebCore::ScriptValue::ScriptValue):
14169        (WebCore::ScriptValue::jsValue):
14170        * bindings/objc/WebScriptObject.mm:
14171        (-[WebScriptObject callWebScriptMethod:withArguments:]):
14172        (-[WebScriptObject evaluateWebScript:]):
14173        (-[WebScriptObject valueForKey:]):
14174        (-[WebScriptObject webScriptValueAtIndex:]):
14175        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
14176        * bindings/objc/WebScriptObjectPrivate.h:
14177        * bridge/NP_jsobject.cpp:
14178        (_NPN_InvokeDefault):
14179        (_NPN_Invoke):
14180        (_NPN_Evaluate):
14181        (_NPN_GetProperty):
14182        (_NPN_HasMethod):
14183        (_NPN_Construct):
14184        * bridge/c/c_instance.cpp:
14185        (JSC::Bindings::CInstance::invokeMethod):
14186        (JSC::Bindings::CInstance::invokeDefaultMethod):
14187        (JSC::Bindings::CInstance::invokeConstruct):
14188        (JSC::Bindings::CInstance::defaultValue):
14189        (JSC::Bindings::CInstance::stringValue):
14190        (JSC::Bindings::CInstance::numberValue):
14191        (JSC::Bindings::CInstance::booleanValue):
14192        (JSC::Bindings::CInstance::valueOf):
14193        * bridge/c/c_instance.h:
14194        * bridge/c/c_runtime.cpp:
14195        (JSC::Bindings::CField::valueFromInstance):
14196        (JSC::Bindings::CField::setValueToInstance):
14197        * bridge/c/c_runtime.h:
14198        * bridge/c/c_utility.cpp:
14199        (JSC::Bindings::convertValueToNPVariant):
14200        (JSC::Bindings::convertNPVariantToValue):
14201        * bridge/c/c_utility.h:
14202        * bridge/jni/jni_instance.cpp:
14203        (JavaInstance::stringValue):
14204        (JavaInstance::numberValue):
14205        (JavaInstance::booleanValue):
14206        (JavaInstance::invokeMethod):
14207        (JavaInstance::defaultValue):
14208        (JavaInstance::valueOf):
14209        * bridge/jni/jni_instance.h:
14210        * bridge/jni/jni_jsobject.h:
14211        * bridge/jni/jni_jsobject.mm:
14212        (JavaJSObject::call):
14213        (JavaJSObject::eval):
14214        (JavaJSObject::getMember):
14215        (JavaJSObject::getSlot):
14216        (JavaJSObject::convertValueToJObject):
14217        (JavaJSObject::convertJObjectToValue):
14218        * bridge/jni/jni_objc.mm:
14219        (JSC::Bindings::dispatchJNICall):
14220        * bridge/jni/jni_runtime.cpp:
14221        (JavaArray::convertJObjectToArray):
14222        (JavaField::dispatchValueFromInstance):
14223        (JavaField::valueFromInstance):
14224        (JavaField::dispatchSetValueToInstance):
14225        (JavaField::setValueToInstance):
14226        (JavaArray::setValueAt):
14227        (JavaArray::valueAt):
14228        * bridge/jni/jni_runtime.h:
14229        * bridge/jni/jni_utility.cpp:
14230        (JSC::Bindings::convertArrayInstanceToJavaArray):
14231        (JSC::Bindings::convertValueToJValue):
14232        * bridge/jni/jni_utility.h:
14233        * bridge/objc/WebScriptObject.h:
14234        * bridge/objc/objc_class.h:
14235        * bridge/objc/objc_class.mm:
14236        (JSC::Bindings::ObjcClass::fallbackObject):
14237        * bridge/objc/objc_instance.h:
14238        * bridge/objc/objc_instance.mm:
14239        (ObjcInstance::invokeMethod):
14240        (ObjcInstance::invokeDefaultMethod):
14241        (ObjcInstance::setValueOfUndefinedField):
14242        (ObjcInstance::getValueOfUndefinedField):
14243        (ObjcInstance::defaultValue):
14244        (ObjcInstance::stringValue):
14245        (ObjcInstance::numberValue):
14246        (ObjcInstance::booleanValue):
14247        (ObjcInstance::valueOf):
14248        * bridge/objc/objc_runtime.h:
14249        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
14250        * bridge/objc/objc_runtime.mm:
14251        (JSC::Bindings::ObjcField::valueFromInstance):
14252        (JSC::Bindings::convertValueToObjcObject):
14253        (JSC::Bindings::ObjcField::setValueToInstance):
14254        (JSC::Bindings::ObjcArray::setValueAt):
14255        (JSC::Bindings::ObjcArray::valueAt):
14256        (JSC::Bindings::ObjcFallbackObjectImp::put):
14257        (JSC::Bindings::callObjCFallbackObject):
14258        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
14259        * bridge/objc/objc_utility.h:
14260        * bridge/objc/objc_utility.mm:
14261        (JSC::Bindings::convertValueToObjcValue):
14262        (JSC::Bindings::convertNSStringToString):
14263        (JSC::Bindings::convertObjcValueToValue):
14264        * bridge/runtime.h:
14265        (JSC::Bindings::Class::fallbackObject):
14266        (JSC::Bindings::Instance::setValueOfUndefinedField):
14267        (JSC::Bindings::Instance::invokeDefaultMethod):
14268        (JSC::Bindings::Instance::invokeConstruct):
14269        (JSC::Bindings::Instance::put):
14270        * bridge/runtime_array.cpp:
14271        (JSC::RuntimeArray::lengthGetter):
14272        (JSC::RuntimeArray::indexGetter):
14273        (JSC::RuntimeArray::put):
14274        * bridge/runtime_array.h:
14275        (JSC::RuntimeArray::createStructure):
14276        * bridge/runtime_method.cpp:
14277        (JSC::RuntimeMethod::lengthGetter):
14278        (JSC::callRuntimeMethod):
14279        * bridge/runtime_method.h:
14280        (JSC::RuntimeMethod::createStructure):
14281        * bridge/runtime_object.cpp:
14282        (JSC::RuntimeObjectImp::fallbackObjectGetter):
14283        (JSC::RuntimeObjectImp::fieldGetter):
14284        (JSC::RuntimeObjectImp::methodGetter):
14285        (JSC::RuntimeObjectImp::put):
14286        (JSC::RuntimeObjectImp::defaultValue):
14287        (JSC::callRuntimeObject):
14288        (JSC::callRuntimeConstructor):
14289        * bridge/runtime_object.h:
14290        (JSC::RuntimeObjectImp::createStructure):
14291        * inspector/JavaScriptCallFrame.cpp:
14292        (WebCore::JavaScriptCallFrame::evaluate):
14293        * inspector/JavaScriptCallFrame.h:
14294        * inspector/JavaScriptProfile.cpp:
14295        (WebCore::toJS):
14296        * inspector/JavaScriptProfile.h:
14297        * inspector/JavaScriptProfileNode.cpp:
14298        (WebCore::toJS):
14299        * inspector/JavaScriptProfileNode.h:
14300
143012009-05-01  Dimitri Glazkov  <dglazkov@chromium.org>
14302
14303        Reviewed by Eric Seidel.
14304
14305        https://bugs.webkit.org/show_bug.cgi?id=25485
14306        Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052,
14307        which broke Chromium build.
14308
14309        * css/CSSStyleSelector.cpp:
14310        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to
14311            provide separate code paths for Qt and non-Qt ports. Also restored original
14312            order of execution.
14313
143142009-05-01  Anders Carlsson  <andersca@apple.com>
14315
14316        Reviewed by Adele Peterson.
14317
14318        <rdar://problem/6839222>
14319        CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader
14320        
14321        After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case,
14322        return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen
14323        which is why I've added the ASSERT.
14324        
14325        * loader/SubresourceLoader.cpp:
14326        (WebCore::SubresourceLoader::didCancel):
14327
143282009-05-01  Timothy Hatcher  <timothy@apple.com>
14329
14330        Disallow the deletion UI for elements that have any overflow clipping.
14331        Also disallow the UI for the body element it isn't practical to delete,
14332        and the deletion UI would be clipped.
14333
14334        <rdar://problem/6840161> Deletion UI can be clipped by some
14335        elements (with overflow: hidden)
14336
14337        Reviewed by Darin Adler.
14338
14339        * editing/DeleteButtonController.cpp:
14340        (WebCore::isDeletableElement):
14341
143422009-05-01  Timothy Hatcher  <timothy@apple.com>
14343
14344        Decrease the minimum height for deleteable elements to 16px, and increase the
14345        minimum width to 48px. This allows deleting shorter items like navigation bars.
14346
14347        <rdar://problem/6840735> Deletion UI does not show up for short
14348        elements (22px or less)
14349
14350        Reviewed by Adele Peterson.
14351
14352        * editing/DeleteButtonController.cpp:
14353        (WebCore::isDeletableElement):
14354
143552009-05-01  Timothy Hatcher  <timothy@apple.com>
14356
14357        Clean up the comments and logic in the code for picking a
14358        deleteable element for the deletion UI.
14359
14360        Reviewed by Adele Peterson.
14361
14362        * editing/DeleteButtonController.cpp:
14363        (WebCore::isDeletableElement):
14364
143652009-05-01  Kevin McCullough  <kmccullough@apple.com>
14366
14367        Reviewed by Adele Peterson and Darin Adler.
14368
14369        <rdar://problem/4815598> Stuck in double spacing mode after pasting a
14370        paragraph with padding/margin (or table mode !)
14371
14372        A lot of the issues in this bug were resolved on Mail's side by using
14373        WebKit to convert to plain text.  This is the final issue, that floating
14374        style stays on copied nodes causing them to float when they are pasted
14375        which is not what the user intended.
14376
14377        * editing/markup.cpp:
14378        (WebCore::removeExteriorStyles):
14379        (WebCore::):
14380        (WebCore::appendStartMarkup):
14381        (WebCore::getStartMarkup):
14382        (WebCore::createMarkup):
14383
143842009-05-01  Pavel Feldman  <pfeldman@chromium.org>
14385
14386        Reviewed by Timothy Hatcher.
14387
14388        Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
14389        This is the only resource-related information that is available in InspectorController
14390        and is missing in the FrameLoaderClient.
14391
14392        https://bugs.webkit.org/show_bug.cgi?id=25347
14393
14394        * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private.
14395        * dom/Document.cpp: Made a call to a client along with the call to the InspectorController.
14396        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
14397        * loader/EmptyClients.h: Added stub implementation.
14398        (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
14399        * loader/FrameLoader.cpp: Call initiating dispatches.
14400        (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest):
14401        * loader/FrameLoader.h:
14402        * loader/FrameLoaderClient.h:
14403
144042009-04-30  Beth Dakin  <bdakin@apple.com>
14405
14406        Reviewed by Oliver Hunt.
14407
14408        Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting 
14409        To Do's in a Mail note (excessive recursion in mouse drag tracking)
14410
14411        Oliver's recent change to dragging seems to have revealed a long-
14412        time bug in passSubframeEventToSubframe where we did not set 
14413        m_sendingEventToSubview to true before calling 
14414        handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes 
14415        that and adds ASSERTions around all of the places where 
14416        m_sendingEventToSubview is set to true and then false to make sure 
14417        we are not trampling its state.
14418
14419        * page/mac/EventHandlerMac.mm:
14420        (WebCore::EventHandler::eventLoopHandleMouseDragged):
14421        (WebCore::EventHandler::eventLoopHandleMouseUp):
14422        (WebCore::EventHandler::passSubframeEventToSubframe):
14423        (WebCore::EventHandler::passWheelEventToWidget):
14424
144252009-04-30  Eric Carlson  <eric.carlson@apple.com>
14426
14427        Reviewed by Simon Fraser.
14428        
14429        MediaDocument falls back to plug-in unnecessarily
14430        https://bugs.webkit.org/show_bug.cgi?id=25504
14431        <rdar://problem/6844702>
14432        
14433        Don't allow harmless media types to cause a MediaDocument to fall
14434        back to PluginDocument.
14435
14436        Test: media/video-document-types.html
14437
14438        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
14439        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64,
14440        odsm, and sdsm to allowed track types.
14441
14442        * platform/graphics/win/QTMovieWin.cpp:
14443        (QTMovieWin::disableUnsupportedTracks): Ditto.
14444
144452009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14446
14447        Reviewed by Eric Seidel.
14448
14449        Add CHROMIUM guard to unfork Document.cpp
14450
14451        * dom/Document.cpp:
14452        (WebCore::Document::setFocusedNode): Added guard.
14453
144542009-04-30  David Kilzer  <ddkilzer@apple.com>
14455
14456        Use OwnPtr<HTMLParserQuirks> for m_parserQuirks
14457
14458        Reviewed by Geoff Garen.
14459
14460        * html/HTMLParser.cpp:
14461        (WebCore::HTMLParser::~HTMLParser): Removed unneeded code.
14462        * html/HTMLParser.h: Made m_parserQuirks an OwnPtr.
14463
144642009-04-30  David Kilzer  <ddkilzer@apple.com>
14465
14466        Provide a mechanism to create a quirks delegate for HTMLParser
14467
14468        Reviewed by David Hyatt.
14469
14470        No tests since there is no change in behavior.
14471
14472        HTMLParserQuirks.h defines an abstract base class that may be
14473        extended as needed.  The ChromeClient::createHTMLParserQuirks()
14474        factory method should be used to return an HTMLParserQuirks
14475        subclassed object when needed.
14476
14477        * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
14478        * html/HTMLParser.cpp:
14479        (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
14480        using ChromeClient::createHTMLParserQuirks().
14481        (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
14482        set.
14483        (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
14484        m_parserQuirks is set.
14485        (WebCore::HTMLParser::insertNode): Call
14486        HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
14487        and return early if it returns false.
14488        (WebCore::HTMLParser::popBlock): Call
14489        HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
14490        return early if it returns false.
14491        * html/HTMLParser.h: Added m_parserQuirks.
14492        * html/HTMLParserQuirks.h: Added.
14493        (WebCore::HTMLParserQuirks::HTMLParserQuirks):
14494        (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
14495        * loader/EmptyClients.h:
14496        (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
14497        * page/ChromeClient.h:
14498        (WebCore::ChromeClient::createHTMLParserQuirks): Added.
14499
145002009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14501
14502        Reviewed by Eric Seidel.
14503
14504        https://bugs.webkit.org/show_bug.cgi?id=25492
14505        Add JSC guards around node wrapper cache calls. These are not used by V8.
14506
14507        Also, remove JSDOMBinding include, which is brought in by ScriptController.
14508
14509        * dom/Document.cpp:
14510        (WebCore::Document::~Document): Added JSC guard.
14511        * dom/Node.cpp:
14512        (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include.
14513
145142009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14515
14516        Reviewed by Eric Seidel.
14517
14518        https://bugs.webkit.org/show_bug.cgi?id=25493
14519        Remove debugger/profiler custom method stubs, catching V8 bindings up to
14520        http://trac.webkit.org/changeset/43072.
14521
14522        * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs.
14523
145242009-04-30  Simon Fraser  <simon.fraser@apple.com>
14525
14526        Reviewed by Darin Adler
14527
14528        <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
14529        
14530        Use transform-aware quad methods when computing the boundingBoxRect for
14531        an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect().
14532
14533        Test: accessibility/transformed-element.html
14534
14535        * page/AccessibilityRenderObject.cpp:
14536        (WebCore::AccessibilityRenderObject::boundingBoxRect):
14537
145382009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14539
14540        Unreviewed, Chromium build fix.
14541
14542        Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512.
14543
14544        * bindings/v8/ScriptObject.cpp:
14545        (WebCore::ScriptGlobalObject::get): Renamed from getObject.
14546        (WebCore::ScriptGlobalObject::remove): Added.
14547        * bindings/v8/ScriptObject.h: Ditto.
14548
145492009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14550
14551        Unreviewed, build fix.
14552
14553        https://bugs.webkit.org/show_bug.cgi?id=25470
14554        Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
14555
14556        * WebCore.pro: Fix copy-paste error.
14557
145582009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14559
14560        Unreviewed, build fix.
14561
14562        https://bugs.webkit.org/show_bug.cgi?id=25470
14563        Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
14564
14565        * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions.
14566        * WebCore.pro: Ditto.
14567
145682009-04-02  Eric Seidel  <eric@webkit.org>
14569
14570        Reviewed by Darin Adler.
14571
14572        Change Position to pre-compute the AnchorType and store it.
14573        Also store a "legacy editing mode" bit on the Position.
14574        https://bugs.webkit.org/show_bug.cgi?id=24763
14575
14576        The old Postion(node, offset) constructor creates legacy positions
14577        but there are new constructors to create explicitly anchored positions
14578        which the next patch will use.
14579
14580        Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to
14581        only affect legacy positions, we will be able to distinguish
14582        between [table, 1] and [table, after] in the code correctly!
14583
14584        * WebCore.base.exp:
14585        * WebCore.xcodeproj/project.pbxproj:
14586        * dom/Position.cpp:
14587        (WebCore::Position::Position):
14588        (WebCore::Position::moveToPosition):
14589        (WebCore::Position::moveToOffset):
14590        (WebCore::Position::anchorTypeForLegacyEditingPosition):
14591        (WebCore::Position::element):
14592        * dom/Position.h:
14593        (WebCore::Position::):
14594        (WebCore::Position::Position):
14595        (WebCore::Position::anchorType):
14596        (WebCore::Position::deprecatedEditingOffset):
14597
145982009-04-30  Sam Weinig  <sam@webkit.org>
14599
14600        Reviewed by Alexey Proskuryakov.
14601
14602        Fix bug where the WorkerLocation and WorkerNavigator wrappers would be
14603        collected even if the WorkerContext is still alive.
14604
14605        Test: fast/workers/worker-context-gc.html
14606
14607        * bindings/js/JSWorkerContextCustom.cpp:
14608        (WebCore::JSWorkerContext::mark):
14609        * workers/WorkerContext.cpp:
14610        (WebCore::WorkerContext::WorkerContext):
14611        (WebCore::WorkerContext::completeURL):
14612        (WebCore::WorkerContext::location):
14613        * workers/WorkerContext.h:
14614        (WebCore::WorkerContext::optionalNavigator):
14615        (WebCore::WorkerContext::optionalLocation):
14616
146172009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14618
14619        Reviewed by Timothy Hatcher.
14620
14621        https://bugs.webkit.org/show_bug.cgi?id=25470
14622        Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
14623
14624        * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER.
14625        * WebCore.vcproj/build-generated-files.sh: Ditto.
14626        * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
14627        * bindings/js/JSDOMWindowBase.cpp: Ditto.
14628        * bindings/js/JSInspectorControllerCustom.cpp: Ditto.
14629        * inspector/InspectorController.cpp: Moved profiler/debugger methods under
14630            ENABLE(JAVASCRIPT_DEBUGGER) flag.
14631        * inspector/InspectorController.h: Ditto.
14632        * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
14633        * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard.
14634
146352009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
14636
14637        Unreviewed, build fix.
14638
14639        https://bugs.webkit.org/show_bug.cgi?id=25275
14640        This patch snuck in a re-definition of a local.
14641
14642        * bindings/v8/custom/V8DOMWindowCustom.cpp:
14643        (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition.
14644
146452009-04-30  Sam Weinig  <sam@webkit.org>
14646
14647        Reviewed by Mark Rowe.
14648
14649        Fix a leak introduced yesterday.  Don't allocate a ScheduledAction
14650        if the toString()ing throws an exception.
14651
14652        * bindings/js/ScheduledAction.cpp:
14653        (WebCore::ScheduledAction::create):
14654
146552009-04-30  Alexey Proskuryakov  <ap@webkit.org>
14656
14657        Reviewed by Darin Adler.
14658
14659        https://bugs.webkit.org/show_bug.cgi?id=25379
14660        <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails
14661
14662        Test: fast/forms/multiple-selected-options-innerHTML.html
14663
14664        This problem was caused by an inconsistency at when Node::instertedIntoTree() is called.
14665        For normal HTML parsing, it is called immediately after an element is inserted, but for
14666        innerHTML, it is only called after the whole subtree is inserted into a document.
14667
14668        It may make sense to harmonize these cases one day, but for now, I only made the minimal
14669        changes necessary to fix the bug.
14670
14671        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree):
14672        * html/HTMLSelectElement.h:
14673        Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide
14674        which one to keep selected themselves, because their logic assumes normal parsing, with
14675        insertedIntoTree() called after each element is inserted.
14676
146772009-04-30  Pavel Feldman  <pfeldman@chromium.org>
14678
14679        Reviewed by Dimitri Glazkov.
14680
14681        https://bugs.webkit.org/show_bug.cgi?id=25342
14682        Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
14683
14684        Chromium async/out-of-process version of WebInspector is currently not based on
14685        InspectorController. The reason was that we did not want to interfere with
14686        the unforking effort, yet wanted to experiment. So we came up with these
14687        agents concept that basically mimic InspectorController, but separating 'agent'
14688        nature from the 'transport'. Now that InspectorController is unforked, I am
14689        planning to bring these concepts into the WebKit land and use what we have in
14690        Chromium as a proof of concept / experimental playground.
14691
14692        * loader/EmptyClients.h: added MessageSource and MessageLevel parameters.
14693        (WebCore::EmptyChromeClient::addMessageToConsole): ditto
14694        * page/ChromeClient.h: ditto
14695        * page/Console.cpp: Used new method signature.
14696        (WebCore::Console::addMessage): ditto
14697
146982009-04-30  Dan Bernstein  <mitz@apple.com>
14699
14700        Reviewed by Simon Fraser.
14701
14702        - fix https://bugs.webkit.org/show_bug.cgi?id=25476
14703          <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
14704          animation is jittery
14705
14706        Reverted r42987.
14707
14708        * platform/graphics/cg/ImageCG.cpp:
14709        (WebCore::BitmapImage::draw):
14710
147112009-04-30  Brady Eidson  <beidson@apple.com>
14712
14713        Reviewed by Maciej Stachowiak
14714
14715        <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
14716        https://bugs.webkit.org/show_bug.cgi?id=21193
14717
14718        Some websites use for attributes in script elements to specify events that the script 
14719        should be run for.  One example is greekembassy.org which has the following in their <head>:
14720
14721        <script for=window event=onresize>
14722            location.reload(false);
14723        </script>
14724
14725        Since we don't support the full for attribute syntax, we would just blissfully ignore the
14726        condition and execute the code unconditionally.  This caused breakage on multiple real-world 
14727        sites besides greekembassy.org.
14728
14729        https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full 
14730        support for the for attribute in scripts.  In the meantime it's best to not execute them
14731        unconditionally.
14732
14733        Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html
14734
14735        * dom/ScriptElement.cpp:
14736        (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have
14737          passed, only return true if there is no for attribute in the script element.
14738        * dom/ScriptElement.h:
14739
14740        * html/HTMLScriptElement.cpp:
14741        (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any.
14742        * html/HTMLScriptElement.h:
14743
14744        * svg/SVGScriptElement.cpp:
14745        (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other
14746          attribute getters do for SVGScriptElement)
14747        * svg/SVGScriptElement.h:
14748
147492009-04-30  Holger Hans Peter Freyther  <zecke@selfish.org>
14750
14751        Reviewed by Darin Adler.
14752
14753        The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
14754
14755        https://bugs.webkit.org/show_bug.cgi?id=20952
14756
14757        The QtWebKit port made the mistake of exposing a global history. This broke
14758        with the addition of PageGroup and LinkHash. This needs to be repaired
14759        for Qt4.5.
14760
14761        Add a function to LinkHash.cpp that is resolving a URL. Use this
14762        function from within CSSStyleSelector to forward the url to the
14763        QWebHistoryInterface API.
14764
14765        It is sad that there is a path within visitedLinkHash which is now
14766        doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
14767        and using QtWebKit types within WebCore is a layering violation as well.
14768
14769        PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
14770        Qt4.6 a second version of the QWebHistoryInterface is going to be
14771        added which will fix things up.
14772
14773        * css/CSSStyleSelector.cpp:
14774        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
14775        * platform/LinkHash.cpp:
14776        (WebCore::visitedURL):
14777        (WebCore::visitedLinkHash):
14778        * platform/LinkHash.h:
14779
147802009-04-30  Simon Hausmann  <simon.hausmann@nokia.com>
14781
14782        Fix the Qt build.
14783
14784        * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build.
14785        * platform/graphics/qt/SimpleFontDataQt.cpp:
14786        (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and
14787        max char widths from QFontMetrics.
14788
147892009-04-30  Ariya Hidayat  <ariya.hidayat@nokia.com>
14790
14791        Unreview build fix after r43037.
14792
14793        Use MarkedArgumentBuffer instead of ArgList.
14794
14795        * bridge/qt/qt_runtime.cpp:
14796        (JSC::Bindings::QtConnectionObject::execute):
14797
147982009-04-29  Sam Weinig  <sam@webkit.org>
14799
14800        Reviewed by Oliver Hunt.
14801
14802        Fix for https://bugs.webkit.org/show_bug.cgi?id=25440
14803        setTimeout should stringify non-string/non-function first arguments
14804
14805        Test: fast/dom/Window/setTimeout-string-argument.html
14806
14807        * bindings/js/JSDOMWindowCustom.cpp:
14808        (WebCore::JSDOMWindow::setTimeout):
14809        (WebCore::JSDOMWindow::setInterval):
14810        * bindings/js/JSWorkerContextCustom.cpp:
14811        (WebCore::JSWorkerContext::setTimeout):
14812        (WebCore::JSWorkerContext::setInterval):
14813        * bindings/js/ScheduledAction.cpp:
14814        (WebCore::ScheduledAction::create):
14815        * bindings/js/ScheduledAction.h:
14816
148172009-04-29  Dan Bernstein  <mitz@apple.com>
14818
14819        Reviewed by Simon Fraser.
14820
14821        - WebCore part of <rdar://problem/6609509> Select All and then Delete
14822          should put Mail editing back into the same state as a new message
14823
14824        Test: editing/deleting/in-visibly-empty-root.html
14825
14826        * WebCore.base.exp: Exported VisibleSelection::isAll(bool).
14827        * editing/SelectionController.h:
14828        (WebCore::SelectionController::isAll): Added. Calls through to
14829        VisibleSelection.
14830        * editing/TypingCommand.cpp:
14831        (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children
14832        of the root editable element the selection is in, other than a
14833        placeholder. Returns true iff it did anything.
14834        (WebCore::TypingCommand::deleteKeyPressed): When there is only a single
14835        visible position in the root editable element, but it has children other
14836        than a placeholder, remove those children.
14837        * editing/TypingCommand.h:
14838        * editing/VisiblePosition.h:
14839        Added a StayInEditableContent enum and a FIXME.
14840        * editing/VisibleSelection.cpp:
14841        (WebCore::VisibleSelection::isAll): Added. Returns whether the
14842        selection encompasses all visible positions, either in the document or
14843        in the editable root.
14844        * editing/VisibleSelection.h:
14845
148462009-04-29  Sam Weinig  <sam@webkit.org>
14847
14848        Fix style nit.
14849
14850        * editing/visible_units.cpp:
14851        (WebCore::getLeafBoxesInLogicalOrder):
14852
148532009-04-29  David Hyatt  <hyatt@apple.com>
14854
14855        Reviewed by Dan Bernstein.
14856
14857        For now just drop the deferred layout on the floor, since it causes an infinite hang in mail.  Even
14858        trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting
14859        assertions.
14860
14861        Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout
14862        and not do it (which is basically what was happening before).
14863
14864        * page/FrameView.cpp:
14865        (WebCore::FrameView::setContentsSize):
14866        (WebCore::FrameView::needsLayout):
14867
148682009-04-29  Douglas Davidson  <ddavidso@apple.com>
14869
14870        Reviewed by Justin Garcia.
14871
14872        <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
14873        
14874        Updates to the text checking code to enable text checking even if spellchecking is turned off 
14875        and fix an off-by-one error in selection handling.
14876
14877        * editing/Editor.cpp:
14878        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
14879        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
14880        (WebCore::Editor::markMisspellingsAndBadGrammar):
14881        * editing/Editor.h:
14882        * editing/TypingCommand.cpp:
14883        (WebCore::TypingCommand::markMisspellingsAfterTyping):
14884
148852009-04-29  Oliver Hunt  <oliver@apple.com>
14886
14887        Reviewed by Gavin Barraclough.
14888
14889        Clean up ArgList to be a trivial type
14890
14891        Start using MarkedArgumentBuffer to create argument lists for function calls
14892
14893        * bindings/js/JSClipboardCustom.cpp:
14894        (WebCore::JSClipboard::types):
14895        * bindings/js/JSConsoleCustom.cpp:
14896        (WebCore::JSConsole::profiles):
14897        * bindings/js/JSCustomPositionCallback.cpp:
14898        (WebCore::JSCustomPositionCallback::handleEvent):
14899        * bindings/js/JSCustomPositionErrorCallback.cpp:
14900        (WebCore::JSCustomPositionErrorCallback::handleEvent):
14901        * bindings/js/JSCustomSQLStatementCallback.cpp:
14902        (WebCore::JSCustomSQLStatementCallback::handleEvent):
14903        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
14904        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
14905        * bindings/js/JSCustomSQLTransactionCallback.cpp:
14906        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
14907        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
14908        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
14909        * bindings/js/JSCustomVoidCallback.cpp:
14910        (WebCore::JSCustomVoidCallback::handleEvent):
14911        * bindings/js/JSCustomXPathNSResolver.cpp:
14912        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
14913        * bindings/js/JSEventListener.cpp:
14914        (WebCore::JSEventListener::handleEvent):
14915        * bindings/js/JSInspectorControllerCustom.cpp:
14916        (WebCore::JSInspectorController::profiles):
14917        (WebCore::JSInspectorController::search):
14918        (WebCore::JSInspectorController::databaseTableNames):
14919        (WebCore::JSInspectorController::setting):
14920        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
14921        (WebCore::JSJavaScriptCallFrame::scopeChain):
14922        * bindings/js/JSLazyEventListener.cpp:
14923        (WebCore::JSLazyEventListener::parseCode):
14924        * bindings/js/JSNodeFilterCondition.cpp:
14925        (WebCore::JSNodeFilterCondition::acceptNode):
14926        * bindings/js/JSQuarantinedObjectWrapper.cpp:
14927        (WebCore::JSQuarantinedObjectWrapper::construct):
14928        (WebCore::JSQuarantinedObjectWrapper::call):
14929        * bindings/js/ScheduledAction.cpp:
14930        (WebCore::ScheduledAction::ScheduledAction):
14931        (WebCore::ScheduledAction::executeFunctionInContext):
14932        * bindings/js/ScriptFunctionCall.h:
14933        * bindings/objc/WebScriptObject.mm:
14934        (getListFromNSArray):
14935        (-[WebScriptObject callWebScriptMethod:withArguments:]):
14936        * bridge/NP_jsobject.cpp:
14937        (getListFromVariantArgs):
14938        (_NPN_InvokeDefault):
14939        (_NPN_Invoke):
14940        (_NPN_Construct):
14941        * bridge/jni/jni_jsobject.h:
14942        * bridge/jni/jni_jsobject.mm:
14943        (JavaJSObject::call):
14944        (JavaJSObject::getListFromJArray):
14945
149462009-04-29  Eric Seidel  <eric@webkit.org>
14947
14948        No review, build fix only.
14949
14950        Fix m_offset uses added while I wasn't looking.
14951
14952        * editing/visible_units.cpp:
14953        (WebCore::logicalStartPositionForLine):
14954        (WebCore::logicalEndPositionForLine):
14955
149562009-04-29  Xiaomei Ji  <xji@chromium.org>
14957
14958        Reviewed by Dan Bernstein.
14959
14960        Fix https://bugs.webkit.org/show_bug.cgi?id=24168
14961        RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
14962
14963        Test: editing/selection/home-end.html
14964
14965        * editing/SelectionController.cpp:
14966        (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
14967        to logicalEndOfLine() when granularity is LineBoundary.
14968        (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
14969        to logicalEndOfLine() when granularity is LineBoundary
14970        (WebCore::SelectionController::modifyExtendingBackward): Change calling 
14971        startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
14972        (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
14973        to logicalStartOfLine() when granularity is LineBoundary.
14974        * editing/visible_units.cpp:
14975        (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
14976        (WebCore::getLogicalStartBoxAndNode): Added.
14977        (WebCore::getLogicalEndBoxAndNode): Added.
14978        (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
14979        (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
14980        (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
14981        (WebCore::inSameLogicalLine): Added.
14982        (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
14983        * editing/visible_units.h:
14984
149852009-04-29  Eric Seidel  <eric@webkit.org>
14986
14987        Reviewed by Darin Adler.
14988
14989        Make m_offset private and change all callers to use deprecatedEditingOffset().
14990        https://bugs.webkit.org/show_bug.cgi?id=25472
14991
14992        Per Darin's suggestion, this was just a simple search replace
14993        of .m_offset with .deprecatedEditingOffset().
14994
14995        There was one change in InsertParagraphSeparatorCommand::doApply to use
14996        Position::moveToOffset(0) instead of .m_offset = 0;
14997
14998        * dom/Position.cpp:
14999        (WebCore::Position::rendersInDifferentPosition):
15000        (WebCore::Position::leadingWhitespacePosition):
15001        * dom/Position.h:
15002        (WebCore::Position::deprecatedEditingOffset):
15003        (WebCore::Position::moveToOffset):
15004        (WebCore::operator==):
15005        * dom/PositionIterator.h:
15006        (WebCore::PositionIterator::PositionIterator):
15007        * dom/Range.cpp:
15008        (WebCore::Range::create):
15009        (WebCore::Range::compareBoundaryPoints):
15010        * editing/ApplyStyleCommand.cpp:
15011        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
15012        (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
15013        (WebCore::ApplyStyleCommand::removeInlineStyle):
15014        (WebCore::ApplyStyleCommand::nodeFullySelected):
15015        (WebCore::ApplyStyleCommand::nodeFullyUnselected):
15016        (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
15017        (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
15018        (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
15019        (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
15020        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
15021        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
15022        (WebCore::ApplyStyleCommand::joinChildTextNodes):
15023        * editing/BreakBlockquoteCommand.cpp:
15024        (WebCore::BreakBlockquoteCommand::doApply):
15025        * editing/CompositeEditCommand.cpp:
15026        (WebCore::CompositeEditCommand::insertNodeAt):
15027        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
15028        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
15029        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
15030        (WebCore::CompositeEditCommand::deleteInsignificantText):
15031        (WebCore::CompositeEditCommand::moveParagraphs):
15032        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
15033        * editing/DeleteSelectionCommand.cpp:
15034        (WebCore::updatePositionForNodeRemoval):
15035        (WebCore::updatePositionForTextRemoval):
15036        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
15037        (WebCore::DeleteSelectionCommand::fixupWhitespace):
15038        * editing/Editor.cpp:
15039        (WebCore::Editor::setComposition):
15040        (WebCore::Editor::advanceToNextMisspelling):
15041        (WebCore::Editor::getCompositionSelection):
15042        * editing/InsertLineBreakCommand.cpp:
15043        (WebCore::InsertLineBreakCommand::doApply):
15044        * editing/InsertParagraphSeparatorCommand.cpp:
15045        (WebCore::InsertParagraphSeparatorCommand::doApply):
15046        * editing/InsertTextCommand.cpp:
15047        (WebCore::InsertTextCommand::performTrivialReplace):
15048        (WebCore::InsertTextCommand::input):
15049        (WebCore::InsertTextCommand::insertTab):
15050        * editing/MoveSelectionCommand.cpp:
15051        (WebCore::MoveSelectionCommand::doApply):
15052        * editing/ReplaceSelectionCommand.cpp:
15053        (WebCore::ReplaceSelectionCommand::doApply):
15054        * editing/SelectionController.cpp:
15055        (WebCore::SelectionController::debugRenderer):
15056        * editing/TextIterator.cpp:
15057        (WebCore::TextIterator::rangeFromLocationAndLength):
15058        * editing/TypingCommand.cpp:
15059        (WebCore::TypingCommand::deleteKeyPressed):
15060        (WebCore::TypingCommand::forwardDeleteKeyPressed):
15061        * editing/VisiblePosition.cpp:
15062        (WebCore::VisiblePosition::characterAfter):
15063        (WebCore::VisiblePosition::debugPosition):
15064        (WebCore::makeRange):
15065        (WebCore::setStart):
15066        (WebCore::setEnd):
15067        * editing/VisibleSelection.cpp:
15068        (WebCore::VisibleSelection::toNormalizedRange):
15069        (WebCore::makeSearchRange):
15070        (WebCore::VisibleSelection::debugPosition):
15071        (WebCore::VisibleSelection::showTreeForThis):
15072        * editing/htmlediting.cpp:
15073        (WebCore::comparePositions):
15074        (WebCore::rangeCompliantEquivalent):
15075        * editing/visible_units.cpp:
15076        (WebCore::previousBoundary):
15077        (WebCore::nextBoundary):
15078        (WebCore::startPositionForLine):
15079        (WebCore::startOfLine):
15080        (WebCore::endPositionForLine):
15081        (WebCore::nextLinePosition):
15082        (WebCore::startOfParagraph):
15083        (WebCore::endOfParagraph):
15084        (WebCore::logicalStartPositionForLine):
15085        (WebCore::logicalEndPositionForLine):
15086        * page/AccessibilityObject.cpp:
15087        (WebCore::updateAXLineStartForVisiblePosition):
15088        * page/AccessibilityRenderObject.cpp:
15089        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
15090        * page/DOMSelection.cpp:
15091        (WebCore::DOMSelection::anchorOffset):
15092        (WebCore::DOMSelection::focusOffset):
15093        (WebCore::DOMSelection::baseOffset):
15094        (WebCore::DOMSelection::extentOffset):
15095        * page/EventHandler.cpp:
15096        (WebCore::EventHandler::handleMousePressEventSingleClick):
15097        * page/Frame.cpp:
15098        (WebCore::Frame::selectionLayoutChanged):
15099        * page/mac/AccessibilityObjectWrapper.mm:
15100        (textMarkerForVisiblePosition):
15101        (visiblePositionForTextMarker):
15102        * rendering/RenderTextControl.cpp:
15103        (WebCore::RenderTextControl::indexForVisiblePosition):
15104        * rendering/RenderTreeAsText.cpp:
15105        (WebCore::writeSelection):
15106
151072009-04-29  Eric Seidel  <eric@webkit.org>
15108
15109        No review, rolling out a patch.
15110
15111        Revert http://trac.webkit.org/changeset/43019
15112
15113        New tests failed because I removed the tabs from them
15114        when landing (since we avoid tabs in WebKit files).
15115        I couldn't tell if the new results were correct with
15116        spaces or not.
15117
15118        * editing/SelectionController.cpp:
15119        (WebCore::SelectionController::modifyExtendingForward):
15120        (WebCore::SelectionController::modifyMovingForward):
15121        (WebCore::SelectionController::modifyExtendingBackward):
15122        (WebCore::SelectionController::modifyMovingBackward):
15123        * editing/visible_units.cpp:
15124        * editing/visible_units.h:
15125
151262009-04-29  David Hyatt  <hyatt@apple.com>
15127
15128        Reviewed by Dan Bernstein.
15129
15130        Fix for <rdar://problem/6828164>, Mail hits the !root->needsLayout() assert because it re-marks the FrameView for layout
15131        when the FrameView is resized.  This bug was exposed by the elimination of the separate WebKit layout
15132        flag on Mac.  
15133        
15134        FrameView now defers setNeedsLayouts during size changes.  Once all of the size changes are finished (including re-entrant ones
15135        from WebDynamicScrollbarsView and ScrollView::updateScrollbars) we then do a layout if necessary.
15136
15137        * page/FrameView.cpp:
15138        (WebCore::FrameView::FrameView):
15139        (WebCore::FrameView::setContentsSize):
15140        (WebCore::FrameView::layout):
15141        (WebCore::FrameView::needsLayout):
15142        (WebCore::FrameView::setNeedsLayout):
15143        * page/FrameView.h:
15144
151452009-04-29  Eric Seidel  <eric@webkit.org>
15146
15147        No review, rolling out a patch.
15148
15149        Revert 43020 as it caused accessibility/lists.html to fail
15150        and no one is around to tell me if it's a progression or not.
15151
15152        * page/AccessibilityObject.h:
15153        (WebCore::):
15154        * page/AccessibilityRenderObject.cpp:
15155        (WebCore::AccessibilityRenderObject::roleValue):
15156        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
15157        * page/mac/AccessibilityObjectWrapper.mm:
15158        (RoleEntry::):
15159
151602009-04-29  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
15161
15162        Reviewed by Jon Honeycutt.
15163
15164        Add a new accessibility role for list items. Part of
15165        http://bugs.webkit.org/show_id.cgi?id=20013
15166
15167        Tests: platform/win/accessibility/listitem-role.html
15168
15169        * page/AccessibilityObject.h:
15170        (WebCore::):  Add ListItemRole to accessibilityRole enum.
15171        * page/AccessibilityRenderObject.cpp:
15172        (WebCore::AccessibilityRenderObject::roleValue):Return
15173        listItemRole when rendered object is a list item.
15174        (WebCore::AccessibilityRenderObject::canSetFocusAttribute): Return
15175        true for ListItemRole, matching firefox.
15176        * page/mac/AccessibilityObjectWrapper.mm:
15177        (RoleEntry::): Map ListItemRole with NSAccessibilityGroupRole in
15178        MAC.
15179
151802009-04-29  Xiaomei Ji  <xji@chromium.org>
15181
15182        Reviewed by Dan Bernstein.
15183
15184        Fix https://bugs.webkit.org/show_bug.cgi?id=24168
15185        RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
15186
15187        Test: editing/selection/home-end.html
15188
15189        * editing/SelectionController.cpp:
15190        (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
15191        to logicalEndOfLine() when granularity is LineBoundary.
15192        (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
15193        to logicalEndOfLine() when granularity is LineBoundary
15194        (WebCore::SelectionController::modifyExtendingBackward): Change calling 
15195        startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
15196        (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 
15197        to logicalStartOfLine() when granularity is LineBoundary.
15198        * editing/visible_units.cpp:
15199        (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
15200        (WebCore::getLogicalStartBoxAndNode): Added.
15201        (WebCore::getLogicalEndBoxAndNode): Added.
15202        (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
15203        (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
15204        (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
15205        (WebCore::inSameLogicalLine): Added.
15206        (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
15207        * editing/visible_units.h:
15208
152092009-04-29  Mike Belshe  <mike@belshe.com>
15210
15211        Reviewed by Eric Seidel.
15212
15213        Update location while page is loading.
15214        https://bugs.webkit.org/show_bug.cgi?id=21597
15215
15216        Tested by:
15217        - fast/dom/location-new-window-no-crash
15218        - fast/dom/Window/window-open-pending-url
15219
15220        * page/Location.cpp:
15221
152222009-04-29  Feng Qian  <feng@chromium.org>
15223
15224        Reviewed by Darin Adler.
15225
15226        Add Android port files to WebCore/platform.
15227        https://bugs.webkit.org/show_bug.cgi?id=23296
15228
15229        * platform/android: Added.
15230        * platform/android/ClipboardAndroid.cpp: Added.
15231        * platform/android/ClipboardAndroid.h: Added.
15232
152332009-04-29  Feng Qian  <feng@chromium.org>
15234
15235        Reviewed by Darin Adler.
15236
15237        Add Android-specific files to the WebCore/page directory.
15238        https://bugs.webkit.org/show_bug.cgi?id=23295
15239
15240        * page/android: Added.
15241        * page/android/DragControllerAndroid.cpp: Added.
15242        * page/android/EventHandlerAndroid.cpp: Added.
15243        * page/android/InspectorControllerAndroid.cpp: Added.
15244
152452009-04-29  Pavel Feldman  <pfeldman@chromium.org>
15246
15247        Reviewed by Timothy Hatcher.
15248
15249        Extract PageGroupLoadDeferrer from Chrome.cpp
15250
15251        * GNUmakefile.am: added PageGroupLoadDeferrer
15252        * WebCore.pro: ditto
15253        * WebCore.scons: ditto
15254        * WebCore.vcproj/WebCore.vcproj: ditto
15255        * WebCore.xcodeproj/project.pbxproj: ditto
15256        * WebCoreSources.bkl: ditto
15257        * page/Chrome.cpp: PageGroupLoadDeferrer impl moved to a separate class.
15258        * page/PageGroupLoadDeferrer.cpp: Added.
15259        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
15260        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
15261        * page/PageGroupLoadDeferrer.h: Added.
15262
152632009-04-24  Ojan Vafai  <ojan@chromium.org>
15264
15265        Reviewed by Dan Bernstein.
15266
15267        Make textarea and text input metrics more closely match IEs.
15268
15269        This involves:
15270        -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
15271        -set textarea width to cols*avgCharWidth
15272        -Make default CSS match IEs
15273        -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
15274
15275        Those values for textarea and inputs were derived by doing a ton of manual
15276        testing of IE's width values for various textareas and fonts. On Windows we match
15277        IE exactly except for a couple fonts of the ~12 tested.
15278
15279        To get the average and max character width of a font, we do the following
15280        for each platform:
15281        -Win: TextMetrics expose avgCharWidth and maxCharWidth
15282        -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
15283            maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
15284        -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
15285            maxCharWidth = max of avgCharWidth and m_ascent
15286        -Mac: Calculate the avgCharWidth and grab the maxCharWidth off the font.
15287            If either one is non-positive, then calculate the value using the Linux approach.
15288
15289        Tests: fast/forms/text-control-intrinsic-widths.html
15290               fast/forms/textarea-metrics.html
15291               svg/custom/svg-fonts-in-text-controls.html
15292
15293        * css/html4.css:
15294        * css/themeWin.css:
15295        * platform/graphics/SimpleFontData.cpp:
15296        (WebCore::SimpleFontData::SimpleFontData):
15297        (WebCore::SimpleFontData::initCharWidths):
15298        * platform/graphics/SimpleFontData.h:
15299        (WebCore::SimpleFontData::maxCharWidth):
15300        (WebCore::SimpleFontData::avgCharWidth):
15301        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
15302        (WebCore::SimpleFontData::platformCharWidthInit):
15303        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
15304        (WebCore::SimpleFontData::platformCharWidthInit):
15305        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
15306        (WebCore::SimpleFontData::platformCharWidthInit):
15307        * platform/graphics/gtk/SimpleFontDataPango.cpp:
15308        (WebCore::SimpleFontData::platformCharWidthInit):
15309        * platform/graphics/mac/SimpleFontDataMac.mm:
15310        (WebCore::SimpleFontData::platformCharWidthInit):
15311        * platform/graphics/qt/SimpleFontDataQt.cpp:
15312        (WebCore::SimpleFontData::platformCharWidthInit):
15313        * platform/graphics/win/SimpleFontDataCGWin.cpp:
15314        (WebCore::SimpleFontData::platformCharWidthInit):
15315        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
15316        (WebCore::SimpleFontData::platformInit):
15317        (WebCore::SimpleFontData::platformCharWidthInit):
15318        * platform/graphics/win/SimpleFontDataWin.cpp:
15319        (WebCore::SimpleFontData::initGDIFont):
15320        * platform/graphics/wx/SimpleFontDataWx.cpp:
15321        (WebCore::SimpleFontData::platformCharWidthInit):
15322        * rendering/RenderTextControl.cpp:
15323        (WebCore::RenderTextControl::calcPrefWidths):
15324        * rendering/RenderTextControlMultiLine.cpp:
15325        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
15326        * rendering/RenderTextControlSingleLine.cpp:
15327        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
15328
153292009-04-29  Brady Eidson  <beidson@apple.com>
15330
15331        Reviewed by Darin Adler.
15332
15333        * bindings/objc/DOMCSS.mm:
15334        (kitClass):  Added CSS_INITIAL to the switch statement, and changed to use the WebCore
15335          type and not the binding type.
15336
153372009-04-29  John Abd-El-Malek  <jam@google.com>
15338
15339        Reviewed by Dimitri Glazkov.
15340
15341        Reverted my previous change to add resetChromiumPluginCache().
15342        https://bugs.webkit.org/show_bug.cgi?id=25318
15343
15344        * plugins/chromium/PluginDataChromium.cpp:
15345
153462009-04-29  Brady Eidson  <beidson@apple.com>
15347
15348        Reviewed by Darin Adler.
15349
15350        <rdar://problem/6573742> - Problem dragging standalone images from Safari to Mail
15351
15352        Roll out trac.webkit.org/changeset/35867 which fixed <rdar://problem/6153432>
15353
15354        Cloned <rdar://problem/6153432> to <rdar://problem/6839881> to find a better fix for that Tiger Mail bug.
15355
15356        * loader/DocumentLoader.cpp:
15357        (WebCore::DocumentLoader::subresource): Remove the preload referenced check.
15358
153592009-04-29  Alpha Lam  <hclam@chromium.org>
15360
15361        Reviewed by Dimitri Glazkov.
15362
15363        https://bugs.webkit.org/show_bug.cgi?id=25430
15364
15365        Provide style sheet for UI controls of media elements for Chromium port.
15366
15367        * rendering/RenderThemeChromiumWin.cpp:
15368        (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet):
15369
153702009-04-29  John Abd-El-Malek  <jam@chromium.org>
15371
15372        Reviewed by Darin Adler.
15373
15374        Expose sudden termination to Chromium port.
15375        https://bugs.webkit.org/show_bug.cgi?id=25457
15376
15377        * platform/SuddenTermination.h:
15378        * platform/chromium/ChromiumBridge.h:
15379        * platform/chromium/SuddenTerminationChromium.cpp: Added.
15380        (WebCore::disableSuddenTermination):
15381        (WebCore::enableSuddenTermination):
15382
153832009-04-29  Sam Weinig  <sam@webkit.org>
15384
15385        Reviewed by Dimitri Glazkov.
15386
15387        Remove unused EventListeners.
15388
15389        * page/DOMWindow.idl:
15390
153912009-04-29  Yury Semikhatsky  <yurys@chromium.org>
15392
15393        Reveal current execution line once SourceFrame content is loaded. 
15394
15395        https://bugs.webkit.org/show_bug.cgi?id=25448
15396
15397        Reviewed by Timothy Hatcher.
15398
15399        * inspector/front-end/SourceFrame.js:
15400        (WebInspector.SourceFrame.prototype._loaded):
15401
154022009-04-29  Ariya Hidayat  <ariya.hidayat@nokia.com>
15403
15404        Reviewed by Simon Fraser.
15405
15406        [Qt] Initialize GraphicsContext's and ImageBuffer's QPainter to match
15407        the default values of canvas attributes.
15408
15409        * platform/graphics/qt/ImageBufferQt.cpp:
15410        (WebCore::ImageBufferData::ImageBufferData):
15411
154122009-04-28  Simon Hausmann  <simon.hausmann@nokia.com>
15413
15414        Fix the Qt build.
15415
15416        * bridge/qt/qt_runtime.cpp:
15417        (JSC::Bindings::findMethodIndex): Removed exec param from at() call.
15418        (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
15419
154202009-04-28  Geoffrey Garen  <ggaren@apple.com>
15421
15422        Rubber stamped by Beth Dakin.
15423        
15424        Missed one.
15425
15426        * bindings/scripts/CodeGeneratorJS.pm:
15427
154282009-04-28  Geoffrey Garen  <ggaren@apple.com>
15429
15430        Rubber stamped by Beth Dakin.
15431        
15432        Removed scaffolding supporting dynamically converting between 32bit and
15433        64bit value representations. 
15434
15435        * bindings/js/JSAudioConstructor.cpp:
15436        (WebCore::constructAudio):
15437        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
15438        (WebCore::JSCanvasRenderingContext2D::setFillColor):
15439        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
15440        (WebCore::JSCanvasRenderingContext2D::strokeRect):
15441        (WebCore::JSCanvasRenderingContext2D::drawImage):
15442        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
15443        (WebCore::JSCanvasRenderingContext2D::setShadow):
15444        (WebCore::JSCanvasRenderingContext2D::createPattern):
15445        (WebCore::JSCanvasRenderingContext2D::putImageData):
15446        (WebCore::JSCanvasRenderingContext2D::fillText):
15447        (WebCore::JSCanvasRenderingContext2D::strokeText):
15448        * bindings/js/JSClipboardCustom.cpp:
15449        (WebCore::JSClipboard::clearData):
15450        (WebCore::JSClipboard::getData):
15451        (WebCore::JSClipboard::setData):
15452        (WebCore::JSClipboard::setDragImage):
15453        * bindings/js/JSDOMApplicationCacheCustom.cpp:
15454        (WebCore::JSDOMApplicationCache::hasItem):
15455        (WebCore::JSDOMApplicationCache::add):
15456        (WebCore::JSDOMApplicationCache::remove):
15457        (WebCore::JSDOMApplicationCache::addEventListener):
15458        (WebCore::JSDOMApplicationCache::removeEventListener):
15459        * bindings/js/JSDOMStringListCustom.cpp:
15460        (WebCore::JSDOMStringList::item):
15461        * bindings/js/JSDOMWindowCustom.cpp:
15462        (WebCore::JSDOMWindow::open):
15463        (WebCore::JSDOMWindow::showModalDialog):
15464        (WebCore::JSDOMWindow::postMessage):
15465        (WebCore::JSDOMWindow::setTimeout):
15466        (WebCore::JSDOMWindow::setInterval):
15467        (WebCore::JSDOMWindow::atob):
15468        (WebCore::JSDOMWindow::btoa):
15469        (WebCore::JSDOMWindow::addEventListener):
15470        (WebCore::JSDOMWindow::removeEventListener):
15471        * bindings/js/JSDatabaseCustom.cpp:
15472        (WebCore::JSDatabase::changeVersion):
15473        (WebCore::JSDatabase::transaction):
15474        * bindings/js/JSElementCustom.cpp:
15475        (WebCore::JSElement::setAttribute):
15476        (WebCore::JSElement::setAttributeNode):
15477        (WebCore::JSElement::setAttributeNS):
15478        (WebCore::JSElement::setAttributeNodeNS):
15479        * bindings/js/JSGeolocationCustom.cpp:
15480        (WebCore::JSGeolocation::getCurrentPosition):
15481        (WebCore::JSGeolocation::watchPosition):
15482        * bindings/js/JSHTMLCollectionCustom.cpp:
15483        (WebCore::callHTMLCollection):
15484        (WebCore::JSHTMLCollection::item):
15485        (WebCore::JSHTMLCollection::namedItem):
15486        * bindings/js/JSHTMLDocumentCustom.cpp:
15487        (WebCore::documentWrite):
15488        * bindings/js/JSHTMLInputElementCustom.cpp:
15489        (WebCore::JSHTMLInputElement::setSelectionRange):
15490        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
15491        (WebCore::JSHTMLOptionsCollection::add):
15492        * bindings/js/JSHTMLSelectElementCustom.cpp:
15493        (WebCore::JSHTMLSelectElement::remove):
15494        * bindings/js/JSImageConstructor.cpp:
15495        (WebCore::constructImage):
15496        * bindings/js/JSInspectorControllerCustom.cpp:
15497        (WebCore::JSInspectorController::highlightDOMNode):
15498        (WebCore::JSInspectorController::addResourceSourceToFrame):
15499        (WebCore::JSInspectorController::addSourceToFrame):
15500        (WebCore::JSInspectorController::getResourceDocumentNode):
15501        (WebCore::JSInspectorController::search):
15502        (WebCore::JSInspectorController::databaseTableNames):
15503        (WebCore::JSInspectorController::setting):
15504        (WebCore::JSInspectorController::setSetting):
15505        (WebCore::JSInspectorController::wrapCallback):
15506        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
15507        (WebCore::JSJavaScriptCallFrame::evaluate):
15508        * bindings/js/JSLocationCustom.cpp:
15509        (WebCore::JSLocation::replace):
15510        (WebCore::JSLocation::assign):
15511        * bindings/js/JSMessagePortCustom.cpp:
15512        (WebCore::JSMessagePort::startConversation):
15513        (WebCore::JSMessagePort::addEventListener):
15514        (WebCore::JSMessagePort::removeEventListener):
15515        * bindings/js/JSNodeCustom.cpp:
15516        (WebCore::JSNode::insertBefore):
15517        (WebCore::JSNode::replaceChild):
15518        (WebCore::JSNode::removeChild):
15519        (WebCore::JSNode::appendChild):
15520        (WebCore::JSNode::addEventListener):
15521        (WebCore::JSNode::removeEventListener):
15522        * bindings/js/JSNodeFilterCustom.cpp:
15523        (WebCore::JSNodeFilter::acceptNode):
15524        * bindings/js/JSNodeListCustom.cpp:
15525        (WebCore::callNodeList):
15526        * bindings/js/JSOptionConstructor.cpp:
15527        (WebCore::constructHTMLOptionElement):
15528        * bindings/js/JSQuarantinedObjectWrapper.cpp:
15529        (WebCore::JSQuarantinedObjectWrapper::construct):
15530        (WebCore::JSQuarantinedObjectWrapper::call):
15531        * bindings/js/JSSQLResultSetRowListCustom.cpp:
15532        (WebCore::JSSQLResultSetRowList::item):
15533        * bindings/js/JSSQLTransactionCustom.cpp:
15534        (WebCore::JSSQLTransaction::executeSql):
15535        * bindings/js/JSSVGElementInstanceCustom.cpp:
15536        (WebCore::JSSVGElementInstance::addEventListener):
15537        (WebCore::JSSVGElementInstance::removeEventListener):
15538        * bindings/js/JSSVGLengthCustom.cpp:
15539        (WebCore::JSSVGLength::convertToSpecifiedUnits):
15540        * bindings/js/JSSVGMatrixCustom.cpp:
15541        (WebCore::JSSVGMatrix::rotateFromVector):
15542        * bindings/js/JSSVGPathSegListCustom.cpp:
15543        (WebCore::JSSVGPathSegList::initialize):
15544        (WebCore::JSSVGPathSegList::getItem):
15545        (WebCore::JSSVGPathSegList::insertItemBefore):
15546        (WebCore::JSSVGPathSegList::replaceItem):
15547        (WebCore::JSSVGPathSegList::removeItem):
15548        (WebCore::JSSVGPathSegList::appendItem):
15549        * bindings/js/JSSVGPointListCustom.cpp:
15550        (WebCore::JSSVGPointList::initialize):
15551        (WebCore::JSSVGPointList::getItem):
15552        (WebCore::JSSVGPointList::insertItemBefore):
15553        (WebCore::JSSVGPointList::replaceItem):
15554        (WebCore::JSSVGPointList::removeItem):
15555        (WebCore::JSSVGPointList::appendItem):
15556        * bindings/js/JSSVGTransformListCustom.cpp:
15557        (WebCore::JSSVGTransformList::initialize):
15558        (WebCore::JSSVGTransformList::getItem):
15559        (WebCore::JSSVGTransformList::insertItemBefore):
15560        (WebCore::JSSVGTransformList::replaceItem):
15561        (WebCore::JSSVGTransformList::removeItem):
15562        (WebCore::JSSVGTransformList::appendItem):
15563        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
15564        (WebCore::constructWebKitCSSMatrix):
15565        * bindings/js/JSWebKitPointConstructor.cpp:
15566        (WebCore::constructWebKitPoint):
15567        * bindings/js/JSWorkerConstructor.cpp:
15568        (WebCore::constructWorker):
15569        * bindings/js/JSWorkerContextCustom.cpp:
15570        (WebCore::JSWorkerContext::importScripts):
15571        (WebCore::JSWorkerContext::addEventListener):
15572        (WebCore::JSWorkerContext::removeEventListener):
15573        (WebCore::JSWorkerContext::setTimeout):
15574        (WebCore::JSWorkerContext::setInterval):
15575        * bindings/js/JSWorkerCustom.cpp:
15576        (WebCore::JSWorker::addEventListener):
15577        (WebCore::JSWorker::removeEventListener):
15578        * bindings/js/JSXMLHttpRequestCustom.cpp:
15579        (WebCore::JSXMLHttpRequest::open):
15580        (WebCore::JSXMLHttpRequest::setRequestHeader):
15581        (WebCore::JSXMLHttpRequest::send):
15582        (WebCore::JSXMLHttpRequest::getResponseHeader):
15583        (WebCore::JSXMLHttpRequest::overrideMimeType):
15584        (WebCore::JSXMLHttpRequest::addEventListener):
15585        (WebCore::JSXMLHttpRequest::removeEventListener):
15586        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15587        (WebCore::JSXMLHttpRequestUpload::addEventListener):
15588        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
15589        * bindings/js/JSXSLTProcessorCustom.cpp:
15590        (WebCore::JSXSLTProcessor::importStylesheet):
15591        (WebCore::JSXSLTProcessor::transformToFragment):
15592        (WebCore::JSXSLTProcessor::transformToDocument):
15593        (WebCore::JSXSLTProcessor::setParameter):
15594        (WebCore::JSXSLTProcessor::getParameter):
15595        (WebCore::JSXSLTProcessor::removeParameter):
15596        * bindings/js/ScheduledAction.cpp:
15597        (WebCore::ScheduledAction::create):
15598        (WebCore::ScheduledAction::ScheduledAction):
15599        * bindings/js/ScheduledAction.h:
15600        * bindings/js/ScriptCallFrame.cpp:
15601        (WebCore::ScriptCallFrame::ScriptCallFrame):
15602        * bindings/js/ScriptCallFrame.h:
15603        * bindings/js/ScriptCallStack.cpp:
15604        (WebCore::ScriptCallStack::ScriptCallStack):
15605        (WebCore::ScriptCallStack::initialize):
15606        * bridge/c/c_instance.cpp:
15607        (JSC::Bindings::CInstance::invokeMethod):
15608        (JSC::Bindings::CInstance::invokeDefaultMethod):
15609        (JSC::Bindings::CInstance::invokeConstruct):
15610        * bridge/jni/jni_instance.cpp:
15611        (JavaInstance::invokeMethod):
15612        * bridge/objc/objc_instance.mm:
15613        (ObjcInstance::invokeMethod):
15614        (ObjcInstance::invokeDefaultMethod):
15615
156162009-04-28  David Carson  <dacarson@apple.com>
15617
15618        Reviewed by David Hyatt.
15619
15620        Restore alignment to device pixel boundaries.
15621        https://bugs.webkit.org/show_bug.cgi?id=25458
15622
15623        Adjust the adjusted destination rect to be device pixel aligned.
15624
15625        * platform/graphics/cg/ImageCG.cpp:
15626        (WebCore::BitmapImage::draw):
15627
156282009-04-28  Sam Weinig  <sam@webkit.org>
15629
15630        Reviewed by Anders Carlsson.
15631
15632        Move unimplemented captureEvents and releaseEvents from JSDOMWindow
15633        to DOMWindow.
15634
15635        * bindings/js/JSDOMWindowCustom.cpp:
15636        * page/DOMWindow.cpp:
15637        (WebCore::DOMWindow::captureEvents):
15638        (WebCore::DOMWindow::releaseEvents):
15639        * page/DOMWindow.h:
15640        * page/DOMWindow.idl:
15641
156422009-04-28  Alexey Proskuryakov  <ap@webkit.org>
15643
15644        Reviewed by Darin Adler.
15645
15646        https://bugs.webkit.org/show_bug.cgi?id=25420
15647        <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin
15648
15649        Test: http/tests/xmlhttprequest/detaching-frame-2.html
15650
15651        This was caused by faulty DOMWindow::document(), which could return a new document from
15652        the window's frame after navigation.
15653
15654        * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
15655        Removed an obsolete check that allowed access when document was null. Contrary to what a
15656        comment said, that can happen for a window that is no longer in frame, not to one whose
15657        document is not constructed yet.
15658
15659        * bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail
15660        out if context was not found. This currently happens due to a shortcoming in
15661        DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression
15662        test will be constructed successfully, but won't be sent, because its context will be
15663        frameless.
15664
15665        * page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't
15666        been replaced yet. Added FIXME comments about how this may be better fixed in the future.
15667
15668        * bindings/js/JSAudioConstructor.cpp:
15669        (WebCore::JSAudioConstructor::document):
15670        (WebCore::constructAudio):
15671        * bindings/js/JSImageConstructor.cpp:
15672        (WebCore::JSImageConstructor::document):
15673        (WebCore::constructImage):
15674        * bindings/js/JSMessageChannelConstructor.cpp:
15675        (WebCore::JSMessageChannelConstructor::construct):
15676        * bindings/js/JSOptionConstructor.cpp:
15677        (WebCore::JSOptionConstructor::document):
15678        (WebCore::constructHTMLOptionElement):
15679        Make matching changes to other constructors that hold a reference to global object.
15680
156812009-04-28  Kevin Ollivier <kevino@theolliviers.com>
15682
15683        wxMSW build fix. Switch JSCore build back to static.
15684
15685        * config.h:
15686
156872009-04-28  Pierre d'Herbemont  <pdherbemont@apple.com>
15688
15689        Reviewed by Simon Fraser.
15690
15691        <rdar://problem/6834830>
15692
15693        Make sure we cover the two possible values reported by event.total that are playback engine
15694        specific.
15695
15696        * media/progress-event-total-expected.txt: Match the new test.
15697        * media/progress-event-total.html: Test the two values.
15698
156992009-04-28  Timothy Hatcher  <timothy@apple.com>
15700
15701        Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it
15702        collects the individual rects, making sure to only include RenderText.
15703
15704        <rdar://problem/6810061>
15705
15706        Reviewed by Sam Weinig.
15707
15708        * bindings/objc/DOM.mm:
15709        (-[DOMNode textRects]): Added. Make a Range and call textRects.
15710        (-[DOMNode lineBoxRects]): Call textRects method.
15711        (-[DOMRange textRects]): Call Range::textRects.
15712        (-[DOMRange lineBoxRects]): Call textRects method.
15713        * bindings/objc/DOMPrivate.h: Add the new methods and a comment
15714        about lineBoxRects being deprecated.
15715        * dom/Range.cpp:
15716        (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects).
15717        (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the
15718        nodes instead of the RenderObjects to correctly account for offsets. Also
15719        only call absoluteRectsForRange on RenderText.
15720        * dom/Range.h: Renamed addLineBoxRects to textRects.
15721        * page/Frame.cpp:
15722        (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects).
15723        * rendering/RenderObject.cpp:
15724        (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this
15725        function very specific for the lineBoxRects API. These functions are still used
15726        by the InspectorController, and this change improves what the Inspector shows.
15727        (WebCore::RenderObject::absoluteQuadsForRange): Ditto.
15728
157292009-04-28  Timothy Hatcher  <timothy@apple.com>
15730
15731        Remove the topLevel boolean argument from absolute{Rects,Quads}.
15732        This argument was default to true and no one ever passed false.
15733
15734        Reviewed by Sam Weinig.
15735
15736        * rendering/RenderBlock.cpp:
15737        (WebCore::RenderBlock::absoluteRects):
15738        (WebCore::RenderBlock::absoluteQuads):
15739        * rendering/RenderBlock.h:
15740        * rendering/RenderBox.cpp:
15741        (WebCore::RenderBox::absoluteRects):
15742        (WebCore::RenderBox::absoluteQuads):
15743        * rendering/RenderBox.h:
15744        * rendering/RenderInline.cpp:
15745        (WebCore::RenderInline::absoluteRects):
15746        (WebCore::RenderInline::absoluteQuads):
15747        * rendering/RenderInline.h:
15748        * rendering/RenderObject.h:
15749        (WebCore::RenderObject::absoluteRects):
15750        (WebCore::RenderObject::absoluteQuads):
15751        * rendering/RenderSVGHiddenContainer.cpp:
15752        (WebCore::RenderSVGHiddenContainer::absoluteRects):
15753        (WebCore::RenderSVGHiddenContainer::absoluteQuads):
15754        * rendering/RenderSVGHiddenContainer.h:
15755        * rendering/RenderSVGImage.cpp:
15756        (WebCore::RenderSVGImage::absoluteRects):
15757        (WebCore::RenderSVGImage::absoluteQuads):
15758        * rendering/RenderSVGImage.h:
15759        * rendering/RenderSVGInlineText.cpp:
15760        (WebCore::RenderSVGInlineText::absoluteRects):
15761        (WebCore::RenderSVGInlineText::absoluteQuads):
15762        * rendering/RenderSVGInlineText.h:
15763        * rendering/RenderSVGModelObject.cpp:
15764        (WebCore::RenderSVGModelObject::absoluteRects):
15765        (WebCore::RenderSVGModelObject::absoluteQuads):
15766        * rendering/RenderSVGModelObject.h:
15767        * rendering/RenderSVGTSpan.cpp:
15768        (WebCore::RenderSVGTSpan::absoluteRects):
15769        (WebCore::RenderSVGTSpan::absoluteQuads):
15770        * rendering/RenderSVGTSpan.h:
15771        * rendering/RenderSVGText.cpp:
15772        (WebCore::RenderSVGText::absoluteRects):
15773        (WebCore::RenderSVGText::absoluteQuads):
15774        * rendering/RenderSVGText.h:
15775        * rendering/RenderSVGTextPath.cpp:
15776        (WebCore::RenderSVGTextPath::absoluteQuads):
15777        * rendering/RenderSVGTextPath.h:
15778        * rendering/RenderText.cpp:
15779        (WebCore::RenderText::absoluteRects):
15780        * rendering/RenderText.h:
15781        * rendering/RenderView.cpp:
15782        (WebCore::RenderView::absoluteRects):
15783        (WebCore::RenderView::absoluteQuads):
15784        * rendering/RenderView.h:
15785
157862009-04-28  Eric Carlson  <eric.carlson@apple.com>
15787
15788        Reviewed by Simon Fraser.
15789
15790        <rdar://problem/6794691> Media documents and <video controls> never show controls on Windows
15791
15792        RenderThemeWin doesn't implement the media element controller rendering methods, so media
15793        controls stopped rendering when we switched from RenderThemeSafari. Rather than having copies
15794        of the code in both places, the logic is in a new class that is called from both.
15795
15796        * WebCore.vcproj/WebCore.vcproj: Add RenderMediaControls.cpp.
15797
15798        * rendering/RenderMediaControls.cpp: Added.
15799        (WebCore::determineState): Translate renderer state to ThemeControlState.
15800        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Adjust slider thumb.
15801        (WebCore::parentMediaElement): Return the HTMLMediaElement parent of a controller element.
15802        (WebCore::RenderMediaControls::paintMediaControlsPart): Paint a media controller part.
15803        * rendering/RenderMediaControls.h: Added.
15804
15805        * rendering/RenderThemeSafari.cpp:
15806        (WebCore::RenderThemeSafari::paintSliderTrack): Remove the MediaSliderPart case, it is never
15807        called for the media slider.
15808        (WebCore::RenderThemeSafari::adjustSliderThumbSize): Call RenderMediaControls function.
15809        (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Ditto.
15810        (WebCore::RenderThemeSafari::paintMediaMuteButton): Ditto.
15811        (WebCore::RenderThemeSafari::paintMediaPlayButton): Ditto.
15812        (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Ditto.
15813        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Ditto.
15814        (WebCore::RenderThemeSafari::paintMediaSliderTrack): Ditto.
15815        (WebCore::RenderThemeSafari::paintMediaSliderThumb): Ditto.
15816
15817        * rendering/RenderThemeWin.cpp:
15818        (WebCore::RenderThemeWin::adjustSliderThumbSize): Ditto.
15819        (WebCore::RenderThemeWin::paintMediaFullscreenButton): Ditto.
15820        (WebCore::RenderThemeWin::paintMediaMuteButton): Ditto.
15821        (WebCore::RenderThemeWin::paintMediaPlayButton): Ditto.
15822        (WebCore::RenderThemeWin::paintMediaSeekBackButton): Ditto.
15823        (WebCore::RenderThemeWin::paintMediaSeekForwardButton): Ditto.
15824        (WebCore::RenderThemeWin::paintMediaSliderTrack): Ditto.
15825        (WebCore::RenderThemeWin::paintMediaSliderThumb): Ditto.
15826        * rendering/RenderThemeWin.h:
15827
158282009-04-28  Beth Dakin  <bdakin@apple.com>
15829
15830        Reviewed by Sam Weinig.
15831
15832        Fix for <rdar://problem/6419515> REGRESSION (r31037): Positioned 
15833        images with % height are collapsed when printing
15834
15835        * rendering/RenderBox.cpp:
15836        (WebCore::RenderBox::calcHeight): Make sure we don't ignore 
15837        printing here!
15838
158392009-04-28  Adele Peterson  <adele@apple.com>
15840
15841        Reviewed by Darin Adler.
15842
15843        Fix for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line
15844
15845        Test: editing/deleting/type-delete-after-quote.html
15846
15847        When a selection is deleted that contains a whole number paragraphs plus a line break, we refrain from merging paragraphs after the delete,
15848        since it is unclear to most users that such a selection actually ends at the start of the next paragraph.  However, when a user hits delete 
15849        with a caret selection, they actually do expect the start of that paragraph to be merged into the paragraph before it.  We can tell that 
15850        we're in this state because the TypingCommand creates the selection to delete but it doesn't change the endingSelection.  So we can tell
15851        that if we started with a caret selection, then we're not in this special case where we have to protect the user from unexpected behavior 
15852        from deleting a range they selected.
15853
15854        * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData):
15855
158562009-04-28  Xan Lopez  <xlopez@igalia.com>
15857
15858        Unreviewed: fix distcheck build, add missing header to file list.
15859
15860        * GNUmakefile.am:
15861
158622009-04-27  Eric Seidel  <eric@webkit.org>
15863
15864        Reviewed by Sam Weinig.
15865
15866        Fix foreignObject transform order
15867        https://bugs.webkit.org/show_bug.cgi?id=25433
15868
15869        Transforms were being applied in the wrong order.
15870        When mapping from local to parent, first apply the viewport transform
15871        then map from the viewport box to the parent box.
15872
15873        * rendering/RenderForeignObject.cpp:
15874        (WebCore::RenderForeignObject::localToParentTransform):
15875
158762009-04-27  Eric Seidel  <eric@webkit.org>
15877
15878        Reviewed by Simon Fraser.
15879
15880        Simplify nodeAtPoint for SVG
15881        https://bugs.webkit.org/show_bug.cgi?id=25432
15882
15883        Added a new nodeAtFloatPoint method which takes a FloatPoint
15884        instead of the *super confusing* x/y tx/ty pairs that HTML uses.
15885        Mostly this is just lots of minus-lines as the new code is *much* simpler.
15886
15887        I made all the SVG renderers use the new nodeAtFloatPoint and ASSERT_NOT_REACHED
15888        for the nodeAtPoint HTML/CSS int x/y version.
15889
15890        Eventually the rest of CSS/HTML render objects will follow suit
15891        and move to nodeAtFloatPoint (possibly renamed back to nodeAtPoint), but changing them
15892        over was well outside the scope of this change.
15893
15894        SVG hit testing is not actually floating point precise yet, since its still
15895        passed in an integer x/y.  Certain transform hit-test edge cases are likely fixed
15896        by moving to FloatPoint here, but I didn't try to find one.
15897
15898        This should not cause functional changes for common-case hit testing, thus
15899        no tests changed, nor should new tests be needed.
15900
15901        * rendering/RenderForeignObject.cpp:
15902        (WebCore::RenderForeignObject::translationForAttributes):
15903        (WebCore::RenderForeignObject::paint):
15904        (WebCore::RenderForeignObject::computeRectForRepaint):
15905        (WebCore::RenderForeignObject::localToParentTransform):
15906        (WebCore::RenderForeignObject::layout):
15907        (WebCore::RenderForeignObject::nodeAtFloatPoint):
15908        * rendering/RenderForeignObject.h:
15909        * rendering/RenderObject.cpp:
15910        (WebCore::RenderObject::nodeAtFloatPoint):
15911        * rendering/RenderObject.h:
15912        * rendering/RenderPath.cpp:
15913        (WebCore::RenderPath::nodeAtFloatPoint):
15914        * rendering/RenderPath.h:
15915        * rendering/RenderSVGContainer.cpp:
15916        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
15917        * rendering/RenderSVGContainer.h:
15918        (WebCore::RenderSVGContainer::pointIsInsideViewportClip):
15919        * rendering/RenderSVGHiddenContainer.cpp:
15920        (WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint):
15921        * rendering/RenderSVGHiddenContainer.h:
15922        * rendering/RenderSVGImage.cpp:
15923        (WebCore::RenderSVGImage::paint):
15924        (WebCore::RenderSVGImage::nodeAtFloatPoint):
15925        * rendering/RenderSVGImage.h:
15926        (WebCore::RenderSVGImage::localToParentTransform):
15927        (WebCore::RenderSVGImage::localTransform):
15928        * rendering/RenderSVGModelObject.cpp:
15929        (WebCore::RenderSVGModelObject::nodeAtFloatPoint):
15930        * rendering/RenderSVGModelObject.h:
15931        * rendering/RenderSVGRoot.cpp:
15932        (WebCore::RenderSVGRoot::nodeAtFloatPoint):
15933        * rendering/RenderSVGText.cpp:
15934        (WebCore::RenderSVGText::nodeAtFloatPoint):
15935        * rendering/RenderSVGText.h:
15936        * rendering/RenderSVGViewportContainer.cpp:
15937        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip):
15938        * rendering/RenderSVGViewportContainer.h:
15939
159402009-04-28  Eric Carlson  <eric.carlson@apple.com>
15941
15942        - fix the Tiger build
15943
15944        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
15945        (WebCore::MediaPlayerPrivate::cacheMovieScale):
15946
159472009-04-28  Sam Weinig  <sam@webkit.org>
15948
15949        Reviewed by Beth Dakin.
15950
15951        Consolidate ScheduleAction creation into ScheduledAction::create.
15952        Autogenerate JSWorkerContext.clearTimeout and clearInterval.
15953
15954        * bindings/js/JSDOMWindowCustom.cpp:
15955        (WebCore::JSDOMWindow::setTimeout):
15956        (WebCore::JSDOMWindow::setInterval):
15957        * bindings/js/JSWorkerContextCustom.cpp:
15958        (WebCore::JSWorkerContext::setTimeout):
15959        (WebCore::JSWorkerContext::setInterval):
15960        * bindings/js/ScheduledAction.cpp:
15961        (WebCore::ScheduledAction::create):
15962        (WebCore::ScheduledAction::ScheduledAction):
15963        (WebCore::ScheduledAction::execute):
15964        * bindings/js/ScheduledAction.h:
15965        * workers/WorkerContext.cpp:
15966        (WebCore::DOMWindow::setTimeout):
15967        (WebCore::DOMWindow::clearTimeout):
15968        (WebCore::DOMWindow::setInterval):
15969        (WebCore::DOMWindow::clearInterval):
15970        * workers/WorkerContext.h:
15971        * workers/WorkerContext.idl:
15972
159732009-04-28  Brady Eidson  <beidson@apple.com>
15974
15975        Reviewed by Darin Adler
15976
15977        <rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed
15978
15979        When moving Nodes between documents we weren't properly updating style declarations.  Certain operations, such
15980        as creating webarchives, would tickle this bug.
15981
15982        Tests: webarchive/adopt-attribute-styled-body-webarchive.html
15983               webarchive/adopt-attribute-styled-node-webarchive.html
15984               webarchive/adopt-inline-styled-node-webarchive.html
15985
15986        * dom/Node.cpp:  Add a debug-only mechanism to insure that anyone who overrides (did/will)MoveToNewOwnerDocument
15987          calls their parent-class implementation after they've done their own work.
15988        (WebCore::setWillMoveToNewOwnerDocumentWasCalled): 
15989        (WebCore::setDidMoveToNewOwnerDocumentWasCalled):
15990        (WebCore::Node::setDocument):
15991        (WebCore::Node::willMoveToNewOwnerDocument):
15992        (WebCore::Node::didMoveToNewOwnerDocument):
15993
15994        * dom/StyledElement.cpp:
15995        (WebCore::StyledElement::attributeChanged): Add a comment explaining why we don't need to walk the nameAttrMap
15996          to update style declarations.
15997        (WebCore::StyledElement::didMoveToNewOwnerDocument): Update the parent pointer for the inline style declaration.
15998        * dom/StyledElement.h:
15999
16000        * html/HTMLBodyElement.cpp:
16001        (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument): Update the parent pointer for the link declaration.
16002        * html/HTMLBodyElement.h:
16003
160042009-04-28  Eric Carlson  <eric.carlson@apple.com>
16005
16006         Reviewed by Darin Adler.
16007        
16008        <rdar://problem/6834876> Don't use BlockExceptions macros until QTKit supports 
16009        QTMoviePreferredTransformAttribute
16010
16011        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16012        (WebCore::MediaPlayerPrivate::cacheMovieScale): use @try and @catch instead of 
16013        BEGIN_BLOCK_OBJC_EXCEPTIONS and END_BLOCK_OBJC_EXCEPTIONS for builds of QTKit 
16014        that throw an exception on QTMovieCurrentSizeAttribute but don't support 
16015        QTMoviePreferredTransformAttribute
16016
160172009-04-28  Darin Adler  <darin@apple.com>
16018
16019        Reviewed by Sam Weinig.
16020
16021        * rendering/RenderText.cpp:
16022        (WebCore::RenderText::RenderText): Streamline code path to avoid a bit of reference count
16023        churn and remove a strange unneeeded PassRefPtr typecast. Also added a comment.
16024        (WebCore::RenderText::setTextInternal): Ditto.
16025
160262009-04-27  Eric Seidel  <eric@webkit.org>
16027
16028        Reviewed by Simon Fraser.
16029
16030        Simplify how SVG containers paint
16031        https://bugs.webkit.org/show_bug.cgi?id=25431
16032
16033        Moved filterBoundingBox() from RenderSVGModelObject to SVGRenderSupport to share with other classes.
16034        Gave RenderSVGText a modern clippedOverflowRectForRepaint and computeRectForRepaint.
16035        RenderSVGText now applies transforms at paint() time instead of during chunk draw time
16036        this should be much more efficient.
16037
16038        Fixed the order in which RenderSVGViewportContainer applied
16039        transforms and clips.  We now clip to the viewport first and apply
16040        all transforms at once.  Also since the viewport logic is now only
16041        inside RenderSVGViewportContainer (instead of inside RenderSVGContainer)
16042        we always know we have a viewport.  We now use only viewportSize instead of
16043        viewport() since RenderSVGViewportContainers can't have x/y offsets.
16044
16045        We now correctly transform the PaintInfo::rect (damage rect) when applying transforms.
16046        This allowed us to apply the transform during text paint() instead of at chunk paint
16047        time. Previously we had to apply the transform during chunk paint time because
16048        RenderBlock (superclass of RenderSVGBlock) would check intersection with the damageRect
16049        before telling any of the inlines to draw.  Now that we adjust the damage rect correctly
16050        we pass the intersection check correctly!  (This probably fixed some <text> redraw bugs
16051        but since I still have a bunch of those to fix, I've not tried to write additional tests
16052        to cover these potential fixes yet.)
16053
16054        SVGRootInlineBox no longer needs to deal with transforms at chunk paint time, yay!
16055
16056        * rendering/RenderPath.cpp:
16057        (WebCore::RenderPath::repaintRectInLocalCoordinates):
16058        (WebCore::RenderPath::paint):
16059        * rendering/RenderSVGContainer.cpp:
16060        (WebCore::RenderSVGContainer::paint):
16061        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
16062        * rendering/RenderSVGContainer.h:
16063        (WebCore::RenderSVGContainer::applyViewportClip):
16064        * rendering/RenderSVGImage.cpp:
16065        (WebCore::RenderSVGImage::layout):
16066        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
16067        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
16068        (WebCore::RenderSVGImage::computeRectForRepaint):
16069        * rendering/RenderSVGImage.h:
16070        * rendering/RenderSVGModelObject.cpp:
16071        * rendering/RenderSVGModelObject.h:
16072        * rendering/RenderSVGRoot.cpp:
16073        (WebCore::RenderSVGRoot::layout):
16074        (WebCore::RenderSVGRoot::selfWillPaint):
16075        (WebCore::RenderSVGRoot::paint):
16076        (WebCore::RenderSVGRoot::viewportSize):
16077        (WebCore::RenderSVGRoot::calcViewport):
16078        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
16079        (WebCore::RenderSVGRoot::parentOriginToBorderBox):
16080        (WebCore::RenderSVGRoot::borderOriginToContentBox):
16081        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
16082        (WebCore::RenderSVGRoot::localToParentTransform):
16083        (WebCore::RenderSVGRoot::computeRectForRepaint):
16084        (WebCore::RenderSVGRoot::nodeAtPoint):
16085        * rendering/RenderSVGRoot.h:
16086        * rendering/RenderSVGText.cpp:
16087        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
16088        (WebCore::RenderSVGText::computeRectForRepaint):
16089        (WebCore::RenderSVGText::paint):
16090        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
16091        * rendering/RenderSVGText.h:
16092        (WebCore::RenderSVGText::localToParentTransform):
16093        (WebCore::RenderSVGText::localTransform):
16094        * rendering/RenderSVGViewportContainer.cpp:
16095        (WebCore::RenderSVGViewportContainer::applyViewportClip):
16096        * rendering/RenderSVGViewportContainer.h:
16097        * rendering/SVGRenderSupport.cpp:
16098        (WebCore::filterBoundingBoxForRenderer):
16099        (WebCore::applyTransformToPaintInfo):
16100        * rendering/SVGRenderSupport.h:
16101        * rendering/SVGRootInlineBox.cpp:
16102        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
16103        (WebCore::SVGRootInlineBox::paint):
16104
161052009-04-28  Chris Fleizach  <cfleizach@apple.com>
16106
16107        Reviewed by Darin Adler.
16108
16109        Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled
16110        https://bugs.webkit.org/show_bug.cgi?id=25453
16111
16112        Test: accessibility/placeholder.html
16113
16114        * page/AccessibilityRenderObject.cpp:
16115        (WebCore::AccessibilityRenderObject::title):
16116
161172009-04-28  Chris Fleizach  <cfleizach@apple.com>
16118
16119        Reviewed by Darin Adler.
16120
16121        Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag
16122        https://bugs.webkit.org/show_bug.cgi?id=25452
16123
16124        Test: accessibility/ignore-spacer-elements.html
16125
16126        * page/AccessibilityRenderObject.cpp:
16127        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
16128
161292009-04-28  Mark Rowe  <mrowe@apple.com>
16130
16131        Reviewed by Sam Weinig.
16132
16133        Work around <rdar://problem/6833240> by relying on static initialization to zero the entire struct.
16134        This removes the need for us to explicitly initialize all of the members, which have a tendency
16135        to change in meaning and number between versions of libxml2.
16136
16137        * dom/XMLTokenizerLibxml2.cpp:
16138        (WebCore::):
16139        (WebCore::sharedXHTMLEntity):
16140        (WebCore::getXHTMLEntity):
16141
161422009-04-28  Steve Falkenburg  <sfalken@apple.com>
16143
16144        Fix linker warning by specifying /NODEFAULTLIB:LIBCMT for QTMovieWin.
16145        
16146        Reviewed by Mark Rowe.
16147
16148        * WebCore.vcproj/QTMovieWin.vcproj:
16149
161502009-04-28  Chris Fleizach  <cfleizach@apple.com>
16151
16152        Reviewed by Darin Adler.
16153
16154        Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription
16155        https://bugs.webkit.org/show_bug.cgi?id=25449
16156
16157        Test: accessibility/img-aria-button-alt-tag.html
16158
16159        * page/AccessibilityRenderObject.cpp:
16160        (WebCore::AccessibilityRenderObject::accessibilityDescription):
16161
161622009-04-28  Dan Bernstein  <mitz@apple.com>
16163
16164        Reviewed by John Sullivan.
16165
16166        - formatting cleanup
16167
16168        * rendering/RenderBox.cpp:
16169        (WebCore::RenderBox::calcHeight): Corrected indentation and added braces
16170        around a multi-line "else" clause.
16171
161722009-04-28  Eric Carlson  <eric.carlson@apple.com>
16173
16174        Reviewed by Adam Roben
16175        
16176        <rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
16177        https://bugs.webkit.org/show_bug.cgi?id=25094
16178        
16179        Display movies saved with a non-identity matrix at the correct size.
16180
16181        * platform/graphics/win/QTMovieWin.cpp:
16182        (QTMovieWinPrivate::QTMovieWinPrivate): Initialize m_widthScaleFactor and m_heightScaleFactor.
16183        (QTMovieWinPrivate::cacheMovieScale): New, calculate difference between initial
16184        size and natural size so naturalSize() accounts for non-identity movie matrix.
16185        (QTMovieWinPrivate::task):Call cacheMovieScale when load state reaches
16186        kMovieLoadStateLoaded for the first time. kMovieLoadState -> QTMovieLoadState.
16187        (QTMovieWinPrivate::drawingComplete): kMovieLoadState -> QTMovieLoadState.
16188        (QTMovieWinPrivate::createGWorld): Don't bother creating gworld until load state reaches
16189        kMovieLoadStateLoaded because we do not try to draw it before that point.
16190        (QTMovieWinPrivate::setSize): Do not change movie box before reaching kMovieLoadStateLoaded
16191        because we need to get the movie's initial size in cacheMovieScale.
16192        (QTMovieWin::getNaturalSize): Multiply width and height by initial scale.
16193
161942009-04-28  Sam Weinig  <sam@webkit.org>
16195
16196        Reviewed by Dan Bernstein.
16197
16198        Move timer code from JSDOMWindow to DOMWindow. clearTimeout and
16199        clearInterval can now be autogenerated.
16200
16201        * bindings/js/JSDOMWindowBase.cpp:
16202        * bindings/js/JSDOMWindowBase.h:
16203        * bindings/js/JSDOMWindowCustom.cpp:
16204        (WebCore::createScheduledAction):
16205        (WebCore::JSDOMWindow::setTimeout):
16206        (WebCore::JSDOMWindow::setInterval):
16207        * page/DOMWindow.cpp:
16208        (WebCore::DOMWindow::setTimeout):
16209        (WebCore::DOMWindow::clearTimeout):
16210        (WebCore::DOMWindow::setInterval):
16211        (WebCore::DOMWindow::clearInterval):
16212        * page/DOMWindow.h:
16213        * page/DOMWindow.idl:
16214
162152009-04-28  Kevin Watters  <kevinwatters@gmail.com>
16216
16217        Reviewed by Kevin Ollivier.
16218
16219        Small optimization, don't get the widget's handle twice in one method.
16220        
16221        https://bugs.webkit.org/show_bug.cgi?id=25446
16222
16223        * platform/wx/WidgetWx.cpp:
16224        (WebCore::Widget::setFocus):
16225        (WebCore::Widget::show):
16226        (WebCore::Widget::hide):
16227        (WebCore::Widget::frameRect):
16228        (WebCore::Widget::setFrameRect):
16229        (WebCore::Widget::invalidateRect):
16230        (WebCore::Widget::paint):
16231
162322009-04-28  Kevin Watters  <kevinwatters@gmail.com>
16233
16234        Reviewed by Kevin Ollivier.
16235
16236        ScrollView copy and paste typo fix.
16237        
16238        https://bugs.webkit.org/show_bug.cgi?id=25445
16239
16240        * platform/wx/ScrollViewWx.cpp:
16241        (WebCore::ScrollView::platformSetScrollbarModes):
16242
162432009-04-28  John Sullivan  <sullivan@apple.com>
16244
16245        <rdar://problem/6820221> REGRESSION: 2-byte character names of images are displayed as %-encoded ASCII
16246
16247        Reviewed by Adam Roben
16248
16249        * loader/ImageDocument.cpp:
16250        (WebCore::ImageTokenizer::finish):
16251        decode the filename before processing it as part of the image name that's passed to the client
16252
162532009-04-28  Maciej Stachowiak  <mjs@apple.com>
16254
16255        Not reviewed, build fix.
16256
16257        - fix initialization order to match declaration order to fix release build
16258
16259        * page/Settings.cpp:
16260        (WebCore::Settings::Settings):
16261
162622009-04-28  Xan Lopez  <xlopez@igalia.com>
16263
16264        Reviewed by Justin Garcia.
16265
16266        https://bugs.webkit.org/show_bug.cgi?id=16135
16267        [GTK] Support caret browsing
16268
16269        Based on a patch by Alp Toker.
16270
16271        Implement basic support for caret browsing, active only when the
16272        corresponding setting is enabled.
16273
16274        * page/EventHandler.cpp:
16275        (WebCore::EventHandler::handleMouseReleaseEvent):
16276        * page/FocusController.cpp:
16277        (WebCore::FocusController::advanceFocus):
16278        (WebCore::clearSelectionIfNeeded):
16279        (WebCore::FocusController::setFocusedNode):
16280        * page/Frame.cpp:
16281        (WebCore::Frame::setFocusedNodeIfNeeded):
16282        (WebCore::Frame::setSelectionFromNone):
16283        (WebCore::Frame::respondToChangedSelection):
16284        * page/Settings.cpp:
16285        (WebCore::Settings::Settings):
16286        * page/Settings.h:
16287        * rendering/RenderBlock.cpp:
16288        (WebCore::RenderBlock::paintCaret):
16289
162902009-04-27  Eric Roman  <eroman@chromium.org>
16291
16292        Reviewed by Darin Fisher.
16293
16294        Fix a compile breakage.
16295        <https://bugs.webkit.org/show_bug.cgi?id=25384>
16296
16297        * bindings/v8/custom/V8DOMWindowCustom.cpp:
16298        (WebCore::CALLBACK_FUNC_DECL):
16299
163002009-04-27  Eric Carlson  <eric.carlson@apple.com>
16301
16302        Reviewed by Darin Adler.
16303
16304        <rdar://problem/6822344> Use of QTMovieCurrentSizeAttribute generates exception and will crash
16305
16306        QTMovieCurrentSizeAttribute generates an exception with some versions of QTKit, so calculate a 
16307        multiplier to scale from natural size to current size when a movie is opened and use that to 
16308        return the correct value from the naturalSize() method.
16309
16310        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
16311        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16312        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_scaleFactor.
16313        (WebCore::MediaPlayerPrivate::naturalSize): Return naturalSize transformed by initial scale.
16314        (WebCore::MediaPlayerPrivate::cacheMovieScale): New, calculate difference between initial
16315        size and natural size so naturalSize() accounts for non-identity movie matrix.
16316        (WebCore::MediaPlayerPrivate::updateStates): Call cacheMovieScale when load state reaches
16317        QTMovieLoadStateLoaded for the first time.
16318
163192009-04-27  Beth Dakin  <bdakin@apple.com>
16320
16321        Reviewed by Dave Hyatt.
16322
16323        Fix for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work
16324
16325        The problem here is that we had a self-painting layer nested inside 
16326        a non-self-painting layer. We ended up ignoring the self-painting 
16327        layer both during painting and hit-testing. This patch corrects 
16328        that. 
16329
16330        * rendering/RenderLayer.cpp:
16331        (WebCore::RenderLayer::paintLayer):
16332        (WebCore::RenderLayer::hitTestLayer):
16333
163342009-04-27  Ada Chan  <adachan@apple.com>
16335
16336        If it has been set to allow any HTTPS certificates for this host, set 
16337        kCFStreamSSLAllowsExpiredCertificates to true to allow expired 
16338        certificate, and set kCFStreamSSLValidatesCertificateChain false to skip
16339        certificate chain validation. (<rdar://problem/6382059>)
16340
16341        Reviewed by John Sullivan.
16342
16343        * platform/network/cf/ResourceHandleCFNet.cpp:
16344        (WebCore::makeFinalRequest):
16345
163462009-04-27  Simon Fraser  <simon.fraser@apple.com>
16347
16348        Reviewed by Adele Peterson
16349        
16350        <rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well
16351        
16352        Fix a 'size changed' notification thrash that caused standalone video elements
16353        to continually resize after full page zooming, by using the movie's natual size (which is independent
16354        of zooming), rather than its current size (which is not).
16355        
16356        Note that this regresses <https://bugs.webkit.org/show_bug.cgi?id=25029>, so we have to
16357        disable the media/video-size-intrinsic-scale.html test. However, we have to stop using
16358        QTMovieCurrentSizeAttribute anyway; this will be addressed, and the test re-enabled via
16359        <rdar://problem/6822344>.
16360
16361        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16362        (WebCore::MediaPlayerPrivate::naturalSize):
16363
163642009-04-27  Simon Fraser  <simon.fraser@apple.com>
16365
16366        Reviewed by Darin Adler
16367
16368        <rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to
16369        load if movie had been previously viewed
16370        
16371        Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement
16372        to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>.
16373
16374        * html/HTMLEmbedElement.cpp:
16375        (WebCore::HTMLEmbedElement::rendererIsNeeded):
16376        * html/HTMLObjectElement.cpp:
16377        (WebCore::HTMLObjectElement::rendererIsNeeded):
16378
163792009-04-27  Sam Weinig  <sam@webkit.org>
16380
16381        Reviewed by Geoffrey Garen.
16382
16383        Move more window event related code into DOMWindow.
16384
16385        * dom/Document.cpp:
16386        (WebCore::Document::implicitClose):
16387        (WebCore::Document::setWindowAttributeEventListener):
16388        (WebCore::Document::dispatchWindowEvent):
16389        (WebCore::Document::dispatchLoadEvent):
16390        * dom/Document.h:
16391        * dom/Element.cpp:
16392        * dom/Element.h:
16393        * dom/Node.cpp:
16394        * dom/Node.h:
16395        * html/HTMLBodyElement.cpp:
16396        (WebCore::HTMLBodyElement::parseMappedAttribute):
16397        * html/HTMLFrameSetElement.cpp:
16398        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
16399        * loader/FrameLoader.cpp:
16400        (WebCore::FrameLoader::stopLoading):
16401        * page/DOMWindow.cpp:
16402        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
16403        (WebCore::DOMWindow::postMessageTimerFired):
16404        (WebCore::DOMWindow::dispatchEvent):
16405        (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget):
16406        (WebCore::DOMWindow::dispatchLoadEvent):
16407        (WebCore::DOMWindow::dispatchUnloadEvent):
16408        (WebCore::DOMWindow::dispatchBeforeUnloadEvent):
16409        * page/DOMWindow.h:
16410        * page/Frame.cpp:
16411        (WebCore::Frame::shouldClose):
16412        * svg/SVGSVGElement.cpp:
16413        (WebCore::SVGSVGElement::parseMappedAttribute):
16414
164152009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
16416
16417        Implement the editing mechanisms and add context menu items for
16418        <rdar://problem/6724106> WebViews need to implement text checking
16419
16420        Reviewed by Justin Garcia.
16421
16422        * editing/Editor.cpp:
16423        * editing/Editor.h:
16424        * editing/TypingCommand.cpp:
16425        * loader/EmptyClients.h:
16426        * page/ContextMenuController.cpp:
16427        * page/EditorClient.h:
16428        * page/mac/WebCoreViewFactory.h:
16429        * platform/ContextMenu.cpp:
16430        * platform/ContextMenuItem.h:
16431        * platform/LocalizedStrings.h:
16432        * platform/mac/LocalizedStringsMac.mm:
16433
164342009-04-27  Sam Weinig  <sam@webkit.org>
16435
16436        Reviewed by Geoffrey Garen.
16437
16438        Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower
16439
16440        Be slightly less eager in collecting after page close/navigation by increasing
16441        the time before collection from 0 seconds to .5 seconds.
16442
16443        3% speedup on the PLT.
16444
16445        * bindings/js/GCController.cpp:
16446        (WebCore::GCController::garbageCollectSoon):
16447
164482009-04-27  David Kilzer  <ddkilzer@apple.com>
16449
16450        Consolidate runtime application checks for Apple Mail and Safari
16451
16452        Reviewed by Mark Rowe and Darin Adler.
16453
16454        * WebCore.base.exp: Added exports.
16455        * WebCore.xcodeproj/project.pbxproj: Added
16456        RuntimeApplicationChecks.{h|mm} source files to the project.
16457        * page/mac/EventHandlerMac.mm:
16458        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
16459        Removed local checkedSafari and isSafari variables and switched
16460        to use applicationIsSafari().
16461        * platform/mac/RuntimeApplicationChecks.h: Added.
16462        * platform/mac/RuntimeApplicationChecks.mm: Added.
16463        (WebCore::applicationIsAppleMail): Runtime application check for
16464        Apple Mail.
16465        (WebCore::applicationIsSafari): Runtime application check for
16466        Safari.
16467
164682009-04-27  Chris Fleizach  <cfleizach@apple.com>
16469
16470        Reviewed by Darin Adler.
16471
16472        Bug 25374: AX: No AXValue change sent when text is auto-inserted
16473        https://bugs.webkit.org/show_bug.cgi?id=25374
16474
16475        First patch caused some regression tests to fail. 
16476
16477        * rendering/RenderTextControl.cpp:
16478        (WebCore::RenderTextControl::setInnerTextValue):
16479
164802009-04-16  Xan Lopez  <xlopez@igalia.com>
16481
16482        Reviewed by Gustavo Noronha.
16483
16484        https://bugs.webkit.org/show_bug.cgi?id=21546
16485        [GTK] ATK accessibility enhancements
16486
16487        Based on a patch by Alp Toker.
16488
16489        Cover more WebCore role -> ATK role conversions.
16490
16491        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
16492
164932009-04-18  Xan Lopez  <xlopez@igalia.com>
16494
16495        Reviewed by Gustavo Noronha.
16496
16497        https://bugs.webkit.org/show_bug.cgi?id=21546
16498        [GTK] ATK accessibility enhancements
16499
16500        Do not call ATK setters in the getters, just return the
16501        value. Among other things calling the setter will emit the notify
16502        signal, which is wrong.
16503
16504        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
16505
165062009-04-16  Xan Lopez  <xlopez@igalia.com>
16507
16508        Reviewed by Gustavo Noronha.
16509
16510        https://bugs.webkit.org/show_bug.cgi?id=21546
16511        [GTK] ATK accessibility enhancements
16512
16513        Based on a patch by Alp Toker.
16514
16515        Implement AtkImage interface.
16516
16517        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
16518
165192009-04-27  Gustavo Noronha Silva  <gns@gnome.org>
16520
16521        Unreviewed debug build fix.
16522
16523        * platform/gtk/gtk2drawing.c:
16524        (moz_gtk_toggle_paint):
16525
165262009-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
16527
16528        Build fix.
16529
16530        https://bugs.webkit.org/show_bug.cgi?id=25382
16531        Remove direct reference to CallFrame.h include to pacify Win build.
16532
16533        * bindings/js/JSDOMBinding.h: Removed ScriptState.h include.
16534        * bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h
16535
165362009-04-27  Chris Fleizach  <cfleizach@apple.com>
16537
16538        Reviewed by Beth Dakin.
16539
16540        Bug 25374: AX: No AXValue change sent when text is auto-inserted
16541        https://bugs.webkit.org/show_bug.cgi?id=25374
16542
16543        When an input's text value is changed through the DOM, no AXValueChange notification is being sent.
16544
16545        * rendering/RenderTextControl.cpp:
16546        (WebCore::RenderTextControl::setInnerTextValue):
16547
165482009-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
16549
16550        Reviewed by Eric Seidel.
16551
16552        https://bugs.webkit.org/show_bug.cgi?id=25382
16553        Move scriptStateFromNode to ScriptState.
16554
16555        * bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState.
16556        * bindings/js/JSDOMBinding.h: Ditto.
16557        * bindings/js/ScriptState.cpp:
16558        (WebCore::scriptStateFromNode): Added.
16559        * bindings/js/ScriptState.h: Ditto.
16560        * bindings/v8/ScriptState.cpp:
16561        (WebCore::scriptStateFromNode): Added.
16562        * bindings/v8/ScriptState.h: Ditto.
16563        * dom/NodeFilter.h: Removed JSDOMBinding header include.
16564        * dom/NodeIterator.h: Ditto.
16565        * dom/TreeWalker.h: Ditto.
16566
165672009-04-27  Chris Fleizach  <cfleizach@apple.com>
16568
16569        Reviewed by Beth Dakin.
16570
16571        Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
16572        https://bugs.webkit.org/show_bug.cgi?id=25428
16573
16574        When marking children as changed in accessibility, we cannot rely on the accessibility parent chain existing.
16575        Instead, the render chain needs to be consulted.
16576
16577        * page/AccessibilityRenderObject.cpp:
16578        (WebCore::AccessibilityRenderObject::childrenChanged):
16579
165802009-04-27  Alexey Proskuryakov  <ap@webkit.org>
16581
16582        Reviewed by Darin Adler.
16583
16584        https://bugs.webkit.org/show_bug.cgi?id=25399
16585        <rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database,
16586        beneath WebCore::Cache::evict
16587
16588        The crash happened because a cached resource handle was removed from a document's cached
16589        resources map twice recursively, so a destructor was called for a value in a deleted bucket.
16590        The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed
16591        CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in
16592        an inconsistent state.
16593
16594        I couldn't fully reconstruct the loading sequence to make a test.
16595
16596        * loader/Cache.cpp:
16597        (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache
16598        (it makes no sense to revalidate one that isn't).
16599        (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource
16600        from the cache in no way implies that documents no longer use the old version. This fixes the
16601        crash, and also fixes many cases of resource content being unavailable in Web Inspector.
16602
16603        * loader/CachedResource.h:
16604        (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache,
16605        reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never
16606        being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases,
16607        switchClientsToRevalidatedResource() results in the same resource being requested again,
16608        but we were only enforcing CachedResource invariants after calling this function.
16609        (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow.
16610
16611        * loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed
16612        resource is removed, not some other resource that happens to have the same URL (this used to
16613        fail on LexisNexis search before this patch).
16614
16615        * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED
16616        with notImplemented(). This method can be legally called via document.write(), and should
16617        work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it
16618        doesn't affect site functionality.
16619
16620        * loader/CachedResource.cpp:
16621        (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate
16622        is being revalidated - this may no longer be true, because we now reset this member in
16623        CachedResource::setInCache().
16624
166252009-04-27  Dan Bernstein  <mitz@apple.com>
16626
16627        Reviewed by Sam Weinig.
16628
16629        - make BidiContext a RefCounted class, starting with a refcount of 1,
16630          and share the root BidiContexts.
16631
16632        * platform/graphics/GraphicsContext.cpp:
16633        (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create().
16634        * platform/text/BidiContext.cpp:
16635        (WebCore::BidiContext::create): Added. For the four "root" contexts,
16636        returns a reference to a shared static BidiContext.
16637        * platform/text/BidiContext.h:
16638        (WebCore::BidiContext::BidiContext):
16639        * platform/text/BidiResolver.h:
16640        (WebCore::::commitExplicitEmbedding): Use BidiContext::create().
16641        * rendering/bidi.cpp:
16642        (WebCore::RenderBlock::determineStartPosition): Ditto.
16643
166442009-04-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
16645
16646        Rubber-stamped by Gustavo Noronha.
16647
16648        Build fix for r42893: change GDK_exclaim to GDK_exclam
16649
16650        * platform/chromium/KeyCodeConversionGtk.cpp:
16651        (WebCore::windowsKeyCodeForKeyEvent):
16652        * platform/gtk/KeyEventGtk.cpp:
16653        (WebCore::windowsKeyCodeForKeyEvent):
16654
166552009-04-27  Fumitoshi Ukai  <ukai@google.com>
16656
16657        Reviewed by Xan Lopez.
16658
16659        Fix wrong key code conversion.
16660
16661        Missing conversion for GDK_exlaim ('!').
16662        Parens are opposite: GDK_parenleft is open paren '('
16663        and GDK_parenright is close paren ')'.
16664        https://bugs.webkit.org/show_bug.cgi?id=25367
16665
16666        * platform/chromium/KeyCodeConversionGtk.cpp:
16667        (WebCore::windowsKeyCodeForKeyEvent):
16668        * platform/gtk/KeyEventGtk.cpp:
16669        (WebCore::windowsKeyCodeForKeyEvent):
16670
166712009-04-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
16672
16673        Reviewed by Gustavo Noronha.
16674
16675        [Gtk] gtkdrawing update
16676        https://bugs.webkit.org/show_bug.cgi?id=25408
16677
16678        Update to the 25 Apr 2009 version of gtk2drawing.c and
16679        gtkdrawing.h from Mozilla (http://hg.mozilla.org/mozilla-central)
16680
16681        * platform/gtk/gtk2drawing.c:
16682        (setup_widget_prototype):
16683        (moz_gtk_get_combo_box_entry_arrow):
16684        (ensure_toolbar_widget):
16685        (ensure_tree_header_cell_widget):
16686        (moz_gtk_init):
16687        (moz_gtk_button_get_inner_border):
16688        (moz_gtk_toggle_paint):
16689        (moz_gtk_caret_paint):
16690        (moz_gtk_entry_paint):
16691        (moz_gtk_tree_header_cell_paint):
16692        (moz_gtk_combo_box_paint):
16693        (moz_gtk_toolbar_separator_paint):
16694        (moz_gtk_menu_separator_paint):
16695        (moz_gtk_get_widget_border):
16696        (moz_gtk_get_tab_scroll_arrow_size):
16697        (moz_gtk_get_toolbar_separator_width):
16698        (moz_gtk_get_menu_separator_height):
16699        (moz_gtk_widget_paint):
16700        (moz_gtk_shutdown):
16701        * platform/gtk/gtkdrawing.h:
16702
167032009-04-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
16704
16705        Reviewed by Tor Arne Vestbø.
16706
16707        https://bugs.webkit.org/show_bug.cgi?id=18475
16708
16709        [Qt] Widget painting should follow the layout direction (LTR, RTL)
16710        of the element style, not the application layout direction.
16711
16712        * platform/qt/RenderThemeQt.cpp:
16713        (WebCore::RenderThemeQt::applyTheme):
16714
167152009-04-26  Sam Weinig  <sam@webkit.org>
16716
16717        Reviewed by Dan Bernstein.
16718
16719        Fix for https://bugs.webkit.org/show_bug.cgi?id=25412
16720        The Window object should be an EventTarget
16721
16722        Test: fast/dom/Window/dispatchEvent.html
16723
16724        * bindings/js/JSEventTarget.cpp:
16725        (WebCore::toJS): Add DOMWindow case.
16726        (WebCore::toEventTarget): Ditto.
16727
16728        * dom/EventTarget.cpp:
16729        (WebCore::EventTarget::toDOMWindow): Added.
16730        * dom/EventTarget.h:
16731
16732        * page/DOMWindow.cpp:
16733        (WebCore::DOMWindow::scriptExecutionContext): Added. Returns the document.
16734        (WebCore::DOMWindow::dispatchEvent): Added.
16735        * page/DOMWindow.h:
16736        (WebCore::DOMWindow::toDOMWindow):
16737        (WebCore::DOMWindow::refEventTarget):
16738        (WebCore::DOMWindow::derefEventTarget):
16739        * page/DOMWindow.idl:
16740
167412009-04-26  Sam Weinig  <sam@webkit.org>
16742
16743        Reviewed by Eric Seidel.
16744
16745        Remove scons-based build system.
16746
16747        * WebCore.scons: Removed.
16748
167492009-04-26  Darin Adler  <darin@apple.com>
16750
16751        Suggested by Darin Fisher.
16752
16753        Improve the fix for bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
16754        https://bugs.webkit.org/show_bug.cgi?id=25355
16755        rdar://problem/6823543
16756
16757        * loader/FrameLoader.cpp:
16758        (WebCore::FrameLoader::loadItem): Allow shouldScroll to be true even if m_currentHistoryItem is 0.
16759        Not sure if when this case can really arise in practice, but it's good to match the original
16760        logic more closely.
16761
167622009-04-25  Dirk Schulze  <krit@webkit.org>
16763
16764        Reviewed by Oliver Hunt.
16765
16766        A width or height of zero for the destination or source rect of an
16767        image causes a not invertible pattern matrix.
16768        This crahes newer versions of Cairo and give some graphic gliches in
16769        Canvas.
16770        With this patch we check if there is something to draw and return if not.
16771
16772        * platform/graphics/cairo/ImageCairo.cpp:
16773        (WebCore::BitmapImage::draw):
16774
167752009-04-25  Simon Fraser  <simon.fraser@apple.com>
16776
16777        Reviewed by Darin Adler
16778        
16779        https://bugs.webkit.org/show_bug.cgi?id=25390
16780        
16781        Fix point mapping and hit testing through transforms and perspective
16782        with ENABLE_3D_RENDERING. Previously the code did the more efficient
16783        move(), rather than getTransformFromContainer(), when the object had
16784        no transform. However, this skipped the application of perspective
16785        when the immediate child of the perspective element had no transform
16786        itself.
16787
16788        Test: transforms/3d/point-mapping/3d-point-mapping-3.html
16789
16790        * rendering/RenderBox.cpp:
16791        (WebCore::RenderBox::mapLocalToContainer):
16792        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
16793        * rendering/RenderLayer.cpp:
16794        (WebCore::RenderLayer::createLocalTransformState):
16795        Call shouldUseTransformFromContainer() to determine if we need to
16796        go through the more expensive getTransformFromContainer() code
16797        path.
16798
16799        * rendering/RenderObject.h:
16800        * rendering/RenderObject.cpp:
16801        (WebCore::RenderObject::shouldUseTransformFromContainer):
16802        New method that indicates whether we need use getTransformFromContainer()
16803        when mapping points through renderers, and hit testing.
16804
168052009-04-25  Adele Peterson  <adele@apple.com>
16806
16807        Reviewed by Oliver Hunt.
16808
16809        Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
16810        https://bugs.webkit.org/show_bug.cgi?id=25396
16811
16812        Test: editing/deleting/delete-br-013.html
16813
16814        * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs):
16815         Only preserve an empty paragraph's style when moving paragraphs around if the selection is still 
16816         in an empty paragraph after the move occurs.  This was causing the empty paragraph's style to overwrite
16817         the previous paragraph's style during a delete of an empty paragraph.
16818
168192009-04-25  Eric Carlson  <eric.carlson@apple.com>
16820
16821        Reviewed by Darin Adler.
16822
16823        <rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't 
16824        properly display non-linear media
16825
16826        If a media engine claims it can support the MIME type, WebCore now creates a <video>
16827        element for document mode media files instead of an <embed> element. Because WebCore's 
16828        QuickTime backed media players do not support every kind of media the QuickTime plug-in
16829        supports, and because it is not always possible to tell what type of media is in a file 
16830        without opening and parsing it, some types of media that used to be displayed properly
16831        by a plug-in are no longer supported properly. To fix this, if the media engine
16832        sees that it can not completely support a media file it now informs the media 
16833        document, which replaces the <video> element with an <embed>.
16834        
16835        r42301 landed support for OSX. This patch modifies those changes slighly and adds support
16836        for Windows.
16837
16838        * loader/MediaDocument.cpp:
16839        (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer.
16840        (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video> 
16841        element immediately.
16842        (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed.
16843        Set body margin-width and margin-height to 0 as that is what a PluginDocument uses.
16844        * loader/MediaDocument.h:
16845
16846        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16847        (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks.
16848        (WebCore::MediaPlayerPrivate::rateChanged): Ditto.
16849        (WebCore::MediaPlayerPrivate::timeChanged): Ditto.
16850        (WebCore::MediaPlayerPrivate::didEnd): Ditto.
16851        (WebCore::MediaPlayerPrivate::repaint): Ditto.
16852        (WebCore::MediaPlayerPrivate::paint): Ditto.
16853        (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback.
16854
16855        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
16856        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks.
16857        (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported
16858        media type(s) or if it fails completely.
16859        (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the
16860        media player client we won't play this movie correctly.
16861        (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks.
16862        (WebCore::MediaPlayerPrivate::setSize): Ditto.
16863        (WebCore::MediaPlayerPrivate::setVisible): Ditto.
16864        (WebCore::MediaPlayerPrivate::paint): Ditto.
16865        (WebCore::MediaPlayerPrivate::movieEnded): Ditto.
16866        (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto.
16867        (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto.
16868        (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto.
16869        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
16870
16871        * platform/graphics/win/QTMovieWin.cpp:
16872        (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state
16873        change callback.
16874        (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled.
16875        (QTMovieWin::QTMovieWin): Initialize m_disabled.
16876        (QTMovieWin::disableUnsupportedTracks): Return total number of tracks.
16877        (QTMovieWin::setDisabled): New, set m_disabled flag.
16878        * platform/graphics/win/QTMovieWin.h:
16879
168802009-04-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
16881
16882        Reviewed by Xan Lopez.
16883
16884        [GTK] Error reporting
16885        https://bugs.webkit.org/show_bug.cgi?id=18344
16886
16887        Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup
16888        errors and G_IO_ERROR for gio errors.
16889
16890        * platform/network/soup/ResourceHandleSoup.cpp:
16891        (WebCore::finishedCallback):
16892        (WebCore::ResourceHandle::startHttp):
16893        (WebCore::ResourceHandle::start):
16894        (WebCore::readCallback):
16895        (WebCore::openCallback):
16896        (WebCore::queryInfoCallback):
16897        (WebCore::ResourceHandle::startGio):
16898
168992009-04-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
16900
16901        Reviewed by Mark Rowe.
16902
16903        Only set the new URL once for the request. Doing it a second time
16904        after the call to willSendRequest was causing crashes when
16905        redirected requests got cancelled.
16906
16907        * platform/network/soup/ResourceHandleSoup.cpp:
16908        (WebCore::restartedCallback):
16909
169102009-04-24  Kevin Ollivier  <kevino@theolliviers.com>
16911
16912        wx build fix. Adding ScriptEventListener.cpp.
16913
16914        * WebCoreSources.bkl:
16915
169162009-04-24  Sergio García-Cuevas  <sergio_gcg@telefonica.net>
16917
16918        Reviewed by Gustavo Noronha.
16919
16920        https://bugs.webkit.org/show_bug.cgi?id=17267
16921        [GTK] Primary selection/clipboard support
16922
16923        Copy the link location to the primary selection as well as the
16924        clipboard selection when using the "copy link selection" context
16925        menu entry.
16926
16927        * platform/gtk/PasteboardGtk.cpp:
16928        (WebCore::Pasteboard::writeURL):
16929        * platform/gtk/PasteboardHelper.h:
16930
169312009-04-24  Eric Seidel  <eric@webkit.org>
16932
16933        Reviewed by Simon Fraser.
16934
16935        https://bugs.webkit.org/show_bug.cgi?id=25383
16936        Changing SVG size via JS does not update CSS width/height
16937
16938        Add an ugly hack to fix CSS width/height updates from JS.
16939
16940        We can't easily call setAttribute when width/height changes
16941        as that would cause infinite recursion (as we'd try to set
16942        the animation storage from the attributes)
16943
16944        For now, when we get notification that JS changed width/height
16945        we copy what parseMappedAttribute does and update the CSS values as well.
16946
16947        A better fix for this would be:
16948        https://bugs.webkit.org/show_bug.cgi?id=25383
16949
16950        * svg/SVGSVGElement.cpp:
16951        (WebCore::updateCSSForAttribute):
16952        (WebCore::SVGSVGElement::svgAttributeChanged):
16953
169542009-04-24  Kevin McCullough  <kmccullough@apple.com>
16955
16956        Reviewed by Dan Bernstein.
16957
16958        We should not show the deletion UI for blockquotes in mail but they do 
16959        show now that we only check for one visible border.
16960
16961        * editing/DeleteButtonController.cpp:
16962        (WebCore::isDeletableElement):
16963
169642009-04-24  Dan Bernstein  <mitz@apple.com>
16965
16966        - address Hyatt's review comments on the last patch
16967
16968        * rendering/RenderLayer.cpp:
16969        (WebCore::performOverlapTests):
16970        (WebCore::RenderLayer::paintLayer):
16971
169722009-04-24  Dan Bernstein  <mitz@apple.com>
16973
16974        Reviewed by Dave Hyatt.
16975
16976        - fix https://bugs.webkit.org/show_bug.cgi?id=5909
16977          <rdar://problem/5863349> overlapping element leaves trail when
16978          scrolling iframe
16979
16980        * WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h.
16981
16982        * page/FrameView.cpp:
16983        (WebCore::FrameView::reset): Initialize m_isOverlapped.
16984        (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped.
16985        (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints()
16986        so overlapping is taken into account.
16987        (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and
16988        enables or disables copy-on-scroll accordingly.
16989
16990        * page/FrameView.h:
16991        Added setIsOverlapped() and m_isOverlapped.
16992
16993        * rendering/OverlapTestRequestClient.h: Added. During foreground painting,
16994        an OverlapTestRequestClient can make a request to test if any subsequently-
16995        painted layers overlap a rect. The test result is delivered to the
16996        requestClient via setOverlapTestResult().
16997        (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient):
16998
16999        * rendering/RenderLayer.cpp:
17000        (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to
17001        paintLayer(). When done painting, inform any remaining requestClients that
17002        they are not overlapped.
17003
17004        (WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and
17005        pass it down to child and reflection layers. Inform requestClients if this
17006        layer overlaps their requested rects.
17007
17008        * rendering/RenderLayer.h:
17009
17010        * rendering/RenderObject.h:
17011        (WebCore::RenderObject::PaintInfo::PaintInfo): Added an
17012        OverlapTestRequestMap member.
17013
17014        * rendering/RenderReplica.cpp:
17015        (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap
17016        to paintLayer().
17017
17018        * rendering/RenderWidget.cpp:
17019        (WebCore::RenderWidget::paint): For FrameViews, request an overlap test
17020        with the frame.
17021        (WebCore::RenderWidget::setOverlapTestResult): Call
17022        FrameView::setIsOverlapped() with the result of the overlap test.
17023
17024        * rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient.
17025
170262009-04-24  David Hyatt  <hyatt@apple.com>
17027
17028        Reviewed by Simon Fraser, Dan Bernstein.
17029
17030        Speed up the PLT by devirtualizing the height() function on InlineBox.  virtualizing it in order to make the height() computation dynamic caused
17031        a ~0.5% slowdown.  This patch does the following to get the speed back:
17032        
17033        (a) Devirtualizes isText and forces inline box creators to set the bit as needed.  This actually resulted in simplified code, since ListMarkerBox could
17034        then be removed.
17035        (b) Reduces the height() call count.  In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline
17036        member variable access.  The call sites have been patched to cut down on extra height() calls now that it is more expensive.
17037        (c) Devirtualize height() except on SVG boxes.  For all non-SVG, the height() function on InlineBox handles the computation.  For SVG boxes, a new bit has
17038        been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead.
17039
17040        * GNUmakefile.am:
17041        * WebCore.pro:
17042        * WebCore.vcproj/WebCore.vcproj:
17043        * WebCore.xcodeproj/project.pbxproj:
17044        * WebCoreSources.bkl:
17045        * rendering/InlineBox.cpp:
17046        (WebCore::InlineBox::height):
17047        * rendering/InlineBox.h:
17048        (WebCore::InlineBox::InlineBox):
17049        (WebCore::InlineBox::isSVG):
17050        (WebCore::InlineBox::setIsSVG):
17051        (WebCore::InlineBox::isText):
17052        (WebCore::InlineBox::setIsText):
17053        (WebCore::InlineBox::svgBoxHeight):
17054        * rendering/InlineFlowBox.cpp:
17055        (WebCore::InlineFlowBox::placeBoxesVertically):
17056        (WebCore::InlineFlowBox::paintBoxDecorations):
17057        (WebCore::InlineFlowBox::paintMask):
17058        * rendering/InlineFlowBox.h:
17059        * rendering/InlineTextBox.cpp:
17060        * rendering/InlineTextBox.h:
17061        * rendering/ListMarkerBox.cpp: Removed.
17062        * rendering/ListMarkerBox.h: Removed.
17063        * rendering/RenderListMarker.cpp:
17064        (WebCore::RenderListMarker::createInlineBox):
17065        * rendering/RenderSVGInline.cpp:
17066        (WebCore::RenderSVGInline::createFlowBox):
17067        * rendering/RenderSVGInlineText.cpp:
17068        (WebCore::RenderSVGInlineText::createTextBox):
17069        * rendering/RenderSVGText.cpp:
17070        (WebCore::RenderSVGText::createRootBox):
17071        * rendering/RenderText.cpp:
17072        (WebCore::RenderText::createInlineTextBox):
17073        * rendering/RootInlineBox.cpp:
17074        * rendering/RootInlineBox.h:
17075        * rendering/SVGInlineFlowBox.h:
17076        (WebCore::SVGInlineFlowBox::svgBoxHeight):
17077        * rendering/SVGInlineTextBox.h:
17078        (WebCore::SVGInlineTextBox::svgBoxHeight):
17079        * rendering/SVGRootInlineBox.h:
17080        (WebCore::SVGRootInlineBox::svgBoxHeight):
17081
170822009-04-24  Dimitri Glazkov  <dglazkov@chromium.org>
17083
17084        Reviewed by Eric Seidel.
17085
17086        https://bugs.webkit.org/show_bug.cgi?id=25370
17087        Introduce ScriptEventListener to refactor away direct references to
17088        JSLazyEventListener in WebCore code.
17089
17090        * GNUmakefile.am: Added ScriptEventListener to project.
17091        * WebCore.pro: Ditto.
17092        * WebCore.vcproj/WebCore.vcproj: Ditto.
17093        * WebCore.xcodeproj/project.pbxproj: Ditto.
17094        * bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include.
17095        * bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers
17096            to ScriptEventListener.
17097        * bindings/js/JSLazyEventListener.h: Ditto.
17098        * bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include.
17099        * bindings/js/ScriptEventListener.cpp: Added.
17100        * bindings/js/ScriptEventListener.h: Added.
17101        * bindings/v8/ScriptEventListener.cpp: Added.
17102        * bindings/v8/ScriptEventListener.h: Added.
17103        * dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener.
17104        * html/HTMLBodyElement.cpp: Ditto.
17105        * html/HTMLButtonElement.cpp: Ditto.
17106        * html/HTMLElement.cpp: Ditto.
17107        * html/HTMLFormElement.cpp: Ditto.
17108        * html/HTMLFrameElementBase.cpp: Ditto.
17109        * html/HTMLFrameSetElement.cpp: Ditto.
17110        * html/HTMLImageElement.cpp: Ditto.
17111        * html/HTMLInputElement.cpp: Ditto.
17112        * html/HTMLObjectElement.cpp: Ditto.
17113        * html/HTMLScriptElement.cpp: Ditto.
17114        * html/HTMLSelectElement.cpp: Ditto.
17115        * html/HTMLTextAreaElement.cpp: Ditto.
17116        * svg/SVGElement.cpp: Ditto.
17117        * svg/SVGSVGElement.cpp: Ditto.
17118
171192009-04-24  Darin Adler  <darin@apple.com>
17120
17121        Reviewed by Sam Weinig.
17122
17123        Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
17124        https://bugs.webkit.org/show_bug.cgi?id=25355
17125        rdar://problem/6823543
17126
17127        * loader/FrameLoader.cpp:
17128        (WebCore::FrameLoader::loadItem): Added a null check.
17129
171302009-04-24  Eric Seidel  <eric@webkit.org>
17131
17132        Reviewed by Simon Fraser.
17133
17134        Fix RenderSVGImage to dump with full bounds and style information.
17135        https://bugs.webkit.org/show_bug.cgi?id=25377
17136        
17137        No functional changes, we're just now including more info in render tree dumps.
17138
17139        * rendering/RenderObject.h:
17140        (WebCore::RenderObject::isSVGImage):
17141        * rendering/RenderSVGImage.h:
17142        (WebCore::RenderSVGImage::isSVGImage):
17143        * rendering/RenderTreeAsText.cpp:
17144        (WebCore::write):
17145        * rendering/SVGRenderTreeAsText.cpp:
17146        (WebCore::operator<<):
17147        (WebCore::write):
17148        * rendering/SVGRenderTreeAsText.h:
17149
171502009-04-24  David Levin  <levin@chromium.org>
17151
17152        Reviewed by NOBODY (chromium build fix).
17153
17154        Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699).
17155
17156        * bindings/v8/V8AbstractEventListener.cpp:
17157        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
17158        (WebCore::V8AbstractEventListener::invokeEventHandler):
17159        * bindings/v8/V8AbstractEventListener.h:
17160        * bindings/v8/V8EventListenerList.cpp:
17161        (WebCore::V8EventListenerList::add):
17162        (WebCore::V8EventListenerList::remove):
17163        (WebCore::V8EventListenerList::clear):
17164        * bindings/v8/V8LazyEventListener.h:
17165        (WebCore::V8LazyEventListener::virtualisAttribute):
17166        * bindings/v8/custom/V8CustomEventListener.cpp:
17167        (WebCore::V8EventListener::V8EventListener):
17168        * bindings/v8/custom/V8CustomEventListener.h:
17169        (WebCore::V8EventListener::create):
17170        (WebCore::V8EventListener::virtualisAttribute):
17171
171722009-04-24  Nate Chapin  <japhet@google.com>
17173
17174        Reviewed by Dimitri Glazkov.
17175
17176        https://bugs.webkit.org/show_bug.cgi?id=25343
17177        Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset 
17178        ignores blur.
17179
17180        * WebCore\platform\graphics\skia\GraphicsContextSkia.cpp
17181         (WebCore::GraphicsContext::setPlatformShadow): Add check against
17182         blur before clearing looper.
17183
171842009-04-24  Eric Roman  <eroman@chromium.org>
17185
17186        Reviewed by Darin Adler.
17187
17188        Initialize TextIterator::m_textLength to 0.
17189
17190        This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range).
17191
17192        <https://bugs.webkit.org/show_bug.cgi?id=25335>
17193
17194        Test: editing/selection/doubleclick-whitespace-img-crash.html
17195
17196        * editing/TextIterator.cpp:
17197        (WebCore::TextIterator::TextIterator):
17198
171992009-04-24  Fumitoshi Ukai  <ukai@google.com>
17200
17201        Reviewed by Dimitri Glazkov.
17202
17203        https://bugs.webkit.org/show_bug.cgi?id=25329
17204        Add indexed access method in v8 binding of ClientRectList.
17205
17206        * bindings/v8/custom/V8ClientRectListCustom.cpp: Added.
17207
172082009-04-24  Fumitoshi Ukai  <ukai@google.com>
17209
17210        Reviewed by Dimitri Glazkov.
17211
17212        https://bugs.webkit.org/show_bug.cgi?id=25257
17213        Use null for unspecified event listener attributes of XMLHttpRequest
17214        and XMLHttpRequestUpload in v8 binding.
17215
17216        cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes
17217        An event handler attribute, unless otherwise specified, can either
17218        have the value null or be set to a Function object.
17219        Initially, an event handler attribute must be set to null.
17220
17221        Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html
17222
17223        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
17224        (WebCore::ACCESSOR_GETTER): Changed to use v8::Null().
17225        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
17226        (WebCore::ACCESSOR_GETTER): Ditto.
17227
172282009-04-24  Darin Adler  <darin@apple.com>
17229
17230        Reviewed by Adam Roben.
17231
17232        <rdar://problem/6663836> CrashTracer: crashes in Safari at com.apple.WebCore • WebCore::reportException + 1513
17233
17234        * bindings/js/JSDOMBinding.cpp:
17235        (WebCore::reportException): Added a null check.
17236
172372009-04-24  Simon Fraser  <simon.fraser@apple.com>
17238
17239        Reviewed by Darin Adler
17240        
17241        https://bugs.webkit.org/show_bug.cgi?id=23219
17242
17243        Add support for transtions and animations of background-position, -webkit-background-size,
17244        -webkit-mask-position and -webkit-mask-size.
17245
17246        Tests: transitions/background-transitions.html
17247               transitions/mask-transitions.html
17248
17249        * page/animation/AnimationBase.cpp:
17250        (WebCore::blendFunc):
17251        Add a blend func for LengthSize.
17252        
17253        (WebCore::ensurePropertyMap):
17254        Add wrappers for the new properties.
17255        
17256        (WebCore::addShorthandProperties):
17257        Add a shorthand property for CSSPropertyBackgroundPosition to map to
17258        CSSPropertyBackgroundPositionX and CSSPropertyBackgroundPositionY, 
17259        add CSSPropertyWebkitMask for CSSPropertyWebkitMaskPosition, and add
17260        CSSPropertyWebkitMaskPosition for CSSPropertyWebkitMaskPositionX and
17261        CSSPropertyWebkitMaskPositionY.
17262        
17263        * rendering/style/RenderStyle.h:
17264        (WebCore::InheritedFlags::setBackgroundXPosition):
17265        (WebCore::InheritedFlags::setBackgroundYPosition):
17266        (WebCore::InheritedFlags::setBackgroundSize):
17267        (WebCore::InheritedFlags::setMaskXPosition):
17268        (WebCore::InheritedFlags::setMaskYPosition):
17269        (WebCore::InheritedFlags::setMaskSize):
17270        Add setters for the properties that can be animated now.
17271
172722009-04-24  Adele Peterson  <adele@apple.com>
17273
17274        Reviewed by Darin Adler.
17275
17276        Fix for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup
17277
17278        Test: editing/pasteboard/paste-blockquote-after-blockquote.html
17279
17280        When we have matching quote levels, its ok to merge the starts of the inserted and existing blocks more frequently.
17281        But we should only merge here if the selection start was inside a mail blockquote.  This prevents against removing a 
17282        blockquote from newly pasted quoted content that was pasted into an unquoted position.  If that unquoted position happens 
17283        to be right after another blockquote, we don't want to merge and risk stripping a valid block (and newline) from the pasted content.
17284
17285        * editing/ReplaceSelectionCommand.cpp:
17286        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Also added an early return to always return false when we're already moving paragraphs.
17287        (WebCore::ReplaceSelectionCommand::doApply): Removed redundant check for when we're moving paragraphs.
17288        * editing/ReplaceSelectionCommand.h:
17289
172902009-04-23  Francisco Tolmasky  <francisco@280north.com>
17291
17292        BUG 24604: WebKit profiler reports incorrect total times
17293        <https://bugs.webkit.org/show_bug.cgi?id=24604>
17294
17295        Reviewed by Timothy Hatcher and Kevin McCullough.
17296
17297        Made it so that most of the profiler functions now match the behavior of Shark. Most notably, in the
17298        heavy view, child nodes now represent the statistics of the root node. Each root node of heavy view
17299        displays flattened statistics for a particular function that ran during the profile, and each child
17300        of these root nodes represents a callpath that lead to it. Thus, the statistics for each of these child
17301        nodes should show how much of the root nodes values came from it. For example, if you had the following to
17302        stacks take place during the profile:
17303
17304        A ->calls 1 times-> B ->calls 2 times-> C
17305        D ->calls 4 times-> C
17306
17307        The tree for the C root node would look like this:
17308
17309        C -> B -> A
17310          -> D
17311
17312        The number of calls values would look like this:
17313
17314        C (6) -> B (2) -> A(2)
17315              -> D (4)
17316
17317        What this means is that "2 of the total 6 C calls came from B", "2 of the total C calls came from A", and
17318        "4 of the total C calls came from D".  Notice that the "A ->calls 2 time->" is completely ignored. This becomes
17319        particularly tricky during recursive calls, because each child note can represent multiple possible paths. This
17320        is the reason that we would get things like 40000% previously with recursion.
17321
17322        This is also the way gprof works, and as close as we can get to Shark's behavior (Shark is not instrumented so it
17323        can't know exactly how many calls came from where, etc).
17324
17325        * English.lproj/localizedStrings.js: Added "Average" for average times in the profile.
17326        * inspector/JavaScriptProfile.cpp:
17327        (WebCore::ProfileClass):
17328        * inspector/JavaScriptProfileNode.cpp:
17329        (WebCore::getParent):
17330        (WebCore::getHead):
17331        (WebCore::getCallUID):
17332        (WebCore::ProfileNodeClass):
17333        * inspector/front-end/BottomUpProfileDataGridTree.js: Added.
17334        (WebInspector.BottomUpProfileDataGridTree):
17335        (WebInspector.BottomUpProfileDataGridTree.prototype.focus):
17336        (WebInspector.BottomUpProfileDataGridNode):
17337        (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
17338        (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
17339        (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
17340        (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
17341        (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
17342        * inspector/front-end/DataGrid.js:
17343        (WebInspector.DataGrid.prototype.insertChild):
17344        (WebInspector.DataGrid.prototype.removeChild):
17345        (WebInspector.DataGrid.prototype.removeChildren):
17346        (WebInspector.DataGridNode.prototype.set hasChildren):
17347        (WebInspector.DataGridNode.prototype.get hasChildren):
17348        * inspector/front-end/ProfileDataGridTree.js: Added.
17349        (WebInspector.ProfileDataGridNode):
17350        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
17351        (WebInspector.ProfileDataGridNode.prototype.get data):
17352        (WebInspector.ProfileDataGridNode.prototype.createCell):
17353        (WebInspector.ProfileDataGridNode.prototype.select):
17354        (WebInspector.ProfileDataGridNode.prototype.deselect):
17355        (WebInspector.ProfileDataGridNode.prototype.expand):
17356        (WebInspector.ProfileDataGridNode.prototype.insertChild):
17357        (WebInspector.ProfileDataGridNode.prototype.removeChild):
17358        (WebInspector.ProfileDataGridNode.prototype.removeChildren):
17359        (WebInspector.ProfileDataGridNode.prototype.findChild):
17360        (WebInspector.ProfileDataGridNode.prototype.get averageTime):
17361        (WebInspector.ProfileDataGridNode.prototype.get averagePercent):
17362        (WebInspector.ProfileDataGridNode.prototype.get selfPercent):
17363        (WebInspector.ProfileDataGridNode.prototype.get totalPercent):
17364        (WebInspector.ProfileDataGridNode.prototype._save):
17365        (WebInspector.ProfileDataGridNode.prototype._restore):
17366        (WebInspector.ProfileDataGridNode.prototype._merge):
17367        (WebInspector.ProfileDataGridTree):
17368        (WebInspector.ProfileDataGridTree.prototype.get expanded):
17369        (WebInspector.ProfileDataGridTree.prototype.appendChild):
17370        (WebInspector.ProfileDataGridTree.prototype.insertChild):
17371        (WebInspector.ProfileDataGridTree.prototype.removeChildren):
17372        (WebInspector.ProfileDataGridTree.prototype.findChild.WebInspector.ProfileDataGridNode.prototype.findChild.sort.WebInspector.ProfileDataGridNode.prototype.sort._save):
17373        (WebInspector.ProfileDataGridTree.propertyComparator.comparator):
17374        (WebInspector.ProfileDataGridTree.propertyComparator.else.comparator):
17375        (WebInspector.ProfileDataGridTree.propertyComparator):
17376        * inspector/front-end/ProfileView.js:
17377        (WebInspector.ProfileView):
17378        (WebInspector.ProfileView.prototype.set profile):
17379        (WebInspector.ProfileView.prototype.get bottomUpProfileDataGridTree):
17380        (WebInspector.ProfileView.prototype.get topDownProfileDataGridTree):
17381        (WebInspector.ProfileView.prototype.get currentTree):
17382        (WebInspector.ProfileView.prototype.set currentTree):
17383        (WebInspector.ProfileView.prototype.get topDownTree):
17384        (WebInspector.ProfileView.prototype.get bottomUpTree):
17385        (WebInspector.ProfileView.prototype.refresh):
17386        (WebInspector.ProfileView.prototype.refreshVisibleData):
17387        (WebInspector.ProfileView.prototype.refreshShowAsPercents):
17388        (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
17389        (WebInspector.ProfileView.prototype.performSearch):
17390        (WebInspector.ProfileView.prototype._changeView):
17391        (WebInspector.ProfileView.prototype._focusClicked):
17392        (WebInspector.ProfileView.prototype._excludeClicked):
17393        (WebInspector.ProfileView.prototype._resetClicked):
17394        (WebInspector.ProfileView.prototype._sortProfile):
17395        * inspector/front-end/ProfilesPanel.js:
17396        (WebInspector.ProfilesPanel.prototype.showProfile):
17397        (WebInspector.ProfilesPanel.prototype.showView):
17398        (WebInspector.ProfilesPanel.prototype.searchMatchFound):
17399        * inspector/front-end/TopDownProfileDataGridTree.js: Added.
17400        (WebInspector.TopDownProfileDataGridNode):
17401        (WebInspector.TopDownProfileDataGridNode.prototype._populate):
17402        (WebInspector.TopDownProfileDataGridNode.prototype._exclude):
17403        (WebInspector.TopDownProfileDataGridTree):
17404        (WebInspector.TopDownProfileDataGridTree.prototype.focus):
17405        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
17406        * inspector/front-end/WebKit.qrc:
17407        * inspector/front-end/inspector.css:
17408        * inspector/front-end/inspector.html:
17409
174102009-04-23  Eric Seidel  <eric@webkit.org>
17411
17412        Reviewed by Sam Weinig.
17413
17414        Use static functions (and a couple templates)
17415        to further reduce the amount of copy/paste code in SVGRenderTreeAsText
17416
17417        No test changes, only code cleanup.
17418
17419        * rendering/SVGRenderTreeAsText.cpp:
17420        (WebCore::writeNameValuePair):
17421        (WebCore::writeNameAndQuotedValue):
17422        (WebCore::writeIfNotEmpty):
17423        (WebCore::writeIfNotDefault):
17424        (WebCore::writeStyle):
17425        (WebCore::writePositionAndStyle):
17426        (WebCore::operator<<):
17427
174282009-04-23  Eric Seidel  <eric@webkit.org>
17429
17430        Reviewed by Simon Fraser.
17431
17432        SVGRenderTreeAsText cleanup/code sharing.
17433
17434        No test changes, only code cleanup.
17435
17436        * rendering/RenderText.cpp:
17437        (WebCore::RenderText::firstRunOrigin):
17438        * rendering/RenderText.h:
17439        * rendering/SVGRenderTreeAsText.cpp:
17440        (WebCore::writeStandardPrefix):
17441        (WebCore::writeChildren):
17442        (WebCore::write):
17443        (WebCore::writeRenderResources):
17444
174452009-04-23  Beth Dakin  <bdakin@apple.com>
17446
17447        Reviewed by Darin Adler.
17448
17449        WebCore part of fix for <rdar://problem/6333461> REGRESSION 
17450        (r36864-r36869): Dragging stocks widget scrollbar drags the whole 
17451        widget
17452
17453        * platform/Scrollbar.h:
17454        (WebCore::Scrollbar::isScrollbar):
17455        * platform/Widget.h:
17456        (WebCore::Widget::isScrollbar):
17457
174582009-04-23  Kevin McCullough  <kmccullough@apple.com>
17459
17460        Reviewed by Adam Roben.
17461
17462        <rdar://problem/6808109> "Deletion UI" is not available for many
17463        portions of HTML content
17464
17465        This patch makes the deletion UI show up in some new situations:
17466        1) If a block's background color is different from its parent's
17467        2) If a block has a background image.
17468        3) If a block has a single visible border.
17469        However the block must now not only be at least a minimum width and
17470        height, but also exceed a minimum area.  In practice this has led to
17471        much better element selection. 
17472
17473        * editing/DeleteButtonController.cpp:
17474        (WebCore::isDeletableElement):
17475
174762009-04-23  Kevin Ollivier  <kevino@theolliviers.com>
17477
17478        wx build fix. Adding XMLTokenizerScope.cpp to the build.
17479
17480        * WebCoreSources.bkl:
17481
174822009-04-23  Adele Peterson  <adele@apple.com>
17483
17484        Reviewed by Darin Adler.
17485
17486        Fix for <rdar://problem/6788905> REGRESSION (41928?): hang in Position::upstream
17487        https://bugs.webkit.org/show_bug.cgi?id=25312
17488
17489        I was unable to reproduce the problem, but I'm pretty sure this will fix it.
17490
17491        * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition):
17492        Since VisiblePosition doesn't ensure the offset is good, we shouldn't pass max int as an offset.
17493
174942009-04-23  Dimitri Glazkov  <dglazkov@chromium.org>
17495
17496        Reviewed by Darin Adler.
17497
17498        https://bugs.webkit.org/show_bug.cgi?id=25313
17499        Missing scroll bars in GMail.
17500
17501        Test: fast/overflow/overflow-y-scroll.html
17502
17503        * platform/ScrollView.cpp:
17504        (WebCore::ScrollView::updateScrollbars): Added check for the ScrollbarAlwaysOn
17505        scroll mode.
17506
175072009-04-23  Dan Bernstein  <mitz@apple.com>
17508
17509        Reviewed by Justin Garcia.
17510
17511        - fix <rdar://problem/6081309> Mail crash when pressing down arrow in
17512          some messages in WebCore::canHaveChildrenForEditing
17513
17514        Test: editing/selection/extend-by-line-anonymous-content-crash.html
17515
17516        * editing/visible_units.cpp:
17517        (WebCore::previousLinePosition): Null-check node. If p is not an
17518        editable position, then closestLeafChildForXPos() may have returned a
17519        non-editable box, and in particular one belonging to anonymous content.
17520        If node is 0, fall back on RenderObject::positionForPoint, which
17521        finds the closest position in non-anonymous content.
17522        (WebCore::nextLinePosition): Ditto.
17523        * rendering/RenderObject.cpp:
17524        (WebCore::RenderObject::createVisiblePosition): Fixed a typo.
17525
175262009-04-23  Alexey Proskuryakov  <ap@webkit.org>
17527
17528        Reviewed by Adele Peterson.
17529
17530        <rdar://problem/6791439> REGRESSION: Get an error page instead of login page navigating back in gmail
17531
17532        Test: http/tests/history/back-to-post.php
17533
17534        * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest):
17535        Apply a new cache policy if it changed after the platform request was first created.
17536        While at it, also made sure to update timeout.
17537
175382009-04-23  Zan Dobersek  <zandobersek@gmail.com>
17539
17540        Reviewed by Gustavo Noronha.
17541
17542        When creating a new drawable object, collect system's
17543        information about the best depth it can provide and use it
17544        in a new colormap that the new drawable requires.
17545
17546        * platform/graphics/gtk/ImageGtk.cpp:
17547        (WebCore::BitmapImage::getGdkPixbuf):
17548
175492009-04-23  Zan Dobersek  <zandobersek@gmail.com>
17550
17551        Reviewed by Gustavo Noronha.
17552
17553        https://bugs.webkit.org/show_bug.cgi?id=15654
17554        GdkPixbuf support for ImageCairo
17555
17556        Add support for converting a Cairo surface to a GdkPixbuf.
17557
17558        * platform/graphics/BitmapImage.h:
17559        * platform/graphics/Image.h:
17560        (WebCore::Image::getGdkPixbuf):
17561        * platform/graphics/gtk/ImageGtk.cpp:
17562        (WebCore::BitmapImage::getGdkPixbuf):
17563
175642009-04-23  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
17565
17566        Reviewed by Simon Hausmann.
17567
17568        Make windowed plugins (on X11, Qt) behave nicer with wheel scrolling.
17569
17570        Basically, what we want is to send wheel events to the plugin *only*
17571        when it has focus, or else send it to the parent frame.
17572
17573        This is a work around, and basically what we do, is to steal the
17574        wheel events from the plugin, modify the window ID, and put the
17575        event back into the Qt event loop.
17576
17577        * plugins/qt/PluginContainerQt.cpp:
17578        (PluginClientWrapper::PluginClientWrapper):
17579        (PluginClientWrapper::~PluginClientWrapper):
17580        (PluginClientWrapper::x11Event):
17581        (PluginContainerQt::PluginContainerQt):
17582        (PluginContainerQt::~PluginContainerQt):
17583        (PluginContainerQt::on_clientClosed):
17584        (PluginContainerQt::on_clientIsEmbedded):
17585        (PluginContainerQt::redirectWheelEventsToParent):
17586        (PluginContainerQt::x11Event):
17587        (PluginContainerQt::focusInEvent):
17588        * plugins/qt/PluginContainerQt.h:
17589
175902009-04-22  Brady Eidson  <beidson@apple.com>
17591
17592        Reviewed by Maciej Stachowiak
17593
17594        <rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice.
17595
17596        For most loads, we were consulting the navigation policy delegate twice.  Once from FrameLoader before
17597        the load started and once from MainResourceLoader in its willSendRequest callback.
17598
17599        In the past we tried removing MainResourceLoader's call altogether.  This caused a regression where urls 
17600        that redirect to a url handled by an external application would no longer work in Safari.  It probably 
17601        also broke other WebKit apps in subtle ways.
17602
17603        Changing MainResourceLoader to make the check only on redirects fixes both bugs.  We now only call the 
17604        policy delegate once for most standard loads, but we do correctly call it a second time for redirects.
17605
17606        Tests: http/tests/misc/policy-delegate-called-twice.html
17607               http/tests/misc/redirect-to-external-url.html
17608
17609        * loader/MainResourceLoader.cpp:
17610        (WebCore::MainResourceLoader::willSendRequest): Call the navigation policy delegate only for redirects.
17611
176122009-04-22  Sam Weinig  <sam@webkit.org>
17613
17614        Reviewed by Mark Rowe.
17615
17616        Fix for <rdar://problem/6800695>
17617
17618        Add a hack to only allow navigating (via a link from a http page)
17619        to feed: urls (same for feeds: and feedsearch:) that map to http:
17620        or https: via their nested protocol. This includes both feed://example.com
17621        and feed:http://example.com.
17622
17623        * loader/FrameLoader.cpp:
17624        (WebCore::isFeedWithNestedProtocolInHTTPFamily):
17625        (WebCore::FrameLoader::loadFrameRequest):
17626
176272009-04-22  Sam Weinig  <sam@webkit.org>
17628
17629        Reviewed by Anders Carlsson.
17630
17631        Autogenerate the XMLHttpRequest constructor getter/setter for the
17632        WorkerContext and remove the now no longer needed JSWorkerContextBase.lut.h
17633        file.
17634
17635        * DerivedSources.make: Remove JSWorkerContextBase.lut.h
17636        * WebCore.xcodeproj/project.pbxproj: Ditto.
17637
17638        * bindings/js/JSWorkerContextBase.cpp:
17639        * bindings/js/JSWorkerContextBase.h: Remove code to support hand written
17640        code for XMLHttpRequest constructor lookup and shadowing.
17641
17642        * bindings/js/JSWorkerContextCustom.cpp:
17643        (WebCore::JSWorkerContext::customGetOwnPropertySlot): Remove JSC prefixes.
17644        (WebCore::JSWorkerContext::xmlHttpRequest): Added. Custom implementation of
17645        cached constructor lookup.
17646        * workers/WorkerContext.idl: Make the XMLHttpRequestConstructor accessor not
17647        V8 specific.
17648
176492009-04-22  Darin Adler  <darin@apple.com>
17650
17651        * page/Navigator.idl: Touch this file to fix build since Geolocation
17652        configuration was recently turned off.
17653
176542009-04-22  Justin Garcia  <justin.garcia@apple.com>
17655
17656        Reviewed by Darin Adler.
17657
17658        https://bugs.webkit.org/show_bug.cgi?id=25322
17659        Can't delete empty paragraph after a block image
17660        
17661        Empty paragraph removal would have been handled by mergeParagraphs, but we stopped short
17662        because of some code that avoided problems that would arise from Positions that would go
17663        bad during deletion.  
17664        
17665        We have several checks that prevent us from using bad Positions, this one in particular
17666        was added to avoid bad Positions that result from text removal.  So, I removed the check
17667        and started correctly updating m_downstreamEnd during text removal so that it doesn't go
17668        bad.  m_upstreamStart doesn't need to be updated during text removal, since only text
17669        after it will ever be removed.
17670
17671        * editing/DeleteSelectionCommand.cpp:
17672        (WebCore::DeleteSelectionCommand::deleteTextFromNode):
17673        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
17674        (WebCore::DeleteSelectionCommand::mergeParagraphs):
17675
176762009-04-22  Oliver Hunt  <oliver@apple.com>
17677
17678        Reviewed by Darin Adler.
17679
17680        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
17681
17682        Make mouseUp target the correct frame when the original
17683        mousedown made the drag non-capturing.
17684
17685        * page/mac/EventHandlerMac.mm:
17686        (WebCore::EventHandler::passSubframeEventToSubframe):
17687
176882009-04-22  Oliver Hunt  <oliver@apple.com>
17689
17690        Reviewed by Darin Adler.
17691
17692        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
17693
17694        This is the first step of allowing drag events to match the behaviour
17695        of mouse move events when the default action of the initial mouse down
17696        is prevented.  Remaining issue is that the final mouse up event still
17697        targets the original root frame.
17698
17699        Test: fast/events/mouse-drag-from-frame-to-other-frame.html
17700
17701        * page/mac/EventHandlerMac.mm:
17702        (WebCore::EventHandler::passSubframeEventToSubframe):
17703
177042009-04-22  Simon Fraser  <simon.fraser@apple.com>
17705
17706        Reviewed by Adele Peterson
17707        
17708        <rdar://problem/6702882> QT movie's video fails to be displayed after switching between tabs
17709        <rdar://problem/6754957> Resizing Web browser window and hitting play will cause video blocks and artifacting
17710
17711        When in a media document, MediaPlayerPrivateQTKit uses a QTMovieView which may get
17712        layer backing under some circumstances. However, drawing the view via
17713        displayRectIgnoringOpacity:inContext: bypasses any layer setup that AppKit normally performs.
17714        So when in the media document, we draw via displayRectIgnoringOpacity:.
17715
17716        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
17717        (WebCore::MediaPlayerPrivate::paint):
17718
177192009-04-22  Timothy Hatcher  <timothy@apple.com>
17720
17721        Fix a crash in Mail when forwarding a specific HTML email.
17722        Caused by the fix for <rdar://problem/6512520> (r42096).
17723        Unable to create a test case that works outside of Mail.
17724
17725        <rdar://problem/6796069>
17726
17727        Reviewed by Ada Chan.
17728
17729        * editing/markup.cpp:
17730        (WebCore::createMarkup): Null check pastEnd before trying to
17731        call Range::compareBoundaryPoints.
17732
177332009-04-22  Sam Weinig  <sam@webkit.org>
17734
17735        Rubber-stamped by Darin Adler.
17736
17737        Fix for <rdar://problem/6816957>
17738        Turn off Geolocation by default
17739
17740        * Configurations/FeatureDefines.xcconfig:
17741
177422009-04-22  Eric Seidel  <eric@webkit.org>
17743
17744        Rubber-stamped by David Hyatt.
17745
17746        Change RenderSVGImage to dump as RenderSVGImage instead of RenderImage
17747
17748        * rendering/RenderSVGImage.h:
17749        (WebCore::RenderSVGImage::renderName):
17750
177512009-04-21  Timothy Hatcher  <timothy@apple.com>
17752
17753        Fix a crash on Gmail when they remove a "before unload" event listener when
17754        it was never added to the pending map in the first place.
17755
17756        <rdar://problem/6814144>
17757
17758        Reviewed by Darin Adler.
17759
17760        * page/DOMWindow.cpp:
17761        (WebCore::allowsPendingBeforeUnloadListeners): Renamed from shouldAddPendingBeforeUnloadListener.
17762        (WebCore::DOMWindow::addEventListener): Call allowsPendingBeforeUnloadListeners now.
17763        (WebCore::DOMWindow::removeEventListener): Call allowsPendingBeforeUnloadListeners before
17764        removing the before unload listener.
17765        (WebCore::DOMWindow::clearAttributeEventListener): Ditto.
17766
177672009-04-22  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
17768
17769        Reviewed by Ariya Hidayat.
17770
17771        Made windowed plugins move/resize synchronized with the painting, so
17772        that windowed plugins are not moved before the rest of the parent
17773        frame during scrolling.
17774
17775        * plugins/qt/PluginContainerQt.cpp:
17776        (PluginContainerQt::PluginContainerQt):
17777        (PluginContainerQt::requestGeometry):
17778        (PluginContainerQt::adjustGeometry):
17779        * plugins/qt/PluginContainerQt.h:
17780        * plugins/qt/PluginViewQt.cpp:
17781        (WebCore::PluginView::updatePluginWidget):
17782        (WebCore::PluginView::paint):
17783
177842009-04-22  Simon Hausmann  <simon.hausmann@nokia.com>
17785
17786        Reviewed by Ariya Hidayat.
17787
17788        Fix various bugs in the X11 Qt plugin focus handling.
17789
17790        Notify the focus controller on activation/deactivation of the plugin and
17791        set focus on the plugin's element when it receives the window system
17792        focus.
17793
17794        * WebCore.pro: Added PluginContainerQt to the Qt build.
17795        * plugins/PluginView.cpp:
17796        (WebCore::PluginView::focusPluginElement): New helper function, moved from PluginViewWin.
17797        * plugins/PluginView.h:
17798        (WebCore::PluginView::parentFrame): Added parent frame accessor.
17799        * plugins/qt/PluginContainerQt.cpp: Added.
17800        (PluginContainerQt::PluginContainerQt):
17801        (PluginContainerQt::focusInEvent): Set the focus controller active on focus in events.
17802        (PluginContainerQt::focusOutEvent): Deactivate the focus controller when loosing the focus.
17803        * plugins/qt/PluginContainerQt.h: Added.
17804        * plugins/qt/PluginViewQt.cpp:
17805        (WebCore::PluginView::init): Allocate a PluginContainerQt instead of QX11EmbedContainer.
17806        * plugins/win/PluginViewWin.cpp:
17807        (WebCore::PluginView::handleMouseEvent): Moved the code to set focus on the plugin element
17808        to PluginView::focusPluginElement.
17809
178102009-04-22  Tamas Szirbucz  <szirbucz.tamas@stud.u-szeged.hu>
17811
17812        Reviewed by Ariya Hidayat.
17813
17814        https://bugs.webkit.org/show_bug.cgi?id=25023
17815        Delete reply in QNetworkReplyHandler::abort() to avoid leak.
17816
17817        * platform/network/qt/QNetworkReplyHandler.cpp:
17818        (WebCore::QNetworkReplyHandler::abort):
17819
178202009-04-21  Jon Honeycutt  <jhoneycutt@apple.com>
17821
17822        Allow the UI delegate to control cursor-setting.
17823
17824        Reviewed by Ada Chan.
17825
17826        * page/Chrome.cpp:
17827        (WebCore::Chrome::setCursor):
17828        Pass the call to the client.
17829
17830        * page/Chrome.h:
17831
17832        * page/ChromeClient.h:
17833        (WebCore::ChromeClient::setCursor):
17834        Stubbed; returns false.
17835
17836        * platform/Cursor.h:
17837        Define PlatformCursorHandle for each platform.
17838
17839        * platform/win/WidgetWin.cpp:
17840        Reordered some includes. Added an include of Page.h.
17841        (WebCore::Widget::setCursor):
17842        Fixed a typo in the comment about ignoreNextSetCursor. Get the Page, and
17843        call its Chrome's setCursor() method with the passed cursor. Fall back
17844        to SetCursor() if the Page is not available.
17845
17846        * plugins/win/PluginViewWin.cpp:
17847        (WebCore::PluginView::handleMouseEvent):
17848        Remove an unused variable. Cleaned up some whitespace.
17849
178502009-04-21  John Abd-El-Malek  <jam@google.com>
17851
17852        Reviewed by Dimitri Glazkov.
17853
17854        Add a method to purge the Chromium plugin list cache.
17855        https://bugs.webkit.org/show_bug.cgi?id=25318
17856
17857        * plugins/chromium/PluginDataChromium.cpp:
17858        (WebCore::resetChromiumPluginCache):
17859
178602009-04-21  Mark Rowe  <mrowe@apple.com>
17861
17862        Reviewed by Darin Adler.
17863
17864        Fix <https://bugs.webkit.org/show_bug.cgi?id=25164> / <rdar://problem/6786319>.
17865
17866        We need to ensure that XMLTokenizer sets the current DocLoader before calling in to
17867        any libxml2 methods that may trigger a load.  The presence of a DocLoader indicates
17868        that the load was originated by WebCore's use of libxml2 and that we should enforce
17869        the same-origin policy on it.  XMLTokenizer::initializeParserContext,
17870        XMLTokenizer::doWrite and XMLTokenizer::doEnd were three methods that were not setting
17871        the current DocLoader when they should have.
17872
17873        The XMLTokenizerScope class is introduced to simplify the pattern of saving, setting and
17874        restoring the current DocLoader and libxml2 error handlers.  The DocLoader and error handlers
17875        are saved and set when the scope is allocated, and restored to their previous values when
17876        the scope is exited.
17877
17878        Test: http/tests/security/xss-DENIED-xml-external-entity.xhtml
17879
17880        * GNUmakefile.am:
17881        * WebCore.pro:
17882        * WebCore.scons:
17883        * WebCore.vcproj/WebCore.vcproj:
17884        * WebCore.xcodeproj/project.pbxproj:
17885        * dom/XMLTokenizer.cpp:
17886        * dom/XMLTokenizer.h:
17887        * dom/XMLTokenizerLibxml2.cpp:
17888        (WebCore::matchFunc):
17889        (WebCore::shouldAllowExternalLoad):
17890        (WebCore::openFunc):
17891        (WebCore::XMLTokenizer::doWrite):
17892        (WebCore::XMLTokenizer::initializeParserContext):
17893        (WebCore::XMLTokenizer::doEnd):
17894        (WebCore::xmlDocPtrForString):
17895        * dom/XMLTokenizerScope.cpp:
17896        (WebCore::XMLTokenizerScope::XMLTokenizerScope):
17897        (WebCore::XMLTokenizerScope::~XMLTokenizerScope):
17898        * dom/XMLTokenizerScope.h:
17899        * xml/XSLStyleSheet.cpp:
17900        (WebCore::XSLStyleSheet::parseString):
17901        * xml/XSLTProcessor.cpp:
17902
179032009-04-21  Sam Weinig  <sam@webkit.org>
17904
17905        Reviewed by Dan Bernstein.
17906
17907        Fix for <rdar://problem/5874009>
17908        Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports.
17909
17910        * platform/network/ResourceHandle.cpp:
17911        (WebCore::portAllowed):
17912
179132009-04-21  Justin Garcia  <justin.garcia@apple.com>
17914
17915        Reviewed by Dan Bernstein.
17916
17917        https://bugs.webkit.org/show_bug.cgi?id=25320
17918        Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers)
17919
17920        * editing/CompositeEditCommand.cpp:
17921        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): If the enclosing block is the 
17922        root editable element and it contains no visible content, create a new block but don't try and move 
17923        content into it, since there's nothing for moveParagraphs to move.
17924        
17925
179262009-04-21  Darin Adler  <darin@apple.com>
17927
17928        Reviewed by Dan Bernstein.
17929
17930        Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end
17931        https://bugs.webkit.org/show_bug.cgi?id=25162
17932        rdar://problem/6764354
17933
17934        * page/Settings.cpp:
17935        (WebCore::Settings::Settings): Initialize editing behavior to Mac-style for PLATFORM(MAC).
17936        Later we may want to change this default to encompass other versions running on Mac.
17937
17938        * page/Settings.h: Added EditingBehavior, setEditingBehavior, editingBehavior, and
17939        m_editingBehavior. Also moved m_maximumDecodedImageSize out of the middle of all
17940        the bit fields.
17941
17942        * platform/graphics/IntPoint.h: Added a constructor to turn an IntSize into an IntPoint.
17943        I'm not sure the distinction here is serving us well at the moment. When converting from
17944        global to local coordinates you want to do IntPoint - IntPoint and have the result be
17945        another IntPoint, not an IntSize. And so on.
17946
17947        * rendering/RenderBlock.cpp:
17948        (WebCore::positionForPointRespectingEditingBoundaries): Changed to use pointers more and
17949        separate coordinates less.
17950        (WebCore::RenderBlock::positionForPointWithInlineChildren): Turned into a member function.
17951        Added separate cases to support the Mac and Windows behavior.
17952        (WebCore::RenderBlock::positionForPoint): Updated for the change above. Also moved the
17953        computation of pointInContents closer to the place it's used.
17954
17955        * rendering/RenderBlock.h: Updated for the new private member function.
17956
179572009-04-17  Timothy Hatcher  <timothy@apple.com>
17958
17959        Change pending unload and beforeunload counts to store the listeners
17960        in a single data structure that can be quickly iterated for dispatch.
17961
17962        <rdar://problem/6383352&6383379&6383940>
17963
17964        Reviewed by Darin Adler.
17965
17966        * WebCore.base.exp: Change what symbols are exported.
17967        * loader/FrameLoader.cpp:
17968        (WebCore::FrameLoader::stopLoading): Remove count updating code
17969        and move an if inside a block already checking m_frame->document().
17970        * page/Chrome.cpp: Remove disableSuddenTermination/enableSuddenTermination.
17971        * page/Chrome.h: Ditto.
17972        * page/ChromeClient.h: Ditto.
17973        * page/DOMWindow.cpp:
17974        (WebCore::pendingUnloadEventListenerMap): Create a static map.
17975        (WebCore::pendingBeforeUnloadEventListenerMap): Ditto.
17976        (WebCore::addPendingEventListener): Add the event listener to the map.
17977        (WebCore::removePendingEventListener): Remove the event listener from the map.
17978        (WebCore::removePendingEventListeners): Remove all listeners for the window.
17979        (WebCore::dispatchWindowEventToListeners): Dispatch the event to the given listeners.
17980        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Send the beforeunload event.
17981        (WebCore::DOMWindow::pendingUnloadEventListeners): Return a count of pending listeners.
17982        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Send the unload event.
17983        (WebCore::DOMWindow::~DOMWindow): Remove the window from both event listener maps.
17984        (WebCore::DOMWindow::addEventListener): Call addPendingEventListener when needed.
17985        (WebCore::DOMWindow::removeEventListener): Call removePendingEventListener when needed.
17986        (WebCore::DOMWindow::removeAllEventListeners): Call removePendingEventListeners.
17987        (WebCore::DOMWindow::removeInlineEventListenerForType): Call removePendingEventListener when needed.
17988        * page/DOMWindow.h:
17989        (WebCore::DOMWindow::frame): Changed to be const.
17990        * page/EventHandler.cpp:
17991        (WebCore::EventHandler::EventHandler): Remove count tracking code.
17992        * page/EventHandler.h: Ditto.
17993        * page/Page.cpp:
17994        (WebCore::Page::Page): Ditto.
17995        * page/Page.h: Ditto.
17996
179972009-04-21  Justin Garcia  <justin.garcia@apple.com>
17998
17999        Reviewed by Darin Adler.
18000
18001        https://bugs.webkit.org/show_bug.cgi?id=19644
18002        Text copied with Select All pastes with a indent but shouldn't
18003        <rdar://problem/6102483> 
18004        Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added
18005        
18006        To improve selectall/copy/paste fidelity of certain pages, we began wrapping copied content with
18007        a div that held properties and attributes from the fully selected body.  To fix the above issues, 
18008        only do this if if the body has certain properties or attributes.  We'll begin adding to this list as 
18009        necessary.  For now it's just background colors and images.  Tested copy/paste of nytimes, wired,
18010        arstechnica, and several others.
18011        
18012        Massive nesting can still happen, it will just be much less common.
18013
18014        * editing/markup.cpp:
18015        (WebCore::createMarkup): 
18016
180172009-04-21  Peter Kasting  <pkasting@google.com>
18018
18019        Reviewed by David Hyatt.
18020
18021        https://bugs.webkit.org/show_bug.cgi?id=25250
18022        Allow platforms to snap the scroll thumb back to the drag origin
18023        during a drag.  Implement functions for Safari/Win and Chromium/Win
18024        to do this snapping at distances approximating the native ones.
18025
18026        * platform/Scrollbar.cpp:
18027        (WebCore::Scrollbar::Scrollbar):
18028        (WebCore::Scrollbar::setValue):
18029        (WebCore::Scrollbar::scroll):
18030        (WebCore::Scrollbar::moveThumb):
18031        (WebCore::Scrollbar::setCurrentPos):
18032        (WebCore::Scrollbar::mouseMoved):
18033        (WebCore::Scrollbar::mouseDown):
18034        * platform/Scrollbar.h:
18035        * platform/ScrollbarTheme.h:
18036        (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
18037        * platform/chromium/ScrollbarThemeChromium.h:
18038        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
18039        (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
18040        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
18041        (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
18042        * platform/win/ScrollbarThemeWin.cpp:
18043        (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
18044        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
18045        * platform/win/ScrollbarThemeWin.h:
18046
180472009-04-21  Adam Roben  <aroben@apple.com>
18048
18049        Windows build fix
18050
18051        * bindings/js/JSLazyEventListener.cpp:
18052        (WebCore::eventParameterName): Remove unreachable code when SVG is
18053        enabled.
18054
180552009-04-21  Kevin Ollivier  <kevino@theolliviers.com>
18056
18057        !ENABLE(SVG) build fix.
18058        
18059        * bindings/js/JSLazyEventListener.cpp:
18060        (WebCore::eventParameterName):
18061
180622009-04-21  Dave Moore  <davemoore@google.com>
18063
18064        Reviewed by Dimitri Glazkov.
18065
18066        https://bugs.webkit.org/show_bug.cgi?id=25309
18067        Better use AtomicStrings when calling from the V8
18068        bindings into WebCore code.
18069
18070        * bindings/v8/custom/V8DOMWindowCustom.cpp:
18071        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
18072        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
18073        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
18074
180752009-04-21  Chris Fleizach  <cfleizach@apple.com>
18076
18077        Reviewed by Darin Adler.
18078 
18079        Bug 25304: AX: Safari not identifying a secure text field
18080        https://bugs.webkit.org/show_bug.cgi?id=25304
18081
18082        Secure text fields need to be able to return AXTitleUIElements.
18083
18084        Test: accessibility/secure-textfield-title-ui.html
18085
18086        * page/mac/AccessibilityObjectWrapper.mm:
18087        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
18088
180892009-04-21  Dan Bernstein  <mitz@apple.com>
18090
18091        - fix the Tiger build
18092
18093        * page/mac/EventHandlerMac.mm:
18094        (method_setImplementation):
18095
180962009-04-21   Laszlo Gombos  <laszlo.1.gombos@nokia.com>
18097
18098        Reviewed by Sam Weinig.
18099
18100        https://bugs.webkit.org/show_bug.cgi?id=25271
18101
18102        Fix the build with disabled DOM storage or disabled database support.
18103
18104        * bindings/js/ScriptObjectQuarantine.cpp:
18105        * bindings/js/ScriptObjectQuarantine.h:
18106
181072009-04-21  Holger Hans Peter Freyther  <zecke@selfish.org>
18108
18109        Unreviewed build fix.
18110
18111        Compile fix for r42633. const qualifier does not work
18112        on a static method.
18113
18114        * dom/Document.h:
18115        (WebCore::Document::isSVGDocument):
18116
181172009-04-21  Dan Bernstein  <mitz@apple.com>
18118
18119        Reviewed by Darin Adler and John Sullivan.
18120
18121        - fix <rdar://problem/5914146> Crash at -[NSScrollView scrollWheel:]
18122
18123        -[NSScrollView scrollWheel:] runs a nested event-tracking run loop
18124        in a mode that allows WebCore timers to fire and NSURLConnection
18125        callbacks to be dispatched, which can release the NSScrollView and
18126        cause it to be deallocated (one example is a DOM timer callback that
18127        removes a subframe from the document). This leads to a crash in
18128        -scrollView:.
18129
18130        The fix is to replace the implementation of -[NSScrollView scrollWheel:]
18131        with one that optionally retains the receiver for the duration of the
18132        call.
18133
18134        * page/mac/EventHandlerMac.mm:
18135        (WebCore::nsScrollViewScrollWheelShouldRetainSelf): Added.
18136        (WebCore::setNSScrollViewScrollWheelShouldRetainSelf): Added. Replaces
18137        the implementation of -[NSScrollView scrollWheel:] with the
18138        self-retaining one, and sets a static boolean that tells it whether to
18139        retain the receiver around the call to the original implementation.
18140        (WebCore::selfRetainingNSScrollViewScrollWheel): Added. If
18141        setNSScrollViewScrollWheelShouldRetainSelf(true) was called and this
18142        function is executing on the main thread, it retains the NSScrollView,
18143        invokes the original -[NSScrollView scrollWheel:], then releases the
18144        view. Otherwise it just calls through to the original implementation.
18145        (WebCore::EventHandler::passWheelEventToWidget): Added calls to
18146        setNSScrollViewScrollWheelShouldRetainSelf() around the call to
18147        -scrollWheel:.
18148
181492009-04-21  Geoffrey Garen  <ggaren@apple.com>
18150
18151        Reviewed by Mark Rowe.
18152
18153        Tiger crash fix: Put VM tags in their own header file, and fixed up the
18154        #ifdefs so they're not used on Tiger.
18155
18156        * ForwardingHeaders/wtf/VMTags.h: Copied from WebCore/ForwardingHeaders/wtf/HashTraits.h.
18157
181582009-04-21  Xan Lopez  <xlopez@igalia.com>
18159
18160        Reviewed by Gustavo Noronha.
18161
18162        https://bugs.webkit.org/show_bug.cgi?id=21546
18163        [GTK] ATK accessibility enhancements
18164
18165        Based on a patch by Alp Toker.
18166
18167        Implement AtkComponent interface.
18168
18169        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
18170        (core):
18171
181722009-04-21  Xan Lopez  <xlopez@igalia.com>
18173
18174        Reviewed by Gustavo Noronha.
18175
18176        https://bugs.webkit.org/show_bug.cgi?id=21546
18177        [GTK] ATK accessibility enhancements
18178
18179        Only implement AtkAction interface if we actually have an action.
18180
18181        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
18182
181832009-04-20  Alexey Proskuryakov  <ap@webkit.org>
18184
18185        Reviewed by Darin Adler.
18186
18187        https://bugs.webkit.org/show_bug.cgi?id=25290
18188        REGRESSION(r41732): Crash when constructing XMLHttpRequest in a detached document
18189
18190        Test: fast/dom/xmlhttprequest-constructor-in-detached-document.html
18191
18192        * bindings/js/JSAudioConstructor.cpp:
18193        (WebCore::JSAudioConstructor::JSAudioConstructor):
18194        * bindings/js/JSAudioConstructor.h:
18195        * bindings/js/JSDOMGlobalObject.h:
18196        (WebCore::getDOMConstructor):
18197        * bindings/js/JSImageConstructor.cpp:
18198        (WebCore::JSImageConstructor::JSImageConstructor):
18199        * bindings/js/JSImageConstructor.h:
18200        * bindings/js/JSMessageChannelConstructor.cpp:
18201        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
18202        * bindings/js/JSMessageChannelConstructor.h:
18203        * bindings/js/JSOptionConstructor.cpp:
18204        (WebCore::JSOptionConstructor::JSOptionConstructor):
18205        * bindings/js/JSOptionConstructor.h:
18206        * bindings/js/JSXMLHttpRequestConstructor.cpp:
18207        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
18208        * bindings/js/JSXMLHttpRequestConstructor.h:
18209        Avoid accessing JSDOMGlobalObject via ScriptExecutionContext, since it may not
18210        work during frame teardown.
18211
182122009-04-20  Geoffrey Garen  <ggaren@apple.com>
18213
18214        Rubber stamped by Darin Adler and Sam Weinig.
18215
18216        Renamed "*InlineEventListener*" => "*AttributeEventListener*", and
18217        "isInline" => "isAttribute".
18218
18219        * bindings/js/JSDOMGlobalObject.cpp:
18220        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
18221        * bindings/js/JSEventListener.cpp:
18222        (WebCore::JSEventListener::JSEventListener):
18223        (WebCore::JSEventListener::~JSEventListener):
18224        (WebCore::JSEventListener::handleEvent):
18225        (WebCore::JSEventListener::virtualisAttribute):
18226        * bindings/js/JSEventListener.h:
18227        (WebCore::JSEventListener::create):
18228        (WebCore::JSEventListener::isAttribute):
18229        * bindings/js/JSLazyEventListener.cpp:
18230        (WebCore::createAttributeEventListener):
18231        * bindings/js/JSLazyEventListener.h:
18232        * bindings/scripts/CodeGeneratorJS.pm:
18233        * dom/Element.cpp:
18234        (WebCore::Element::setWindowAttributeEventListener):
18235        * dom/Element.h:
18236        * dom/EventListener.h:
18237        (WebCore::EventListener::isAttribute):
18238        (WebCore::EventListener::virtualisAttribute):
18239        * dom/Node.cpp:
18240        (WebCore::Node::clearAttributeEventListener):
18241        (WebCore::Node::setAttributeEventListener):
18242        (WebCore::Node::getAttributeEventListener):
18243        (WebCore::Node::onabort):
18244        (WebCore::Node::setOnabort):
18245        (WebCore::Node::onblur):
18246        (WebCore::Node::setOnblur):
18247        (WebCore::Node::onchange):
18248        (WebCore::Node::setOnchange):
18249        (WebCore::Node::onclick):
18250        (WebCore::Node::setOnclick):
18251        (WebCore::Node::oncontextmenu):
18252        (WebCore::Node::setOncontextmenu):
18253        (WebCore::Node::ondblclick):
18254        (WebCore::Node::setOndblclick):
18255        (WebCore::Node::onerror):
18256        (WebCore::Node::setOnerror):
18257        (WebCore::Node::onfocus):
18258        (WebCore::Node::setOnfocus):
18259        (WebCore::Node::oninput):
18260        (WebCore::Node::setOninput):
18261        (WebCore::Node::onkeydown):
18262        (WebCore::Node::setOnkeydown):
18263        (WebCore::Node::onkeypress):
18264        (WebCore::Node::setOnkeypress):
18265        (WebCore::Node::onkeyup):
18266        (WebCore::Node::setOnkeyup):
18267        (WebCore::Node::onload):
18268        (WebCore::Node::setOnload):
18269        (WebCore::Node::onmousedown):
18270        (WebCore::Node::setOnmousedown):
18271        (WebCore::Node::onmousemove):
18272        (WebCore::Node::setOnmousemove):
18273        (WebCore::Node::onmouseout):
18274        (WebCore::Node::setOnmouseout):
18275        (WebCore::Node::onmouseover):
18276        (WebCore::Node::setOnmouseover):
18277        (WebCore::Node::onmouseup):
18278        (WebCore::Node::setOnmouseup):
18279        (WebCore::Node::onmousewheel):
18280        (WebCore::Node::setOnmousewheel):
18281        (WebCore::Node::onbeforecut):
18282        (WebCore::Node::setOnbeforecut):
18283        (WebCore::Node::oncut):
18284        (WebCore::Node::setOncut):
18285        (WebCore::Node::onbeforecopy):
18286        (WebCore::Node::setOnbeforecopy):
18287        (WebCore::Node::oncopy):
18288        (WebCore::Node::setOncopy):
18289        (WebCore::Node::onbeforepaste):
18290        (WebCore::Node::setOnbeforepaste):
18291        (WebCore::Node::onpaste):
18292        (WebCore::Node::setOnpaste):
18293        (WebCore::Node::ondragenter):
18294        (WebCore::Node::setOndragenter):
18295        (WebCore::Node::ondragover):
18296        (WebCore::Node::setOndragover):
18297        (WebCore::Node::ondragleave):
18298        (WebCore::Node::setOndragleave):
18299        (WebCore::Node::ondrop):
18300        (WebCore::Node::setOndrop):
18301        (WebCore::Node::ondragstart):
18302        (WebCore::Node::setOndragstart):
18303        (WebCore::Node::ondrag):
18304        (WebCore::Node::setOndrag):
18305        (WebCore::Node::ondragend):
18306        (WebCore::Node::setOndragend):
18307        (WebCore::Node::onreset):
18308        (WebCore::Node::setOnreset):
18309        (WebCore::Node::onresize):
18310        (WebCore::Node::setOnresize):
18311        (WebCore::Node::onscroll):
18312        (WebCore::Node::setOnscroll):
18313        (WebCore::Node::onsearch):
18314        (WebCore::Node::setOnsearch):
18315        (WebCore::Node::onselect):
18316        (WebCore::Node::setOnselect):
18317        (WebCore::Node::onselectstart):
18318        (WebCore::Node::setOnselectstart):
18319        (WebCore::Node::onsubmit):
18320        (WebCore::Node::setOnsubmit):
18321        (WebCore::Node::onunload):
18322        (WebCore::Node::setOnunload):
18323        * dom/Node.h:
18324        * editing/ReplaceSelectionCommand.cpp:
18325        (WebCore::ReplacementFragment::ReplacementFragment):
18326        * html/HTMLBodyElement.cpp:
18327        (WebCore::HTMLBodyElement::parseMappedAttribute):
18328        * html/HTMLButtonElement.cpp:
18329        (WebCore::HTMLButtonElement::parseMappedAttribute):
18330        * html/HTMLElement.cpp:
18331        (WebCore::HTMLElement::parseMappedAttribute):
18332        * html/HTMLFormElement.cpp:
18333        (WebCore::HTMLFormElement::parseMappedAttribute):
18334        * html/HTMLFrameElementBase.cpp:
18335        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
18336        * html/HTMLFrameSetElement.cpp:
18337        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
18338        * html/HTMLImageElement.cpp:
18339        (WebCore::HTMLImageElement::parseMappedAttribute):
18340        * html/HTMLInputElement.cpp:
18341        (WebCore::HTMLInputElement::parseMappedAttribute):
18342        * html/HTMLObjectElement.cpp:
18343        (WebCore::HTMLObjectElement::parseMappedAttribute):
18344        * html/HTMLScriptElement.cpp:
18345        (WebCore::HTMLScriptElement::parseMappedAttribute):
18346        * html/HTMLSelectElement.cpp:
18347        (WebCore::HTMLSelectElement::parseMappedAttribute):
18348        * html/HTMLTextAreaElement.cpp:
18349        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
18350        * page/AccessibilityRenderObject.cpp:
18351        (WebCore::AccessibilityRenderObject::mouseButtonListener):
18352        * page/DOMWindow.cpp:
18353        (WebCore::DOMWindow::setAttributeEventListener):
18354        (WebCore::DOMWindow::clearAttributeEventListener):
18355        (WebCore::DOMWindow::getAttributeEventListener):
18356        (WebCore::DOMWindow::onabort):
18357        (WebCore::DOMWindow::setOnabort):
18358        (WebCore::DOMWindow::onblur):
18359        (WebCore::DOMWindow::setOnblur):
18360        (WebCore::DOMWindow::onchange):
18361        (WebCore::DOMWindow::setOnchange):
18362        (WebCore::DOMWindow::onclick):
18363        (WebCore::DOMWindow::setOnclick):
18364        (WebCore::DOMWindow::ondblclick):
18365        (WebCore::DOMWindow::setOndblclick):
18366        (WebCore::DOMWindow::onerror):
18367        (WebCore::DOMWindow::setOnerror):
18368        (WebCore::DOMWindow::onfocus):
18369        (WebCore::DOMWindow::setOnfocus):
18370        (WebCore::DOMWindow::onkeydown):
18371        (WebCore::DOMWindow::setOnkeydown):
18372        (WebCore::DOMWindow::onkeypress):
18373        (WebCore::DOMWindow::setOnkeypress):
18374        (WebCore::DOMWindow::onkeyup):
18375        (WebCore::DOMWindow::setOnkeyup):
18376        (WebCore::DOMWindow::onload):
18377        (WebCore::DOMWindow::setOnload):
18378        (WebCore::DOMWindow::onmousedown):
18379        (WebCore::DOMWindow::setOnmousedown):
18380        (WebCore::DOMWindow::onmousemove):
18381        (WebCore::DOMWindow::setOnmousemove):
18382        (WebCore::DOMWindow::onmouseout):
18383        (WebCore::DOMWindow::setOnmouseout):
18384        (WebCore::DOMWindow::onmouseover):
18385        (WebCore::DOMWindow::setOnmouseover):
18386        (WebCore::DOMWindow::onmouseup):
18387        (WebCore::DOMWindow::setOnmouseup):
18388        (WebCore::DOMWindow::onmousewheel):
18389        (WebCore::DOMWindow::setOnmousewheel):
18390        (WebCore::DOMWindow::onreset):
18391        (WebCore::DOMWindow::setOnreset):
18392        (WebCore::DOMWindow::onresize):
18393        (WebCore::DOMWindow::setOnresize):
18394        (WebCore::DOMWindow::onscroll):
18395        (WebCore::DOMWindow::setOnscroll):
18396        (WebCore::DOMWindow::onsearch):
18397        (WebCore::DOMWindow::setOnsearch):
18398        (WebCore::DOMWindow::onselect):
18399        (WebCore::DOMWindow::setOnselect):
18400        (WebCore::DOMWindow::onsubmit):
18401        (WebCore::DOMWindow::setOnsubmit):
18402        (WebCore::DOMWindow::onunload):
18403        (WebCore::DOMWindow::setOnunload):
18404        (WebCore::DOMWindow::onbeforeunload):
18405        (WebCore::DOMWindow::setOnbeforeunload):
18406        (WebCore::DOMWindow::onwebkitanimationstart):
18407        (WebCore::DOMWindow::setOnwebkitanimationstart):
18408        (WebCore::DOMWindow::onwebkitanimationiteration):
18409        (WebCore::DOMWindow::setOnwebkitanimationiteration):
18410        (WebCore::DOMWindow::onwebkitanimationend):
18411        (WebCore::DOMWindow::setOnwebkitanimationend):
18412        (WebCore::DOMWindow::onwebkittransitionend):
18413        (WebCore::DOMWindow::setOnwebkittransitionend):
18414        * page/DOMWindow.h:
18415        * svg/SVGElement.cpp:
18416        (WebCore::SVGElement::parseMappedAttribute):
18417        * svg/SVGElementInstance.cpp:
18418        (WebCore::SVGElementInstance::onabort):
18419        (WebCore::SVGElementInstance::setOnabort):
18420        (WebCore::SVGElementInstance::onblur):
18421        (WebCore::SVGElementInstance::setOnblur):
18422        (WebCore::SVGElementInstance::onchange):
18423        (WebCore::SVGElementInstance::setOnchange):
18424        (WebCore::SVGElementInstance::onclick):
18425        (WebCore::SVGElementInstance::setOnclick):
18426        (WebCore::SVGElementInstance::oncontextmenu):
18427        (WebCore::SVGElementInstance::setOncontextmenu):
18428        (WebCore::SVGElementInstance::ondblclick):
18429        (WebCore::SVGElementInstance::setOndblclick):
18430        (WebCore::SVGElementInstance::onerror):
18431        (WebCore::SVGElementInstance::setOnerror):
18432        (WebCore::SVGElementInstance::onfocus):
18433        (WebCore::SVGElementInstance::setOnfocus):
18434        (WebCore::SVGElementInstance::oninput):
18435        (WebCore::SVGElementInstance::setOninput):
18436        (WebCore::SVGElementInstance::onkeydown):
18437        (WebCore::SVGElementInstance::setOnkeydown):
18438        (WebCore::SVGElementInstance::onkeypress):
18439        (WebCore::SVGElementInstance::setOnkeypress):
18440        (WebCore::SVGElementInstance::onkeyup):
18441        (WebCore::SVGElementInstance::setOnkeyup):
18442        (WebCore::SVGElementInstance::onload):
18443        (WebCore::SVGElementInstance::setOnload):
18444        (WebCore::SVGElementInstance::onmousedown):
18445        (WebCore::SVGElementInstance::setOnmousedown):
18446        (WebCore::SVGElementInstance::onmousemove):
18447        (WebCore::SVGElementInstance::setOnmousemove):
18448        (WebCore::SVGElementInstance::onmouseout):
18449        (WebCore::SVGElementInstance::setOnmouseout):
18450        (WebCore::SVGElementInstance::onmouseover):
18451        (WebCore::SVGElementInstance::setOnmouseover):
18452        (WebCore::SVGElementInstance::onmouseup):
18453        (WebCore::SVGElementInstance::setOnmouseup):
18454        (WebCore::SVGElementInstance::onmousewheel):
18455        (WebCore::SVGElementInstance::setOnmousewheel):
18456        (WebCore::SVGElementInstance::onbeforecut):
18457        (WebCore::SVGElementInstance::setOnbeforecut):
18458        (WebCore::SVGElementInstance::oncut):
18459        (WebCore::SVGElementInstance::setOncut):
18460        (WebCore::SVGElementInstance::onbeforecopy):
18461        (WebCore::SVGElementInstance::setOnbeforecopy):
18462        (WebCore::SVGElementInstance::oncopy):
18463        (WebCore::SVGElementInstance::setOncopy):
18464        (WebCore::SVGElementInstance::onbeforepaste):
18465        (WebCore::SVGElementInstance::setOnbeforepaste):
18466        (WebCore::SVGElementInstance::onpaste):
18467        (WebCore::SVGElementInstance::setOnpaste):
18468        (WebCore::SVGElementInstance::ondragenter):
18469        (WebCore::SVGElementInstance::setOndragenter):
18470        (WebCore::SVGElementInstance::ondragover):
18471        (WebCore::SVGElementInstance::setOndragover):
18472        (WebCore::SVGElementInstance::ondragleave):
18473        (WebCore::SVGElementInstance::setOndragleave):
18474        (WebCore::SVGElementInstance::ondrop):
18475        (WebCore::SVGElementInstance::setOndrop):
18476        (WebCore::SVGElementInstance::ondragstart):
18477        (WebCore::SVGElementInstance::setOndragstart):
18478        (WebCore::SVGElementInstance::ondrag):
18479        (WebCore::SVGElementInstance::setOndrag):
18480        (WebCore::SVGElementInstance::ondragend):
18481        (WebCore::SVGElementInstance::setOndragend):
18482        (WebCore::SVGElementInstance::onreset):
18483        (WebCore::SVGElementInstance::setOnreset):
18484        (WebCore::SVGElementInstance::onresize):
18485        (WebCore::SVGElementInstance::setOnresize):
18486        (WebCore::SVGElementInstance::onscroll):
18487        (WebCore::SVGElementInstance::setOnscroll):
18488        (WebCore::SVGElementInstance::onsearch):
18489        (WebCore::SVGElementInstance::setOnsearch):
18490        (WebCore::SVGElementInstance::onselect):
18491        (WebCore::SVGElementInstance::setOnselect):
18492        (WebCore::SVGElementInstance::onselectstart):
18493        (WebCore::SVGElementInstance::setOnselectstart):
18494        (WebCore::SVGElementInstance::onsubmit):
18495        (WebCore::SVGElementInstance::setOnsubmit):
18496        (WebCore::SVGElementInstance::onunload):
18497        (WebCore::SVGElementInstance::setOnunload):
18498        * svg/SVGSVGElement.cpp:
18499        (WebCore::SVGSVGElement::parseMappedAttribute):
18500
185012009-04-20  Geoffrey Garen  <ggaren@apple.com>
18502
18503        Approved by Mark Rowe, Cameron Zwarich, Oliver Hunt, and Ojan Vafai.
18504        
18505        Used svn merge to roll out revisions 42678, 42690, 42694, 42697 because
18506        they broke the Tiger and Windows buildbots.
18507
18508        * css/html4.css:
18509        * css/themeWin.css:
18510        * platform/graphics/SimpleFontData.cpp:
18511        * platform/graphics/SimpleFontData.h:
18512        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
18513        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
18514        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18515        * platform/graphics/gtk/SimpleFontDataPango.cpp:
18516        * platform/graphics/mac/SimpleFontDataMac.mm:
18517        * platform/graphics/qt/SimpleFontDataQt.cpp:
18518        * platform/graphics/win/SimpleFontDataCGWin.cpp:
18519        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
18520        * platform/graphics/win/SimpleFontDataWin.cpp:
18521        * platform/graphics/wx/SimpleFontDataWx.cpp:
18522        * rendering/RenderTextControl.cpp:
18523        * rendering/RenderTextControlMultiLine.cpp:
18524        * rendering/RenderTextControlSingleLine.cpp:
18525
185262009-04-20  Geoffrey Garen  <ggaren@apple.com>
18527
18528        Reviewed by Adam Roben.
18529
18530        One last loose end, discovered using COLLECT_ON_EVERY_ALLOCATION, for
18531        https://bugs.webkit.org/show_bug.cgi?id=21260
18532        Unbounded memory growth when churning elements with anonymous event handler functions
18533        
18534        * bindings/js/JSSVGElementInstanceCustom.cpp:
18535        (WebCore::JSSVGElementInstance::mark): Don't ASSERT that an ElementInstance's
18536        correspondingElement has a JS wrapper. If a GC falls exactly between the
18537        allocation of the ElementInstance wrapper and the correspondingElement
18538        wrapper, the correspondingElement won't have a wrapper at the time we
18539        mark the ElementInstance's wrapper.
18540
185412009-04-20  Brady Eidson  <beidson@apple.com>
18542
18543        Rubberstamped by Mark Rowe
18544
18545        Clean builds are broken on case-sensitive filesystems.  Let's fix, shall we?
18546
18547        * platform/graphics/SimpleFontData.cpp: Remove "String.h" include.  Ojan probably intended to include
18548          "PlatformString.h" which was unnecessary because it is pulled in through other headers.  This wasn't a 
18549          build failure on case-insensitive file systems because those systems would find the system <string.h>, averting
18550          the warning.
18551
185522009-04-20  Geoffrey Garen  <ggaren@apple.com>
18553
18554        Reviewed by Darin Adler.
18555
18556        Last patch for https://bugs.webkit.org/show_bug.cgi?id=21260
18557        Unbounded memory growth when churning elements with anonymous event handler functions
18558        
18559        Converted "lazy" event listeners to be unprotected, just like all the others.
18560
18561        * bindings/js/JSEventListener.cpp:
18562        (WebCore::JSEventListener::JSEventListener):
18563        (WebCore::JSEventListener::~JSEventListener):
18564        (WebCore::JSEventListener::jsFunction):
18565        (WebCore::JSEventListener::markJSFunction):
18566        (WebCore::JSEventListener::handleEvent):
18567        (WebCore::JSEventListener::virtualIsInline):
18568        * bindings/js/JSEventListener.h:
18569        (WebCore::JSEventListener::isInline): Merged JSAbstractEventListener
18570        into JSEventListener. Now that the only difference between JSEventListener
18571        and JSLazyEventListener is that JSLazyEventListener compiles lazily,
18572        there's no need for an abstract base class.
18573
18574        * bindings/js/JSLazyEventListener.cpp: Converted JSLazyEventListener to
18575        inherit from JSEventListener and match its un-GC-protected behavior.
18576        (WebCore::JSLazyEventListener::JSLazyEventListener): ditto
18577        (WebCore::JSLazyEventListener::parseCode): ditto
18578        (WebCore::createInlineEventListener): When creating a lazy event listener,
18579        ensure that the related node has a JS wrapper to mark the listener. Since
18580        the parser makes these listeners, it's possible that no JS reference has
18581        been made to the node yet.
18582        * bindings/js/JSLazyEventListener.h: ditto
18583
18584        * dom/EventListener.h:
18585        (WebCore::EventListener::clearJSFunction): Removed an usused function.
18586
185872009-04-20  Justin Garcia  <justin.garcia@apple.com>
18588
18589        Reviewed by Dan Bernstein.
18590
18591        https://bugs.webkit.org/show_bug.cgi?id=25299
18592        Don't bound caret to root line box if it is still inside its containing block
18593        
18594        Can't yet write tests for behavior of non-standard caret widths.
18595
18596        * rendering/RenderText.cpp:
18597        (WebCore::RenderText::localCaretRect):
18598
185992009-04-20  Steve Falkenburg  <sfalken@apple.com>
18600
18601        Separate JavaScriptCore.dll from WebKit.dll.
18602        Slight performance improvement or no change on benchmarks.
18603        
18604        Allows us to break a circular dependency between CFNetwork and WebKit on Windows,
18605        and simplifies standalone JavaScriptCore builds.
18606
18607        Reviewed by Oliver Hunt.
18608
18609        * config.h: Specify __declspec(dllexport/dllimport) appropriately when exporting data.
18610
186112009-04-20  Anders Carlsson  <andersca@apple.com>
18612
18613        Reviewed by Sam Weinig.
18614
18615        <rdar://problem/6722845> In the Cocoa event model, NPWindow's window field should be null
18616
18617        * bridge/npapi.h:
18618        (_NPCocoaEvent::):
18619        Add a CGContextRef member to the draw struct. Add an NPCoordinateSpace enum.
18620        
18621        * plugins/npfunctions.h:
18622        Add a prototype for NPN_ConvertPoint.
18623
186242009-04-10  Ojan Vafai  <ojan@chromium.org>
18625
18626        Reviewed by Dan Bernstein.
18627
18628        Make textarea and text input metrics more closely match IEs.
18629        https://bugs.webkit.org/show_bug.cgi?id=15312
18630
18631        This involves:
18632        -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
18633        -set textarea width to cols*avgCharWidth
18634        -Make default CSS match IEs
18635        -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
18636
18637        Those values for textarea and inputs were derived by doing a ton of manual
18638        testing of IE's width values for various textareas and fonts.
18639
18640        To get the average and max character width of a font, we do the following
18641        for each platform:
18642        -Win: TextMetrics expose avgCharWidth and maxCharWidth
18643        -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
18644            maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
18645        -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
18646            maxCharWidth = max of avgCharWidth and m_ascent
18647        -Mac: look in the OS/2 table for avgCharWidth and grab the maxCharWidth off the font.
18648            If either one is not there, then calculate the value using the Linux approach.
18649
18650        Linux ports could probably dig into the OS/2 table as well, but I'll leave
18651        that up to them to implement.
18652
18653        Tests: fast/forms/text-control-intrinsic-widths.html
18654               fast/forms/textarea-metrics.html
18655               svg/custom/svg-fonts-in-text-controls.html
18656
18657        * css/html4.css:
18658        * css/themeWin.css:
18659        * platform/graphics/SimpleFontData.cpp:
18660        (WebCore::SimpleFontData::SimpleFontData):
18661        (WebCore::SimpleFontData::initCharWidths):
18662        * platform/graphics/SimpleFontData.h:
18663        (WebCore::SimpleFontData::maxCharWidth):
18664        (WebCore::SimpleFontData::avgCharWidth):
18665        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
18666        (WebCore::SimpleFontData::platformCharWidthInit):
18667        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
18668        (WebCore::SimpleFontData::platformCharWidthInit):
18669        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18670        (WebCore::SimpleFontData::platformCharWidthInit):
18671        * platform/graphics/gtk/SimpleFontDataPango.cpp:
18672        (WebCore::SimpleFontData::platformCharWidthInit):
18673        * platform/graphics/mac/SimpleFontDataMac.mm:
18674        (WebCore::SimpleFontData::platformCharWidthInit):
18675        * platform/graphics/qt/SimpleFontDataQt.cpp:
18676        (WebCore::SimpleFontData::platformCharWidthInit):
18677        * platform/graphics/win/SimpleFontDataCGWin.cpp:
18678        (WebCore::SimpleFontData::platformCharWidthInit):
18679        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
18680        (WebCore::SimpleFontData::platformInit):
18681        (WebCore::SimpleFontData::platformCharWidthInit):
18682        * platform/graphics/win/SimpleFontDataWin.cpp:
18683        (WebCore::SimpleFontData::initGDIFont):
18684        * platform/graphics/wx/SimpleFontDataWx.cpp:
18685        (WebCore::SimpleFontData::platformCharWidthInit):
18686        * rendering/RenderTextControl.cpp:
18687        (WebCore::RenderTextControl::calcPrefWidths):
18688        * rendering/RenderTextControlMultiLine.cpp:
18689        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
18690        * rendering/RenderTextControlSingleLine.cpp:
18691        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
18692
186932009-04-17  Eric Seidel  <eric@webkit.org>
18694
18695        Reviewed by Simon Fraser.
18696
18697        Remove m_absoluteBounds hack from SVG renderers and move outlineBoundsForRepaint into RenderSVGModelObject
18698        https://bugs.webkit.org/show_bug.cgi?id=25276
18699
18700        This also exposed a buggy paint check in RenderSVGContainer::layout()
18701        we should repaint if we are self painting OR if our kids changed, not AND.
18702
18703        Writing real outlineBoundsForRepaint required writing a mapLocalToContainer() function
18704
18705        No functional changes, thus no tests.
18706
18707        * rendering/RenderPath.cpp:
18708        (WebCore::RenderPath::localToParentTransform):
18709        (WebCore::RenderPath::layout):
18710        * rendering/RenderPath.h:
18711        * rendering/RenderSVGContainer.cpp:
18712        (WebCore::RenderSVGContainer::layout):
18713        * rendering/RenderSVGContainer.h:
18714        * rendering/RenderSVGModelObject.cpp:
18715        (WebCore::RenderSVGModelObject::mapLocalToContainer):
18716        (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
18717        * rendering/RenderSVGModelObject.h:
18718        * rendering/RenderSVGRoot.cpp:
18719        (WebCore::RenderSVGRoot::layout):
18720        (WebCore::RenderSVGRoot::paint):
18721        (WebCore::RenderSVGRoot::localToParentTransformWithoutCSSParentOffset):
18722        (WebCore::RenderSVGRoot::localToParentTransform):
18723        (WebCore::RenderSVGRoot::computeRectForRepaint):
18724        * rendering/RenderSVGRoot.h:
18725        * rendering/RenderSVGViewportContainer.cpp:
18726        (WebCore::RenderSVGViewportContainer::layout):
18727
187282009-04-20  Simon Fraser  <simon.fraser@apple.com>
18729
18730        Reviewed by Eric Seidel
18731
18732        https://bugs.webkit.org/show_bug.cgi?id=25282
18733        
18734        outlineBoundsForRepaint() should compute a quad relative to the
18735        repaintContainer. This fixes the repaint issues originally fixed in
18736        https://bugs.webkit.org/show_bug.cgi?id=12885 for elements in compositing layers.
18737        Failure was only apparent when building with ACCELERATED_COMPOSITING enabled.
18738
18739        Tests: compositing/repaint/content-into-overflow.html
18740               compositing/repaint/overflow-into-content.html
18741
18742        * rendering/RenderBox.cpp:
18743        (WebCore::RenderBox::outlineBoundsForRepaint):
18744
187452009-04-20  Sam Weinig  <sam@webkit.org>
18746
18747        Rubber-stamped by Tim Hatcher.
18748
18749        Add licenses for xcconfig files.
18750
18751        * Configurations/Base.xcconfig:
18752        * Configurations/DebugRelease.xcconfig:
18753        * Configurations/FeatureDefines.xcconfig:
18754        * Configurations/Version.xcconfig:
18755        * Configurations/WebCore.xcconfig:
18756
187572009-04-20  Eric Roman  <eroman@chromium.org>
18758
18759        Reviewed by Dimitri Glazkov.
18760
18761        https://bugs.webkit.org/show_bug.cgi?id=25261
18762        Implement the V8 binding for DOMWindow.event similarly to JSC, by using
18763        the custom getter boilerplate from the IDL file. 
18764        Also, stub out DOMWindow.crypto which is defined by the idl.
18765
18766        * bindings/v8/V8AbstractEventListener.cpp:
18767        (WebCore::V8AbstractEventListener::invokeEventHandler):
18768        * bindings/v8/custom/V8DOMWindowCustom.cpp:
18769        (WebCore::ACCESSOR_GETTER):
18770
187712009-04-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
18772
18773        Reviewed by Xan Lopez.
18774
18775        https://bugs.webkit.org/show_bug.cgi?id=25243
18776        Crash when data:// loads are cancelled
18777
18778        Properly handle cancellation of the load for data:// loads. This
18779        fixes crashing in the followin test:
18780
18781        plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
18782
18783        * platform/network/soup/ResourceHandleSoup.cpp:
18784        (WebCore::parseDataUrl):
18785
187862009-04-19  Dan Bernstein  <mitz@apple.com>
18787
18788        - maybe fix release builds
18789
18790        * dom/ScriptElement.cpp:
18791        (WebCore::ScriptElementData::notifyFinished):
18792
187932009-04-19  Dan Bernstein  <mitz@apple.com>
18794
18795        - not fix release builds
18796
18797        * dom/Document.cpp:
18798        (WebCore::Document::executeScriptSoonTimerFired):
18799
188002009-04-19  Dan Bernstein  <mitz@apple.com>
18801
18802        Reviewed by Mark Rowe.
18803
18804        - fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link
18805          does nothing the second time search results are opened
18806
18807        Test: fast/dom/HTMLScriptElement/nested-execution.html
18808
18809        Instead of executing scripts as soon as they finish loading, which may
18810        happen synchronously during execution of another script, defer their
18811        execution until the next run loop iteration, using a queue that is
18812        similar to the HTML5 notion of the "list of scripts that will execute as
18813        soon as possible", and in my testing was consistent with how Firefox
18814        behaved.
18815
18816        * dom/Document.cpp:
18817        (WebCore::Document::Document): Initialize m_executeScriptSoonTimer.
18818        (WebCore::Document::~Document): deref() script elements in
18819        m_scriptsToExecuteSoon.
18820        (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the
18821        scripts in m_scriptsToExecuteSoon and deref()s them.
18822        (WebCore::Document::executeScriptSoon): Added. Appends to
18823        m_scriptsToExecuteSoon and ref()s the script element, which keeps the
18824        ScriptElementData alive as well.
18825        * dom/Document.h:
18826        * dom/ScriptElement.cpp:
18827        (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested.
18828        (WebCore::ScriptElementData::requestScript): Set m_requested to true, to
18829        prevent further load requests.
18830        (WebCore::ScriptElementData::execute): Added. Moved the code from
18831        notifyFinished() which should not execute synchronously here, to be
18832        called by the Document on a 0-interval timer.
18833        (WebCore::ScriptElementData::notifyFinished): Moved the code to
18834        dispatch events and evaluate the script, which should not execute
18835        synchronously, out of here.
18836        (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for
18837        m_requested instead of m_cachedScript, because the latter is cleared
18838        before the script is evaluated.
18839        * dom/ScriptElement.h:
18840
188412009-04-19  Oliver Hunt  <oliver@apple.com>
18842
18843        Reviewed by Antti Koivisto and Darin Adler.
18844
18845        <rdar://problem/6127705> Excessive memory consumption on image load failure
18846
18847        When we fail to decode an image we clear most of the image data, but not the
18848        input data itself, which can be backed by a CFData object that itself holds onto
18849        a few hundred Kbs of memory.  This patch merely ensures that this buffer gets
18850        cleared.
18851
18852        * loader/CachedImage.cpp:
18853        (WebCore::CachedImage::error):
18854
188552009-04-19  Darin Adler  <darin@apple.com>
18856
18857        Reviewed by Sam Weinig.
18858
18859        Add hooks so sudden termination will not cause loss of icons or local storage.
18860        rdar://problem/5951701
18861
18862        * loader/icon/IconDatabase.cpp: Marked various constants static to give them
18863        internal linkage.
18864        (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer.
18865        Removed unneeded initial value for m_defaultIconRecord. Changed assertion to
18866        work cross-platform.
18867        (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so
18868        we won't terminate until the sync thread has done its thing.
18869        (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination,
18870        so we won't terminate if we have an outstanding sync timer.
18871        (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to
18872        balance the one in scheduleOrDeferSyncTimer.
18873        (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to
18874        balance the one in wakeSyncThread.
18875        (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0).
18876
18877        * loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>.
18878
18879        * storage/LocalStorageArea.cpp:
18880        (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination.
18881        (WebCore::LocalStorageArea::scheduleItemForSync): Ditto.
18882        (WebCore::LocalStorageArea::scheduleClear): Ditto.
18883        (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if
18884        we schedule a performSync callback for later and an unconditional
18885        enableSuddenTermination to balance the ones in the schedule calls above.
18886        (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it
18887        can continue to use early return idiom.
18888        (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination.
18889
18890        * storage/LocalStorageArea.h: Added declaration of the sync function.
18891
188922009-04-19  David Kilzer  <ddkilzer@apple.com>
18893
18894        Make FEATURE_DEFINES completely dynamic
18895
18896        Reviewed by Darin Adler.
18897
18898        Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
18899        variables for each feature, making it possible to remove all
18900        knowledge of FEATURE_DEFINES from build-webkit.
18901
18902        * Configurations/FeatureDefines.xcconfig: Extract a variable
18903        from FEATURE_DEFINES for each feature setting.
18904
189052009-04-18  Geoffrey Garen  <ggaren@apple.com>
18906
18907        Reviewed by Alexey Proskuryakov.
18908
18909        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
18910        Unbounded memory growth when churning elements with anonymous event handler functions
18911        
18912        Removed a little more complexity from event handler creation and destruction.
18913        
18914        Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners,
18915        and jsInlineEventListeners maps, and all the code for managing them.
18916        
18917        ProtectedEventListeners don't exist anymore, so they're easy to nix.
18918        
18919        Inline EventListeners do still exist, but there's no reason to track
18920        them in a map. The map exists to enable 'removeEventListener' to associate
18921        a unique JSEventListener with a given JavaScript function. But the
18922        'removeEventListener' API only works with non-inline event listeners!
18923        
18924        * bindings/js/JSDOMGlobalObject.cpp:
18925        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
18926        (WebCore::JSDOMGlobalObject::findJSEventListener):
18927        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
18928        (WebCore::JSDOMGlobalObject::createJSInlineEventListener):
18929        * bindings/js/JSDOMGlobalObject.h:
18930        * bindings/js/JSEventListener.cpp:
18931        (WebCore::JSEventListener::JSEventListener):
18932        (WebCore::JSEventListener::clearJSFunctionInline):
18933        * bindings/js/JSLazyEventListener.cpp:
18934        (WebCore::JSLazyEventListener::~JSLazyEventListener):
18935        (WebCore::JSLazyEventListener::parseCode):
18936        * bindings/scripts/CodeGeneratorJS.pm:
18937
189382009-04-18  Dan Bernstein  <mitz@apple.com>
18939
18940        - try to fix the Windows build
18941
18942        * editing/VisiblePosition.cpp:
18943        (WebCore::VisiblePosition::characterAfter):
18944
189452009-04-18  Dan Bernstein  <mitz@apple.com>
18946
18947        - revert the previous change, which was to a file that the Windows
18948          port does not even use
18949
18950        * icu/unicode/utf16.h:
18951
189522009-04-18  Dan Bernstein  <mitz@apple.com>
18953
18954        Reviewed by Geoffrey Garen.
18955
18956        - try to fix the Windows build
18957
18958        * icu/unicode/utf16.h:
18959
189602009-04-18  Simon Fraser  <simon.fraser@apple.com>
18961
18962        Reviewed by Antti Koivisto.
18963        
18964        https://bugs.webkit.org/show_bug.cgi?id=25066
18965        
18966        When a <video> element gained a RenderLayer via opacity, reflection etc., the
18967        layer hierarchy was not correctly updated because RenderMedia skipped a level
18968        when asked for its children; it skipped m_controlsShadowRoot's renderer, which
18969        actually has a layer.
18970
18971        Test: fast/layers/video-layer.html
18972
18973        * rendering/MediaControlElements.cpp:
18974        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
18975        Don't manually call setParent() on the renderer. It will happen later
18976        as a result of addChild().
18977        
18978        * rendering/RenderMedia.cpp:
18979        (WebCore::RenderMedia::createControlsShadowRoot):
18980        Add m_controlsShadowRoot's renderer as a child. 
18981
18982        * rendering/RenderMedia.h:
18983        (WebCore::RenderMedia::children):
18984        Now maintain a RenderObjectChildList, m_children, and remove the unneeded
18985        removeChild() method. Make the two children() methods inline.
18986
18987        * rendering/RenderObject.cpp:
18988        (WebCore::RenderObject::moveLayers):
18989        Assert if moveLayers() is called with an oldParent that is not the
18990        layer's actual parent (which would have revealed this bug).
18991
189922009-04-18  Geoffrey Garen  <ggaren@apple.com>
18993
18994        Reviewed by Cameron Zwarich.
18995
18996        Fixed a layout test failure, caused by my last check-in
18997        (fast/dom/script-element-gc.html).
18998
18999        * bindings/js/JSDOMBinding.cpp:
19000        (WebCore::isObservableThroughDOM):
19001        * html/HTMLScriptElement.h:
19002        (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements
19003        just like image elements: if a script element is loading, mark its JS
19004        wrapper, even if the element is not in the document.
19005
190062009-04-18  Jian Li  <jianli@chromium.org>
19007
19008        Reviewed by Dimitri Glazkov.
19009
19010        https://bugs.webkit.org/show_bug.cgi?id=25170
19011        Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings.
19012
19013        * bindings/v8/WorkerContextExecutionProxy.cpp:
19014        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
19015        * bindings/v8/WorkerContextExecutionProxy.h:
19016        * bindings/v8/custom/V8WorkerContextCustom.cpp: Added.
19017        * bindings/v8/custom/V8WorkerCustom.cpp: Added.
19018
190192009-04-18  Jian Li  <jianli@chromium.org>
19020
19021        Reviewed by Dimitri Glazkov.
19022
19023        https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167 
19024        Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.
19025
19026        * bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp.
19027        (WebCore::createHiddenDependency):
19028        (WebCore::removeHiddenDependency):
19029        * bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h.
19030        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
19031        (WebCore::ACCESSOR_SETTER):
19032        (WebCore::CALLBACK_FUNC_DECL):
19033        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
19034        (WebCore::ACCESSOR_SETTER):
19035        (WebCore::CALLBACK_FUNC_DECL):
19036
190372009-04-18  Drew Wilson  <amw@apple.com>
19038
19039        <rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32
19040
19041        Reviewed by Dan Bernstein.
19042
19043        No test case since there is no change in behavior.
19044
19045        * editing/VisiblePosition.cpp:
19046        (WebCore::VisiblePosition::characterAfter): Now handles surrogate
19047        pairs correctly and returns a UChar32.
19048        * editing/VisiblePosition.h:
19049        (WebCore::VisiblePosition::characterBefore): Now returns a UChar32.
19050        * editing/visible_units.cpp:
19051        (WebCore::endOfFirstWordBoundaryContext): Renamed
19052        firstNonComplexContextLineBreak() to this. Changed it to use the
19053        generic requiresContextForWordBoundary() instead of
19054        hasLineBreakingPropertyComplexContext().
19055        (WebCore::startOfLastWordBoundaryContext): Replaces
19056        lastNonComplexContextLineBreak(), but returns the offset of
19057        the character after the last character that does not require
19058        context for word breaking. Also changed to use
19059        requiresContextForWordBoundary().
19060        (WebCore::previousBoundary): Updated for the above changes in
19061        names and semantics, and changed to use
19062        requiresContextForWordBoundary().
19063        (WebCore::nextBoundary): Ditto.
19064        (WebCore::startWordBoundary): Ditto.
19065        (WebCore::endWordBoundary): Ditto.
19066        (WebCore::previousWordPositionBoundary): Ditto.
19067        (WebCore::nextWordPositionBoundary): Ditto.
19068        * platform/text/TextBoundaries.h:
19069        (WebCore::requiresContextForWordBoundary): Added.
19070        * platform/text/mac/TextBoundaries.mm:
19071
190722009-04-18  Geoffrey Garen  <ggaren@apple.com>
19073
19074        Reviewed by Cameron Zwarich.
19075
19076        Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
19077        REGRESSION (r42569): Profiles cannot be selected in inspector profiler
19078        
19079        EventListeners are shared; RegisteredEventListeners are not. Therefore,
19080        when a node wrapper needs to invalidate the node's JS event listeners,
19081        it should invalidate its RegisteredEventListeners, not its EventListeners.
19082        Otherwise, it might invalidate an EventListener shared by another node.
19083
19084        * dom/RegisteredEventListener.h:
19085        (WebCore::invalidateEventListeners): ditto
19086
190872009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
19088
19089        Reviewed by Mark Rowe.
19090
19091        <rdar://problem/6781295> video.buffered and video.seekable are not
19092        the same. video.buffered should return only what is buffered and
19093        not what is seekable
19094
19095        * WebCore.base.exp: Added wkQTMovieMaxTimeSeekable.
19096
19097        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
19098        (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable.
19099
19100        * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable.
19101        * platform/mac/WebCoreSystemInterface.mm: Ditto.
19102
191032009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
19104
19105        Reviewed by Adele Peterson.
19106
19107        <rdar://problem/6747241> work around QTKit no longer reaching
19108        QTMovieLoadStateComplete
19109
19110        * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
19111
19112        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
19113        (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification.
19114        (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of
19115        using QTMovieLoadStateComplete to determine if a movie are fully loaded.
19116
19117        * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
19118        * platform/mac/WebCoreSystemInterface.mm: Ditto.
19119
191202009-04-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
19121
19122        Reviewed by George Staikos.
19123
19124        Make WML work again, most regressions test were failing.
19125
19126        * dom/Document.cpp: Be sure to create WML elements in WML namespace. Otherwhise hasTagName() comparisions fail.
19127        (WebCore::Document::createElement):
19128        * wml/WMLCardElement.cpp: Add ASSERT(hasTagName(cardTag)) to catch errors like this in future.
19129        (WebCore::WMLCardElement::WMLCardElement):
19130        * wml/WMLTagNames.in: Wrap comment in #if 0/#endif blocks, to silence the generation script.
19131
191322009-04-17  Justin Garcia  <justin.garcia@apple.com>
19133
19134        Reviewed by Dan Bernstein.
19135
19136        https://bugs.webkit.org/show_bug.cgi?id=25277
19137        If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
19138        
19139        Also added code to handle a caret wider than one pixel.
19140        
19141        Added fast/inline/25277.html and fast/inline/25277-2.html
19142
19143        * rendering/RenderText.cpp:
19144        (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset,
19145        so that a caret between two characters doesn't hang over one character more than the other.
19146        If there is no wrapping, the caret can leave its containing block, but not its root line box.
19147
191482009-04-17  Geoffrey Garen  <ggaren@apple.com>
19149
19150        Reviewed by Oliver Hunt.
19151
19152        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
19153        Unbounded memory growth when churning elements with anonymous event handler functions
19154        
19155        Some refactoring of "inline" event listeners.
19156        
19157        Renames:
19158            dispatchEventForType => dispatchEvent
19159            setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
19160            removeInlineEventListenerForType => clearInlineEventListener
19161            setInlineEventListenerForType => setInlineEventListener
19162            inlineEventListenerForType => getInlineEventListener
19163
19164        * bindings/js/JSLazyEventListener.cpp:
19165        (WebCore::eventParameterName):
19166        (WebCore::JSLazyEventListener::JSLazyEventListener):
19167        (WebCore::createInlineEventListener):
19168        * bindings/js/JSLazyEventListener.h: Added two helper functions for
19169        creating "inline" event listeners. These replace Document::createEventListener,
19170        and abstract the creation of JS event listeners for DOM attributes out
19171        of the DOM. Removed legacy JSProtectedEventListener constructor code for
19172        adding the event listener's function to a map, since lazy event listeners
19173        don't have functions at construction time.
19174
19175        * dom/Document.cpp:
19176        (WebCore::Document::setFocusedNode):
19177        * dom/Document.h:
19178        (WebCore::Document::isSVGDocument):
19179        * dom/Element.cpp:
19180        (WebCore::Element::setWindowInlineEventListener):
19181        * dom/Element.h: Updated for renames. Nixed Document::createEventListener,
19182        mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute
19183        to Element, for simplicity.
19184
19185        * dom/InputElement.cpp:
19186        (WebCore::InputElement::setValueFromRenderer):
19187        * dom/Node.cpp:
19188        (WebCore::Node::dispatchFocusEvent):
19189        (WebCore::Node::dispatchBlurEvent):
19190        (WebCore::Node::dispatchEvent):
19191        (WebCore::Node::clearInlineEventListener):
19192        (WebCore::Node::setInlineEventListener):
19193        (WebCore::Node::getInlineEventListener):
19194        (WebCore::Node::onabort):
19195        (WebCore::Node::setOnabort):
19196        (WebCore::Node::etc.):
19197        * dom/Node.h: Updated for renames.
19198        
19199        * editing/ReplaceSelectionCommand.cpp:
19200        (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.
19201        
19202        Updated these files for renames, and to use the new createInlineEventListener
19203        helper function:
19204
19205        * html/HTMLBodyElement.cpp:
19206        (WebCore::HTMLBodyElement::parseMappedAttribute):
19207        * html/HTMLButtonElement.cpp:
19208        (WebCore::HTMLButtonElement::parseMappedAttribute):
19209        * html/HTMLElement.cpp:
19210        (WebCore::HTMLElement::parseMappedAttribute):
19211        * html/HTMLFormControlElement.cpp:
19212        (WebCore::HTMLFormControlElement::onChange):
19213        * html/HTMLFormElement.cpp:
19214        (WebCore::HTMLFormElement::prepareSubmit):
19215        (WebCore::HTMLFormElement::reset):
19216        (WebCore::HTMLFormElement::parseMappedAttribute):
19217        * html/HTMLFrameElementBase.cpp:
19218        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
19219        * html/HTMLFrameSetElement.cpp:
19220        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
19221        * html/HTMLImageElement.cpp:
19222        (WebCore::HTMLImageElement::parseMappedAttribute):
19223        * html/HTMLImageLoader.cpp:
19224        (WebCore::HTMLImageLoader::dispatchLoadEvent):
19225        * html/HTMLInputElement.cpp:
19226        (WebCore::HTMLInputElement::parseMappedAttribute):
19227        (WebCore::HTMLInputElement::onSearch):
19228        * html/HTMLMediaElement.cpp:
19229        (WebCore::HTMLMediaElement::loadInternal):
19230        * html/HTMLObjectElement.cpp:
19231        (WebCore::HTMLObjectElement::parseMappedAttribute):
19232        * html/HTMLScriptElement.cpp:
19233        (WebCore::HTMLScriptElement::parseMappedAttribute):
19234        (WebCore::HTMLScriptElement::dispatchLoadEvent):
19235        (WebCore::HTMLScriptElement::dispatchErrorEvent):
19236        * html/HTMLSelectElement.cpp:
19237        (WebCore::HTMLSelectElement::parseMappedAttribute):
19238        * html/HTMLTextAreaElement.cpp:
19239        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
19240        * html/HTMLTokenizer.cpp:
19241        (WebCore::HTMLTokenizer::notifyFinished):
19242        * page/AccessibilityRenderObject.cpp:
19243        (WebCore::AccessibilityRenderObject::mouseButtonListener):
19244        * page/DOMWindow.cpp:
19245        * page/DOMWindow.h:
19246        (WebCore::DOMWindow::eventListeners):
19247        * page/EventHandler.cpp:
19248        (WebCore::EventHandler::canMouseDownStartSelect):
19249        (WebCore::EventHandler::canMouseDragExtendSelect):
19250        (WebCore::EventHandler::sendScrollEvent):
19251        * page/Page.cpp:
19252        (WebCore::networkStateChanged):
19253        * rendering/RenderListBox.cpp:
19254        (WebCore::RenderListBox::valueChanged):
19255        * rendering/RenderTextControl.cpp:
19256        (WebCore::RenderTextControl::selectionChanged):
19257        * svg/SVGElement.cpp:
19258        (WebCore::SVGElement::parseMappedAttribute):
19259        * svg/SVGElementInstance.cpp:
19260        * svg/SVGImageLoader.cpp:
19261        (WebCore::SVGImageLoader::dispatchLoadEvent):
19262        * svg/SVGSVGElement.cpp:
19263        (WebCore::SVGSVGElement::parseMappedAttribute):
19264        * svg/SVGScriptElement.cpp:
19265        (WebCore::SVGScriptElement::dispatchErrorEvent):
19266        * wml/WMLInputElement.cpp:
19267        (WebCore::WMLInputElement::defaultEventHandler):
19268
192692009-04-17  David Kilzer  <ddkilzer@apple.com>
19270
19271        Simplify FEATURE_DEFINES definition
19272
19273        Reviewed by Darin Adler.
19274
19275        This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
19276        variables to their own FeatureDefines.xcconfig file.  It also
19277        extracts a new ENABLE_GEOLOCATION variable so that
19278        FEATURE_DEFINES only needs to be defined once.
19279
19280        * Configurations/FeatureDefines.xcconfig: Added.
19281        * Configurations/WebCore.xcconfig: Removed definition of
19282        ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
19283        of FeatureDefines.xcconfig.
19284        * WebCore.xcodeproj/project.pbxproj: Added
19285        FeatureDefines.xcconfig file.
19286        * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of
19287        command-line macro definitions, split on one-or-more spaces
19288        instead of a single space since the FEATURE_DEFINES macro may
19289        now contain more than one space between macros if some macros
19290        aren't defined.
19291
192922009-04-17  Brady Eidson  <beidson@apple.com>
19293
19294        Reviewed by Mark Rowe
19295
19296        <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.
19297
19298        * platform/network/mac/ResourceHandleMac.mm:
19299        (WebCore::ResourceHandle::willLoadFromCache):
19300
193012009-04-17  Darin Adler  <darin@apple.com>
19302
19303        Reviewed by Timothy Hatcher.
19304
19305        Added sudden termination functions that can be called without involving
19306        the page or client.
19307
19308        * GNUmakefile.am: Added SuddenTermination.h.
19309        * WebCore.vcproj/WebCore.vcproj: Ditto.
19310        * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
19311
19312        * platform/SuddenTermination.h: Added.
19313        * platform/mac/SuddenTermination.mm: Added.
19314
193152009-04-17  Eric Seidel  <eric@webkit.org>
19316
19317        Reviewed by Simon Fraser.
19318
19319        Move more code into RenderSVGModelObject
19320
19321        needsLayer() already returns false from RenderSVGModelObject
19322        lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.
19323
19324        I also added comments to explain how focus rings work (now that I understand)
19325        I got rid of two more uses of m_absoluteBounds (nearly dead!)
19326
19327        * rendering/RenderPath.cpp:
19328        * rendering/RenderPath.h:
19329        * rendering/RenderSVGContainer.cpp:
19330        (WebCore::RenderSVGContainer::paint):
19331        (WebCore::RenderSVGContainer::addFocusRingRects):
19332        * rendering/RenderSVGContainer.h:
19333        * rendering/RenderSVGModelObject.cpp:
19334        (WebCore::RenderSVGModelObject::absoluteRects):
19335        (WebCore::RenderSVGModelObject::absoluteQuads):
19336        * rendering/RenderSVGModelObject.h:
19337
193382009-04-16  Peter Kasting  <pkasting@google.com>
19339
19340        Reviewed by Adele Peterson.
19341
19342        https://bugs.webkit.org/show_bug.cgi?id=25238
19343        Invalidate the hovered scrollbar part when resetting the pressed part,
19344        since once there is no pressed part we can draw a hovered state.
19345
19346        * platform/Scrollbar.cpp:
19347        (WebCore::Scrollbar::setHoveredPart):
19348        (WebCore::Scrollbar::setPressedPart):
19349
193502009-04-16  Darin Fisher  <darin@chromium.org>
19351
19352        Reviewed by Darin Adler.
19353
19354        https://bugs.webkit.org/show_bug.cgi?id=25223
19355        REGRESSION: Back button after form submission to the same URL fails to navigate.
19356
19357        Test: http/tests/navigation/post-goback-same-url.html
19358
19359        * loader/FrameLoader.cpp:
19360        (WebCore::FrameLoader::loadItem): Check if the page we are leaving has
19361        FormData.
19362
193632009-04-17  Nikolas Zimmermann  <nikolas.zimmerman@torchmobile.com>
19364
19365        Not reviewed. Fix WML enabled builds.
19366
19367        * rendering/RenderTableRow.cpp: Remove dead code, which is no longer necessary.
19368        (WebCore::RenderTableRow::addChild):
19369        * wml/WMLInputElement.cpp: Apply same fix HTMLInputElement received. Covert RenderObject's to RenderTextControl where needed.
19370        (WebCore::WMLInputElement::defaultEventHandler):
19371
193722009-04-17  Pierre d'Herbemont  <pdherbemont@apple.com>
19373
19374        Reviewed by Simon Fraser.
19375        
19376        https://bugs.webkit.org/show_bug.cgi?id=24849
19377
19378        Add support for the media element 'played' attribute.
19379        This involves support of "normalized TimeRanges" as described by
19380        the spec.
19381
19382        Test: media/video-played.html
19383
19384        * html/HTMLMediaElement.cpp:
19385        (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed 
19386        m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges.
19387        (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and
19388        m_playedTimeRanges
19389        (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges
19390        (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime
19391        (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges.
19392        (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing. 
19393        Set the m_playing flag.
19394        * html/HTMLMediaElement.h:
19395
19396        * html/TimeRanges.cpp:
19397        (TimeRanges::add): Merge range(s) if overlap.
19398        * html/TimeRanges.h: Add various helpers (below).
19399        (WebCore::TimeRanges::Range::isPointInRange): Added.
19400        (WebCore::TimeRanges::Range::isOverlappingRange): Ditto.
19401        (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto.
19402        (WebCore::TimeRanges::Range::isBeforeRange): Ditto.
19403
194042009-04-17  Darin Adler  <darin@apple.com>
19405
19406        Reviewed by Antti Koivisto.
19407
19408        Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
19409        https://bugs.webkit.org/show_bug.cgi?id=25210
19410
19411        * WebCore.base.exp: Export the core and kit function overloads that are used
19412        in WebKit. Also resorted this file.
19413
19414        * WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix
19415        a strange problem with the file type.
19416
19417        * bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes
19418        so we can use and implement the new core and kit functions. Import DOMInternal.h
19419        first so it can do its public/private magic.
19420        (-[DOMNode _rootObject]): Changed to use early-return style.
19421        (kitClass): Added. Tells the wrapper generator what kind of node class to create
19422        to wrap DOM nodes. This has the code that used to be in the _wrapNode method.
19423        (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper,
19424        dpending on whether it's a Node or an SVGElementInstance. This replace methods
19425        that used to be on both of those classes.
19426        (-[DOMNode boundingBox]): Changed to use early return, and the core function.
19427        (-[DOMNode lineBoxRects]): Ditto.
19428        (-[DOMNode renderedImage]): Ditto.
19429        (-[DOMRange boundingBox]): Ditto.
19430        (-[DOMRange lineBoxRects]): Ditto.
19431        (-[DOMElement image]): Ditto.
19432        (-[DOMElement _font]): Ditto.
19433        (-[DOMElement _imageTIFFRepresentation]): Ditto.
19434        (-[DOMElement _getURLAttribute:]): Ditto.
19435        (-[DOMElement isFocused]): Ditto.
19436        (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol,
19437        not a class in the binding.
19438        (core): Ditto.
19439        (-[DOMNodeFilter acceptNode:]): Use core.
19440
19441        * bindings/objc/DOMAbstractView.mm:
19442        (-[DOMAbstractView document]): Use kit.
19443        (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer
19444        in the WebCore namespace, since it's headed for WebKit in the future.
19445        (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store
19446        a pointer to the Frame, not the DMWindow.
19447        (kit): Ditto.
19448
19449        * bindings/objc/DOMCSS.mm:
19450        (kitClass): Added. Tells the wrapper generator what kind of node class to create
19451        to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet,
19452        _wrapCSSRule, and _wrapCSSValue methods.
19453
19454        * bindings/objc/DOMEvents.mm:
19455        (kitClass): Added. Tells the wrapper generator what kind of node class to create
19456        to wrap event objects. This has the code that used to be in the _wrapEvent methods.
19457
19458        * bindings/objc/DOMHTML.mm:
19459        (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core.
19460        (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto.
19461        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
19462        (-[DOMHTMLInputElement _rectOnScreen]): Ditto.
19463        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto.
19464        (-[DOMHTMLInputElement _selectedRange]): Ditto.
19465        (-[DOMHTMLInputElement _setAutofilled:]): Ditto.
19466        (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto.
19467        (-[DOMHTMLInputElement _isEdited]): Ditto.
19468        (-[DOMHTMLTextAreaElement _isEdited]): Ditto.
19469        (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper.
19470
19471        * bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason
19472        to have this header include all the other internal DOM headers. Removed unneeded
19473        interfaces, including the redeclaration of _init in DOMObject, since it's already
19474        inherited from WebScriptObject. Moved all the functions out of the WebCore
19475        namespace since this code is destined for WebKit, which doesn't use a namespace.
19476        Added kit and core functions for the two classes that live in this header.
19477
19478        * bindings/objc/DOMInternal.mm:
19479        (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core.
19480
19481        * bindings/objc/DOMObject.h: Made the _internal field be private instead of
19482        protected. This also allows the "#define private public" trick to be used to
19483        make the field accessible inside the bindings code.
19484
19485        * bindings/objc/DOMObject.mm:
19486        (-[DOMObject dealloc]): Updated for namespace change.
19487        (-[DOMObject sheet]): Use core and kit functions.
19488
19489        * bindings/objc/DOMRGBColor.mm:
19490        (-[DOMRGBColor dealloc]): Updated for namespace change.
19491        (-[DOMRGBColor red]): Use kit function.
19492        (-[DOMRGBColor green]): Ditto.
19493        (-[DOMRGBColor blue]): Ditto.
19494        (-[DOMRGBColor alpha]): Ditto.
19495        (core): Added. Replaces the _RGBColor method.
19496        (kit): Added. Replaces the _wrapRGBColor method.
19497
19498        * bindings/objc/DOMSVGPathSegInternal.mm:
19499        (kitClass): Added. Replaces the _wrapSVGPathSeg method.
19500
19501        * bindings/objc/DOMUtility.mm:
19502        (JSC::createDOMWrapper): Use kit function.
19503        (createDOMWrapper): Ditto.
19504
19505        * bindings/objc/DOMXPath.mm:
19506        (core): Added. Replaces the _xpathNSResolver method.
19507        (kit): Added. Replaces the _wrapXPathNSResolver method.
19508
19509        * bindings/objc/ObjCEventListener.mm:
19510        (WebCore::ObjCEventListener::find): Changed to use early return.
19511        (WebCore::ObjCEventListener::handleEvent): Use kit function.
19512
19513        * bindings/objc/ObjCNodeFilterCondition.mm:
19514        (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function.
19515
19516        * bindings/objc/WebScriptObject.mm:
19517        (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
19518        Updated for namespace change.
19519
19520        * bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license"
19521        to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName,
19522        GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature.
19523        Changed includes to conform to new scheme. Generate core and kit
19524        functions instead of methods and calls to those functions. Added a new
19525        attribute, Polymorphic, to indicate classes that have derived subclasses.
19526        Removed the old ObjCCustomInternalImpl attribute.
19527
19528        * css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions
19529        will be generated, with kit calling kitClass. This requires less hand-
19530        written code than the old ObjCCustomInternalImpl.
19531        * css/CSSValue.idl: Ditto.
19532        * css/StyleSheet.idl: Ditto.
19533        * dom/Event.idl: Ditto.
19534        * dom/Node.idl: Ditto.
19535        * html/HTMLCollection.idl: Ditto.
19536        * svg/SVGPathSeg.idl: Ditto.
19537
19538        * editing/TextAffinity.h: Moved kit and core functions out of the
19539        WebCore namespace since this code is destined for WebKit, which
19540        doesn't use a namespace
19541
19542        * platform/mac/ClipboardMac.mm:
19543        (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function.
19544
19545        * platform/mac/DragDataMac.mm:
19546        (WebCore::DragData::asFragment): Use core function.
19547
19548        * platform/mac/PasteboardMac.mm:
19549        (WebCore::Pasteboard::writeSelection): Use kit function.
19550
19551        * svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl
19552        function. This can be generated in a standard way now.
19553        * svg/SVGViewSpec.idl: Ditto.
19554
195552009-04-17  Brady Eidson  <beidson@apple.com>
19556
19557        Reviewed by Maciej Stachowiak
19558
19559        <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage
19560
19561        If the Page is in private browsing mode when a statement is queued up, flag that 
19562        statement as read-only.
19563
19564        It would be better to set the read-only flag on the database thread when it actually
19565        executes, but that would either require making Settings access a lock-protected operation
19566        or involve a synchronous callback to the WebCore thread, neither of which seem worth it.
19567        If it becomes an issue in practice, we can revisit this later.
19568
19569        Test: storage/private-browsing-readonly.html
19570
19571        * storage/Database.cpp:
19572        (WebCore::Database::setAuthorizerReadOnly):
19573        * storage/Database.h:
19574
19575        * storage/DatabaseAuthorizer.cpp:  For all action types that would alter the database,
19576          deny when in read-only mode.
19577        (WebCore::DatabaseAuthorizer::reset):
19578        (WebCore::DatabaseAuthorizer::createTable):
19579        (WebCore::DatabaseAuthorizer::dropTable):
19580        (WebCore::DatabaseAuthorizer::allowAlterTable):
19581        (WebCore::DatabaseAuthorizer::createIndex):
19582        (WebCore::DatabaseAuthorizer::dropIndex):
19583        (WebCore::DatabaseAuthorizer::createTrigger):
19584        (WebCore::DatabaseAuthorizer::dropTrigger):
19585        (WebCore::DatabaseAuthorizer::createVTable):
19586        (WebCore::DatabaseAuthorizer::dropVTable):
19587        (WebCore::DatabaseAuthorizer::allowDelete):
19588        (WebCore::DatabaseAuthorizer::allowInsert):
19589        (WebCore::DatabaseAuthorizer::allowUpdate):
19590        (WebCore::DatabaseAuthorizer::setReadOnly):
19591        * storage/DatabaseAuthorizer.h:
19592
19593        * storage/SQLStatement.cpp:
19594        (WebCore::SQLStatement::create): Add a m_readOnly flag.
19595        (WebCore::SQLStatement::SQLStatement): Ditto.
19596        (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change
19597          to read-only mode.
19598        * storage/SQLStatement.h:
19599
19600        * storage/SQLTransaction.cpp:
19601        (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is
19602          currently in private browsing mode.
19603
196042009-04-17  Eric Seidel  <eric@webkit.org>
19605
19606        Reviewed by Antti Koivisto.
19607
19608        Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
19609        https://bugs.webkit.org/show_bug.cgi?id=25268
19610
19611        Lots of minus lines.  Now we're sharing more sane code
19612        (which will respect -webkit-transforms! and scroll offsets correctly)
19613
19614        Which means this fixes:
19615        https://bugs.webkit.org/show_bug.cgi?id=20769 and
19616        https://bugs.webkit.org/show_bug.cgi?id=21968 too!
19617
19618        We're no longer expanding the paint rect "for anti-aliasing", since
19619        I can't find a case where that's required.  If it is, repaintRectInLocalCoordinates()
19620        should be fixed to handle those cases instead of here.
19621
19622        This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting)
19623        as well as improves our focus ring drawing seen in svg/custom/focus-ring
19624        focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack)
19625        Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip
19626
19627        * rendering/RenderPath.cpp:
19628        (WebCore::RenderPath::repaintRectInLocalCoordinates):
19629        (WebCore::RenderPath::setPath):
19630        * rendering/RenderPath.h:
19631        * rendering/RenderSVGContainer.cpp:
19632        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
19633        * rendering/RenderSVGContainer.h:
19634        * rendering/RenderSVGModelObject.cpp:
19635        (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
19636        (WebCore::RenderSVGModelObject::computeRectForRepaint):
19637        * rendering/RenderSVGModelObject.h:
19638        * rendering/RenderSVGRoot.cpp:
19639        (WebCore::RenderSVGRoot::computeRectForRepaint):
19640        * rendering/RenderSVGRoot.h:
19641
196422009-04-17  Chris Fleizach  <cfleizach@apple.com>
19643
19644        Reviewed by Darin Adler.
19645
19646        Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link
19647        https://bugs.webkit.org/show_bug.cgi?id=25259
19648  
19649        When a node becomes visible or hidden, accessibility needs to be told to update.
19650
19651        Test: accessibility/visible-elements.html
19652
19653        * rendering/RenderObject.cpp:
19654        (WebCore::RenderObject::styleWillChange):
19655
196562009-04-17  Kevin Ollivier  <kevino@theolliviers.com>
19657
19658        wx build fix, added missing header.
19659
19660        * platform/graphics/wx/TransformationMatrixWx.cpp:
19661
196622009-04-17  Simon Hausmann  <simon.hausmann@nokia.com>
19663
19664        Unreviewed build fix.
19665
19666        Fix the build with enabled SVG filters
19667
19668        * rendering/RenderSVGModelObject.cpp: Include SVGResourceFilter.h.
19669
196702009-04-16  Eric Roman  <eroman@chromium.org>
19671
19672        Reviewed by Dimitri Glazkov.
19673
19674        https://bugs.webkit.org/show_bug.cgi?id=25196
19675        Add a missing V8DOMMap include.
19676
19677        * bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h.
19678
196792009-04-16  Dimitri Glazkov  <dglazkov@chromium.org>
19680
19681        Reviewed by Darin Fisher.
19682
19683        https://bugs.webkit.org/show_bug.cgi?id=25260
19684        Finish V8 custom bindings for InspectorController.
19685
19686        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
19687        (WebCore::CALLBACK_FUNC_DECL): Added.
19688
196892009-04-16  Kevin Watters  <kevinwatters@gmail.com>
19690
19691        Reviewed by Kevin Ollivier.
19692
19693        Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing
19694        unnecessary conversions internally when drawing bitmaps.
19695        
19696        https://bugs.webkit.org/show_bug.cgi?id=25248
19697
19698        * platform/graphics/ImageSource.h:
19699        * platform/graphics/wx/ImageSourceWx.cpp:
19700        (WebCore::ImageSource::createFrameAtIndex):
19701        * platform/graphics/wx/ImageWx.cpp:
19702        (WebCore::BitmapImage::draw):
19703        (WebCore::BitmapImage::drawPattern):
19704
197052009-04-16  Justin Garcia  <justin.garcia@apple.com>
19706
19707        Reviewed by Dan Bernstein.
19708
19709        Performing a block style change in an editable root that contains only a br adds a newline
19710        https://bugs.webkit.org/show_bug.cgi?id=25256
19711
19712        * editing/CompositeEditCommand.cpp:
19713        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root
19714        block that didn't handle a root that contained a placeholder.
19715
197162009-04-16  Eric Seidel  <eric@webkit.org>
19717
19718        Reviewed by Simon Fraser.
19719
19720        Fix computeContainerBoundingBox to respect viewport translations
19721        https://bugs.webkit.org/show_bug.cgi?id=25254
19722
19723        Previously computeContainerBoundingBox was just adding the viewportTranslation.
19724        Which, although it has a confusing name, only contains the scale and translation
19725        for the viewBox/preserveAspectRatio adjustment.  It does not contain the
19726        translation for the x/y offset of the viewport.
19727        localToParentTransform() does contain this offset, so we use that instead
19728        of the previous hacky code.
19729
19730        * rendering/RenderSVGContainer.h:
19731        * rendering/RenderSVGViewportContainer.h:
19732        * rendering/SVGRenderSupport.cpp:
19733        (WebCore::computeContainerBoundingBox):
19734
197352009-04-16  Eric Seidel  <eric@webkit.org>
19736
19737        Reviewed by Simon Fraser.
19738
19739        Add a localToParentTransform() method which includes the
19740        full transform between local and parent local coordinates.
19741        https://bugs.webkit.org/show_bug.cgi?id=25226
19742
19743        Moved m_localTransform up into RenderSVGTransformableContainer
19744        and added a comment to RenderSVGViewportContainer to make it more
19745        clear that it does not have a localTransform().
19746
19747        This patch reveals two more failed design decisions:
19748        1.  Use of RenderBox::absoluteTransform() to mean "absoluteTransform()
19749            including only my localTransform()" callers are probably using it
19750            incorrectly anyway and are just masking bugs in the confused code.
19751        2.  computeContainerBoundingBox does not include viewport translations in
19752            its computed bounding box, so bounding boxes will be off for parents of
19753            inner <svg> elements.  I'll fix this an updated the results in a separate change.
19754
19755        No functional changes, thus no tests.
19756
19757        * rendering/RenderObject.cpp:
19758        (WebCore::RenderObject::localToParentTransform):
19759        (WebCore::RenderObject::absoluteTransform):
19760        * rendering/RenderObject.h:
19761        * rendering/RenderSVGContainer.cpp:
19762        (WebCore::RenderSVGContainer::layout):
19763        * rendering/RenderSVGContainer.h:
19764        (WebCore::RenderSVGContainer::viewportTransform):
19765        * rendering/RenderSVGHiddenContainer.cpp:
19766        * rendering/RenderSVGHiddenContainer.h:
19767        (WebCore::RenderSVGHiddenContainer::absoluteTransform):
19768        * rendering/RenderSVGRoot.cpp:
19769        (WebCore::RenderSVGRoot::localToParentTransform):
19770        (WebCore::RenderSVGRoot::absoluteTransform):
19771        * rendering/RenderSVGRoot.h:
19772        * rendering/RenderSVGTransformableContainer.cpp:
19773        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
19774        (WebCore::RenderSVGTransformableContainer::localTransform):
19775        * rendering/RenderSVGTransformableContainer.h:
19776        * rendering/RenderSVGViewportContainer.cpp:
19777        (WebCore::RenderSVGViewportContainer::localToParentTransform):
19778        (WebCore::RenderSVGViewportContainer::absoluteTransform):
19779        * rendering/RenderSVGViewportContainer.h:
19780        * rendering/SVGRenderSupport.cpp:
19781        (WebCore::computeContainerBoundingBox):
19782
197832009-04-16  Adam Langley  <agl@google.com>
19784
19785        Reviewed by Darin Fisher.
19786
19787        Fix Chromium's rendering of <option> elements inside of <optgroups>.
19788
19789        https://bugs.webkit.org/show_bug.cgi?id=25244
19790
19791        Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):
19792
19793        <select>
19794          <optgroup label="Should be bold">
19795            <option>Should not be bold</option>
19796          </optgroup>
19797        </select>
19798
19799        * css/themeWin.css: adding comments
19800        * platform/chromium/PopupMenuChromium.cpp:
19801        (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
19802
198032009-04-16  Eric Roman  <eroman@chromium.org>
19804
19805        Reviewed by Alexey Proskuryakov.
19806
19807        https://bugs.webkit.org/show_bug.cgi?id=25218
19808
19809        Make DOMWindow::inlineEventListenerForType not have the "inline"
19810        keyword. As this method gets used outside of DOMWindow.
19811
19812        * page/DOMWindow.cpp:
19813        (WebCore::DOMWindow::inlineEventListenerForType):
19814
198152009-04-16  Greg Bolsinga  <bolsinga@apple.com>
19816
19817        Reviewed by Antti Koivisto.
19818
19819        Fix <rdar://problem/6766969>
19820        
19821        When deferred repaints are enabled and being reset and there is a active
19822        timer, stop the timer and do the deferred repaints immediately.
19823
19824        * page/FrameView.cpp:
19825        (WebCore::FrameView::resetDeferredRepaintDelay):
19826
198272009-04-16  Xan Lopez  <xlopez@igalia.com>
19828
19829        Reviewed by Sam Weinig.
19830
19831        https://bugs.webkit.org/show_bug.cgi?id=25241
19832        Remove superfluous NotImplemented.h includes.
19833
19834        * html/CanvasRenderingContext2D.cpp:
19835        * html/CanvasStyle.cpp:
19836        * page/AccessibilityRenderObject.cpp:
19837        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
19838        * platform/graphics/GraphicsContext.cpp:
19839        * platform/graphics/cairo/ImageBufferCairo.cpp:
19840        * platform/graphics/cairo/PathCairo.cpp:
19841        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
19842        * platform/graphics/gtk/FontGtk.cpp:
19843        * platform/graphics/gtk/IconGtk.cpp:
19844        * platform/graphics/qt/IconQt.cpp:
19845        * platform/graphics/qt/ImageQt.cpp:
19846        * platform/graphics/qt/ImageSourceQt.cpp:
19847        * platform/graphics/skia/ImageBufferSkia.cpp:
19848        * platform/graphics/skia/ImageSkia.cpp:
19849        * platform/graphics/win/ColorSafari.cpp:
19850        * platform/graphics/win/FontWin.cpp:
19851        * platform/graphics/win/GraphicsContextCGWin.cpp:
19852        * platform/graphics/win/GraphicsContextCairoWin.cpp:
19853        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
19854        * platform/graphics/wx/ImageWx.cpp:
19855        * platform/graphics/wx/TransformationMatrixWx.cpp:
19856        * platform/gtk/PlatformScreenGtk.cpp:
19857        * platform/gtk/PopupMenuGtk.cpp:
19858        * platform/gtk/ScrollViewGtk.cpp:
19859        * platform/gtk/ScrollbarGtk.cpp:
19860        * platform/network/cf/ResourceHandleCFNet.cpp:
19861        * platform/posix/FileSystemPOSIX.cpp:
19862        * platform/qt/DragDataQt.cpp:
19863        * platform/qt/FileSystemQt.cpp:
19864        * platform/qt/Localizations.cpp:
19865        * platform/qt/PopupMenuQt.cpp:
19866        * platform/win/EditorWin.cpp:
19867        * platform/win/PasteboardWin.cpp:
19868        * platform/wx/KeyboardEventWx.cpp:
19869        * platform/wx/PopupMenuWx.cpp:
19870        * platform/wx/SharedTimerWx.cpp:
19871        * plugins/gtk/PluginViewGtk.cpp:
19872        * plugins/mac/PluginPackageMac.cpp:
19873        * plugins/qt/PluginPackageQt.cpp:
19874        * plugins/win/PluginViewWin.cpp:
19875        * rendering/RenderThemeChromiumLinux.cpp:
19876        * svg/graphics/SVGImage.cpp:
19877
198782009-04-16  Geoffrey Garen  <ggaren@apple.com>
19879
19880        Reviewed by Sam Weinig.
19881
19882        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
19883        Unbounded memory growth when churning elements with anonymous event handler functions
19884        
19885        Some cleanup in event handling code.
19886
19887        * bindings/js/JSDOMGlobalObject.cpp:
19888        * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener
19889        and findJSProtectedEventListener because they are now unused.
19890
19891        * bindings/js/JSEventListener.cpp:
19892        * bindings/js/JSEventListener.h:
19893        (WebCore::JSEventListener::clearGlobalObject):
19894        * bindings/js/JSLazyEventListener.cpp:
19895        (WebCore::JSLazyEventListener::JSLazyEventListener):
19896        (WebCore::JSLazyEventListener::~JSLazyEventListener):
19897        (WebCore::JSLazyEventListener::globalObject):
19898        * bindings/js/JSLazyEventListener.h:
19899        (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener,
19900        and merged it with JSLazyEventListener, the only remaining event listener
19901        that still GC-protects its function and global object.
19902
19903        * bindings/js/ScriptController.cpp:
19904        (WebCore::ScriptController::ScriptController):
19905        * bindings/js/ScriptController.h:
19906        (WebCore::ScriptController::setEventHandlerLineNumber):
19907        (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno =>
19908        handlerLineNumber, because anything less would be uncivilized. Removed
19909        createInlineEventListener because it mostly did irrelevent work, so it
19910        just got in the way of understanding how event handler creation works.
19911
19912        * dom/Document.cpp:
19913        (WebCore::Document::createEventListener):
19914        * dom/XMLTokenizerLibxml2.cpp:
19915        (WebCore::XMLTokenizer::startElementNs):
19916        * html/HTMLTokenizer.cpp:
19917        (WebCore::HTMLTokenizer::processToken): Ditto.
19918
199192009-04-16  Beth Dakin  <bdakin@apple.com>
19920
19921        Reviewed by Dave Hyatt.
19922
19923        Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
19924        crashes on load due to messy HTML in search form
19925        -and corresponding-
19926        <rdar://problem/6210633>
19927
19928        Before this patch, <form>s were allowed to sit inside tables 
19929        without being wrapped by anonymous table parts. There was also a 
19930        concept that such a form could be "demoted" and would not be 
19931        allowed to have any children. This patch has the HTML parser mark 
19932        form elements that have been demoted as such, and then the demoted 
19933        forms are not given renderers. I also removed the code that allowed 
19934        forms to sit in tables without anonymous table sections. So now any 
19935        forms that do manage to get a renderer inside a table will also be 
19936        wrapped with appropriate table parts.
19937
19938        * html/HTMLFormElement.cpp:
19939        (WebCore::HTMLFormElement::HTMLFormElement):
19940        (WebCore::HTMLFormElement::rendererIsNeeded):
19941        * html/HTMLFormElement.h:
19942        (WebCore::HTMLFormElement::setDemoted):
19943        (WebCore::HTMLFormElement::isDemoted):
19944        * html/HTMLParser.cpp:
19945        (WebCore::HTMLParser::insertNode):
19946        * rendering/RenderTable.cpp:
19947        (WebCore::RenderTable::addChild):
19948        * rendering/RenderTableRow.cpp:
19949        (WebCore::RenderTableRow::addChild):
19950        * rendering/RenderTableSection.cpp:
19951        (WebCore::RenderTableSection::addChild):
19952
199532009-04-16  Xiaomei Ji  <xji@chromium.org>
19954
19955        Reviewed by Simon Fraser.
19956
19957        Fix https://bugs.webkit.org/show_bug.cgi?id=24527
19958        caret does not paint the first time you focus on a 0px right padding RTL div
19959
19960        Test: fast/forms/caret-rtl.html
19961
19962        * rendering/RenderBlock.cpp:
19963        (WebCore::RenderBlock::localCaretRect): When calculating x-axis if 
19964        alignment is alignRight, we need to subtract the caretWidth so that the
19965        caret at IntRect(x, y, caretWidth, height) is inside the block.
19966
199672009-04-16  Justin Garcia  <justin.garcia@apple.com>
19968
19969        Reviewed by Simon Fraser.
19970
19971        https://bugs.webkit.org/show_bug.cgi?id=25228
19972        SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
19973        
19974        Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).
19975
19976        * editing/SelectionController.cpp:
19977        (WebCore::SelectionController::localCaretRect):
19978        (WebCore::SelectionController::absoluteBoundsForLocalRect):
19979        (WebCore::SelectionController::caretRepaintRect):
19980        (WebCore::SelectionController::recomputeCaretRect):
19981        * editing/SelectionController.h:
19982
199832009-04-16  Pierre d'Herbemont  <pdherbemont@apple.com>
19984
19985        Reviewed by Simon Fraser.
19986
19987        https://bugs.webkit.org/show_bug.cgi?id=25187
19988        Bug 25187: <video> may not be rendered upon certain racy conditions
19989
19990        Always create the video renderer when the load state reaches QTMovieLoadStateLoaded and
19991        the element is visible, not just when the movie has just been opened.
19992
19993        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
19994        (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false
19995        assumption on the state changes order. Create the renderer if none is present,
19996        when movie is loaded instead.
19997
199982009-04-16  Eric Seidel  <eric@webkit.org>
19999
20000        Reviewed by Geoffrey Garen.
20001
20002        Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code
20003
20004        RenderSVGModelObject has much more interesting code it can share,
20005        but I'm just trying to get the commits out of my local branch and into
20006        the repository in any order I can. :)  This one was small.
20007
20008        This will be used by the unified RenderSVGModelObject
20009        clippedOverflowRectForRepaint patch coming soon.
20010
20011        * rendering/RenderPath.cpp:
20012        (WebCore::RenderPath::clippedOverflowRectForRepaint):
20013        * rendering/RenderSVGContainer.cpp:
20014        (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
20015        * rendering/RenderSVGModelObject.cpp:
20016        (WebCore::RenderSVGModelObject::filterBoundingBox):
20017        * rendering/RenderSVGModelObject.h:
20018
200192009-04-16  Geoffrey Garen  <ggaren@apple.com>
20020
20021        Reviewed by Eric Seidel and Adam Roben.
20022
20023        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
20024        Unbounded memory growth when churning elements with anonymous event handler functions
20025        
20026        Simplified some EventHandler creation code.
20027        
20028        Removed a pile of code whose sole purpose was to allow SVG event handlers
20029        to supply a parameter named "evt" instead of the normal "event", and
20030        replaced it with a single parameter to JSLazyEventListener's constructor
20031        specifying the parameter name to use.
20032
20033        * bindings/js/JSDOMWindowBase.h:
20034        * bindings/js/JSLazyEventListener.cpp:
20035        (WebCore::JSLazyEventListener::JSLazyEventListener):
20036        (WebCore::JSLazyEventListener::parseCode):
20037        * bindings/js/JSLazyEventListener.h:
20038        (WebCore::JSLazyEventListener::create):
20039        * bindings/js/ScriptController.cpp:
20040        (WebCore::ScriptController::createInlineEventListener):
20041        * bindings/js/ScriptController.h:
20042        * dom/Document.cpp:
20043        (WebCore::Document::createEventListener):
20044
200452009-04-15  Eric Seidel  <eric@webkit.org>
20046
20047        Reviewed by David Hyatt.
20048
20049        Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
20050        in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
20051        https://bugs.webkit.org/show_bug.cgi?id=25224
20052
20053        objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"
20054
20055        repaintRectInLocalCoordinates() should return the a rect covering all painted content.
20056        However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
20057        in this patch.  In a future patch, repaintRectInLocalCoordinates will be fixed to return
20058        a rect covering all painted content.  In order to avoid changing several hundred layout test results, I've left
20059        the behavior as-is for now.  The returned rect is used by various repaintRectInLocalCoordinates
20060        implementations and sometimes adjusted to include all painted content, but not always, and
20061        the places where the adjustments are made are sometimes wrong.  Again, will be fixed in
20062        an upcoming patch.
20063
20064        This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
20065        bounding-box relative gradients on SVGFont glyphs to not paint correctly.
20066        I chose not to try and fix the bug in this patch and instead left a FIXME.
20067
20068        This patch also discovered that at least tspan.getBBox() is broken.  This
20069        along with the foreignObject.getBBox() change will be tested (and fixed) in a
20070        later patch.  https://bugs.webkit.org/show_bug.cgi?id=25225
20071
20072        No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.
20073
20074        * rendering/RenderForeignObject.cpp:
20075        (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch
20076        (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
20077        * rendering/RenderForeignObject.h:
20078        * rendering/RenderObject.cpp:
20079        (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented.
20080        (WebCore::RenderObject::repaintRectInLocalCoordinates):
20081        * rendering/RenderObject.h:
20082        * rendering/RenderPath.cpp:
20083        (WebCore::RenderPath::objectBoundingBox):
20084        (WebCore::RenderPath::repaintRectInLocalCoordinates):
20085        (WebCore::RenderPath::clippedOverflowRectForRepaint):
20086        (WebCore::RenderPath::lineHeight):
20087        (WebCore::RenderPath::baselinePosition):
20088        (WebCore::RenderPath::paint):
20089        (WebCore::RenderPath::addFocusRingRects):
20090        * rendering/RenderPath.h:
20091        * rendering/RenderSVGContainer.cpp:
20092        (WebCore::RenderSVGContainer::paint):
20093        (WebCore::RenderSVGContainer::objectBoundingBox):
20094        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
20095        * rendering/RenderSVGContainer.h:
20096        * rendering/RenderSVGGradientStop.h:
20097        (WebCore::RenderSVGGradientStop::objectBoundingBox):
20098        (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
20099        * rendering/RenderSVGHiddenContainer.cpp:
20100        (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
20101        (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
20102        * rendering/RenderSVGHiddenContainer.h:
20103        * rendering/RenderSVGImage.cpp:
20104        (WebCore::RenderSVGImage::objectBoundingBox):
20105        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
20106        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
20107        (WebCore::RenderSVGImage::addFocusRingRects):
20108        * rendering/RenderSVGImage.h:
20109        * rendering/RenderSVGRoot.cpp:
20110        (WebCore::RenderSVGRoot::paint):
20111        (WebCore::RenderSVGRoot::objectBoundingBox):
20112        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
20113        * rendering/RenderSVGRoot.h:
20114        * rendering/RenderSVGTSpan.h:
20115        (WebCore::RenderSVGTSpan::objectBoundingBox):
20116        (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
20117        * rendering/RenderSVGText.cpp:
20118        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
20119        (WebCore::RenderSVGText::absoluteRects):
20120        (WebCore::RenderSVGText::absoluteQuads):
20121        (WebCore::RenderSVGText::objectBoundingBox):
20122        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
20123        * rendering/RenderSVGText.h:
20124        * rendering/RenderSVGViewportContainer.cpp:
20125        (WebCore::RenderSVGViewportContainer::viewportTransform):
20126        * rendering/SVGRenderSupport.cpp:
20127        (WebCore::computeContainerBoundingBox):
20128        * rendering/SVGRenderSupport.h:
20129        * rendering/SVGRenderTreeAsText.cpp:
20130        (WebCore::operator<<):
20131        * svg/SVGFont.cpp:
20132        (WebCore::Font::drawTextUsingSVGFont):
20133        * svg/SVGLocatable.cpp:
20134        (WebCore::SVGLocatable::getBBox):
20135        * svg/SVGPatternElement.cpp:
20136        (WebCore::SVGPatternElement::buildPattern):
20137        * svg/graphics/SVGPaintServerGradient.cpp:
20138        (WebCore::createMaskAndSwapContextForTextGradient):
20139        (WebCore::clipToTextMask):
20140        (WebCore::SVGPaintServerGradient::setup):
20141        * svg/graphics/SVGPaintServerPattern.cpp:
20142        (WebCore::SVGPaintServerPattern::setup):
20143
201442009-04-16  Dan Bernstein  <mitz@apple.com>
20145
20146        Reviewed by Darin Adler.
20147
20148        - fix <rdar://problem/6032139> Table cell widths calculated
20149          incorrectly on table that uses table-layout:fixed, colspans, and a mix
20150          of percentage and pixel widths
20151
20152        Test: fast/table/fixed-granular-cols.html
20153
20154        The incorrect widths resulted from incorrect handling of the case where
20155        the <col> elements are more granular than the table cells.
20156
20157        * rendering/FixedTableLayout.cpp:
20158        (WebCore::FixedTableLayout::calcWidthArray): When processing <col>
20159        elements, append effective columns or split existing effective columns
20160        as needed.
20161
201622009-04-16  Alexey Proskuryakov  <ap@webkit.org>
20163
20164        <rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential
20165
20166        Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of
20167        authentication challenge are different, after all. Added a FIXME comment about a possible
20168        future improvement.
20169
20170        * platform/network/ResourceHandle.cpp:
20171        (WebCore::ResourceHandle::clearAuthentication):
20172        * platform/network/ResourceHandleInternal.h:
20173        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
20174        * platform/network/cf/ResourceHandleCFNet.cpp:
20175        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
20176        (WebCore::ResourceHandle::receivedCredential):
20177        (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
20178        (WebCore::ResourceHandle::receivedCancellation):
20179        * platform/network/mac/ResourceHandleMac.mm:
20180        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
20181        (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
20182        (WebCore::ResourceHandle::receivedCredential):
20183        (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
20184        (WebCore::ResourceHandle::receivedCancellation):
20185
201862009-04-15  Geoffrey Garen  <ggaren@apple.com>
20187
20188        Reviewed by Sam Weinig.
20189        
20190        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
20191        Unbounded memory growth when churning elements with anonymous event handler functions
20192
20193        Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
20194        a page with breakpoints set
20195        
20196        * bindings/js/JSEventListener.cpp:
20197        (WebCore::JSEventListener::clearJSFunctionInline):
20198        (WebCore::JSEventListener::markJSFunction):
20199        * bindings/js/JSEventListener.h: Actually clear our function and global
20200        object pointers when our client instructs us to. (Oops!) Also, mark
20201        our global object while we still intend to use it.
20202
20203        * bindings/js/JSSVGElementInstanceCustom.cpp:
20204        (WebCore::JSSVGElementInstance::mark):
20205        (WebCore::toJS):
20206        * bindings/scripts/CodeGeneratorJS.pm:
20207        * svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure
20208        that the corresponding element also has a wrapper, to keep its event
20209        listeners alive.
20210
202112009-04-15  Dimitri Glazkov  <dglazkov@chromium.org>
20212
20213        Reviewed by Darin Fisher.
20214
20215        https://bugs.webkit.org/show_bug.cgi?id=25201
20216        Add ScriptFunctionCall/ScriptObject for V8.
20217
20218        * bindings/v8/ScriptFunctionCall.cpp: Added.
20219        * bindings/v8/ScriptFunctionCall.h: Added.
20220        * bindings/v8/ScriptObject.cpp: Added.
20221        * bindings/v8/ScriptObject.h: Added.
20222        * bindings/v8/ScriptObjectQuarantine.cpp: Added.
20223        * bindings/v8/ScriptObjectQuarantine.h: Added.
20224        * bindings/v8/ScriptScope.cpp: Added.
20225        * bindings/v8/ScriptScope.h: Added.
20226        * bindings/v8/ScriptState.h:
20227        (WebCore::ScriptState::ScriptState): Added new constructors.
20228        (WebCore::ScriptState::frame): Added Frame ptr accessor.
20229        * bindings/v8/ScriptString.h:
20230        (WebCore::ScriptString::ScriptString): Added default constructor.
20231        * bindings/v8/ScriptValue.h:
20232        (WebCore::ScriptValue::isEqual): Added.
20233
202342009-04-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
20235
20236        Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.
20237
20238        * GNUmakefile.am:
20239
202402009-04-15  Steve Falkenburg  <sfalken@apple.com>
20241
20242        <rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4
20243
20244        Reviewed by Adam Roben.
20245
20246        * platform/network/ResourceRequestBase.cpp:
20247        * platform/network/cf/ResourceRequestCFNet.cpp:
20248        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
20249
202502009-04-15  Sam Weinig  <sam@webkit.org>
20251
20252        Reviewed by Mark Rowe.
20253
20254        Add special casing to bindings generator so that custom functions
20255        starting with xml or xslt conform to WebKit style guidelines.
20256
20257        * bindings/js/JSDOMWindowCustom.cpp:
20258        (WebCore::JSDOMWindow::xmlHttpRequest):
20259        (WebCore::JSDOMWindow::xsltProcessor):
20260        * bindings/scripts/CodeGenerator.pm:
20261
202622009-04-15  Eric Seidel  <eric@webkit.org>
20263
20264        Reviewed by Simon Fraser.
20265
20266        Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
20267        https://bugs.webkit.org/show_bug.cgi?id=25221
20268        
20269        RenderSVGModelObject is the base rendering class for things which live
20270        in the SVG rendering tree.  Not all SVG renders are RenderSVGModelObjects yet.
20271        
20272        More patches coming.  This is just adding the class, future patches
20273        will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.
20274
20275        * WebCore.pro:
20276        * WebCore.scons:
20277        * WebCore.vcproj/WebCore.vcproj:
20278        * WebCore.xcodeproj/project.pbxproj:
20279        * rendering/RenderPath.cpp:
20280        (WebCore::RenderPath::RenderPath):
20281        * rendering/RenderPath.h:
20282        * rendering/RenderSVGContainer.cpp:
20283        (WebCore::RenderSVGContainer::RenderSVGContainer):
20284        * rendering/RenderSVGContainer.h:
20285        * rendering/RenderSVGModelObject.cpp: Added.
20286        (WebCore::RenderSVGModelObject::RenderSVGModelObject):
20287        * rendering/RenderSVGModelObject.h: Added.
20288        (WebCore::RenderSVGModelObject::requiresLayer):
20289        * rendering/RenderTreeAsText.cpp:
20290        * rendering/SVGRenderTreeAsText.cpp:
20291
202922009-04-15  Eric Seidel  <eric@webkit.org>
20293
20294        Reviewed by Simon Fraser.
20295
20296        Remove more dead code from RenderSVGHiddenContainer.
20297
20298        lineHeight and baselinePosition used to be on RenderSVGContainer
20299        (of which this is a subclass) because RenderSVGContainer used
20300        to be a RenderBox and always the renderer for <svg>
20301        Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
20302        and RenderSVGViewportContainer (when inside SVG content)
20303        so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.
20304
20305        * rendering/RenderSVGHiddenContainer.cpp:
20306        * rendering/RenderSVGHiddenContainer.h:
20307
203082009-04-15  Eric Seidel  <eric@webkit.org>
20309
20310        Reviewed by Simon Fraser.
20311
20312        Remove unneeded (broken) code from SVG renderers
20313        https://bugs.webkit.org/show_bug.cgi?id=25214
20314
20315        Mostly due to my historical confusions about the render tree
20316        and some methods not being removed after classes were split.
20317
20318        RenderSVGRoot is an RenderBox and should just use all the
20319        standard RenderBox methods for inspector and repaint rects.
20320
20321        RenderSVGContainer is *not* a RenderBox (any more) and thus
20322        doesn't need lineHeight or width/height or calcBounds.
20323
20324        RenderSVGViewportContainer had some broken code which tried
20325        to see if the click was inside the container at all, but it
20326        was using width/height metrics based off of the containing
20327        block (from calcWidth) which is wrong (since its real
20328        width/height are from its containing viewport not containing block).
20329
20330        * rendering/RenderSVGContainer.cpp:
20331        (WebCore::RenderSVGContainer::RenderSVGContainer):
20332        (WebCore::RenderSVGContainer::layout):
20333        * rendering/RenderSVGContainer.h:
20334        * rendering/RenderSVGRoot.cpp:
20335        * rendering/RenderSVGRoot.h:
20336        * rendering/RenderSVGViewportContainer.cpp:
20337        (WebCore::RenderSVGViewportContainer::layout):
20338        (WebCore::RenderSVGViewportContainer::nodeAtPoint):
20339
203402009-04-15  Eric Seidel  <eric@webkit.org>
20341
20342        Reviewed by Simon Fraser and Sam Weinig.
20343
20344        https://bugs.webkit.org/show_bug.cgi?id=25217
20345        Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
20346        Add ASSERT(element) to all these functions since they should never be passed a null element.
20347
20348        * svg/SVGLocatable.cpp:
20349        (WebCore::isViewportElement):
20350        (WebCore::SVGLocatable::nearestViewportElement):
20351        (WebCore::SVGLocatable::farthestViewportElement):
20352        (WebCore::SVGLocatable::getBBox):
20353        (WebCore::SVGLocatable::getCTM):
20354        (WebCore::SVGLocatable::getScreenCTM):
20355
203562009-04-15  Sam Weinig  <sam@webkit.org>
20357
20358        Reviewed by Anders Carlsson.
20359
20360        Remove support for the ObjCIvar extended attribute from the Objective-C
20361        bindings generator.  It is not used anymore.
20362
20363        * bindings/scripts/CodeGeneratorObjC.pm:
20364
203652009-04-15  Justin Garcia  <justin.garcia@apple.com>
20366
20367        Reviewed by Dan Bernstein.
20368
20369        https://bugs.webkit.org/show_bug.cgi?id=25204
20370        Create a fast path for ReplaceSelectionCommand that merges text nodes
20371        
20372        During simple pastes, where we're just pasting a text node into a run of text, we would split the current
20373        text and insert the new node in between.  This is slow and we hit this bug:
20374
20375        https://bugs.webkit.org/show_bug.cgi?id=6148
20376
20377        in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.
20378        
20379        This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
20380        text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).
20381
20382        * editing/ReplaceSelectionCommand.cpp:
20383        (WebCore::ReplaceSelectionCommand::doApply):
20384        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
20385        * editing/ReplaceSelectionCommand.h:
20386        * editing/TextIterator.cpp:
20387
203882009-04-15  Adam Langley  <agl@google.com>
20389
20390        Reviewed by Darin Fisher.
20391
20392        Move VDMX parsing into the Chromium Linux port.
20393
20394        https://bugs.webkit.org/show_bug.cgi?id=25116
20395
20396        VDMX tables are optional tables in TrueType fonts which contain the
20397        exact pixel height of a given font at a given pel size. In order to
20398        match Windows font metrics we have to use these numbers.
20399
20400        Previously, the parsing was performed in Skia. As part of the merge
20401        with upstream Skia, an interface for getting table data from a font
20402        has been added to Skia and we're moving the parsing into WebKit.
20403
20404        This does not change any layout tests.
20405
20406        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
20407        (WebCore::FontPlatformData::uniqueID):
20408        * platform/graphics/chromium/FontPlatformDataLinux.h:
20409        * platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
20410        * platform/graphics/chromium/FontTrueTypeLinux.h: Added.
20411        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
20412        (WebCore::SimpleFontData::platformInit):
20413        (WebCore::SimpleFontData::platformWidthForGlyph):
20414
204152009-04-15  Stephen White  <senorblanco@chromium.org>
20416
20417        Reviewed by Dimitri Glazkov.
20418
20419        https://bugs.webkit.org/show_bug.cgi?id=25180
20420
20421        Restore stroked outlines to PlatformContextSkia::drawRect().
20422        These were removed inadvertently in r41805, aka
20423        https://bugs.webkit.org/show_bug.cgi?id=24662.
20424        SkRect is { left, top, right, bottom }, not { left, top, width, height }.
20425
20426        * platform/graphics/skia/PlatformContextSkia.cpp:
20427        (PlatformContextSkia::drawRect):
20428
204292009-04-15  Dan Bernstein  <mitz@apple.com>
20430
20431        Reviewed by Dave Hyatt.
20432
20433        - fix <rdar://problem/6777374> Generated content with display: run-in
20434          causes a crash
20435
20436        Test: fast/runin/generated.html
20437
20438        * rendering/RenderBlock.cpp:
20439        (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is
20440        generated, and if so, make the RenderInline anonymous instead of passing
20441        a 0 node to the RenderInline constructor. If the run-in itself is
20442        generated, do move :before and :after children from the block into the
20443        inline, as they will not be regenerated. Changed nested ifs into early
20444        returns.
20445
204462009-04-15  Eric Roman  <eroman@chromium.org>
20447
20448        Reviewed by Geoffrey Garen.
20449
20450        https://bugs.webkit.org/show_bug.cgi?id=25192
20451
20452        Expose DOMWindow::removeInlineEventListenerForType and
20453        DOMWindow::inlineEventListenerForType as public.
20454
20455        * page/DOMWindow.h:
20456
204572009-04-14  Eric Roman  <eroman@chromium.org>
20458
20459        Reviewed by Darin Adler.
20460
20461        https://bugs.webkit.org/show_bug.cgi?id=25198
20462
20463        Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
20464        in a USE(JSC), since it doesn't compile with V8 bindings.
20465
20466        * dom/RegisteredEventListener.h:
20467
204682009-04-15  Eric Roman  <eroman@chromium.org>
20469
20470        Reviewed by Darin Adler.
20471
20472        https://bugs.webkit.org/show_bug.cgi?id=25194
20473
20474        Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
20475        use the new name.
20476
20477        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20478
204792009-04-14  Alexey Proskuryakov  <ap@webkit.org>
20480
20481        Rubber-stamped by Darin Adler.
20482
20483        Don't keep platform objects for authentication challenge in ResourceHandleInternal.
20484        We already have a copy in AuthenticationChallenge object.
20485
20486        * platform/network/ResourceHandle.cpp:
20487        (WebCore::ResourceHandle::clearAuthentication):
20488        * platform/network/ResourceHandleInternal.h:
20489        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
20490        * platform/network/cf/ResourceHandleCFNet.cpp:
20491        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
20492        (WebCore::ResourceHandle::receivedCredential):
20493        (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
20494        (WebCore::ResourceHandle::receivedCancellation):
20495        * platform/network/mac/ResourceHandleMac.mm:
20496        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
20497        (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
20498        (WebCore::ResourceHandle::receivedCredential):
20499        (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
20500        (WebCore::ResourceHandle::receivedCancellation):
20501
205022009-04-14  Geoffrey Garen  <ggaren@apple.com>
20503
20504        Reviewed by Sam Weinig.
20505
20506        Nixed some now-defunct autogeneration code.
20507
20508        * bindings/scripts/CodeGeneratorJS.pm:
20509
205102009-04-14  Eric Carlson  <eric.carlson@apple.com>
20511
20512        Reviewed by Alexey Proskuryakov.
20513        
20514        Fix <rdar://problem/6755724> <audio> and <video> elements can reference local 
20515        file:/// URLs from remote in Safari
20516
20517        Tests: http/tests/security/local-video-poster-from-remote.html
20518               http/tests/security/local-video-source-from-remote.html
20519               http/tests/security/local-video-src-from-remote.html
20520
20521        * html/HTMLMediaElement.cpp:
20522        (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine unless loader->canLoad()
20523        says it is OK.
20524
205252009-04-14  Sam Weinig  <sam@webkit.org>
20526
20527        Reviewed by Darin Adler.
20528
20529        Part of <rdar://problem/6150868>
20530        Fix incorrect handling of content that needs to go into the head element
20531        once the head element has been removed.
20532
20533        Test: fast/parser/head-content-after-head-removal.html
20534
20535        * html/HTMLParser.cpp:
20536        (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head.
20537        (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr.
20538        (WebCore::HTMLParser::createHead): Ditto.
20539        * html/HTMLParser.h: Make m_head a RefPtr.
20540
205412009-04-14  Geoffrey Garen  <ggaren@apple.com>
20542
20543        Used svn merge -r42529:42528 to roll out my last patch because it broke
20544        the build.
20545
20546        * bindings/js/JSDOMGlobalObject.cpp:
20547        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
20548        (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
20549        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
20550        (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
20551        (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
20552        * bindings/js/JSDOMGlobalObject.h:
20553
205542009-04-14  Geoffrey Garen  <ggaren@apple.com>
20555
20556        Reviewed by Sam Weinig.
20557
20558        Nixed some now-dead code related to protected event listeners.
20559
20560        * bindings/js/JSDOMGlobalObject.cpp:
20561        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
20562        * bindings/js/JSDOMGlobalObject.h:
20563
205642009-04-14  Geoffrey Garen  <ggaren@apple.com>
20565
20566        Reviewed by Sam Weinig.
20567
20568        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
20569        Unbounded memory growth when churning elements with anonymous event handler functions
20570
20571        Stop using protected event listeners on SVGElementInstance.
20572
20573        * bindings/js/JSSVGElementInstanceCustom.cpp:
20574        (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since
20575        they're not protected anymore.
20576
20577        (WebCore::JSSVGElementInstance::addEventListener):
20578        (WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
20579        event listeners, since we mark them now.
20580
20581        * bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener
20582        invalidation for SVGElementInstance.
20583
20584        * svg/SVGElementInstance.h:
20585        (WebCore::SVGElementInstance::eventListeners): Added an accessor, for
20586        the sake of autogenerated code.
20587
20588        * svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute
20589        from event listener properties. Added a CustomMarkFunction attribute,
20590        since we need to mark our event listeners.
20591
205922009-04-14  Steve Falkenburg  <sfalken@apple.com>
20593
20594        Windows build fix.
20595
20596        * WebCore.vcproj/WebCore.vcproj:
20597
205982009-04-14  Steve Falkenburg  <sfalken@apple.com>
20599
20600        Add header guards to WebCore forwarding headers.
20601        
20602        Speeds up WebCore debug build on Windows by 12% on my system,
20603        since Visual Studio appears to not optimize for standard header
20604        guards in included files.
20605        
20606        Rubber stamped by Ada Chan.
20607
20608        * ForwardingHeaders/debugger/Debugger.h:
20609        * ForwardingHeaders/debugger/DebuggerActivation.h:
20610        * ForwardingHeaders/debugger/DebuggerCallFrame.h:
20611        * ForwardingHeaders/interpreter/CallFrame.h:
20612        * ForwardingHeaders/interpreter/Interpreter.h:
20613        * ForwardingHeaders/masm/X86Assembler.h:
20614        * ForwardingHeaders/parser/Parser.h:
20615        * ForwardingHeaders/parser/SourceCode.h:
20616        * ForwardingHeaders/parser/SourceProvider.h:
20617        * ForwardingHeaders/pcre/pcre.h:
20618        * ForwardingHeaders/profiler/Profile.h:
20619        * ForwardingHeaders/profiler/ProfileNode.h:
20620        * ForwardingHeaders/profiler/Profiler.h:
20621        * ForwardingHeaders/runtime/ArgList.h:
20622        * ForwardingHeaders/runtime/ArrayPrototype.h:
20623        * ForwardingHeaders/runtime/BooleanObject.h:
20624        * ForwardingHeaders/runtime/CallData.h:
20625        * ForwardingHeaders/runtime/Collector.h:
20626        * ForwardingHeaders/runtime/CollectorHeapIterator.h:
20627        * ForwardingHeaders/runtime/Completion.h:
20628        * ForwardingHeaders/runtime/ConstructData.h:
20629        * ForwardingHeaders/runtime/DateInstance.h:
20630        * ForwardingHeaders/runtime/Error.h:
20631        * ForwardingHeaders/runtime/FunctionConstructor.h:
20632        * ForwardingHeaders/runtime/FunctionPrototype.h:
20633        * ForwardingHeaders/runtime/Identifier.h:
20634        * ForwardingHeaders/runtime/InitializeThreading.h:
20635        * ForwardingHeaders/runtime/InternalFunction.h:
20636        * ForwardingHeaders/runtime/JSArray.h:
20637        * ForwardingHeaders/runtime/JSByteArray.h:
20638        * ForwardingHeaders/runtime/JSFunction.h:
20639        * ForwardingHeaders/runtime/JSGlobalData.h:
20640        * ForwardingHeaders/runtime/JSGlobalObject.h:
20641        * ForwardingHeaders/runtime/JSLock.h:
20642        * ForwardingHeaders/runtime/JSNumberCell.h:
20643        * ForwardingHeaders/runtime/JSObject.h:
20644        * ForwardingHeaders/runtime/JSString.h:
20645        * ForwardingHeaders/runtime/JSValue.h:
20646        * ForwardingHeaders/runtime/Lookup.h:
20647        * ForwardingHeaders/runtime/ObjectPrototype.h:
20648        * ForwardingHeaders/runtime/Operations.h:
20649        * ForwardingHeaders/runtime/PropertyMap.h:
20650        * ForwardingHeaders/runtime/PropertyNameArray.h:
20651        * ForwardingHeaders/runtime/Protect.h:
20652        * ForwardingHeaders/runtime/PrototypeFunction.h:
20653        * ForwardingHeaders/runtime/StringObject.h:
20654        * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h:
20655        * ForwardingHeaders/runtime/StringPrototype.h:
20656        * ForwardingHeaders/runtime/Structure.h:
20657        * ForwardingHeaders/runtime/SymbolTable.h:
20658        * ForwardingHeaders/runtime/UString.h:
20659        * ForwardingHeaders/wrec/WREC.h:
20660        * ForwardingHeaders/wtf/ASCIICType.h:
20661        * ForwardingHeaders/wtf/AlwaysInline.h:
20662        * ForwardingHeaders/wtf/Assertions.h:
20663        * ForwardingHeaders/wtf/ByteArray.h:
20664        * ForwardingHeaders/wtf/CurrentTime.h:
20665        * ForwardingHeaders/wtf/Deque.h:
20666        * ForwardingHeaders/wtf/DisallowCType.h:
20667        * ForwardingHeaders/wtf/FastMalloc.h:
20668        * ForwardingHeaders/wtf/Forward.h:
20669        * ForwardingHeaders/wtf/GetPtr.h:
20670        * ForwardingHeaders/wtf/HashCountedSet.h:
20671        * ForwardingHeaders/wtf/HashFunctions.h:
20672        * ForwardingHeaders/wtf/HashMap.h:
20673        * ForwardingHeaders/wtf/HashSet.h:
20674        * ForwardingHeaders/wtf/HashTable.h:
20675        * ForwardingHeaders/wtf/HashTraits.h:
20676        * ForwardingHeaders/wtf/ListHashSet.h:
20677        * ForwardingHeaders/wtf/ListRefPtr.h:
20678        * ForwardingHeaders/wtf/Locker.h:
20679        * ForwardingHeaders/wtf/MainThread.h:
20680        * ForwardingHeaders/wtf/MathExtras.h:
20681        * ForwardingHeaders/wtf/MessageQueue.h:
20682        * ForwardingHeaders/wtf/Noncopyable.h:
20683        * ForwardingHeaders/wtf/NotFound.h:
20684        * ForwardingHeaders/wtf/OwnArrayPtr.h:
20685        * ForwardingHeaders/wtf/OwnPtr.h:
20686        * ForwardingHeaders/wtf/PassRefPtr.h:
20687        * ForwardingHeaders/wtf/Platform.h:
20688        * ForwardingHeaders/wtf/PtrAndFlags.h:
20689        * ForwardingHeaders/wtf/RandomNumber.h:
20690        * ForwardingHeaders/wtf/RefCounted.h:
20691        * ForwardingHeaders/wtf/RefCountedLeakCounter.h:
20692        * ForwardingHeaders/wtf/RefPtr.h:
20693        * ForwardingHeaders/wtf/RetainPtr.h:
20694        * ForwardingHeaders/wtf/StdLibExtras.h:
20695        * ForwardingHeaders/wtf/StringExtras.h:
20696        * ForwardingHeaders/wtf/ThreadSpecific.h:
20697        * ForwardingHeaders/wtf/Threading.h:
20698        * ForwardingHeaders/wtf/TypeTraits.h:
20699        * ForwardingHeaders/wtf/UnusedParam.h:
20700        * ForwardingHeaders/wtf/Vector.h:
20701        * ForwardingHeaders/wtf/VectorTraits.h:
20702        * ForwardingHeaders/wtf/dtoa.h:
20703        * ForwardingHeaders/wtf/unicode/Collator.h:
20704        * ForwardingHeaders/wtf/unicode/UTF8.h:
20705        * ForwardingHeaders/wtf/unicode/Unicode.h:
20706        * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h:
20707
207082009-04-14  Sam Weinig  <sam@webkit.org>
20709
20710        Reviewed by Adele Peterson.
20711
20712        Use a template function to generalize the way we create non-caching
20713        JS function getters.
20714
20715        * bindings/js/JSDOMWindowCustom.cpp:
20716        * bindings/js/JSDOMWindowCustom.h:
20717        (WebCore::nonCachingStaticFunctionGetter):
20718        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
20719
207202009-04-14  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
20721
20722        Reviewed by George Staikos.
20723
20724        https://bugs.webkit.org/show_bug.cgi?id=25099
20725
20726        When creating a QNetworkRequest make sure to populate the
20727        CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.
20728
20729        * WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:
20730        (tst_QWebPage::requestCache):
20731
20732        * platform/network/qt/ResourceRequestQt.cpp:
20733        (WebCore::ResourceRequest::toNetworkRequest):
20734
207352009-04-14  Timothy Hatcher  <timothy@apple.com>
20736
20737        Fix a world leak caused by opening the Web Inspector. This was
20738        a regression caused by the InspectorController becoming refcounted.
20739
20740        <rdar://problem/6782944>
20741
20742        Reviewed by Darin Adler.
20743
20744        * bindings/js/ScriptObject.cpp:
20745        (WebCore::ScriptGlobalObject::get): Renamed to better match the
20746        other functions.
20747        (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
20748        * bindings/js/ScriptObject.h:
20749        * inspector/InspectorController.cpp:
20750        (WebCore::InspectorController::~InspectorController): Do less work
20751        at destruction time since the object lifetime is tied to JS GC.
20752        Assert that inspectedPageDestroyed cleared everything needed.
20753        (WebCore::InspectorController::inspectedPageDestroyed): Do most
20754        of the work that ~InspectorController was doing.
20755        (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
20756
207572009-04-14  Antony Sargent  <asargent@chromium.org>
20758
20759        Reviewed by Dimitri Glazkov.
20760
20761        This is some cleanup motivated by the crash in http://crbug.com/9775 , which 
20762        happens because of calling window.open inside a window.onload handler. 
20763
20764        These changes are just part of the fix, along with some asserts to help prevent
20765        breakage on future changes. 
20766
20767        https://bugs.webkit.org/show_bug.cgi?id=25132
20768
20769        * bindings/v8/V8EventListenerList.cpp:
20770        (WebCore::V8EventListenerList::add):
20771        (WebCore::V8EventListenerList::remove):
20772        (WebCore::V8EventListenerList::clear):
20773        * bindings/v8/V8EventListenerList.h:
20774        (WebCore::V8EventListenerList::size):
20775
207762009-04-14  Evan Martin  <evan@chromium.org>
20777
20778        Reviewed by Darin Adler.
20779
20780        https://bugs.webkit.org/show_bug.cgi?id=25142
20781        Fix a race that can occur between flex and the perl script that parses
20782        its output.
20783
20784        * css/maketokenizer: Consume all input.
20785
207862009-04-14  Rohit Rao  <rohitrao@google.com>
20787
20788        Reviewed by Dan Bernstein.
20789
20790        https://bugs.webkit.org/show_bug.cgi?id=25184
20791        Do not change the text color for selected text in Mac Chromium.
20792
20793        * rendering/RenderThemeChromiumMac.h:
20794        (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
20795        Now returns false, matching the behavior of Safari on Mac.
20796
207972009-04-14  Justin Garcia  <justin.garcia@apple.com>
20798
20799        Reviewed by Eric Seidel.
20800
20801        https://bugs.webkit.org/show_bug.cgi?id=25172
20802        Extra partial layout during the first keypress in an empty block
20803        
20804        Determining if a placeholder needs to be removed requires the creation of a VisiblePosition 
20805        which was triggering layout before we were finished modifying the DOM for the insert operation.
20806        
20807        Find out if we need to remove a placeholder near the start of the operation, and if we do remember 
20808        where it's located.  Then, later, remove it along with all of the other DOM operations we perform.
20809        
20810        Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
20811        that takes in a Position.  In InsertTextCommand, we can use the latter, since we normalize manually.
20812        
20813        removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.
20814        
20815        No test added as this only effects performance.
20816
20817        * editing/BreakBlockquoteCommand.cpp:
20818        (WebCore::BreakBlockquoteCommand::doApply):
20819        * editing/CompositeEditCommand.cpp:
20820        (WebCore::CompositeEditCommand::removePlaceholderAt):
20821        (WebCore::CompositeEditCommand::moveParagraphs):
20822        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
20823        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
20824        * editing/CompositeEditCommand.h:
20825        * editing/DeleteSelectionCommand.cpp:
20826        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
20827        (WebCore::DeleteSelectionCommand::doApply):
20828        * editing/FormatBlockCommand.cpp:
20829        (WebCore::FormatBlockCommand::doApply):
20830        * editing/InsertLineBreakCommand.cpp:
20831        (WebCore::InsertLineBreakCommand::doApply):
20832        * editing/InsertParagraphSeparatorCommand.cpp:
20833        (WebCore::InsertParagraphSeparatorCommand::doApply):
20834        * editing/InsertTextCommand.cpp:
20835        (WebCore::InsertTextCommand::input):
20836        * editing/htmlediting.cpp:
20837        (WebCore::lineBreakExistsAtVisiblePosition):
20838        (WebCore::lineBreakExistsAtPosition):
20839        * editing/htmlediting.h:
20840
208412009-04-14  Adam Roben  <aroben@apple.com>
20842
20843        Remove support for profile-guided optimization on Windows
20844
20845        Rubber-stamped by Steve Falkenburg.
20846
20847        * WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO
20848        configuration.
20849
208502009-04-14  Dmitry Titov  <dimich@chromium.org>
20851
20852        Reviewed by Dimitri Glazkov.
20853
20854        https://bugs.webkit.org/show_bug.cgi?id=25163
20855        Upstream fix for releasing v8 objects on worker thread termination in Chromium.
20856
20857        * bindings/v8/V8DOMMap.cpp:
20858        (WebCore::domDataList): Now uses Vector instead of HashMap.
20859        (WebCore::domDataListMutex):
20860        (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData):  remove usage of currentThread();
20861        (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto.
20862        (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController.
20863        (WebCore::handleWeakObjectInOwningThread):
20864        (WebCore::derefDelayedObjects):
20865        (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
20866        * bindings/v8/V8DOMMap.h:
20867        * bindings/v8/WorkerContextExecutionProxy.cpp:
20868        (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext.
20869        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
20870        * bindings/v8/WorkerScriptController.cpp:
20871        (WebCore::WorkerScriptController::~WorkerScriptController):
20872
208732009-04-14  Adam Roben  <aroben@apple.com>
20874
20875        Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files
20876
20877        <https://bugs.webkit.org/show_bug.cgi?id=25183>
20878
20879        WebCore.vcproj now uses a set of .vsprops files to store most of its
20880        settings.
20881
20882        Reviewed by Darin Adler.
20883
20884        * WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new
20885        .vsprops files.
20886
20887        * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings
20888        for ports that build against CFNetwork.
20889        * WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports
20890        that build against CoreGraphics.
20891        * WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for
20892        ports that build against libcurl.
20893        * WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for
20894        ports that build against Cairo.
20895        * WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings
20896        shared by all ports.
20897        * WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for
20898        ports that use QTMovieWin to implement the MediaPlayerPrivate
20899        interface.
20900        * WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for
20901        ports that build against pthreads.
20902
209032009-04-14  Alexey Proskuryakov  <ap@webkit.org>
20904
20905        Reviewed by Darin Adler.
20906
20907        http/tests/xmlhttprequest/basic-auth.html fails on Tiger.
20908
20909        Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
20910        session persistence.
20911
20912        * platform/network/mac/ResourceHandleMac.mm:
20913        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through
20914        receivedCredential(), ensuring that the Tiger-specific need to use session credentials
20915        is honored.
20916        (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to
20917        PersistenceForSession, because the former doesn't work.
20918
209192009-04-14  Adele Peterson  <adele@apple.com>
20920
20921        Reviewed by Darin Adler.
20922
20923        Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
20924
20925        Test: editing/inserting/6703873.html
20926
20927        * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
20928        If the startNode's original parent is now empty, we can remove it.  Its already been cloned and copied with the startNode,
20929        so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty 
20930        container in the document.
20931
209322009-04-14  Xan Lopez  <xlopez@igalia.com>
20933
20934        Reviewed by Holger Freyther.
20935
20936        https://bugs.webkit.org/show_bug.cgi?id=21546
20937        [GTK] ATK accessibility enhancements
20938
20939        Add a proper implementation of AtkText::get_text and
20940        AtkText::get_character_count, which takes into account non
20941        TextControl text. With this the 'Text' field in Accerciser's
20942        Interface Viewer is filled correctly.
20943
20944        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
20945
209462009-04-14  Xan Lopez  <xlopez@igalia.com>
20947
20948        Reviewed by Holger Freyther.
20949
20950        https://bugs.webkit.org/show_bug.cgi?id=21546
20951        [GTK] ATK accessibility enhancements
20952
20953        Remove some dead code and g_return_if_fail from static functions.
20954
20955        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
20956
209572009-04-14  Xan Lopez  <xlopez@igalia.com>
20958
20959        Reviewed by Holger Freyther.
20960
20961        https://bugs.webkit.org/show_bug.cgi?id=21546
20962        [GTK] ATK accessibility enhancements
20963
20964        Also implement text interface for StaticTextRole, which covers
20965        most of the text in web pages.
20966
20967        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
20968
209692009-04-14  Alexey Proskuryakov  <ap@webkit.org>
20970
20971        Another Windows build fix.
20972
20973        * platform/network/cf/ResourceHandleCFNet.cpp:
20974        (WebCore::WebCoreSynchronousLoader::load):
20975
209762009-04-14  Alexey Proskuryakov  <ap@webkit.org>
20977
20978        Windows build fix.
20979
20980        * platform/network/cf/ResourceHandleCFNet.cpp:
20981        (WebCore::WebCoreSynchronousLoader::willSendRequest):
20982        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
20983
209842009-04-13  Alexey Proskuryakov  <ap@webkit.org>
20985
20986        Reviewed by Sam Weinig.
20987
20988        <rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute
20989
20990        * WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions
20991        from it are now used in otehr private headers.
20992
20993        * xml/XMLHttpRequest.h:
20994        * xml/XMLHttpRequest.idl:
20995        Added withCredentials attribute. When it is false (default), neither credentials nor cookies
20996        are sent with cross origin requests, When it is true, those are sent, but the server needs
20997        to allow handling results via Access-Control-Allow-Credentials header. It was always possible
20998        to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to
20999        read results, as long as the server reports that it's allowed.
21000        Having the default set to false ensures that requests won't fail unexpectedly because of
21001        stored credentials and cookies for other resources in the target protection space.
21002
21003        * xml/XMLHttpRequest.cpp:
21004        (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin
21005        requests, and for cross origin ones that have withCredentials attribute set. Such code already
21006        existed for cookies (but it's simpler, because we could just set a ResourceRequest flag).
21007        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
21008
21009        * platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks,
21010        is is easier to have code in the class. Also, loadResourceSynchronously() now takes a
21011        StoredCredentials option, matching async case.
21012
21013        * platform/network/ResourceHandleClient.h:
21014        (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be
21015        called, and no client used it.
21016        (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
21017
21018        * platform/network/ResourceHandleInternal.h:
21019        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out
21020        of request URL. We want to always get a callback for credentials to manage them in WebCore,
21021        so network back-end shouldn't see them too early.
21022
21023        * platform/network/ResourceRequestBase.cpp:
21024        (WebCore::ResourceRequestBase::removeCredentials):
21025        * platform/network/ResourceRequestBase.h:
21026        Added a removeCredentials() method that removes login and password parts from request URL.
21027
21028        * platform/network/mac/ResourceHandleMac.mm:
21029        (WebCoreCredentialStorage): Added a simple storage class for per-session credentials.
21030        (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through.
21031        (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced.
21032        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL
21033        and per-session credentials. Code was partially moved from Obj-C callback.
21034        (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store
21035        them in WebCore storage.
21036        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't
21037        store the redirected URL - we only needed credentials, which are now stored separately.
21038        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed
21039        code that was setting credentials from URL. First, the code is now in ResourceHandle, and
21040        also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>.
21041        (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle,
21042        this class still needs to track URL for checking whether a redirect is allowed. This is
21043        not a great solution, and we should unify client code to use the same checks in sync and
21044        async cases.
21045        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in
21046        async case, put credentials aside to ensure that network back-end asks for them.
21047        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials
21048        from URL, or from WebCore storage.
21049        (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored
21050        credentials when not allowed to.
21051        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
21052        Put credentials aside to ensure that network back-end asks for them.
21053
21054        * platform/network/cf/ResourceHandleCFNet.cpp:
21055        (WebCore::WebCoreCredentialStorage::set):
21056        (WebCore::WebCoreCredentialStorage::get):
21057        (WebCore::willSendRequest):
21058        (WebCore::ResourceHandle::start):
21059        (WebCore::ResourceHandle::willSendRequest):
21060        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
21061        (WebCore::ResourceHandle::receivedCredential):
21062        (WebCore::ResourceHandle::loadResourceSynchronously):
21063        (WebCore::WebCoreSynchronousLoader::willSendRequest):
21064        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
21065        (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
21066        (WebCore::WebCoreSynchronousLoader::load):
21067        Same changes as in Mac case.
21068
21069        * platform/network/curl/ResourceHandleCurl.cpp:
21070        (WebCore::ResourceHandle::loadResourceSynchronously):
21071        * platform/network/qt/ResourceHandleQt.cpp:
21072        (WebCore::ResourceHandle::loadResourceSynchronously):
21073        * platform/network/soup/ResourceHandleSoup.cpp:
21074        (WebCore::ResourceHandle::loadResourceSynchronously):
21075        Trying not to break the build.
21076
21077        * dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
21078        * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc):
21079        Unconditionally allow stored credentials for these, as they only support same origin loads.
21080
21081        * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts):
21082        WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse
21083        than sending them with <script src=...>, so this is also unconditionally allowed.
21084
21085        * loader/DocumentThreadableLoader.cpp:
21086        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials.
21087        (WebCore::DocumentThreadableLoader::create): Ditto.
21088        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and
21089        sameOrigin flags foruse in callbacks.
21090        (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused.
21091        (WebCore::DocumentThreadableLoader::didSendData): Ditto.
21092        (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
21093        (WebCore::DocumentThreadableLoader::didReceiveData): Ditto.
21094        (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
21095        (WebCore::DocumentThreadableLoader::didFail): Ditto.
21096        (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential
21097        storage if that's not allowed by the code that invoked DocumentThreadableLoader.
21098        (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure
21099        and cancel the request if we are about to ask the user for credentials for a cross-origin
21100        request, which is forbidden by CORS (and would have been very confusing if allowed).
21101        (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
21102
21103        * loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and
21104        sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
21105
21106        * loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader
21107        behavior. We should combine all of these into a structure, and use it for sync requests, too.
21108
21109        * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
21110        * loader/FrameLoader.h:
21111        * loader/ThreadableLoader.cpp:
21112        (WebCore::ThreadableLoader::create):
21113        (WebCore::ThreadableLoader::loadResourceSynchronously):
21114        * loader/WorkerThreadableLoader.cpp:
21115        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
21116        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
21117        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
21118        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
21119        * loader/WorkerThreadableLoader.h:
21120        (WebCore::WorkerThreadableLoader::create):
21121        Pass through storedCredentials.
21122
211232009-04-13  David Hyatt  <hyatt@apple.com>
21124
21125        Reviewed by Cameron Zwarich.
21126
21127        Remove an outdated comment in ScrollView.h
21128
21129        * platform/ScrollView.h:
21130
211312009-04-13  Eric Carlson  <eric.carlson@apple.com>
21132
21133        Reviewed by Mark Rowe.
21134
21135        https://bugs.webkit.org/show_bug.cgi?id=25177
21136
21137        QTTrack's -media method always return NULL in 64-bit QTKit, so
21138        MediaPlayerPrivate::disableUnsupportedTracks should use 
21139        QTTrackMediaTypeAttribute to get a track's type.
21140
21141        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21142        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
21143
211442009-04-13  Geoffrey Garen  <ggaren@apple.com>
21145
21146        Reviewed by Cameron Zwarich.
21147
21148        More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
21149        Unbounded memory growth when churning elements with anonymous event handler functions
21150
21151        Stop using protected event listeners on the window object.
21152
21153        * bindings/js/JSDOMWindowCustom.cpp:
21154        (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're
21155        no longer protected.
21156
21157        (WebCore::JSDOMWindow::addEventListener):
21158        (WebCore::JSDOMWindow::removeEventListener): Create unprotected event
21159        listeners, since we mark them now.
21160
21161        * bindings/js/JSEventListener.h: Made some functions public so
21162        DOMWindow could call them.
21163
21164        * bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header,
21165        so it could be shared.
21166
21167        * bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking
21168        and invalidating code for the DOMWindow.
21169
21170        * dom/RegisteredEventListener.h:
21171        (WebCore::markEventListeners):
21172        (WebCore::invalidateEventListeners): Added helper functions.
21173
21174        * page/DOMWindow.idl: Make the window's event listener attributes not
21175        protected.
21176
211772009-04-13  Eric Carlson  <eric.carlson@apple.com>
21178
21179        Reviewed by Mark Rowe.
21180        
21181        https://bugs.webkit.org/show_bug.cgi?id=25155
21182
21183        OS X standalone media documents should not switch from <video> to <embed> when 
21184        QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading
21185        with a slow network connection or when a movie is not saved fast-start.
21186
21187        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21188        (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's
21189        loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError.
21190
211912009-04-13  Dmitry Titov  <dimich@chromium.org>
21192
21193        Reviewed by Darin Adler.
21194
21195        https://bugs.webkit.org/show_bug.cgi?id=24453
21196        REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to
21197        the main document that timer callback makes are not flushed.
21198
21199        * bindings/js/ScheduledAction.cpp:
21200        (WebCore::ScheduledAction::execute):
21201        Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded()
21202        since timers may affect documents other then their own.
21203
212042009-04-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
21205
21206        Reviewed by David Hyatt.
21207
21208        Check document for nullity to avoid crashing on GTK+, when
21209        creating the WebView.
21210
21211        * page/FrameView.cpp:
21212        (WebCore::FrameView::needsLayout):
21213
212142009-04-13  Ada Chan  <adachan@apple.com>
21215
21216        Forgot to capitalize the "US".
21217
21218        * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
21219        (WebCore::currentTextBreakLocaleID):
21220
212212009-04-13  Ada Chan  <adachan@apple.com>
21222
21223        <rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL
21224        Revert back to the old word breaking behavior by using en_US_POSIX locale.        
21225
21226        Reviewed by Steve Falkenburg.
21227
21228        * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
21229        (WebCore::currentTextBreakLocaleID):
21230
212312009-04-13  Darin Adler  <darin@apple.com>
21232
21233        Reviewed by Dan Bernstein.
21234
21235        * platform/cf/BinaryPropertyList.cpp: Added comment.
21236        * platform/cf/BinaryPropertyList.h: Fixed mistakes in comments.
21237
212382009-04-13  Darin Adler  <darin@apple.com>
21239
21240        Reviewed by Dan Bernstein.
21241
21242        Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
21243        https://bugs.webkit.org/show_bug.cgi?id=25158
21244        rdar://problem/6769693
21245
21246        Test: editing/selection/click-after-nested-block.html
21247
21248        * rendering/RenderBlock.cpp:
21249        (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint
21250        can share code.
21251        (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first
21252        child box. Changed special case for last child box to propertly handle the various
21253        types of child box that are not hit test candidates (the same ones already handled
21254        by the hit test loop below), adding in a loop so we find the last candidate.
21255
212562009-04-13  David Hyatt  <hyatt@apple.com>
21257
21258        Reviewed by Sam Weinig.
21259
21260        Fix for https://bugs.webkit.org/show_bug.cgi?id=25125.  Rework scrolling so that a layout happens first when
21261        it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
21262
21263        * WebCore.base.exp:
21264        * page/FrameView.h:
21265        (WebCore::FrameView::visibleContentsResized):
21266        * platform/ScrollView.cpp:
21267        (WebCore::ScrollView::ScrollView):
21268        (WebCore::ScrollView::updateScrollbars):
21269        * platform/ScrollView.h:
21270
212712009-04-13  Adam Roben  <aroben@apple.com>
21272
21273        Add SharedBuffer::wrapCFData
21274
21275        This is the CF-equivalent of wrapNSData.
21276
21277        Reviewed by Brady Eidson.
21278
21279        * platform/SharedBuffer.h:
21280        * platform/cf/SharedBufferCF.cpp:
21281        (WebCore::SharedBuffer::wrapCFData):
21282
212832009-04-13  Dan Bernstein  <mitz@apple.com>
21284
21285        - build fix
21286
21287        * page/EventHandler.cpp:
21288        (WebCore::documentPointForWindowPoint):
21289
212902009-04-13  Antti Koivisto  <antti@apple.com>
21291
21292        Reviewed by Darin Adler.
21293
21294        <rdar://problem/6740294> Increase the connection count per host
21295        
21296        Try to use six connections per host if possible.
21297
21298        * WebCore.base.exp:
21299        * loader/loader.cpp:
21300        (WebCore::Loader::Loader):
21301        * platform/mac/WebCoreSystemInterface.h:
21302        * platform/mac/WebCoreSystemInterface.mm:
21303        * platform/network/ResourceRequestBase.cpp:
21304        (WebCore::initMaximumHTTPConnectionCountPerHost):
21305        * platform/network/ResourceRequestBase.h:
21306        * platform/network/mac/ResourceRequestMac.mm:
21307        (WebCore::initMaximumHTTPConnectionCountPerHost):
21308
213092009-04-13  Justin Garcia  <justin.garcia@apple.com>
21310
21311        Reviewed by Adele Peterson.
21312
21313        https://bugs.webkit.org/show_bug.cgi?id=25153
21314        Can't place the caret into text field that scrolls the window on focus
21315        
21316        We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may
21317        be invalid because of scrolling that the focus handler did.  Cache the document point (that we derived from the window
21318        coordinate) and use that any time we refetch.
21319
21320        * page/EventHandler.cpp:
21321        (WebCore::documentPointForWindowPoint):
21322        (WebCore::EventHandler::handleMousePressEvent):
21323        (WebCore::EventHandler::prepareMouseEvent):
21324
213252009-04-13  Sam Weinig  <sam@webkit.org>
21326
21327        Reviewed by Geoffrey Garen.
21328
21329        Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically
21330        to conform to our style guidelines.
21331
21332        * page/DOMWindow.cpp:
21333        (WebCore::DOMWindow::allowPopUp):
21334        * page/Settings.h:
21335        (WebCore::Settings::javaScriptCanOpenWindowsAutomatically):
21336
213372009-04-13  Geoffrey Garen  <ggaren@apple.com>
21338
21339        Mac build fix: Made another header private.
21340
21341        * WebCore.xcodeproj/project.pbxproj:
21342
213432009-04-13  Jian Li  <jianli@chromium.org>
21344
21345        Reviewed by Darin Fisher.
21346
21347        https://bugs.webkit.org/show_bug.cgi?id=25121
21348        Upstream changes to handle error messages from V8 when running worker script.
21349
21350        * bindings/v8/WorkerContextExecutionProxy.cpp:
21351        (WebCore::reportFatalErrorInV8):
21352        (WebCore::handleConsoleMessage):
21353        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
21354        (WebCore::WorkerContextExecutionProxy::dispose):
21355        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
21356        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
21357        (WebCore::WorkerContextExecutionProxy::evaluate):
21358        * bindings/v8/WorkerContextExecutionProxy.h:
21359
213602009-04-13  Geoffrey Garen  <ggaren@apple.com>
21361
21362        Build fix: Made setInlineEventListenerForType not inline, since Document
21363        calls it now. Made RegisteredEventListener.h a private header on Mac,
21364        so WebKit can use it.
21365
21366        * page/DOMWindow.cpp:
21367        (WebCore::DOMWindow::setInlineEventListenerForType):
21368
213692009-04-13  Dan Bernstein  <mitz@apple.com>
21370
21371        Reviewed by Sam Weinig.
21372
21373        - fix <rdar://problem/6404439> REGRESSION: Overlapping text and other
21374          layout issues in View Sample feature of MYOB FIrstEdge v3
21375
21376        * page/Navigator.cpp:
21377        (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of
21378        JavaScript files this quirk applies to.
21379
213802009-04-13  Sam Weinig  <sam@webkit.org>
21381
21382        Reviewed by Oliver Hunt.
21383
21384        Move open and showModalDialog functions out of JSDOMWindowBase
21385        and into JSDOMWindow by partially generating them.
21386
21387        This slightly changes the behavior of getting window.showModalDialog
21388        when the embedding app does not support it to return undefined regardless
21389        of shadowing.  This should not be an issue in a practice, but will be addressed
21390        when we add a generic way to handle runtime specialization of property
21391        access.
21392
21393        * DerivedSources.make: Remove JSDOMWindowBase.lut.h
21394        * WebCore.xcodeproj/project.pbxproj: Ditto.
21395        * bindings/js/JSDOMWindowBase.cpp:
21396        (WebCore::):
21397        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from
21398        here to JSDOMWindow::customGetOwnPropertySlot.
21399        (WebCore::JSDOMWindowBase::put): Remove dead code.
21400        * bindings/js/JSDOMWindowCustom.cpp:
21401        (WebCore::createWindow):
21402        (WebCore::JSDOMWindow::open):
21403        (WebCore::JSDOMWindow::showModalDialog):
21404        * bindings/js/JSDOMWindowCustom.h:
21405        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
21406        * page/DOMWindow.cpp:
21407        (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase.
21408        (WebCore::DOMWindow::allowPopUp): Ditto.
21409        (WebCore::DOMWindow::canShowModalDialog): Ditto.
21410        (WebCore::DOMWindow::canShowModalDialogNow): Ditto.
21411        * page/DOMWindow.h:
21412        * page/DOMWindow.idl:
21413
214142009-04-13  Geoffrey Garen  <ggaren@apple.com>
21415
21416        Reviewed by Sam Weinig.
21417
21418        Moved storage for window event listeners into the window object.
21419
21420        * bindings/js/JSDOMWindowCustom.cpp:
21421        (WebCore::JSDOMWindow::addEventListener):
21422        (WebCore::JSDOMWindow::removeEventListener): Add / remove window event
21423        listeners to / from the window object.
21424
21425        * dom/Document.cpp:
21426        (WebCore::Document::removeAllEventListeners):
21427        (WebCore::Document::clear):
21428        (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved
21429        a bunch of code to the DOMWindow class, and left behind a few calls through
21430        to DOMWindow, to support legacy clients. (Eventually, these will go away, too.)
21431
21432        * dom/Document.h: ditto.
21433
21434        * dom/Node.cpp:
21435        (WebCore::Node::dispatchGenericEvent):
21436        (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window
21437        object, not the document.
21438
21439        * dom/Node.h:
21440        * dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector
21441        declaration, since it's required in more places now.
21442
21443        * history/CachedFrame.cpp:
21444        (WebCore::CachedFrame::clear): Updated for rename. Also, remove event
21445        listeners before detaching and clearing the document's window pointer,
21446        since the the document needs its window pointer in order to tell the window
21447        to clear its event listeners.
21448
21449        * loader/FrameLoader.cpp:
21450        (WebCore::FrameLoader::stopLoading):
21451        (WebCore::FrameLoader::canCachePageContainingThisFrame):
21452        (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and
21453        movement of window event listeners into the window.
21454
21455        * loader/ImageDocument.cpp:
21456        (WebCore::ImageDocument::createDocumentStructure): Updated for movement
21457        of window event listeners into the window.
21458
21459        * page/DOMWindow.cpp:
21460        (WebCore::DOMWindow::handleEvent):
21461        (WebCore::DOMWindow::addEventListener):
21462        (WebCore::DOMWindow::removeEventListener):
21463        (WebCore::DOMWindow::removeAllEventListeners):
21464        (WebCore::DOMWindow::hasEventListener):
21465        (WebCore::DOMWindow::setInlineEventListenerForType):
21466        (WebCore::DOMWindow::removeInlineEventListenerForType):
21467        (WebCore::DOMWindow::inlineEventListenerForType):
21468        (WebCore::DOMWindow::addPendingFrameUnloadEventCount):
21469        (WebCore::DOMWindow::removePendingFrameUnloadEventCount):
21470        (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount):
21471        (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount):
21472        * page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document.
21473
21474        * page/Frame.cpp:
21475        (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window.
21476
214772009-04-13  Greg Bolsinga  <bolsinga@apple.com>
21478
21479        Reviewed by Sam Weinig.
21480
21481        https://bugs.webkit.org/show_bug.cgi?id=25149
21482
21483        The Geolocation timer needs to start after the UA has granted permission.
21484
21485        * bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions>
21486        (WebCore::JSGeolocation::getCurrentPosition):
21487        (WebCore::JSGeolocation::watchPosition):
21488        * page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used
21489        later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions>
21490        where needed.
21491        (WebCore::Geolocation::GeoNotifier::GeoNotifier):
21492        (WebCore::Geolocation::GeoNotifier::startTimer):
21493        (WebCore::Geolocation::getCurrentPosition):
21494        (WebCore::Geolocation::watchPosition):
21495        (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows
21496        (WebCore::Geolocation::startTimer):
21497        (WebCore::Geolocation::startTimersForOneShots):
21498        (WebCore::Geolocation::startTimersForWatchers):
21499        (WebCore::Geolocation::startTimers):
21500        * page/Geolocation.h:
21501        (WebCore::Geolocation::GeoNotifier::create):
21502
215032009-04-13  Pamela Greene  <pam@chromium.org>
21504
21505        Reviewed by Darin Fisher.
21506
21507        Fix Chromium (V8) build by renaming methods to match changes
21508        in http://trac.webkit.org/changeset/42377.
21509
21510        https://bugs.webkit.org/show_bug.cgi?id=25141
21511
21512        * bindings/v8/ScheduledAction.cpp:
21513     (WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded()
21514        * bindings/v8/V8AbstractEventListener.cpp:
21515        (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments()
21516
215172009-04-13  Darin Fisher  <darin@chromium.org>
21518
21519        Reviewed by Darin Adler.
21520
21521        https://bugs.webkit.org/show_bug.cgi?id=25136
21522        CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame
21523
21524        Test: fast/frames/frame-unload-crash.html
21525
21526        * loader/DocumentLoader.cpp:
21527        (WebCore::DocumentLoader::updateLoading): Added null check of m_frame.
21528
215292009-04-13  Sam Weinig  <sam@webkit.org>
21530
21531        Reviewed by Tim Hatcher.
21532
21533        Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING.
21534
21535        * page/DOMWindow.idl:
21536
215372009-04-13  Greg Bolsinga  <bolsinga@apple.com>
21538
21539        Fix GTK build break.
21540
21541        * platform/gtk/GeolocationServiceGtk.cpp:
21542        (WebCore::GeolocationServiceGtk::updatePosition):
21543
215442009-04-13  David Hyatt  <hyatt@apple.com>
21545
21546        Reviewed by Darin Adler and Dan Bernstein.
21547
21548        Assertion in updateStyleForAllDocuments.  Make sure to unscheduleStyleRecalc when an object goes into
21549        the page cache.  Disallow scheduling of style recalcs on a document that is already in the page cache.
21550        Schedule a style recalc if needed when an object comes out of the page cache.
21551
21552        * dom/Document.cpp:
21553        (WebCore::Document::scheduleStyleRecalc):
21554        (WebCore::Document::setInPageCache):
21555
215562009-04-13  Timothy Hatcher  <timothy@apple.com>
21557
21558        Correctly sort (program) scripts in the Scripts panel popup menu.
21559
21560        Reviewed by Ada Chan.
21561
21562        * inspector/front-end/ScriptsPanel.js:
21563        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code
21564        and sort "(program)" options by the sourceID to maintain some order.
21565        * inspector/front-end/utilities.js:
21566        (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause
21567        an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction.
21568        Just set 'first' and break so the correct result will be returned.
21569
215702009-04-13  Greg Bolsinga  <bolsinga@apple.com>
21571
21572        Reviewed by Darin Adler.
21573
21574        https://bugs.webkit.org/show_bug.cgi?id=24770
21575        
21576        Add custom code for Coordinates that returns null when required by the
21577        Geolocation spec.
21578        
21579        http://dev.w3.org/geo/api/spec-source.html#coordinates
21580
21581        * WebCore.xcodeproj/project.pbxproj:
21582        * bindings/js/JSCoordinatesCustom.cpp: Added.
21583        (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided.
21584        (WebCore::JSCoordinates::altitudeAccuracy): Ditto
21585        (WebCore::JSCoordinates::heading): Ditto
21586        (WebCore::JSCoordinates::speed): Ditto
21587        * page/Coordinates.h:
21588        (WebCore::Coordinates::create): Add 'canProvide' parameters and values
21589        (WebCore::Coordinates::canProvideAltitude):
21590        (WebCore::Coordinates::canProvideAltitudeAccuracy):
21591        (WebCore::Coordinates::canProvideHeading):
21592        (WebCore::Coordinates::canProvideSpeed):
21593        (WebCore::Coordinates::Coordinates):
21594        * page/Coordinates.idl: specify custom getters
21595        * platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided.
21596        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
21597
215982009-04-13  Adele Peterson  <adele@apple.com>
21599
21600        Reviewed by Darin Adler.
21601
21602        Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line
21603
21604        Test: editing/inserting/5510537.html
21605
21606        * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position
21607        is at the beginning of the topmost quote, then just insert the <br> before the blockquote.  Otherwise, if the break
21608        insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level
21609        so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>.
21610
216112009-04-11  Darin Adler  <darin@apple.com>
21612
21613        Reviewed by Dan Bernstein.
21614
21615        Fix problem when encoding history files with duplicate integer arrays near the end of the file.
21616        This results in an assertion failure, and if assertions are turned off, corrupted output.
21617
21618        When writing an integer array it's important not to add an object reference to the
21619        aggregate buffer. The writing of the array does not depend on the aggregate buffer. But,
21620        more importantly, it's possible this instance integer array is a duplicate and won't be
21621        written out. If so, there's no guarantee there's enough space in the aggregate buffer to
21622        store the object references (the references will be ignored). In some cases the aggregate
21623        buffer can then overrun the data being written; normally this is prevented by the fact that
21624        the data being written will include a copy of the aggregate buffer.
21625
21626        Also removed a bit of unneeded dead code to handle the integer -1.
21627
21628        * platform/cf/BinaryPropertyList.cpp:
21629        (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded
21630        m_integerNegativeOneObjectReference, since property lists support only non-negative integers.
21631        (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for
21632        m_integerNegativeOneObjectReference.
21633        (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto.
21634        (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference):
21635        Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling
21636        addAggregateObjectReference.
21637        (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new
21638        writeIntegerWithoutAddingAggregateObjectReference function.
21639        (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new
21640        writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the
21641        code to save and restore m_currentAggregateBufferByte, which is no longer needed.
21642
216432009-04-13  Holger Hans Peter Freyther  <zecke@selfish.org>
21644
21645        Unreviewed Qt build fix.
21646
21647        * platform/graphics/qt/FontQt.cpp:
21648        (WebCore::Font::floatWidthForComplexText):
21649
216502009-04-12  Sam Weinig  <sam@webkit.org>
21651
21652        Reviewed by Mark Rowe.
21653
21654        Move the event and crypto attributes and the captureEvents and releaseEvents
21655        functions out of JSDOMWindowBase by partially generating them.
21656
21657        * bindings/js/JSDOMGlobalObject.cpp:
21658        (WebCore::JSDOMGlobalObject::currentEvent): Make const.
21659        * bindings/js/JSDOMGlobalObject.h:
21660        * bindings/js/JSDOMWindowBase.cpp:
21661        * bindings/js/JSDOMWindowCustom.cpp:
21662        (WebCore::JSDOMWindow::crypto): Not implemented.
21663        (WebCore::JSDOMWindow::event):
21664        (WebCore::JSDOMWindow::captureEvents): Not implemented.
21665        (WebCore::JSDOMWindow::releaseEvents): Ditto.
21666        * page/DOMWindow.idl:
21667
216682009-04-12  Sam Weinig  <sam@webkit.org>
21669
21670        Reviewed by Mark Rowe.
21671
21672        Move more attributes out of JSDOMWindowBase by
21673        partially generating them.
21674
21675        - Expose the MessagePort constructor.
21676
21677        * bindings/js/JSDOMGlobalObject.h:
21678        (WebCore::getDOMConstructor):
21679        * bindings/js/JSDOMWindowBase.cpp:
21680        (setJSDOMWindowBaseEvent):
21681        * bindings/js/JSDOMWindowCustom.cpp:
21682        (WebCore::JSDOMWindow::image):
21683        (WebCore::JSDOMWindow::option):
21684        (WebCore::JSDOMWindow::audio):
21685        (WebCore::JSDOMWindow::webKitPoint):
21686        (WebCore::JSDOMWindow::webKitCSSMatrix):
21687        (WebCore::JSDOMWindow::xMLHttpRequest):
21688        (WebCore::JSDOMWindow::xSLTProcessor):
21689        (WebCore::JSDOMWindow::messageChannel):
21690        (WebCore::JSDOMWindow::worker):
21691        * page/DOMWindow.idl:
21692
216932009-04-12  Timothy Hatcher  <timothy@apple.com>
21694
21695        A resource's filename is not correct after a redirect in the Inspector.
21696
21697        Reviewed by Dan Bernstein.
21698
21699        * inspector/InspectorResource.cpp:
21700        (WebCore::InspectorResource::updateScriptObject): Fix a typo in the
21701        lastPathComponent property name.
21702
217032009-04-12  Adele Peterson  <adele@apple.com>
21704
21705        Reviewed by Darin Adler.
21706
21707        Test: editing/inserting/6609479-1.html
21708
21709        Follow-up to <rdar://problem/6609479>.
21710
21711        Before my last change, a Mail blockquote would've been broken up earlier, and you would've been guaranteed that the inserted content
21712        was at the start of a paragraph.  Now we need to check for that explicitly, and only merge the start of the inserted content if it is 
21713        at the start of a paragraph.
21714
21715        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart):
21716
217172009-04-11  Adele Peterson  <adele@apple.com>
21718
21719        Reviewed by Dan Bernstein.
21720
21721        Fix for <rdar://problem/6609479> Pressing return inside a table cell that's inside quoted content will split the table
21722
21723        Test: editing/inserting/6609479.html
21724
21725        Don't break a blockquote if pasting or inserting into a table.
21726
21727        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
21728        * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
21729
217302009-04-11  Dan Bernstein  <mitz@apple.com>
21731
21732        Reviewed by Darin Adler.
21733
21734        - fix <rdar://problem/6643103> Unscaled values from body.scrollHeight
21735
21736        Test: fast/css/zoom-body-scroll.html
21737
21738        Adjust scroll{Left,Top,Width,Height} values for zoom in getters and
21739        setters.
21740
21741        * html/HTMLBodyElement.cpp:
21742        (WebCore::adjustForZoom):
21743        (WebCore::HTMLBodyElement::scrollLeft):
21744        (WebCore::HTMLBodyElement::setScrollLeft):
21745        (WebCore::HTMLBodyElement::scrollTop):
21746        (WebCore::HTMLBodyElement::setScrollTop):
21747        (WebCore::HTMLBodyElement::scrollHeight):
21748        (WebCore::HTMLBodyElement::scrollWidth):
21749
217502009-04-10  Timothy Hatcher  <timothy@apple.com>
21751
21752        Allow page navigation and reload while stopped at a breakpoint.
21753
21754        <rdar://problem/6781108> Having a breakpoint active prevents page reload
21755
21756        Reviewed by Darin Adler.
21757
21758        * inspector/InspectorController.cpp:
21759        (WebCore::InspectorController::didContinue): Call the resumedScript function.
21760        * inspector/InspectorController.h: Added didContinue.
21761        * inspector/JavaScriptDebugListener.h: Ditto.
21762        * inspector/JavaScriptDebugServer.cpp:
21763        (WebCore::JavaScriptDebugServer::pauseIfNeeded): Call didContinue on the listeners.
21764        * inspector/front-end/ScriptsPanel.js:
21765        (WebInspector.ScriptsPanel.prototype.debuggerResumed): Update the interface and state.
21766        * inspector/front-end/inspector.js:
21767        (WebInspector.resumedScript): Call ScriptsPanel.debuggerResumed.
21768        * loader/FrameLoader.cpp:
21769        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call resumeDebugger.
21770
217712009-04-10  Sam Weinig  <sam@webkit.org>
21772
21773        Reviewed by Adele Peterson.
21774
21775        Remove unused include for JSLock.
21776
21777        * page/mac/FrameMac.mm:
21778
217792009-04-10  Sam Weinig  <sam@webkit.org>
21780
21781        Reviewed by Darin Adler.
21782
21783        Add back the keepAlive timer for after the script execution to
21784        protect the callers of evaluate, as was part of the original intent
21785        of timer.
21786
21787        * bindings/js/ScriptController.cpp:
21788        (WebCore::ScriptController::evaluate):
21789        * page/mac/FrameMac.mm:
21790
217912009-04-10  Chris Marrin  <cmarrin@apple.com>
21792
21793        Reviewed by Simon Fraser.
21794
21795        Fixed https://bugs.webkit.org/show_bug.cgi?id=25137
21796
21797        If we reload, the animation controller sticks around and has
21798        a stale animation time. So the needed delay is computed wrong.
21799        I added a reset of the animation timer on load.
21800
21801        I did not do a test case because this only happens on reload so I
21802        couldn't make an automated test. I tried using an iframe and using
21803        reload() but that doesn't tickle the bug.
21804
21805        * dom/Document.cpp:
21806        (WebCore::Document::implicitOpen):
21807
218082009-04-10  Grace Kloba  <klobag@gmail.com>
21809
21810        Reviewed by Darin Adler.
21811
21812        Move WORKERS header files inside ENABLE(WORKERS).
21813        So if WORKERS is not enabled and the generated files are not generated, the build is still working.
21814
21815        * bindings/js/JSDOMGlobalObject.cpp:
21816        * bindings/js/JSMessageChannelConstructor.cpp:
21817        * bindings/js/ScheduledAction.cpp:
21818
218192009-04-10  Darin Adler  <darin@apple.com>
21820
21821        Reviewed by Brady Eidson.
21822
21823        <rdar://problem/6773515> crash in push_heap inside WebCore when printing
21824
21825        The crash was due to manipulating a timer on a different thread than the one it was created on.
21826        This adds some diagnostics so we'll catch that kind of mistake immediately.
21827
21828        * platform/Timer.cpp:
21829        (WebCore::TimerBase::TimerBase): Store the thread identifier in debug versions.
21830        (WebCore::TimerBase::start): Assert it's the same thread the timer was created on.
21831        (WebCore::TimerBase::stop): Ditto.
21832        (WebCore::TimerBase::isActive): Ditto.
21833        (WebCore::TimerBase::setNextFireTime): Ditto.
21834
21835        * platform/Timer.h: Added the thread identifier data member.
21836
218372009-04-10  Chris Marrin  <cmarrin@apple.com>
21838
21839        Reviewed by Dan Bernstein
21840
21841        https://bugs.webkit.org/show_bug.cgi?id=25108
21842
21843        If you remove a class with a transition while that transition is running
21844        the animation timer will continue to fire after the transition is finished.
21845        This has no visual indication, but it does drain the processor. And in some
21846        cases it might even cause a glitch in future animations. Unfortunately there
21847        is no way to test this without putting in printfs.
21848
21849        This happens because the animation logic is never traversed after a transition
21850        is removed, so we never get a chance to cleanup. So I added cleanup in the logic
21851        that fires the dispatch of the last style change when the animation finishes.
21852
21853        Test: transitions/remove-transition-style.html
21854
21855        * page/animation/AnimationController.cpp:
21856        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
21857        * page/animation/CompositeAnimation.cpp:
21858        (WebCore::CompositeAnimation::updateTransitions):
21859        (WebCore::CompositeAnimation::animate):
21860        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
21861        * page/animation/CompositeAnimation.h:
21862
218632009-04-10  Sam Weinig  <sam@webkit.org>
21864
21865        Reviewed by Geoffrey Garen.
21866
21867        Fix for <rdar://problem/6648858>
21868        CrashTracer: [REGRESSION(Safari 4)] 60 crashes in Safari at com.apple.WebCore • WebCore::ScriptController::evaluate + 241
21869
21870        The Frame (and therefore ScriptController) were being destroyed
21871        during JavaScript execution causing the JSDOMWindowShell to become
21872        null.
21873
21874        * bindings/js/ScriptController.cpp:
21875        (WebCore::ScriptController::evaluate): Use a RefPtr to protect the Frame
21876        instead of the keep-alive timer, since a nested event loop used from with-in 
21877        JavaScript execution could cause the timer to fire before returning.
21878
218792009-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
21880
21881        Reviewed by Timothy Hatcher.
21882
21883        https://bugs.webkit.org/show_bug.cgi?id=25133
21884        Fix an error in InspectorController's bindings, clean up a few header
21885        includes, make empty object construction in ScriptObject less ambiguous.
21886
21887        * bindings/js/JSInspectorControllerCustom.cpp:
21888        (WebCore::JSInspectorController::setSetting): Send correct argument from
21889            the bindings.
21890        * bindings/js/ScriptObject.cpp:
21891        (WebCore::ScriptObject::createNew): Added.
21892        * bindings/js/ScriptObject.h: Removed constructor, added decl for createNew.
21893        * inspector/ConsoleMessage.cpp: Remove unused header.
21894        * inspector/ConsoleMessage.h: Ditto.
21895        * inspector/InspectorResource.cpp:
21896        (WebCore::createHeadersObject): Changed to use ScriptObject::createNew.
21897
218982009-04-10  Chris Marrin  <cmarrin@apple.com>
21899
21900        Reviewed by Simon Fraser.
21901
21902        Fixed https://bugs.webkit.org/show_bug.cgi?id=25134
21903
21904        This both fixes a bug where I was not sending in the right time
21905        to continue the animation and was not recomputing current time
21906        when coming out of suspend.
21907
21908        * page/animation/AnimationBase.cpp:
21909        (WebCore::AnimationBase::updateStateMachine):
21910        * page/animation/AnimationController.cpp:
21911        (WebCore::AnimationControllerPrivate::suspendAnimations):
21912        (WebCore::AnimationControllerPrivate::resumeAnimations):
21913
219142009-04-10  Adam Roben  <aroben@apple.com>
21915
21916        Give Windows's <select> popup menus drop shadows
21917
21918        Rubber-stamped by Steve Falkenburg.
21919
21920        No test possible.
21921
21922        * platform/win/PopupMenuWin.cpp:
21923        (WebCore::registerPopup): Use the CS_DROPSHADOW window class style.
21924
219252009-04-10  Timothy Hatcher  <timothy@apple.com>
21926
21927        Fix a bug in the Web Inspector where it would show scripts
21928        from previous pages when toggling the debugger off and back on.
21929
21930        https://bugs.webkit.org/show_bug.cgi?id=25095
21931        rdar://problem/6769970
21932
21933        Reviewed by John Sullivan.
21934
21935        * bindings/js/ScriptCachedFrameData.cpp:
21936        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): Null out the
21937        debugger for the scriptController. This balances the attachDebugger
21938        that was already in ScriptCachedFrameData::restore.
21939        (WebCore::ScriptCachedFrameData::restore): Clean up an if statement.
21940        * bindings/js/ScriptController.cpp:
21941        (WebCore::ScriptController::clearWindowShell): Clear the debugger from
21942        the current window before setting the new window.
21943        * inspector/JavaScriptDebugServer.cpp:
21944        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): Only accumulate
21945        source providers for code associated this as the debugger.
21946
219472009-04-10  Pierre d'Herbemont  <pdherbemont@apple.com>
21948
21949        Reviewed by Adele Peterson.
21950
21951        <rdar://problem/6646998> Avoid starting QTKitServer if possible
21952        When possible avoid asking QTKit for the MIME types that require QTKitServer
21953        when running 64-bit.
21954
21955        * WebCore.base.exp: Added new entry point.
21956
21957        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21958        (WebCore::addFileTypesToCache): Add an NSArray of types to the cache.
21959        (WebCore::mimeCommonTypesCache): Add all "common" QTKit types to the cache.
21960        (WebCore::mimeModernTypesCache): Add only "modern" QTKit types to the cache (this list does 
21961        not start QTKitServer if it is not already running).
21962        (WebCore::MediaPlayerPrivate::getSupportedTypes): Refactored.
21963        (WebCore::MediaPlayerPrivate::supportsType): Look in list of "modern" types first to avoid
21964        starting QTKitServer if possible.
21965
21966        * platform/mac/WebCoreSystemInterface.h: Add wkQTIncludeOnlyModernMediaFileTypes.
21967        * platform/mac/WebCoreSystemInterface.mm: Ditto.
21968
219692009-04-10  Adam Roben  <aroben@apple.com>
21970
21971        Turn on window animations for <select> popup menus
21972
21973        We turned these off back when <select> popup menus were partially
21974        transparent. Now that they're opaque, there's no reason not to
21975        animate them.
21976
21977        Reviewed by Steve Falkenburg.
21978
21979        No test possible.
21980
21981        * platform/win/PopupMenuWin.cpp:
21982        (WebCore::PopupMenu::show): Remove the #ifdef that was disabling the
21983        window animation.
21984
219852009-04-10  Dan Bernstein  <mitz@apple.com>
21986
21987        Reviewed by Sam Weinig.
21988
21989        - fix a regression from r42379 which made zero-width characters affect
21990          line height
21991
21992        Test: fixes fast/text/wide-zero-width-space.html
21993
21994        * platform/graphics/mac/FontMacATSUI.mm:
21995        (WebCore::overrideLayoutOperation): Add to the fallback font list set
21996        here, and only if the glyph is not zero-width...
21997        (WebCore::ATSULayoutParameters::initialize): ...instead of doing it
21998        here. This matches WidthIterator's behavior.
21999
220002009-04-10  Darin Fisher  <darin@chromium.org>
22001
22002        Fixing build bustage caused by warnings being treated as errors.
22003        1- A local variable was only be used inside a debug assertion, which
22004           caused grief for the release build.
22005        2- Missing initializer for member 'DocumentMarker::activeMatch'
22006
22007        * dom/Document.cpp:
22008        (WebCore::Document::addMarker):
22009        (WebCore::Document::setMarkersActive):
22010
220112009-04-10  Finnur Thorarinsson  <finnur.webkit@gmail.com>
22012
22013        Reviewed by John Sullivan.
22014
22015        Fixing: https://bugs.webkit.org/show_bug.cgi?id=25117
22016        (TextMatches don't have a concept of active match)
22017
22018        For the ports that use the DocumentMarker as highlighting for FindInPage it is
22019        useful to have a flag that specifies which marker is active, so it can be drawn
22020        in a different color.
22021
22022        This allows me to remove the hack to use the SelectionController to highlight
22023        the active match (in the ChromiumWin port).
22024
22025        * dom/Document.cpp:
22026        (WebCore::Document::setMarkersActive):
22027        * dom/Document.h:
22028        * dom/DocumentMarker.h:
22029        * rendering/InlineTextBox.cpp:
22030        (WebCore::InlineTextBox::paintTextMatchMarker):
22031        * rendering/RenderTheme.cpp:
22032        (WebCore::RenderTheme::platformActiveTextSearchHighlightColor):
22033        (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor):
22034        * rendering/RenderTheme.h:
22035        * rendering/RenderThemeChromiumWin.cpp:
22036        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
22037        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
22038        (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
22039        (WebCore::RenderThemeChromiumWin::platformInactiveTextSearchHighlightColor):
22040        * rendering/RenderThemeChromiumWin.h:
22041
220422009-04-10  Pamela Greene  <pam@chromium.org>
22043
22044        Reviewed by Dimitri Glazkov.
22045
22046        Build fix for Chromium.
22047        https://bugs.webkit.org/show_bug.cgi?id=12440
22048
22049        * page/chromium/FrameChromium.cpp:
22050        (WebCore::computePageRectsForFrame): change docWidth() to overflowWidth()
22051
220522009-04-09  David Hyatt  <hyatt@apple.com>
22053
22054        Reviewed by Oliver Hunt
22055
22056        Add a timer for style recalc (similar to the one used for scheduling layouts).  For now in order
22057        to reduce the risk of regressions, I have left in all the synchronous machinery for updating style
22058        following DOM events and JavaScript timeouts.  Eventually these calls will be removed.
22059
22060        Where the timer will really kick in and be useful is for clients that do style changes from
22061        Objective-C DOM bindings or that execute JavaScript to manipulate style from the JavaScriptCore C API.
22062
22063        * dom/ContainerNode.cpp:
22064        (WebCore::ContainerNode::insertBefore):
22065        (WebCore::ContainerNode::replaceChild):
22066        (WebCore::ContainerNode::removeChild):
22067        (WebCore::ContainerNode::appendChild):
22068        * dom/Document.cpp:
22069        (WebCore::Document::Document):
22070        (WebCore::Document::~Document):
22071        (WebCore::Document::scheduleStyleRecalc):
22072        (WebCore::Document::unscheduleStyleRecalc):
22073        (WebCore::Document::styleRecalcTimerFired):
22074        (WebCore::Document::updateStyleForAllDocuments):
22075        (WebCore::Document::detach):
22076        * dom/Document.h:
22077        * dom/Node.cpp:
22078        (WebCore::Node::setNeedsStyleRecalc):
22079        (WebCore::Node::lazyAttach):
22080
220812009-04-09  Oliver Hunt  <oliver@apple.com>
22082
22083        Reviewed by Gavin Barraclough.
22084
22085        <rdar://problem/6586787> JS debugger does not work in 64-bit
22086
22087        Don't truncate the source id in JSCallFrame
22088
22089        * inspector/JavaScriptCallFrame.h:
22090
220912009-04-09  Adam Roben  <aroben@apple.com>
22092
22093        Start compiling HistoryPropertyList on Windows
22094
22095        Reviewed by Darin Adler.
22096
22097        * WebCore.vcproj/WebCore.vcproj: Added HistoryPropertyList and its
22098        dependencies to the project. Copy headers from history/cf to
22099        $WebKitOutputDir.
22100        * history/cf/HistoryPropertyList.cpp: Added StringExtras.h so that
22101        this file will compile on Windows.
22102
221032009-04-09  Dan Bernstein  <mitz@apple.com>
22104
22105        Reviewed by Dave Hyatt.
22106
22107        - fix <rdar://problem/6166612> Text boxes' metrics should be based on
22108          the actual fonts used in them, not just the primary font
22109
22110        Covered by many existing layout tests
22111
22112        * platform/graphics/Font.cpp:
22113        (WebCore::Font::floatWidth): Added a fallbackFonts parameter. If the
22114        platform supports collecting fallback fonts in its complex font path
22115        and fallbackFonts is not null, all fallback fonts used for the text run
22116        will be added to it.
22117
22118        * platform/graphics/Font.h:
22119        (WebCore::Font::width): Ditto.
22120
22121        * platform/graphics/FontFastPath.cpp:
22122        (WebCore::Font::glyphDataForCharacter): Removed an unnecessary namespace
22123        qualifier.
22124        (WebCore::Font::floatWidthForSimpleText): Added a fallbackFonts
22125        parameter, which is passed down to WidthIterator.
22126
22127        * platform/graphics/WidthIterator.cpp:
22128        (WebCore::WidthIterator::WidthIterator): Added a fallbackFonts parameter
22129        and used it to initialize the m_fallbackFonts member.
22130        (WebCore::WidthIterator::advance): Track the fonts being used and add
22131        any fallback fonts to the m_fallbackFonts set. Make sure to only add
22132        non-small-caps fonts.
22133
22134        * platform/graphics/WidthIterator.h:
22135
22136        * platform/graphics/chromium/FontChromiumWin.cpp:
22137        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
22138        implementation that returns false, meaning this platform's
22139        implementation of floatWidthForComplexText() does not populate the
22140        fallbackFonts set.
22141        (WebCore::Font::floatWidthForComplexText): Updated for the new
22142        prototype.
22143
22144        * platform/graphics/chromium/FontLinux.cpp: Ditto.
22145
22146        * platform/graphics/gtk/FontGtk.cpp: Ditto.
22147
22148        * platform/graphics/mac/CoreTextController.cpp:
22149        (WebCore::CoreTextController::CoreTextController): Added a fallbackFonts
22150        parameter and used it to initialize the m_fallbackFonts member.
22151        (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Add
22152        fallback fonts to m_fallbackFonts.
22153
22154        * platform/graphics/mac/CoreTextController.h:
22155
22156        * platform/graphics/mac/FontMac.mm:
22157        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
22158        implementation that returns true, indicating that the Mac
22159        implementations of floatWidthForComplexText() populate the fallbackFonts
22160        set.
22161        * platform/graphics/mac/FontMacATSUI.mm:
22162        (WebCore::ATSULayoutParameters::ATSULayoutParameters): Added a
22163        fallbackFonts parameter and used it to initialize the m_fallbackFonts
22164        member.
22165        (WebCore::ATSULayoutParameters::initialize): Add fallback fonts to
22166        m_fallbackFonts.
22167        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
22168        parameter, which is passed down to ATSULayoutParameters.
22169
22170        * platform/graphics/mac/FontMacCoreText.cpp:
22171        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
22172        parameter, which is passed down to CoreTextController.
22173
22174        * platform/graphics/win/FontWin.cpp:
22175        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
22176        implementation that returns true, indicating that the
22177        UniscribeController-based implementations of floatWidthForComplexText()
22178        populate the fallbackFonts set.
22179        (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
22180        parameter, which is passed down to UniscribeController.
22181
22182        * platform/graphics/win/UniscribeController.cpp:
22183        (WebCore::UniscribeController::UniscribeController): Added a
22184        fallbackfonts parameter and used it to initialize m_fallbackFonts.
22185        (WebCore::UniscribeController::advance): Add fallback fonts to
22186        m_fallbackFonts.
22187
22188        * platform/graphics/win/UniscribeController.h:
22189        
22190        * platform/graphics/wx/FontWx.cpp:
22191        (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
22192        implementation that returns false, meaning this platform's
22193        implementation of floatWidthForComplexText() does not populate the
22194        fallbackFonts set.
22195        (WebCore::Font::floatWidthForComplexText): Updated for the new
22196        prototype.
22197
22198        * rendering/InlineFlowBox.cpp:
22199        (WebCore::InlineFlowBox::computeLogicalBoxHeights): For an InlineTextBox
22200        with multiple fonts, compute a common baseline and line height by
22201        considering all fonts' ascents and descents (and line spacing, if
22202        applicable).
22203
22204        * rendering/InlineTextBox.cpp:
22205        (WebCore::InlineTextBox::setFallbackFonts): Added. Temporarily stores
22206        the set of fallback fonts in a vector.
22207        (WebCore::InlineTextBox::takeFallbackFonts): Added. Returns the fallback
22208        fonts previously stored and removes them from storage.
22209
22210        * rendering/InlineTextBox.h:
22211
22212        * rendering/RenderText.cpp:
22213        (WebCore::RenderText::RenderText): Initialized the
22214        m_knownNotToUseFallbackFonts to false.
22215        (WebCore::RenderText::styleDidChange): Reset
22216        m_knownNotToUseFallbackFonts to false if the style difference is such that
22217        affects layout.
22218        (WebCore::RenderText::widthFromCache): Added a fallbackFonts parameter,
22219        which is passed down to Font::width().
22220        (WebCore::RenderText::trimmedPrefWidths): Updated for the change to
22221        widthFromCache().
22222        (WebCore::RenderText::calcPrefWidths): Made this call a private version
22223        of calcPrefWidths() that takes a fallbackFonts parameter and set the
22224        m_knownNotToUseFallbackFonts to true if the set comes back empty.
22225        The private version passes the fallbackFonts set to widthFromCache().
22226        (WebCore::RenderText::setText): Reset m_knownNotToUseFallbackFonts to
22227        false.
22228        (WebCore::RenderText::createFallbackFontMetricsBox): Added.
22229        (WebCore::RenderText::width): Added a fallbackFonts parameter, which is
22230        passed down to calcPrefWidths(), widthFromCache() and Font::width().
22231        Set m_knownNotToUseFallbackFonts to true when appropriate.
22232
22233        * rendering/RenderText.h:
22234
22235        * rendering/bidi.cpp:
22236        (WebCore::RenderBlock::constructLine): Added an assertion and a continue
22237        statement to remove one level of indentation.
22238        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Temporarily
22239        store the set of fallback fonts in the InlineTextBox.
22240        (WebCore::RenderBlock::computeVerticalPositionsForLine): Added an
22241        assertion.
22242
222432009-04-09  David Hyatt  <hyatt@apple.com>
22244
22245        Reviewed by Adam Roben
22246
22247        Rename all of the changed()/setChanged()/setDocumentChanged() methods to mention style recalc
22248        explicitly instead.
22249
22250        * bindings/js/JSCustomPositionCallback.cpp:
22251        (WebCore::JSCustomPositionCallback::handleEvent):
22252        * bindings/js/JSCustomPositionErrorCallback.cpp:
22253        (WebCore::JSCustomPositionErrorCallback::handleEvent):
22254        * bindings/js/JSCustomSQLStatementCallback.cpp:
22255        (WebCore::JSCustomSQLStatementCallback::handleEvent):
22256        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22257        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22258        * bindings/js/JSCustomSQLTransactionCallback.cpp:
22259        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22260        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22261        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22262        * bindings/js/JSCustomVoidCallback.cpp:
22263        (WebCore::JSCustomVoidCallback::handleEvent):
22264        * bindings/js/JSCustomXPathNSResolver.cpp:
22265        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
22266        * bindings/js/JSEventListener.cpp:
22267        (WebCore::JSAbstractEventListener::handleEvent):
22268        * bindings/js/ScheduledAction.cpp:
22269        (WebCore::ScheduledAction::execute):
22270        * bindings/js/ScriptControllerMac.mm:
22271        (WebCore::updateStyleIfNeededForBindings):
22272        (WebCore::ScriptController::initJavaJSBindings):
22273        * css/CSSMutableStyleDeclaration.cpp:
22274        (WebCore::CSSMutableStyleDeclaration::removeProperty):
22275        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
22276        (WebCore::CSSMutableStyleDeclaration::setProperty):
22277        (WebCore::CSSMutableStyleDeclaration::setStringProperty):
22278        (WebCore::CSSMutableStyleDeclaration::setImageProperty):
22279        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
22280        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
22281        (WebCore::CSSMutableStyleDeclaration::setCssText):
22282        (WebCore::CSSMutableStyleDeclaration::merge):
22283        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
22284        * css/CSSMutableStyleDeclaration.h:
22285        * css/CSSStyleSelector.cpp:
22286        (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
22287        (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
22288        * css/CSSVariablesDeclaration.cpp:
22289        (WebCore::CSSVariablesDeclaration::removeVariable):
22290        (WebCore::CSSVariablesDeclaration::setVariable):
22291        (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
22292        * css/CSSVariablesDeclaration.h:
22293        * dom/ContainerNode.cpp:
22294        (WebCore::ContainerNode::insertBefore):
22295        (WebCore::ContainerNode::replaceChild):
22296        (WebCore::ContainerNode::removeChild):
22297        (WebCore::ContainerNode::appendChild):
22298        (WebCore::ContainerNode::detach):
22299        (WebCore::ContainerNode::setFocus):
22300        (WebCore::ContainerNode::setActive):
22301        (WebCore::ContainerNode::setHovered):
22302        * dom/Document.cpp:
22303        (WebCore::Document::Document):
22304        (WebCore::Document::~Document):
22305        (WebCore::Document::scheduleStyleRecalc):
22306        (WebCore::Document::unscheduleStyleRecalc):
22307        (WebCore::Document::recalcStyle):
22308        (WebCore::Document::updateStyleIfNeeded):
22309        (WebCore::Document::updateStyleForAllDocuments):
22310        (WebCore::Document::updateLayout):
22311        (WebCore::Document::implicitClose):
22312        (WebCore::Document::prepareMouseEvent):
22313        (WebCore::Document::setFocusedNode):
22314        (WebCore::Document::setCSSTarget):
22315        * dom/Document.h:
22316        * dom/Element.cpp:
22317        (WebCore::Element::recalcStyle):
22318        (WebCore::checkForSiblingStyleChanges):
22319        * dom/InputElement.cpp:
22320        (WebCore::InputElement::parseMaxLengthAttribute):
22321        * dom/MouseRelatedEvent.cpp:
22322        (WebCore::MouseRelatedEvent::receivedTarget):
22323        * dom/Node.cpp:
22324        (WebCore::Node::Node):
22325        (WebCore::Node::setNeedsStyleRecalc):
22326        (WebCore::Node::lazyAttach):
22327        (WebCore::Node::dispatchGenericEvent):
22328        * dom/Node.h:
22329        (WebCore::Node::needsStyleRecalc):
22330        (WebCore::Node::childNeedsStyleRecalc):
22331        (WebCore::Node::setChildNeedsStyleRecalc):
22332        * dom/OptionElement.cpp:
22333        (WebCore::OptionElement::setSelectedState):
22334        * dom/ScriptElement.cpp:
22335        (WebCore::ScriptElementData::evaluateScript):
22336        * dom/StyledElement.cpp:
22337        (WebCore::StyledElement::attributeChanged):
22338        (WebCore::StyledElement::classAttributeChanged):
22339        (WebCore::StyledElement::parseMappedAttribute):
22340        * dom/Text.cpp:
22341        (WebCore::Text::recalcStyle):
22342        * dom/XMLTokenizer.cpp:
22343        (WebCore::XMLTokenizer::insertErrorMessageBlock):
22344        * editing/DeleteButtonController.cpp:
22345        (WebCore::DeleteButtonController::enable):
22346        * editing/Editor.cpp:
22347        (WebCore::Editor::setBaseWritingDirection):
22348        * editing/SelectionController.cpp:
22349        (WebCore::SelectionController::nodeWillBeRemoved):
22350        (WebCore::SelectionController::layout):
22351        (WebCore::SelectionController::focusedOrActiveStateChanged):
22352        * html/HTMLAnchorElement.cpp:
22353        (WebCore::HTMLAnchorElement::parseMappedAttribute):
22354        * html/HTMLElement.cpp:
22355        (WebCore::HTMLElement::setInnerText):
22356        (WebCore::HTMLElement::isContentEditable):
22357        (WebCore::HTMLElement::isContentRichlyEditable):
22358        (WebCore::HTMLElement::contentEditable):
22359        * html/HTMLEmbedElement.cpp:
22360        (WebCore::HTMLEmbedElement::updateWidget):
22361        * html/HTMLFormControlElement.cpp:
22362        (WebCore::HTMLFormControlElement::parseMappedAttribute):
22363        * html/HTMLFrameSetElement.cpp:
22364        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
22365        (WebCore::HTMLFrameSetElement::recalcStyle):
22366        * html/HTMLInputElement.cpp:
22367        (WebCore::HTMLInputElement::parseMappedAttribute):
22368        (WebCore::HTMLInputElement::setChecked):
22369        (WebCore::HTMLInputElement::setIndeterminate):
22370        (WebCore::HTMLInputElement::setValue):
22371        (WebCore::HTMLInputElement::setAutofilled):
22372        * html/HTMLMediaElement.cpp:
22373        (WebCore::HTMLMediaElement::finishParsingChildren):
22374        * html/HTMLObjectElement.cpp:
22375        (WebCore::HTMLObjectElement::updateWidget):
22376        (WebCore::HTMLObjectElement::finishParsingChildren):
22377        (WebCore::HTMLObjectElement::childrenChanged):
22378        * html/HTMLSelectElement.cpp:
22379        (WebCore::HTMLSelectElement::recalcStyle):
22380        (WebCore::HTMLSelectElement::restoreState):
22381        (WebCore::HTMLSelectElement::setRecalcListItems):
22382        (WebCore::HTMLSelectElement::reset):
22383        (WebCore::HTMLSelectElement::typeAheadFind):
22384        * html/HTMLTableElement.cpp:
22385        (WebCore::setTableCellsChanged):
22386        (WebCore::HTMLTableElement::parseMappedAttribute):
22387        * html/HTMLTextAreaElement.cpp:
22388        (WebCore::HTMLTextAreaElement::setValue):
22389        * loader/FrameLoader.cpp:
22390        (WebCore::FrameLoader::stopLoading):
22391        (WebCore::FrameLoader::executeScript):
22392        (WebCore::FrameLoader::gotoAnchor):
22393        * page/DOMWindow.cpp:
22394        (WebCore::DOMWindow::alert):
22395        (WebCore::DOMWindow::confirm):
22396        (WebCore::DOMWindow::prompt):
22397        * page/EventHandler.cpp:
22398        (WebCore::EventHandler::hoverTimerFired):
22399        * page/FrameView.cpp:
22400        (WebCore::FrameView::layout):
22401        (WebCore::FrameView::needsLayout):
22402        * page/animation/AnimationBase.cpp:
22403        (WebCore::AnimationBase::setNeedsStyleRecalc):
22404        (WebCore::AnimationBase::updateStateMachine):
22405        * page/animation/AnimationBase.h:
22406        * page/animation/AnimationController.cpp:
22407        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
22408        (WebCore::AnimationControllerPrivate::clear):
22409        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
22410        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
22411        (WebCore::AnimationControllerPrivate::startupdateStyleIfNeededDispatcher):
22412        (WebCore::AnimationControllerPrivate::addEventToDispatch):
22413        (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
22414        (WebCore::AnimationControllerPrivate::animationTimerFired):
22415        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
22416        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
22417        (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
22418        (WebCore::AnimationController::cancelAnimations):
22419        * page/animation/AnimationControllerPrivate.h:
22420        * page/animation/ImplicitAnimation.cpp:
22421        (WebCore::ImplicitAnimation::sendTransitionEvent):
22422        * page/animation/KeyframeAnimation.cpp:
22423        (WebCore::KeyframeAnimation::endAnimation):
22424        (WebCore::KeyframeAnimation::sendAnimationEvent):
22425        * rendering/RenderObject.cpp:
22426        (WebCore::RenderObject::updateDragState):
22427        * rendering/RenderView.cpp:
22428        (WebCore::RenderView::selectionBounds):
22429        * svg/SVGAElement.cpp:
22430        (WebCore::SVGAElement::svgAttributeChanged):
22431        * svg/SVGAnimationElement.cpp:
22432        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
22433        * svg/SVGCursorElement.cpp:
22434        (WebCore::SVGCursorElement::svgAttributeChanged):
22435        * svg/SVGElementInstance.cpp:
22436        (WebCore::SVGElementInstance::setNeedsUpdate):
22437        * svg/SVGForeignObjectElement.cpp:
22438        (WebCore::addCSSPropertyAndNotifyAttributeMap):
22439        * svg/SVGStopElement.cpp:
22440        (WebCore::SVGStopElement::parseMappedAttribute):
22441        * svg/SVGStyledElement.cpp:
22442        (WebCore::SVGStyledElement::parseMappedAttribute):
22443        * svg/SVGUseElement.cpp:
22444        (WebCore::SVGUseElement::svgAttributeChanged):
22445        (WebCore::SVGUseElement::childrenChanged):
22446        (WebCore::SVGUseElement::recalcStyle):
22447        * svg/animation/SMILTimeContainer.cpp:
22448        (WebCore::SMILTimeContainer::updateAnimations):
22449        * wml/WMLAElement.cpp:
22450        (WebCore::WMLAElement::parseMappedAttribute):
22451        * wml/WMLInputElement.cpp:
22452        (WebCore::WMLInputElement::setValue):
22453        (WebCore::WMLInputElement::parseMappedAttribute):
22454        * wml/WMLNoopElement.cpp:
22455        (WebCore::WMLNoopElement::insertedIntoDocument):
22456
224572009-04-09  Brett Wilson  <brettw@chromium.org>
22458
22459        Reviewed by Darin Fisher.
22460
22461        When there is a shadow set but it specifies "no shadow", clear the
22462        shadow shader. This will prevent Chromium from thinking there's a
22463        shadow and using the Skia codepath rather than Windows.
22464
22465        * platform/graphics/skia/GraphicsContextSkia.cpp:
22466        (WebCore::GraphicsContext::setPlatformShadow):
22467
224682009-04-09  Eric Seidel  <eric@webkit.org>
22469
22470        Reviewed by Simon Fraser.
22471
22472        Crash when accessing svg.viewport on a detached SVGSVGElement
22473        https://bugs.webkit.org/show_bug.cgi?id=25105
22474
22475        * svg/SVGSVGElement.cpp:
22476        (WebCore::SVGSVGElement::isOutermostSVG): return "true" that we are the "outermost" SVG element if we have no parent.  (The spec is unclear as to what behavior we should have in this case, and I doubt anyone cares for now).
22477
224782009-04-09  Jian Li  <jianli@chromium.org>
22479
22480        Reviewed by Dimitri Glazkov.
22481
22482        https://bugs.webkit.org/show_bug.cgi?id=25084
22483        Upstream changes to V8 bindings for XHR so that it can work under either DOMWindow or WorkerContext.
22484
22485        * bindings/v8/WorkerContextExecutionProxy.cpp:
22486        (WebCore::WorkerContextExecutionProxy::dispose):
22487        (WebCore::WorkerContextExecutionProxy::retrieve):
22488        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
22489        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
22490        (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
22491        (WebCore::WorkerContextExecutionProxy::findOrCreateObjectEventListener):
22492        * bindings/v8/WorkerContextExecutionProxy.h:
22493        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
22494        (WebCore::CALLBACK_FUNC_DECL):
22495        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
22496        (WebCore::getEventListener):
22497        (WebCore::ACCESSOR_SETTER):
22498        (WebCore::CALLBACK_FUNC_DECL):
22499
225002009-04-09  Darin Adler  <darin@apple.com>
22501
22502        Reviewed by Anders Carlsson and Sam Weinig.
22503
22504        Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
22505
22506        Longer term solution is to change the design so Safari doesn't read and write all of history.
22507        This patch is step one: Do the serializing, which is done on the main thread, much faster.
22508
22509        * WebCore.base.exp: Added new entry points.
22510        * WebCore.xcodeproj/project.pbxproj: Added new source files.
22511
22512        * history/cf: Added.
22513
22514        * history/cf/HistoryPropertyList.cpp: Added.
22515        * history/cf/HistoryPropertyList.h: Added. Code to write history files. In the future we'll also
22516        have code for reading here too.
22517
22518        * platform/cf/BinaryPropertyList.cpp: Added.
22519        * platform/cf/BinaryPropertyList.h: Added. Code to write binary property list files.
22520
225212009-04-09  Simon Fraser  <simon.fraser@apple.com>
22522
22523        Reviewed by Antti Koivisto
22524
22525        https://bugs.webkit.org/show_bug.cgi?id=25122
22526
22527        If deferred repainting is active, we need to ensure that there are no repaints
22528        pending at the end of layoutIfNeededRecursive, which is called just before
22529        painting via -viewWillDraw.
22530
22531        * page/FrameView.cpp:
22532        (WebCore::FrameView::layoutIfNeededRecursive):
22533
225342009-04-09  John Grabowski  <jrg@chromium.org>
22535
22536        Reviewed by Darin Fisher.
22537
22538        https://bugs.webkit.org/show_bug.cgi?id=25117
22539        Fix Mac Chromium form controls.
22540
22541        * rendering/RenderThemeChromiumMac.mm:
22542        When rendering native controls in Mac Chromium, use a clean NSGraphicsContext.
22543        Properly save and restore native graphics context.
22544        (WebCore::RenderThemeChromiumMac::paintCheckbox):
22545        (WebCore::RenderThemeChromiumMac::paintRadio):
22546        (WebCore::RenderThemeChromiumMac::paintMenuList):
22547        (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
22548        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
22549        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
22550
225512009-04-09  Drew Wilson  <atwilson@google.com>
22552
22553        Reviewed by Alexey Proskuryakov.
22554
22555        https://bugs.webkit.org/show_bug.cgi?id=25030
22556        Refactor MessagePort code to enable Chrome to use a MessagePortProxy object
22557        instead of a real MessagePort for the entangledPort, since it could
22558        theoretically live in a separate process.
22559
22560        The goal of this refactoring is to remove all assumptions that the object
22561        representing the entangled port is actually of type MessagePort. All
22562        operations that were previously directly modifying private MessagePort member
22563        variables in the entangled port (i.e. entangle(), postMessage()) have been changed
22564        to invoke functions in the  MessagePortProxy interface instead which will allow
22565        the Chrome bindings to proxy these calls to another process.
22566
22567        No new layout tests, as this is just a refactoring with no bug fixes
22568        or new functionality.
22569
22570        * GNUmakefile.am:
22571        * WebCore.vcproj/WebCore.vcproj:
22572        * WebCore.xcodeproj/project.pbxproj:
22573        * bindings/js/JSMessagePortCustom.cpp:
22574        (WebCore::JSMessagePort::mark):
22575        * dom/MessagePort.cpp:
22576        (WebCore::MessagePort::clone):
22577        (WebCore::MessagePort::postMessage):
22578        (WebCore::MessagePort::deliverMessage):
22579        (WebCore::MessagePort::startConversation):
22580        (WebCore::MessagePort::close):
22581        (WebCore::MessagePort::entangle):
22582        (WebCore::MessagePort::unentangle):
22583        * dom/MessagePort.h:
22584        (WebCore::MessagePort::entangledPort):
22585        * dom/MessagePortProxy.h: Added.
22586        (WebCore::MessagePortProxy::~MessagePortProxy):
22587
225882009-04-08  Sam Weinig  <sam@webkit.org>
22589
22590        Reviewed by Geoffrey "Big Boy" Garen.
22591
22592        Fix for <rdar://problem/5745677> Possible to stop load during an unload event
22593        Also fixes https://bugs.webkit.org/show_bug.cgi?id=20605
22594
22595        Tests: fast/events/stop-load-in-unload-handler-using-document-write.html
22596               fast/events/stop-load-in-unload-handler-using-window-stop.html
22597
22598        Don't allow calling methods that would stop the new load inside the unload
22599        event.
22600
22601        * loader/FrameLoader.cpp:
22602        (WebCore::FrameLoader::FrameLoader):
22603        (WebCore::FrameLoader::stopLoading):
22604        (WebCore::FrameLoader::stopAllLoaders):
22605        * loader/FrameLoader.h:
22606
226072009-04-09  David Kilzer  <ddkilzer@apple.com>
22608
22609        Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
22610
22611        Rolled r42345 back in.  The build failure was caused by an
22612        internal script which had not been updated the same way that
22613        build-webkit was updated.
22614
22615        * Configurations/WebCore.xcconfig:
22616        * DerivedSources.make:
22617        * bindings/objc/DOM.mm:
22618        (WebCore::createElementClassMap):
22619        (+[DOMNode _wrapNode:WebCore::]):
22620        * bindings/objc/DOMCSS.mm:
22621        (+[DOMCSSValue _wrapCSSValue:WebCore::]):
22622        * bindings/objc/DOMEvents.mm:
22623        (+[DOMEvent _wrapEvent:WebCore::]):
22624        * bindings/objc/DOMInternal.h:
22625        * bindings/objc/ExceptionHandlers.mm:
22626        (WebCore::raiseDOMException):
22627        * html/HTMLEmbedElement.idl:
22628        * html/HTMLFrameElement.idl:
22629        * html/HTMLIFrameElement.idl:
22630        * html/HTMLObjectElement.idl:
22631
226322009-04-09  Simon Fraser  <simon.fraser@apple.com>
22633
22634        Reviewed by Darin Adler
22635
22636        https://bugs.webkit.org/show_bug.cgi?id=25109
22637
22638        Eliminate CompositeAnimationPrivate, which was a needless level
22639        of abstraction. Remove the methods like addToStyleAvailableWaitList()
22640        that simply turn around and call the animation controller.
22641        
22642        Rename animationControllerPriv() to animationController().
22643        Rename willNeedService() to timeToNextService().
22644
22645        * page/animation/AnimationBase.cpp:
22646        (WebCore::AnimationBase::~AnimationBase):
22647        (WebCore::AnimationBase::updateStateMachine):
22648        (WebCore::AnimationBase::timeToNextService):
22649        (WebCore::AnimationBase::beginAnimationUpdateTime):
22650        * page/animation/AnimationBase.h:
22651        * page/animation/AnimationController.cpp:
22652        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
22653        * page/animation/CompositeAnimation.cpp:
22654        (WebCore::CompositeAnimation::~CompositeAnimation):
22655        (WebCore::CompositeAnimation::clearRenderer):
22656        (WebCore::CompositeAnimation::updateTransitions):
22657        (WebCore::CompositeAnimation::updateKeyframeAnimations):
22658        (WebCore::CompositeAnimation::animate):
22659        (WebCore::CompositeAnimation::getAnimatedStyle):
22660        (WebCore::CompositeAnimation::setAnimating):
22661        (WebCore::CompositeAnimation::timeToNextService):
22662        (WebCore::CompositeAnimation::getAnimationForProperty):
22663        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
22664        (WebCore::CompositeAnimation::suspendAnimations):
22665        (WebCore::CompositeAnimation::resumeAnimations):
22666        (WebCore::CompositeAnimation::overrideImplicitAnimations):
22667        (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
22668        (WebCore::CompositeAnimation::isAnimatingProperty):
22669        (WebCore::CompositeAnimation::pauseAnimationAtTime):
22670        (WebCore::CompositeAnimation::pauseTransitionAtTime):
22671        (WebCore::CompositeAnimation::numberOfActiveAnimations):
22672        * page/animation/CompositeAnimation.h:
22673        (WebCore::CompositeAnimation::animationController):
22674        (WebCore::CompositeAnimation::isSuspended):
22675        (WebCore::CompositeAnimation::hasAnimations):
22676        (WebCore::CompositeAnimation::CompositeAnimation):
22677        * page/animation/ImplicitAnimation.cpp:
22678        (WebCore::ImplicitAnimation::sendTransitionEvent):
22679        (WebCore::ImplicitAnimation::timeToNextService):
22680        * page/animation/ImplicitAnimation.h:
22681        * page/animation/KeyframeAnimation.cpp:
22682        (WebCore::KeyframeAnimation::sendAnimationEvent):
22683        (WebCore::KeyframeAnimation::timeToNextService):
22684        * page/animation/KeyframeAnimation.h:
22685
226862009-04-09  Alexey Proskuryakov  <ap@webkit.org>
22687
22688        Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
22689        It broke Mac build, and I don't know how to fix it.
22690
22691        * Configurations/WebCore.xcconfig:
22692        * DerivedSources.make:
22693        * bindings/objc/DOM.mm:
22694        (WebCore::createElementClassMap):
22695        (+[DOMNode _wrapNode:WebCore::]):
22696        * bindings/objc/DOMCSS.mm:
22697        (+[DOMCSSValue _wrapCSSValue:WebCore::]):
22698        * bindings/objc/DOMEvents.mm:
22699        (+[DOMEvent _wrapEvent:WebCore::]):
22700        * bindings/objc/DOMInternal.h:
22701        * bindings/objc/ExceptionHandlers.mm:
22702        (WebCore::raiseDOMException):
22703        * html/HTMLEmbedElement.idl:
22704        * html/HTMLFrameElement.idl:
22705        * html/HTMLIFrameElement.idl:
22706        * html/HTMLObjectElement.idl:
22707
227082009-04-09  Xan Lopez  <xlopez@igalia.com>
22709
22710        Unreviewed build fix.
22711
22712        RenderView::docWidth() was made private by r42334. That commit
22713        changes its usage for overflowWidth(), so do that here too.
22714
22715        * page/PrintContext.cpp:
22716        (WebCore::PrintContext::computePageRects):
22717
227182009-04-09  Xan Lopez  <xlopez@igalia.com>
22719
22720        Reviewed by Holger Freyther.
22721
22722        https://bugs.webkit.org/show_bug.cgi?id=21546
22723        [GTK] ATK accessibility enhancements
22724
22725        Based on a patch by Alp Toker.
22726
22727        Implement AtkObject::ref_state_set. Still quite a few states not
22728        implemented.
22729
22730        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
22731
227322009-04-09  Xan Lopez  <xlopez@igalia.com>
22733
22734        Reviewed by Holger Freyther.
22735
22736        https://bugs.webkit.org/show_bug.cgi?id=21546
22737        [GTK] ATK accessibility enhancements
22738
22739        Based on a patch by Alp Toker.
22740
22741        Move fallback object creation to its own function, as it will be
22742        used in several places.
22743
22744        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
22745        (fallbackObject):
22746
227472009-04-09  Xan Lopez  <xlopez@igalia.com>
22748
22749        Reviewed by Holger Freyther.
22750
22751        https://bugs.webkit.org/show_bug.cgi?id=21546
22752        [GTK] ATK accessibility enhancements
22753
22754        Based on a patch by Alp Toker.
22755
22756        Move AccessibilityObject methods to their file.
22757
22758        * page/gtk/AccessibilityObjectAtk.cpp:
22759        (WebCore::AccessibilityObject::wrapper):
22760        (WebCore::AccessibilityObject::setWrapper):
22761        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
22762
227632009-04-09  Xan Lopez  <xlopez@igalia.com>
22764
22765        Reviewed by Holger Freyther.
22766
22767        https://bugs.webkit.org/show_bug.cgi?id=21546
22768        [GTK] ATK accessibility enhancements
22769
22770        Rework accessibility type generation code, based on Mozilla a11y
22771        implementation.
22772
22773        Have one base a11y type, and generate derived types that implement
22774        only the necessary interfaces at runtime, based on the specific
22775        object we are wrapping. This allows to save a lot of code while
22776        covering all possible cases.
22777
22778        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
22779
227802009-04-09  Eric Seidel  <eric@webkit.org>
22781
22782        Reviewed by Oliver Hunt.
22783
22784        Fix document.implementation.createDocument(null, "a:b") not to crash!
22785        https://bugs.webkit.org/show_bug.cgi?id=25096
22786
22787        Test: fast/dom/DOMImplementation/createDocument-namespace-err.html
22788
22789        * dom/ContainerNode.cpp:
22790        (WebCore::ContainerNode::addChild): add ASSERT() to give a better crash next time
22791        * dom/DOMImplementation.cpp:
22792        (WebCore::DOMImplementation::createDocument): check the exception code before using the result
22793
227942009-04-08  Adam Roben  <aroben@apple.com>
22795
22796        Make <select>s in application chrome documents match the Vista system
22797        dialog look
22798
22799        Reviewed by Dave Hyatt.
22800
22801        * rendering/RenderThemeWin.cpp:
22802        (WebCore::documentIsInApplicationChromeMode): Added this simple helper
22803        function.
22804        (WebCore::RenderThemeWin::getThemeData): In application chrome mode,
22805        the drop down button never uses any look but the "normal" look.
22806        (WebCore::RenderThemeWin::paintMenuList): In application chrome mode,
22807        use the "readonly" style to match system dialogs.
22808
228092009-04-08  Adam Roben  <aroben@apple.com>
22810
22811        Fix <rdar://6592515> Crash closing tab with Top Sites or Cover Flow
22812        showing after clicking "Go Back" in phishing alert
22813
22814        RenderButton's m_timer is not stopped when its Document enters the
22815        page cache. When the WebView was torn down, the timer would fire after
22816        the Frame's Page had been destroyed, leading to a crash. This patch
22817        just makes the timer do nothing when it fires. Making the timer not
22818        fire when in the page cache is covered by bug 25110.
22819
22820        Reviewed by Dave Hyatt.
22821
22822        No test possible.
22823
22824        * rendering/RenderButton.cpp:
22825        (WebCore::RenderButton::timerFired): Do nothing when we're in the page
22826        cache.
22827
228282009-04-09  David Hyatt  <hyatt@apple.com>
22829
22830        Reviewed by Adam Roben
22831
22832        Fix bugs where we would mistakenly turn off blitting for iframes if an external paint
22833        caused the checks to be triggered too early in the loading process of the frame.
22834
22835        * rendering/RenderBoxModelObject.cpp:
22836        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
22837
228382009-04-08  Simon Fraser  <simon.fraser@apple.com>
22839
22840        Reviewed by Cameron Zwarich
22841
22842        https://bugs.webkit.org/show_bug.cgi?id=25106
22843        
22844        Fix signature of virtual function on AnimationBase so that it matches
22845        those in the derived classes, by removing unused parameter.
22846        
22847        * page/animation/AnimationBase.h:
22848        (WebCore::AnimationBase::endAnimation):
22849
228502009-04-08  David Kilzer  <ddkilzer@apple.com>
22851
22852        <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
22853
22854        Reviewed by Darin Adler and Maciej Stachowiak.
22855
22856        Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
22857        that SVG DOM Objective-C bindings may be optionally disabled.
22858
22859        * Configurations/WebCore.xcconfig: Added
22860        ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
22861        FEATURE_DEFINES and EXCLUDED_SOURCE_FILE_NAMES.  When SVG DOM
22862        Objective-C bindings are disabled, two generated header files no
22863        longer exist and none of the generated DOMSVG*.mm files should
22864        be compiled.
22865        * DerivedSources.make: All of the WebCore.SVG*.exp files contain
22866        SVG DOM Objective-C bindings classes, so exclude them unless
22867        ENABLE_SVG_DOM_OBJC_BINDINGS is set.
22868        * bindings/objc/DOM.mm: Switched from using ENABLE(SVG) to using
22869        ENABLE(SVG_DOM_OBJC_BINDINGS).
22870        (WebCore::createElementClassMap):
22871        (+[DOMNode _wrapNode:WebCore::]):
22872        * bindings/objc/DOMCSS.mm: Ditto.
22873        (+[DOMCSSValue _wrapCSSValue:WebCore::]):
22874        * bindings/objc/DOMEvents.mm: Ditto.
22875        (+[DOMEvent _wrapEvent:WebCore::]):
22876        * bindings/objc/DOMInternal.h: Ditto.
22877        * bindings/objc/ExceptionHandlers.mm: Added use of
22878        ENABLE(SVG_DOM_OBJC_BINDINGS).
22879        (WebCore::raiseDOMException):
22880        * html/HTMLEmbedElement.idl: Excluded -getSVGDocument method
22881        in generated Objective-C DOM classes if SVG DOM Objective-C
22882        bindings are disabled.
22883        * html/HTMLFrameElement.idl: Ditto.
22884        * html/HTMLIFrameElement.idl: Ditto.
22885        * html/HTMLObjectElement.idl: Ditto.
22886
228872009-04-08  Dan Bernstein  <mitz@apple.com>
22888
22889        Reviewed by Sam Weinig.
22890
22891        - limit the workaround for <rdar://problem/5781372> to Mac OS X versions
22892          that need it
22893
22894        * platform/mac/WebFontCache.mm:
22895        (fixUpWeight): Changed this function to be a no-op post-Leopard.
22896
228972009-04-08  Dan Bernstein  <mitz@apple.com>
22898
22899        Reviewed by Dave Hyatt.
22900
22901        - fix <rdar://problem/6771547> Appending to a RenderText causes all its
22902          lines to be dirtied
22903
22904        Test: fast/repaint/text-append-dirty-lines.html
22905
22906        * rendering/RenderText.cpp:
22907        (WebCore::RenderText::setTextWithOffset): If no text boxes intersected
22908        with or came after the new text, dirty the last root box, since the new
22909        text may begin there. Having at least one dirty line prevents the
22910        incorrect dirtying of all lines later during layoutInlineChildren().
22911
229122009-04-08  Darin Fisher  <darin@chromium.org>
22913
22914        Reviewed by Eric Seidel.
22915
22916        https://bugs.webkit.org/show_bug.cgi?id=25100
22917
22918        Fixes a Chromium-specific crash in WebCore::ImageBuffer::context that
22919        occurs when rendering semi-transparent RTL text.
22920
22921        Test: fast/text/complex-text-opacity.html
22922
22923        * platform/graphics/chromium/FontChromiumWin.cpp: Handle RTL when computing text bounds.
22924        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
22925
229262009-04-08  David Hyatt  <hyatt@apple.com>
22927
22928        Reviewed by Beth Dakin
22929
22930        Fix a porting error in my previous patch.  A != was supposed to be an ==.
22931
22932        * platform/ScrollView.cpp:
22933        (WebCore::ScrollView::updateScrollbars):
22934
229352009-04-08  David Hyatt  <hyatt@apple.com>
22936
22937        Reviewed by Adam Roben and Darin Adler
22938
22939        Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, repaints inconsistent for
22940        fixed positioned elements.
22941
22942        Rewrite the updateScrollers method to be more correct in its results.
22943
22944        Test: fast/block/positioning/fixed-positioning-scrollbar-bug.html
22945
22946        * dom/Document.cpp:
22947        (WebCore::Document::recalcStyle):
22948        (WebCore::Document::implicitClose):
22949        * page/FrameView.cpp:
22950        (WebCore::FrameView::createScrollbar):
22951        (WebCore::FrameView::layout):
22952        (WebCore::FrameView::adjustPageHeight):
22953        * page/FrameView.h:
22954        * page/win/FrameWin.cpp:
22955        (WebCore::computePageRectsForFrame):
22956        * platform/ScrollView.cpp:
22957        (WebCore::ScrollView::ScrollView):
22958        (WebCore::ScrollView::updateScrollbars):
22959        * platform/ScrollView.h:
22960        * rendering/RenderView.cpp:
22961        (WebCore::RenderView::layout):
22962        (WebCore::RenderView::docHeight):
22963        (WebCore::RenderView::docWidth):
22964        * rendering/RenderView.h:
22965
229662009-04-08  Sam Weinig  <sam@webkit.org>
22967
22968        Reviewed by Anders Carlsson.
22969
22970        Fix for <rdar://problem/6226200> Implement Microsoft's X-FRAME-OPTIONS anti-framing defense
22971
22972        Tests: http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
22973               http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html
22974               http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
22975               http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
22976               http/tests/security/XFrameOptions/x-frame-options-deny.html
22977               http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html
22978               http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html
22979
22980        * dom/Document.cpp:
22981        (WebCore::Document::processHttpEquiv): Stop the current load and redirect to about:blank
22982        if an X-FRAME-OPTIONS <meta> tag http-equiq dictates we should.
22983        * loader/FrameLoader.cpp:
22984        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): Add logic to parse
22985        the X-FRAME-OPTIONS parameter.
22986        * loader/FrameLoader.h:
22987        * loader/MainResourceLoader.cpp:
22988        (WebCore::MainResourceLoader::didReceiveResponse): Stop the current load if framed and
22989        a X-FRAME-OPTIONS header and its parameter dictate that we should.
22990
229912009-04-08  Adam Roben  <aroben@apple.com>
22992
22993        Fix http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html on Windows
22994
22995        Reviewed by Sam Weinig.
22996
22997        * platform/network/cf/ResourceHandleCFNet.cpp:
22998        (WebCore::ResourceHandle::loadResourceSynchronously): Mimic the
22999        ResourceHandleMac code by propagating the CFError's error code for
23000        kCFErrorDomainCFNetwork errors to the ResourceResponse.
23001
230022009-04-08  Anders Carlsson  <andersca@apple.com>
23003
23004        Try to fix the PPC build.
23005        
23006        * plugins/npfunctions.h:
23007
230082009-04-08  Darin Adler  <darin@apple.com>
23009
23010        Reviewed by Sam Weinig.
23011
23012        <rdar://problem/5908616> tokenizer resizer should handle edge cases consistently
23013
23014        * html/HTMLTokenizer.cpp:
23015        (WebCore::HTMLTokenizer::enlargeBuffer): Handle edge cases the same way as a failed fastMalloc.
23016        (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto.
23017
230182009-04-08  David Hyatt  <hyatt@apple.com>
23019
23020        Reviewed by Darin Adler
23021
23022        Make sure that cloneNode works with SVG attributes that require synchronization.  This fixes
23023        issues with <use> element shadow tree cloning where the clones can end up not obtaining the
23024        correct attribute values.
23025
23026        A subsequent patch of mine will expose this problem and cause it to be covered by existing
23027        layout tests, so no test is required at this time for this problem.
23028
23029        * dom/Element.cpp:
23030        (WebCore::Element::cloneElementWithoutChildren):
23031
230322009-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
23033
23034        Reviewed by Timothy Hatcher.
23035
23036        https://bugs.webkit.org/show_bug.cgi?id=25093
23037        REGRESSION: some scripts are showing in the Inspector with only "true"
23038        as the source.
23039
23040        * inspector/InspectorController.cpp:
23041        (WebCore::InspectorController::didParseSource): Fixed conversion issue.
23042        (WebCore::InspectorController::failedToParseSource): Ditto.
23043
230442009-04-08  Adam Barth  <abarth@webkit.org>
23045
23046        Reviewed by Alexey Proskuryakov.
23047
23048        https://bugs.webkit.org/show_bug.cgi?id=24904
23049
23050        Verify the MIME type of stylesheets (in standards mode) by looking
23051        at the Content-Type header directly.  This bypasses any content
23052        sniffing that might be confusing the issue.
23053
23054        Test: http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html
23055
23056        * loader/CachedCSSStyleSheet.cpp:
23057        (WebCore::CachedCSSStyleSheet::canUseSheet):
23058
230592009-04-08  Eric Carlson  <eric.carlson@apple.com>
23060
23061        Reviewed by Simon Fraser.
23062
23063        https://bugs.webkit.org/show_bug.cgi?id=25041
23064        <rdar://problem/6697754>
23065        Bug 25041: HTMLMediaElement: OSX autoplay broken by r41907
23066        
23067        OSX media player should set readyState to HAVE_ENOUGH_DATA when the movie's load state
23068        reaches QTMovieLoadStatePlaythroughOK, not when the entire file has been downloaded,
23069        so autoplay can begin when it should.
23070
23071        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23072        (WebCore::MediaPlayerPrivate::updateStates): Set readState to 
23073        HAVE_ENOUGH_DATA when QTMovie load state reaches QTMovieLoadStatePlaythroughOK.
23074        (WebCore::MediaPlayerPrivate::paint): Add braces missed in r42203.
23075
230762009-04-08  Alexey Proskuryakov  <ap@webkit.org>
23077
23078        Reviewed by David Kilzer. Based on a patch by Grace Kloba.
23079
23080        https://bugs.webkit.org/show_bug.cgi?id=24656
23081        cacheControlContainsNoCache() in ResourceResponseBase.h is wrong
23082
23083        * platform/network/ResourceResponseBase.cpp:
23084        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Removed misused code for
23085        parsing directive values, fixing parsing of directives that we care about.
23086
23087        * platform/network/ResourceResponseBase.h:
23088        (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Fixed a copy/paste mistake,
23089        m_cacheControlContainsMustRevalidate was returned instead of m_cacheControlContainsNoCache.
23090
230912009-04-08  Adam Roben  <aroben@apple.com>
23092
23093        Make text fields match the system look on Vista
23094
23095        Reviewed by Dave Hyatt.
23096
23097        * rendering/RenderThemeWin.cpp:
23098        (WebCore::RenderThemeWin::getThemeData): Use the new-to-Vista
23099        EP_EDITBORDER_NOSCROLL part for text fields.
23100
231012009-04-07  Alexey Proskuryakov  <ap@webkit.org>
23102
23103        Reviewed by Maciej Stachowiak.
23104
23105        https://bugs.webkit.org/show_bug.cgi?id=24957
23106        REGRESSION: Google calendar widget no longer shows upcoming events
23107
23108        Test: http/tests/xmlhttprequest/authorization-header.html
23109
23110        * xml/XMLHttpRequest.cpp:
23111        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Removed Authorization from
23112        the list of forbidden headers.
23113
231142009-04-07  miggilin  <mr.diggilin@gmail.com>
23115
23116        Reviewed by Kevin Ollivier.
23117
23118        Remove no longer needed debug warning and Windows-specific codepaths
23119        (as we now use the Safari/Win port's timer there)
23120
23121        https://bugs.webkit.org/show_bug.cgi?id=25070
23122
23123        * platform/wx/SharedTimerWx.cpp:
23124        (WebCore::setSharedTimerFireTime):
23125
23126
231272009-04-07  Adam Roben  <aroben@apple.com>
23128
23129        Fix many <video> regression tests on Windows
23130
23131        Reviewed by Dave Hyatt.
23132
23133        * platform/graphics/win/QTMovieWin.cpp:
23134        (QTMovieWin::getNaturalSize): Call GetMovieNaturalBoundsRect, which
23135        returns the movie's natural bounds (duh), rather than GetMovieBox,
23136        which returns the movie's current displayed size/position.
23137
231382009-04-07  Brady Eidson  <beidson@apple.com>
23139
23140        Reviewed by Darin Adler and Sam Weinig
23141
23142        <rdar://problem/5968249> "Private Browsing" doesn't affect HTML 5 LocalStorage
23143
23144        The expected behavior for persistent storage when private browsing mode is undefined by the spec.
23145        For now we're going with a "read-only when in private browsing" policy until we can get feedback
23146        and/or get the behavior specified in the spec.
23147
23148        Note that I purposefully made the change to restrict SessionStorage to read-only, also, with the
23149        understanding that the spec allows for SessionStorage to persist across relaunches, even though
23150        our implementation currently doesn't do this.
23151
23152        * dom/DOMCoreException.idl: Add some new ExceptionCodes defined in HTML5, one of which is needed
23153          for LocalStorage changes (QUOTA_EXCEEDED_ERR)
23154        * dom/ExceptionCode.cpp: 
23155        * dom/ExceptionCode.h:
23156
23157        * storage/StorageArea.cpp:
23158        (WebCore::StorageArea::internalSetItem): If private browsing is enabled, throw the QUOTA_EXCEEDED_ERR
23159          exception as the spec allows.
23160        (WebCore::StorageArea::internalRemoveItem): If private browsing is enabled, silently fail to remove
23161          the item.
23162        (WebCore::StorageArea::internalClear): If private browsing is enabled, silently fail to clear the area.
23163
231642009-04-07  Dean Jackson  <dino@apple.com>
23165
23166        Reviewed by Simon Fraser.
23167
23168        <rdar://problem/6148255>
23169
23170        Standalone media documents can not always handle everything
23171        using a <video> element. In these cases switch to an <embed>
23172        element that uses the QuickTime plugin, in the hope that it
23173        will have more luck. Typical media types that trigger this
23174        are streamed media and QTVR.
23175
23176        Equivalent Windows fix to come once reviewed. Note also that
23177        this area of code needs a cleanup:
23178        https://bugs.webkit.org/show_bug.cgi?id=25085
23179
23180        * html/HTMLMediaElement.cpp:
23181        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
23182        * html/HTMLMediaElement.h:
23183        * loader/MediaDocument.cpp:
23184        (WebCore::MediaDocument::mediaElementSawUnsupportedTracks):
23185        (WebCore::MediaDocument::replaceVideoWithEmbed):
23186        * loader/MediaDocument.h:
23187            - removes the <video> element and puts in an <embed>
23188        * platform/graphics/MediaPlayer.h:
23189        (WebCore::MediaPlayerClient::mediaPlayerSawUnsupportedTracks):
23190            - new internal method for flagging a problem
23191        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23192        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23193        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
23194        (WebCore::MediaPlayerPrivate::updateStates):
23195            - looks for the types of content we don't handle
23196        (WebCore::MediaPlayerPrivate::rateChanged):
23197        (WebCore::MediaPlayerPrivate::sizeChanged):
23198        (WebCore::MediaPlayerPrivate::timeChanged):
23199        (WebCore::MediaPlayerPrivate::didEnd):
23200        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
23201        (WebCore::MediaPlayerPrivate::sawUnsupportedTracks):
23202            - inform the MediaClient that we have a potential problem
23203
232042009-04-07  Dan Bernstein  <mitz@apple.com>
23205
23206        Reviewed by Darin Adler.
23207
23208        - fix <rdar://problem/6767428> Resurrect
23209          +[WebFontCache fontWithFamily:traits:size:] for clients that call it
23210          directly
23211
23212        WebFontCache is a class in the WebCore framework and is not WebKit API,
23213        but apparently (perhaps mistakenly) some clients call this private
23214        interface.
23215
23216        This change resurrects the interface and gives it reasonable behavior
23217        (however, note that WebCore will not call the old interface, so hacks that
23218        override it will have no effect on WebKit clients).
23219
23220        * platform/mac/WebFontCache.h:
23221        * platform/mac/WebFontCache.mm:
23222        (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to
23223        +fontWithFamily:traits:weight:size:.
23224
232252009-04-07  David Hyatt  <hyatt@apple.com>
23226
23227        Reviewed by Adam Roben
23228
23229        Fix ScrollView's algorithm that determines whether or not to show scrollbars.  There was a bug
23230        with the method mainly because RenderView will size itself to the viewport's size, making it
23231        impossible to really know the document's "true" size.
23232
23233        In order to solve this problem ScrollView now has a minimumContentsSize method.  This method
23234        returns the document size excluding the RenderView from the calculation.  This width/height
23235        is now cached on RenderView in m_docWidth/m_docHeight member variables.
23236
23237        * WebCore.base.exp:
23238        * page/FrameView.cpp:
23239        (WebCore::FrameView::adjustPageHeight):
23240        (WebCore::FrameView::minimumContentsSize):
23241        * page/FrameView.h:
23242        * platform/ScrollView.cpp:
23243        (WebCore::ScrollView::updateScrollbars):
23244        * platform/ScrollView.h:
23245        (WebCore::ScrollView::minimumContentsSize):
23246        * rendering/RenderView.cpp:
23247        (WebCore::RenderView::layout):
23248        (WebCore::RenderView::calcDocHeight):
23249        (WebCore::RenderView::calcDocWidth):
23250        * rendering/RenderView.h:
23251        (WebCore::RenderView::docWidth):
23252        (WebCore::RenderView::docHeight):
23253
232542009-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
23255
23256        Build fix, not reviewed.
23257
23258        * WebCore.xcodeproj/project.pbxproj: Made ScriptObject.h private.
23259
232602009-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
23261
23262        Reviewed by Timothy Hatcher.
23263
23264        https://bugs.webkit.org/show_bug.cgi?id=25063
23265        Refactor InspectorController to use ScriptObject/State.
23266
23267        * GNUmakefile.am: Added ScriptState.cpp.
23268        * WebCore.pro: Ditto.
23269        * WebCore.vcproj/WebCore.vcproj: Ditto.
23270        * WebCore.xcodeproj/project.pbxproj: Ditto.
23271        * WebCoreSources.bkl: Ditto.
23272        * bindings/js/JSInspectorControllerCustom.cpp:
23273        (WebCore::JSInspectorController::addSourceToFrame): Fixed argument index typo.
23274        * bindings/js/ScriptFunctionCall.cpp:
23275        (WebCore::ScriptFunctionCall::call): Added reportExceptions parameter.
23276        (WebCore::ScriptFunctionCall::construct): Ditto.
23277        * bindings/js/ScriptFunctionCall.h: Ditto.
23278        * bindings/js/ScriptObject.cpp:
23279        (WebCore::handleException): Added exception-reporting heloper.
23280        (WebCore::ScriptObject::set): Changed to use handleException.
23281        (WebCore::ScriptGlobalObject::set): Ditto,
23282        * bindings/js/ScriptObject.cpp: Added ScriptGlobalObject.
23283        (WebCore::ScriptGlobalObject::set): Added.
23284        (WebCore::ScriptGlobalObject::getObject): Added.
23285        * bindings/js/ScriptObject.h: Added ScriptGlobalObject decls.
23286        (WebCore::ScriptGlobalObject::ScriptGlobalObject): Added.
23287        * bindings/js/ScriptState.cpp: Added.
23288        * bindings/js/ScriptState.h: Added scriptStateFromPage decl.
23289        * inspector/ConsoleMessage.cpp:
23290        (WebCore::ConsoleMessage::addToConsole): Changed to not report exceptions
23291            to avoid re-entrancy.
23292        * inspector/InspectorController.cpp: Refactored to use ScriptState/Object.
23293        * inspector/InspectorController.h: Ditto.
23294
232952009-04-07  Adam Langley  <agl@google.com>
23296
23297        Reviewed by Darin Fisher.
23298
23299        https://bugs.webkit.org/show_bug.cgi?id=25083
23300
23301        Skia was previously calculating the leading value incorrectly, leading
23302        us to add fHeight to get the height of a line of text. Now that Skia
23303        is calculating fLeading correctly, we can remove fHeight.
23304
23305        This doesn't affect any layout tests.
23306
23307        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
23308        (WebCore::SimpleFontData::platformInit):
23309
233102009-04-07  Brian Weinstein  <bweinstein@gmail.com>
23311
23312        Reviewed by Darin Adler.
23313
23314        https://bugs.webkit.org/show_bug.cgi?id=24851
23315
23316        This fix removes the status code from the status message in a ResourceResponse, which allows a few more tests in http to pass.
23317
23318        * platform/network/cf/ResourceResponseCFNet.cpp:
23319        (WebCore::ResourceResponse::platformLazyInit):
23320
233212009-04-07  Adam Langley  <agl@google.com>
23322
23323        Reviewed by Darin Fisher.
23324
23325        https://bugs.webkit.org/show_bug.cgi?id=25081
23326
23327        Skia is changing from reporting the XRange to reporting the XMin and
23328        XMax.  Obviously these are equivalent, but other users of the metrics
23329        need the two numbers to be separate.
23330
23331        This doesn't affect any layout tests.
23332
23333        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
23334        (WebCore::SimpleFontData::platformInit):
23335
233362009-04-07  Adam Roben  <aroben@apple.com>
23337
23338        Make the look of <select>s match the system look on Vista
23339
23340        Reviewed by Dave Hyatt.
23341
23342        * rendering/RenderThemeWin.cpp: Added new constants.
23343        (WebCore::RenderThemeWin::getThemeData): On Vista, use the
23344        CP_DROPDOWNBUTTONRIGHT part for drop down buttons.
23345        (WebCore::RenderThemeWin::paintMenuList): On Vista, use the CP_BORDER
23346        part to draw the border of <select>s.
23347        (WebCore::RenderThemeWin::paintMenuListButton): On Vista, outset the
23348        drop down button to make its border coincide with the <select>'s
23349        border.
23350
233512009-04-07  Adam Roben  <aroben@apple.com>
23352
23353        Move isRunningOnVistaOrLater to a shared location
23354
23355        Rubber-stamped in advance by Dave Hyatt.
23356
23357        * WebCore.vcproj/WebCore.vcproj: Added SystemInfo.{cpp,h}, and let VS
23358        have its way with the rest of the file.
23359        * platform/win/ScrollbarThemeWin.cpp: Moved isRunningOnVistaOrLater
23360        from here...
23361        * platform/win/SystemInfo.cpp: Added.
23362        (WebCore::isRunningOnVistaOrLater): ...to here.
23363        * platform/win/SystemInfo.h: Added.
23364
233652009-04-07  Paul Godavari  <paul@chromium.org>
23366
23367        Reviewed by Darin Fisher.
23368
23369        https://bugs.webkit.org/show_bug.cgi?id=24692
23370        Enable PopupMenuChromium to handle HTML select popups using native
23371        cocoa controls on the Mac, all other platforms are unchanged.
23372
23373        We also split out the storage container for the popup menu items
23374        so that ChromeClientChromium can access them for forwarding to
23375        the embedding host (Chromium.app or test_shell).
23376
23377        * page/chromium/ChromeClientChromium.h:
23378        * platform/chromium/PopupMenuChromium.cpp:
23379        (WebCore::PopupListBox::items):
23380        (WebCore::PopupContainer::PopupContainer):
23381        (WebCore::PopupContainer::~PopupContainer):
23382        (WebCore::PopupContainer::showPopup):
23383        (WebCore::PopupContainer::showExternal):
23384        (WebCore::PopupContainer::menuItemHeight):
23385        (WebCore::popupData):
23386        (WebCore::PopupListBox::pointToRowIndex):
23387        (WebCore::PopupListBox::getRowBounds):
23388        (WebCore::PopupListBox::isSelectableItem):
23389        (WebCore::PopupListBox::updateFromElement):
23390        (WebCore::PopupListBox::layout):
23391        (WebCore::PopupListBox::clear):
23392        (WebCore::PopupMenu::show):
23393        * platform/chromium/PopupMenuChromium.h:
23394        (WebCore::PopupItem::):
23395        (WebCore::PopupItem::PopupItem):
23396
233972009-04-07  Geoffrey Garen  <ggaren@apple.com>
23398
23399        Reviewed by Oliver Hunt.
23400        
23401        Added some double-checking to event handler marking. Now, when the
23402        wrapper that's responsible for marking an event handler's JavaScript
23403        function gets collected, it clears the event handler's JavaScript function
23404        so we won't dereference it after it's collected.
23405        
23406        In theory, we would never dereference a JavaScript event handler after
23407        its node's wrapper was collected anyway, but it's nice to be safe.
23408
23409        * bindings/js/JSDOMApplicationCacheCustom.cpp:
23410        (WebCore::JSDOMApplicationCache::mark):
23411        * bindings/js/JSEventListener.cpp:
23412        (WebCore::JSEventListener::JSEventListener):
23413        (WebCore::JSEventListener::jsFunction):
23414        (WebCore::JSEventListener::invalidateJSFunction):
23415        (WebCore::JSEventListener::markJSFunction):
23416        * bindings/js/JSEventListener.h:
23417        * bindings/js/JSMessagePortCustom.cpp:
23418        (WebCore::JSMessagePort::mark):
23419        * bindings/js/JSNodeCustom.cpp:
23420        (WebCore::markEventListeners):
23421        * bindings/js/JSWorkerContextCustom.cpp:
23422        (WebCore::JSWorkerContext::mark):
23423        * bindings/js/JSWorkerCustom.cpp:
23424        (WebCore::JSWorker::mark):
23425        * bindings/js/JSXMLHttpRequestCustom.cpp:
23426        (WebCore::JSXMLHttpRequest::mark):
23427        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
23428        (WebCore::JSXMLHttpRequestUpload::mark):
23429        * bindings/scripts/CodeGeneratorJS.pm:
23430        * dom/EventListener.h:
23431        (WebCore::EventListener::invalidateJSFunction):
23432        (WebCore::EventListener::markJSFunction):
23433        (WebCore::markIfNotNull):
23434
234352009-04-07  David Levin  <levin@chromium.org>
23436
23437        Build fix.
23438
23439        r44280 undid the change in r42268 that made CookieJar.h private.
23440        This redoes the change.
23441
23442        * WebCore.xcodeproj/project.pbxproj:
23443
234442009-04-07  Jian Li  <jianli@chromium.org>
23445
23446        Reviewed by Darin Fisher.
23447
23448        Upstream changes to WorkerContextExecutionProxy for enabling V8 preemption.
23449        https://bugs.webkit.org/show_bug.cgi?id=25034
23450
23451        * bindings/v8/WorkerContextExecutionProxy.cpp:
23452        (WebCore::WorkerContextExecutionProxy::evaluate):
23453
234542009-04-07  Dan Bernstein  <mitz@apple.com>
23455
23456        Reviewed by Darin Adler.
23457
23458        - fix <rdar://problem/6764359> Thai word selection misbehaves for the
23459          last sentence in the document
23460
23461        Test: editing/selection/thai-word-at-document-end.html
23462
23463        * editing/visible_units.cpp:
23464            - Added a BoundarySearchContextAvailability enum used to indicate
23465            whether the caller to a boundary search function may be able to provide
23466            additional text in the search direction and call again.
23467            - Added a named type for the boundary search function signature. Changed
23468            the signature to take a context availability parameter and a boolean
23469            out parameter indicating whether more context is needed to perform
23470            the search.
23471        (WebCore::previousBoundary): If the beginning of the range was reached
23472            but the last search wanted more context, perform the search again, this
23473            time indicating that there is no earlier text.
23474        (WebCore::nextBoundary): Similarly, in the other direction.
23475        (WebCore::startWordBoundary): Check whether more context may be available
23476            and ask for more context if needed.
23477        (WebCore::endWordBoundary): Ditto.
23478        (WebCore::previousWordPositionBoundary): Ditto.
23479        (WebCore::nextWordPositionBoundary): Ditto.
23480        (WebCore::startSentenceBoundary):  Updated signature.
23481        (WebCore::endSentenceBoundary): Ditto.
23482        (WebCore::previousSentencePositionBoundary): Ditto.
23483        (WebCore::nextSentencePositionBoundary): Ditto.
23484
234852009-04-07  Geoffrey Garen  <ggaren@apple.com>
23486
23487        Rubber stamped by Sam Weinig.
23488        
23489        A little renaming:
23490        
23491        function => jsFunction
23492        listener => jsFunction
23493
23494        * bindings/js/JSEventListener.cpp:
23495        (WebCore::JSAbstractEventListener::handleEvent):
23496        (WebCore::JSEventListener::JSEventListener):
23497        (WebCore::JSEventListener::~JSEventListener):
23498        (WebCore::JSEventListener::jsFunction):
23499        (WebCore::JSEventListener::mark):
23500        (WebCore::JSProtectedEventListener::JSProtectedEventListener):
23501        (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
23502        (WebCore::JSProtectedEventListener::jsFunction):
23503        * bindings/js/JSEventListener.h:
23504        (WebCore::JSProtectedEventListener::create):
23505        * bindings/js/JSLazyEventListener.cpp:
23506        (WebCore::JSLazyEventListener::jsFunction):
23507        (WebCore::JSLazyEventListener::parseCode):
23508        * dom/EventListener.h:
23509        (WebCore::EventListener::jsFunction):
23510
235112009-04-07  Brady Eidson  <beidson@apple.com>
23512
23513        Reviewed by Darin Adler
23514
23515        While working on <rdar://problem/5968249>, noticed some glaring problems with LocalStorage.
23516
23517        * page/DOMWindow.cpp:
23518        (WebCore::DOMWindow::localStorage): Return the cached m_localStorage object if it exists to 
23519          avoid creating multiple representations for the same underlying StorageArea.
23520        * page/DOMWindow.h:
23521        (WebCore::DOMWindow::optionalLocalStorage): Return m_localStorage, not m_sessionStorage.
23522
235232009-04-07  Darin Adler  <darin@apple.com>
23524
23525        Roll out incorrect build fix.
23526
23527        * WebCore.NPAPI.exp: Reverted.
23528
235292009-04-07  Darin Adler  <darin@apple.com>
23530
23531        Another build fix.
23532
23533        * WebCore.NPAPI.exp: Added new functions.
23534
235352009-04-07  Anders Carlsson  <andersca@apple.com>
23536
23537        Another build fix.
23538        
23539        * plugins/npfunctions.h:
23540
235412009-04-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
23542
23543        Unreviewed build fix. Fix non-Mac builds.
23544
23545        * bridge/npapi.h:
23546
235472009-04-07  Simon Fraser  <simon.fraser@apple.com>
23548
23549        Reviewed by Dan Bernstein
23550
23551        https://bugs.webkit.org/show_bug.cgi?id=25082
23552        
23553        Clean up repaint logic when RenderLayers become and stop being composited.
23554
23555        * rendering/RenderLayer.h:
23556        * rendering/RenderLayer.cpp:
23557        (WebCore::RenderLayer::rendererContentChanged):
23558        (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
23559        New compositing-only method that repaints a layer and all its non-composited descendants.
23560        Takes a repaintContainer for performance; all the repaints necessarily share the same
23561        repaintContainer.
23562
23563        * rendering/RenderLayerCompositor.h:
23564        * rendering/RenderLayerCompositor.cpp:
23565        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
23566        Rather than use calculateCompositedBounds() to compute the repaint rect (which gave
23567        the wrong answer when the composited layer tree was in flux), use the new
23568        repaintOnCompositingChange() method.
23569        
23570        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
23571        Call repaintIncludingNonCompositingDescendants(), and if necessary make sure
23572        that the view/layer drawing synchronization happens.
23573        
23574        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
23575        Do a repaintOnCompositingChange() when a layer is going to be composited. This is
23576        a good place because we haven't started to change the compositing tree.
23577        
23578        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
23579        After we've finished updating all the descendant layers, we can do a repaint for
23580        layers that ceased compositing.
23581
235822009-04-07  Simon Fraser  <simon.fraser@apple.com>
23583
23584        Reviewed by Dave Hyatt
23585        
23586        https://bugs.webkit.org/show_bug.cgi?id=25069
23587        
23588        Clean up the accelerated compositing code that determines the format of
23589        the GraphicsLayer hierarchy, being more explicit about which parts have
23590        to happen before and after descendant layers have been updated. Also remove
23591        some unhelpful caching of state.
23592
23593        * dom/Document.cpp:
23594        (WebCore::Document::recalcStyle):
23595        Only call updateCompositingLayers() if we know we're not going to be
23596        doing a layout soon.
23597        
23598        * platform/graphics/mac/GraphicsLayerCA.mm:
23599        (WebCore::GraphicsLayerCA::setDrawsContent):
23600        Toggling drawsContent from false to true should do a setNeedsDisplay().
23601        
23602        * rendering/RenderLayer.cpp:
23603        (WebCore::RenderLayer::styleChanged):
23604        updateLayerCompositingState() no longer updates the layer geometry, so
23605        do that here if we're not going to rebuild layers anyway.
23606        Also, updateLayerCompositingState() no longer does a setContentsNeedDisplay,
23607        so do that if the style change indicates that a repaint is required.
23608        
23609        * rendering/RenderLayerBacking.h:
23610        * rendering/RenderLayerBacking.cpp:
23611        (WebCore::RenderLayerBacking::RenderLayerBacking):
23612        (WebCore::RenderLayerBacking::updateAfterLayout):
23613        The 'drawing optimizations' logic has been rolled into updateGraphicsLayerConfiguration()
23614        and updateGraphicsLayerGeometry().
23615        
23616        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
23617        Group that code that decides what GraphicsLayers are needed into this method,
23618        which deals with clipping layers and 'direct compositing': images that can be
23619        rendered via the compositor.
23620        
23621        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
23622        Call setDrawsContent() if updateGraphicsLayerConfiguration() didn't already
23623        figure it out for image layers.
23624        
23625        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
23626        Remove the m_simpleCompositingLayerStatusDirty cache indicator, since we just
23627        computed it every time anyway.
23628        
23629        * rendering/RenderLayerCompositor.h:
23630        * rendering/RenderLayerCompositor.cpp:
23631        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
23632        updateGraphicsLayers() was renamed to updateGraphicsLayerConfiguration(),
23633        which calls clippedByAncestor() etc. itself rather than having everything passed in.
23634        Repaints are taken care of by styleChanged() and setDrawsContent().
23635        
23636        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
23637        !layer->isComposited() && layer->transform() is a synonym for paintsWithTransform().
23638        
23639        (WebCore::RenderLayerCompositor::setCompositingParent):
23640        No need to call updateGraphicsLayerGeometry() here, because we're going to
23641        rebuild layers anyway.
23642        
23643        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
23644        Add comments, and test layerBacking instead of layer->isComposited().
23645
236462009-04-07  Anders Carlsson  <andersca@apple.com>
23647
23648        Fix build.
23649        
23650        * WebCore.base.exp:
23651
236522009-04-07  Anders Carlsson  <andersca@apple.com>
23653
23654        Reviewed by Sam Weinig.
23655
23656        <rdar://problem/6667001> NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
23657        
23658        * WebCore.base.exp:
23659        Add symbols needed by WebKit.
23660        
23661        * WebCore.xcodeproj/project.pbxproj:
23662        Make CookieJar a private header.
23663        
23664        * bridge/npapi.h:
23665        Add function definitions.
23666        
23667        * plugins/npfunctions.h:
23668        Fix the NPN_SetValueForURLProcPtr signature.
23669
236702009-04-07  Adam Roben  <aroben@apple.com>
23671
23672        Fix <rdar://6520933> REGRESSION (3.2.1-ToT): Scroll bar disappears in
23673        WebView and Bookmarks view after switching theme or turning on High
23674        Contrast mode
23675
23676        Reviewed by Dave Hyatt.
23677
23678        * platform/win/ScrollbarThemeWin.cpp:
23679        (WebCore::ScrollbarThemeWin::themeChanged): Null out scrollbarTheme
23680        after closing it so that we'll re-open the theme next time we paint.
23681
236822009-04-07  Adam Roben  <aroben@apple.com>
23683
23684        Small cleanup/correctness fix in ScrollbarThemeWin
23685
23686        Reviewed by Dave Hyatt.
23687
23688        * platform/win/ScrollbarThemeWin.cpp: Removed the now-unused
23689        haveTheme boolean.
23690        (WebCore::checkAndInitScrollbarTheme): Check IsThemeActive() before
23691        calling OpenThemeData. This seems to be what MSDN recommends.
23692        (WebCore::ScrollbarThemeWin::themeChanged): Null-check scrollbarTheme
23693        before closing it, rather than indirectly null-checking it via
23694        checking haveTheme.
23695
236962009-04-07  Dan Bernstein  <mitz@apple.com>
23697
23698        Reviewed by John Sullivan.
23699
23700        - when -webkit-line-break: after-white-space is specified but the text
23701          does not auto-wrap, do not shrink the trailing space to fit in the
23702          available width
23703
23704        Test: fast/text/whitespace/nowrap-line-break-after-white-space.html
23705
23706        - when shrinking such trailing space, do not shrink below zero
23707
23708        Covered by existing tests
23709
23710        * rendering/bidi.cpp:
23711        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
23712        (WebCore::RenderBlock::layoutInlineChildren):
23713
237142009-04-07  Eric Seidel  <eric@webkit.org>
23715
23716        Reviewed by Darin Adler.
23717
23718        Move RangeBoundaryPoint off of Position, per Darin's suggestion
23719        https://bugs.webkit.org/show_bug.cgi?id=24966
23720
23721        Rename setToChild to setToBeforeChild (since that's what the method does)
23722
23723        * dom/Position.h:
23724        (WebCore::Position::offsetInContainerNode):
23725        * dom/Range.cpp:
23726        (WebCore::Range::insertNode):
23727        (WebCore::Range::selectNodeContents):
23728        (WebCore::boundaryNodeWillBeRemoved):
23729        * dom/Range.h:
23730        (WebCore::Range::startPosition):
23731        (WebCore::Range::endPosition):
23732        * dom/RangeBoundaryPoint.h:
23733        (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
23734        (WebCore::RangeBoundaryPoint::container):
23735        (WebCore::RangeBoundaryPoint::childBefore):
23736        (WebCore::RangeBoundaryPoint::position):
23737        (WebCore::RangeBoundaryPoint::offset):
23738        (WebCore::RangeBoundaryPoint::clear):
23739        (WebCore::RangeBoundaryPoint::set):
23740        (WebCore::RangeBoundaryPoint::setOffset):
23741        (WebCore::RangeBoundaryPoint::setToBeforeChild):
23742        (WebCore::RangeBoundaryPoint::setToStartOfNode):
23743        (WebCore::RangeBoundaryPoint::setToEndOfNode):
23744        (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
23745        (WebCore::RangeBoundaryPoint::invalidateOffset):
23746
237472009-04-07  Eric Seidel  <eric@webkit.org>
23748
23749        Reviewed by Darin Adler.
23750
23751        Add containerNode(), computeOffsetInContainerNode(),
23752        computeNodeBeforePosition() and computeNodeAfterPosition().
23753        https://bugs.webkit.org/show_bug.cgi?id=24763
23754
23755        These functions will replace uses of rangeCompliantPosition()
23756        in future patches.
23757
23758        No changes in behavior, thus no tests.
23759
23760        * dom/Position.cpp:
23761        (WebCore::Position::containerNode):
23762        (WebCore::Position::computeOffsetInContainerNode):
23763        (WebCore::Position::computeNodeBeforePosition):
23764        (WebCore::Position::computeNodeAfterPosition):
23765        (WebCore::Position::anchorType):
23766        * dom/Position.h:
23767        (WebCore::Position::):
23768
237692009-04-06  Sam Weinig  <sam@webkit.org>
23770
23771        Reviewed by Mark Rowe.
23772
23773        Bottleneck dispatching mutation events in a new dispatchMutationEvent
23774        function.
23775
23776        * dom/CharacterData.cpp:
23777        (WebCore::CharacterData::dispatchModifiedEvent):
23778        * dom/ContainerNode.cpp:
23779        (WebCore::dispatchChildInsertionEvents):
23780        (WebCore::dispatchChildRemovalEvents):
23781        * dom/Node.cpp:
23782        (WebCore::Node::dispatchSubtreeModifiedEvent):
23783        (WebCore::Node::dispatchMutationEvent):
23784        * dom/Node.h:
23785
237862009-04-06  Dimitri Glazkov  <dglazkov@chromium.org>
23787
23788        Reviewed by Darin Fisher.
23789
23790        https://bugs.webkit.org/show_bug.cgi?id=25059
23791        Remove references to dominantScript, getGenericFontForScript.
23792
23793        * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed references
23794            to getGenericFontForScript.
23795        (WebCore::FontCache::getLastResortFallbackFont): Removed calls to dominantScript.
23796        * platform/graphics/chromium/FontCacheLinux.cpp: Ditto.
23797        * rendering/RenderThemeChromiumLinux.cpp:
23798        (WebCore::defaultGUIFont): Removed Document* arg.
23799        (WebCore::RenderThemeChromiumLinux::systemFont): Ditto.
23800        * rendering/RenderThemeChromiumLinux.h: Ditto.
23801        * rendering/RenderThemeChromiumMac.h: Ditto.
23802        * rendering/RenderThemeChromiumMac.mm: Ditto.
23803        (WebCore::RenderThemeChromiumMac::systemFont): Ditto.
23804        * rendering/RenderThemeChromiumWin.cpp:
23805        (WebCore::defaultGUIFont): Ditto.
23806        (WebCore::RenderThemeChromiumWin::systemFont): Ditto.
23807        * rendering/RenderThemeChromiumWin.h: Ditto.
23808
238092009-04-06  Geoffrey Garen  <ggaren@apple.com>
23810
23811        Reviewed by Darin Adler.
23812        
23813        Fixed https://bugs.webkit.org/show_bug.cgi?id=21260
23814        Unbounded memory growth when churning elements with anonymous event handler functions
23815
23816        The problem was that a protected event listener's scope chain would end
23817        up with a reference to the Node protecting it, causing a cycle. The
23818        solution is to stop protecting event listeners and rely on marking instead.
23819
23820        This patch converts most Node event listeners to use marking instead of
23821        GC protection.
23822
23823        * bindings/js/JSDOMBinding.cpp:
23824        (WebCore::isObservableThroughDOM):
23825        (WebCore::markDOMNodesForDocument): Refactored the test for whether a Node
23826        needs marking, and added a case for marking the node in order to mark its
23827        event listeners.
23828
23829        * bindings/js/JSNodeCustom.cpp:
23830        (WebCore::markEventListeners):
23831        (WebCore::JSNode::addEventListener):
23832        (WebCore::JSNode::removeEventListener):
23833        (WebCore::JSNode::mark): Added code to mark a Node's event listeners when
23834        marking the Node. Changed code using protected event listeners to use event
23835        listeners.
23836
23837        * dom/Node.idl: Changed code using protected event listeners to use event
23838        listeners.
23839
238402009-04-06  Sam Weinig  <sam@webkit.org>
23841
23842        Reviewed by Darin Adler.
23843
23844        Remove unchecked bool return values for some dispatch event functions.
23845
23846        * dom/Node.cpp:
23847        (WebCore::Node::dispatchSubtreeModifiedEvent):
23848        (WebCore::Node::dispatchUIEvent):
23849        (WebCore::Node::dispatchWebKitAnimationEvent):
23850        (WebCore::Node::dispatchWebKitTransitionEvent):
23851        (WebCore::Node::dispatchProgressEvent):
23852        * dom/Node.h:
23853
238542009-04-06  Darin Fisher  <darin@chromium.org>
23855
23856        Reviewed by Dimitri Glazkov.
23857
23858        https://bugs.webkit.org/show_bug.cgi?id=25058
23859        Fix chromium build bustage caused by r42216
23860
23861        * bindings/scripts/CodeGeneratorJS.pm:
23862        * page/DOMWindow.idl:
23863
238642009-04-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
23865
23866        Rubber-stamped by Sam Weinig.
23867
23868        https://bugs.webkit.org/show_bug.cgi?id=20575
23869        No localization in WebKitGtk
23870
23871        * platform/gtk/FileChooserGtk.cpp: Remove usage of glib/gi18n.h,
23872        since there are not translatable strings.
23873        * platform/gtk/LocalizedStringsGtk.cpp: Use the glib i18n header
23874        that is specific for libraries.
23875
238762009-04-06  Mike Belshe  <mike@belshe.com>
23877
23878        Reviewed by Dimitri Glazkov.
23879
23880        https://bugs.webkit.org/show_bug.cgi?id=24978
23881        Use custom implementations of a few Node methods so that
23882        we don't over-aggressively create JS wrappers here.
23883
23884        * bindings/v8/custom/V8NodeCustom.cpp: Added custom implementations.
23885        * dom/Node.idl: Removed JSC-specifier, making impl custom for V8 as well.
23886
238872009-04-06  Dave Moore  <davemoore@google.com>
23888
23889        Reviewed by Dimitri Glazkov.
23890
23891        https://bugs.webkit.org/show_bug.cgi?id=25031
23892        Make the V8 element collections check for named properties *before*
23893        checking if there are any elements with the same name. Otherwise
23894        it is both incorrect and slow.
23895
23896        Test: fast/dom/HTMLSelectElement/length-not-overridden.html
23897
23898        Both of these interceptors were attempting to find an element in the
23899        collection that had a name or id of the property name before checking
23900        for a JS property with that name.
23901        * bindings/v8/V8Collection.h:
23902        (WebCore::collectionNamedPropertyGetter):
23903        (WebCore::nodeCollectionNamedPropertyGetter):
23904
239052009-04-06  Simon Fraser  <simon.fraser@apple.com>
23906
23907        Reviewed by Darin Adler
23908
23909        https://bugs.webkit.org/show_bug.cgi?id=25052
23910        
23911        Pull the call to updateGraphicsLayerGeometry() out of updateGraphicsLayers(),
23912        because we need to call it at the end of rebuildCompositingLayerTree() once
23913        we've determined which descendant layers are composited, otherwise
23914        calculateCompositedBounds() can give the wrong answer.
23915        
23916        Now that updateLayerCompositingState() doesn't end up calling updateGraphicsLayerGeometry(),
23917        call that explicitly from styleChanged(), if we know a layer update is not pending,
23918        and similarly from updateAfterLayout().
23919
23920        Test: compositing/overflow/overflow-positioning.html
23921
23922        * rendering/RenderLayer.cpp:
23923        (WebCore::RenderLayer::styleChanged):
23924        * rendering/RenderLayerBacking.cpp:
23925        (WebCore::RenderLayerBacking::updateAfterLayout):
23926        (WebCore::RenderLayerBacking::updateGraphicsLayers):
23927        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
23928        * rendering/RenderLayerCompositor.cpp:
23929        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
23930
239312009-04-06  Mike Belshe  <mike@belshe.com>
23932
23933        Reviewed by Alexey Proskuryakov.
23934
23935        Add accessors to AtomicString which take String/const char* arguments
23936        so that we don't accidentally thrash the AtomicString table.
23937
23938        https://bugs.webkit.org/show_bug.cgi?id=24979
23939
23940        * platform/text/AtomicString.h:
23941
239422009-04-03  Holger Hans Peter Freyther  <zecke@selfish.org>
23943
23944        Reviewed by Simon Hausmann.
23945
23946        Make col and row work in WebCore/manual-tests/cursor.html. The issue
23947        was spotted in the WebKit inspector.
23948
23949        * platform/gtk/CursorGtk.cpp:
23950        (WebCore::columnResizeCursor):
23951        (WebCore::rowResizeCursor):
23952
239532009-04-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
23954
23955        Reviewed by Simon Hausmann.
23956
23957        [Qt] Don't show and hide the platformPluginWidget, as it's our QWebView
23958
23959        * plugins/mac/PluginViewMac.cpp:
23960        (WebCore::PluginView::show):
23961        (WebCore::PluginView::hide):
23962        (WebCore::PluginView::setParentVisible):
23963
239642009-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
23965
23966        Reviewed by Tor Arne Vestbø.
23967
23968        Add new files to the Qt build.
23969        Export helper function from the Qt JSC binding, needed in WebKit/qt.
23970
23971        * WebCore.pro: Add new files.
23972        * bridge/qt/qt_runtime.h: Declare convertQVariantToValue.
23973
239742009-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
23975
23976        Reviewed by Tor Arne Vestbø.
23977
23978        Changed ScriptFunctionCall's last argument from a const char* as the function name to a String.
23979
23980        Internally the function name is stored as a WebCore::String and the Qt port wants to use this
23981        constructor programmatically where the function name is also a WebCore::String.
23982
23983        * bindings/js/ScriptFunctionCall.cpp:
23984        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
23985        * bindings/js/ScriptFunctionCall.h:
23986
239872009-04-06  Mike Belshe <mike@belshe.com>
23988
23989        Reviewed by Eric Seidel.
23990
23991        HTMLCanvasElement crash when ImageBuffer creation fails.
23992        https://bugs.webkit.org/show_bug.cgi?id=23212
23993
23994        Check for NULL before using the ImageBuffer as we might
23995        be low on memory and creation may have failed.
23996
23997        Test case creation blocked by:
23998        https://bugs.webkit.org/show_bug.cgi?id=25055
23999
24000        * html/HTMLCanvasElement.cpp:
24001        (WebCore::HTMLCanvasElement::createImageBuffer):
24002
240032009-04-05  Geoffrey Garen  <ggaren@apple.com>
24004
24005        [Originally] Reviewed by Sam Weinig.
24006
24007        Rolled back in r42214 with crashes fixed.
24008
24009        [Removed irrelevant ExecState* parameter from event handler registration code.]
24010        
24011        [No change in behavior.]
24012
24013        * bindings/js/JSDOMApplicationCacheCustom.cpp:
24014        (WebCore::JSDOMApplicationCache::addEventListener):
24015        (WebCore::JSDOMApplicationCache::removeEventListener):
24016        * bindings/js/JSDOMGlobalObject.cpp:
24017        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
24018        (WebCore::JSDOMGlobalObject::findJSEventListener):
24019        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
24020        * bindings/js/JSDOMGlobalObject.h:
24021        * bindings/js/JSDOMWindowCustom.cpp:
24022        (WebCore::JSDOMWindow::addEventListener):
24023        * bindings/js/JSMessagePortCustom.cpp:
24024        (WebCore::JSMessagePort::addEventListener):
24025        (WebCore::JSMessagePort::removeEventListener):
24026        * bindings/js/JSNodeCustom.cpp:
24027        (WebCore::JSNode::addEventListener):
24028        * bindings/js/JSSVGElementInstanceCustom.cpp:
24029        (WebCore::JSSVGElementInstance::addEventListener):
24030        * bindings/js/JSWorkerContextCustom.cpp:
24031        (WebCore::JSWorkerContext::addEventListener):
24032        (WebCore::JSWorkerContext::removeEventListener):
24033        * bindings/js/JSWorkerCustom.cpp:
24034        (WebCore::JSWorker::addEventListener):
24035        (WebCore::JSWorker::removeEventListener):
24036        * bindings/js/JSXMLHttpRequestCustom.cpp:
24037        (WebCore::JSXMLHttpRequest::addEventListener):
24038        (WebCore::JSXMLHttpRequest::removeEventListener):
24039        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
24040        (WebCore::JSXMLHttpRequestUpload::addEventListener):
24041        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
24042        * bindings/scripts/CodeGeneratorJS.pm:
24043
240442009-04-05  Erik L. Bunce  <elbunce@xendom.com>
24045
24046        Reviewed by Simon Hausmann.
24047
24048        https://bugs.webkit.org/show_bug.cgi?id=25050
24049
24050        Fix an assert failure when dropping an 'empty' text/uri-list on a QWebView. 
24051
24052        * platform/qt/DragDataQt.cpp:
24053        (WebCore::DragData::asURL):
24054
240552009-04-05  Simon Hausmann  <hausmann@webkit.org>
24056
24057        Fix the Qt build.
24058
24059        * bridge/qt/qt_runtime.h:
24060        (JSC::Bindings::QtRuntimeMethod::createPrototype): Take the JSGlobalObject
24061        as second argument.
24062
240632009-04-04  Kevin Ollivier  <kevino@theolliviers.com>
24064
24065        Build fixes for wxMac/Tiger.
24066
24067        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
24068        (wxFontProperties::wxFontProperties):
24069        * rendering/break_lines.cpp:
24070        (WebCore::nextBreakablePosition):
24071        * webcore-wx.bkl:
24072
240732009-04-04  Simon Fraser  <simon.fraser@apple.com>
24074
24075        Reviewed by Cameron Zwarich
24076
24077        https://bugs.webkit.org/show_bug.cgi?id=24648
24078        
24079        Ensure that mapPoint(const IntPoint&) calls the FloatPoint
24080        version to avoid infinite recursion.
24081        
24082        No test because mapPoint(const IntPoint&) isn't ever called
24083        on Mac, so I can't reproduce.
24084        
24085        * platform/graphics/transforms/TransformationMatrix.h:
24086        (WebCore::TransformationMatrix::mapPoint):
24087
240882009-04-04  Dan Bernstein  <mitz@apple.com>
24089
24090        Reviewed by Mark Rowe.
24091
24092        - fix <rdar://problem/6757862> REGRESSION: Cannot use the mouse to place
24093          the insertion point inside a Thai character
24094
24095        Test: fast/text/international/thai-offsetForPosition-inside-character.html
24096
24097        * platform/graphics/mac/CoreTextController.cpp:
24098        (WebCore::CoreTextController::offsetForPosition): Changed to use
24099        cursorMovementIterator instead of characterBreakIterator, allowing this
24100        function to return a valid cursor position even if it is not at
24101        a character boundary.
24102
241032009-04-04  Dan Bernstein  <mitz@apple.com>
24104
24105        Reviewed by Mark Rowe.
24106
24107        - fix an assertion failure when clicking at the beginning of a
24108          glyph cluster at the beginning of a text run
24109
24110        Test: fast/text/offsetForPosition-cluster-at-zero.html
24111
24112        * platform/graphics/mac/CoreTextController.cpp:
24113        (WebCore::CoreTextController::offsetForPosition): Corrected the bound
24114        check on firstGlyphBeforeCluster, letting it be 0 or -1, but not less
24115        than -1.
24116
241172009-04-03  Brian Weinstein  <bweinstein@gmail.com>
24118
24119        Allows 16 HTML/CSS standard colors to be shown as swatch backgrounds
24120        when the names are given.
24121
24122        https://bugs.webkit.org/show_bug.cgi?id=25044
24123
24124        Reviewed by Timothy Hatcher.
24125
24126        * inspector/front-end/StylesSidebarPane.js:
24127        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
24128
241292009-04-03  Sam Weinig  <sam@webkit.org>
24130
24131        Reviewed by Darin Adler.
24132
24133        <rdar://problem/6330929>
24134        https://bugs.webkit.org/show_bug.cgi?id=21456
24135
24136        Don't update the document pointer for all inactive windows on navigations.
24137        This change causes us to differ slightly from Firefox when accessing the
24138        document from within a closure tied to a navigated context, but as all
24139        browsers differ on this edge case, I don't foresee compatibility issues.
24140
24141        Test: http/tests/security/cross-frame-access-document-direct.html
24142
24143        * bindings/js/JSDOMWindowBase.cpp:
24144        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
24145        * bindings/js/ScriptController.cpp:
24146        (WebCore::ScriptController::clearWindowShell):
24147        (WebCore::ScriptController::initScript):
24148        (WebCore::ScriptController::updateDocument):
24149        * bindings/js/ScriptController.h:
24150
241512009-04-03  Chris Marrin  <cmarrin@apple.com>
24152
24153        Reviewed by Simon Fraser.
24154
24155        Test: transitions/bad-transition-shorthand-crash.html
24156
24157        Fixed https://bugs.webkit.org/show_bug.cgi?id=24787.
24158
24159        We were starting transitions with 0 duration and delay, which is 
24160        useless. With accelerated compositing on, this went through a code
24161        path that tried to use m_toStyle, which never got set because the 
24162        transitions was short circuited before it had a chance to. So I
24163        both protect against using that null pointer and avoid starting
24164        the transition in the first place.
24165
24166        * page/animation/CompositeAnimation.cpp:
24167        (WebCore::CompositeAnimationPrivate::updateTransitions):
24168        * page/animation/ImplicitAnimation.cpp:
24169        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
24170
241712009-04-03  Timothy Hatcher  <timothy@apple.com>
24172
24173        Fixes a bug where you could not type any more in the Web Inspector's
24174        search field after the first match is selected in the Resources panel.
24175
24176        https://bugs.webkit.org/show_bug.cgi?id=23982
24177        rdar://problem/6592367
24178
24179        Reviewed by Darin Adler.
24180
24181        * inspector/front-end/SourceView.js:
24182        (WebInspector.SourceView.prototype._jumpToSearchResult): Use the
24183        window object of the frame to set the selection, not the main window.
24184
241852009-04-03  Sam Weinig  <sam@webkit.org>
24186
24187        Reviewed by Anders Carlsson.
24188
24189        Fix for https://bugs.webkit.org/show_bug.cgi?id=22081
24190        <rdar://problem/6346030>
24191        Don't allow overriding the return value of window.location.
24192
24193        Tests: fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter.html
24194               fast/dom/Window/Location/location-override-toString-on-proto-using-with.html
24195               fast/dom/Window/Location/location-override-toString-on-proto.html
24196               fast/dom/Window/Location/location-override-toString-using-defineGetter.html
24197               fast/dom/Window/Location/location-override-toString-using-with.html
24198               fast/dom/Window/Location/location-override-toString.html
24199               fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter.html
24200               fast/dom/Window/Location/location-override-valueOf-on-proto-using-with.html
24201               fast/dom/Window/Location/location-override-valueOf-on-proto.html
24202               fast/dom/Window/Location/location-override-valueOf-using-defineGetter.html
24203               fast/dom/Window/Location/location-override-valueOf-using-with.html
24204               fast/dom/Window/Location/location-override-valueOf.html
24205               fast/dom/Window/Location/window-override-location-using-defineGetter.html
24206               fast/dom/Window/Location/window-override-window-using-defineGetter.html
24207               fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html
24208               fast/dom/Window/Location/window-shadow-location-using-string.html
24209               fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field.html
24210
24211        * bindings/js/JSDOMWindowCustom.cpp:
24212        (WebCore::JSDOMWindow::defineGetter):
24213        * bindings/js/JSLocationCustom.cpp:
24214        (WebCore::JSLocation::customPut):
24215        (WebCore::JSLocation::defineGetter):
24216        (WebCore::JSLocationPrototype::customPut):
24217        (WebCore::JSLocationPrototype::defineGetter):
24218        * bindings/scripts/CodeGeneratorJS.pm:
24219        * page/Location.idl:
24220
242212009-04-03  Geoffrey Garen  <ggaren@apple.com>
24222
24223        Rolled out r42214 since it seems to have caused crashes on the buildbot.
24224
24225        * bindings/js/JSDOMApplicationCacheCustom.cpp:
24226        (WebCore::JSDOMApplicationCache::addEventListener):
24227        (WebCore::JSDOMApplicationCache::removeEventListener):
24228        * bindings/js/JSDOMGlobalObject.cpp:
24229        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
24230        (WebCore::JSDOMGlobalObject::findJSEventListener):
24231        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
24232        * bindings/js/JSDOMGlobalObject.h:
24233        * bindings/js/JSDOMWindowCustom.cpp:
24234        (WebCore::JSDOMWindow::addEventListener):
24235        * bindings/js/JSMessagePortCustom.cpp:
24236        (WebCore::JSMessagePort::addEventListener):
24237        (WebCore::JSMessagePort::removeEventListener):
24238        * bindings/js/JSNodeCustom.cpp:
24239        (WebCore::JSNode::addEventListener):
24240        (WebCore::JSNode::removeEventListener):
24241        * bindings/js/JSSVGElementInstanceCustom.cpp:
24242        (WebCore::JSSVGElementInstance::addEventListener):
24243        * bindings/js/JSWorkerContextCustom.cpp:
24244        (WebCore::JSWorkerContext::addEventListener):
24245        (WebCore::JSWorkerContext::removeEventListener):
24246        * bindings/js/JSWorkerCustom.cpp:
24247        (WebCore::JSWorker::addEventListener):
24248        (WebCore::JSWorker::removeEventListener):
24249        * bindings/js/JSXMLHttpRequestCustom.cpp:
24250        (WebCore::JSXMLHttpRequest::addEventListener):
24251        (WebCore::JSXMLHttpRequest::removeEventListener):
24252        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
24253        (WebCore::JSXMLHttpRequestUpload::addEventListener):
24254        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
24255        * bindings/scripts/CodeGeneratorJS.pm:
24256
242572009-04-03  Sam Weinig  <sam@webkit.org>
24258
24259        Reviewed by Oliver Hunt.
24260
24261        Fix for <rdar://problem/6476356>
24262        https://bugs.webkit.org/show_bug.cgi?id=23148
24263
24264        - Use the window object the Location and History objects are directly associated with
24265          instead of the lexical global object to pick the object prototype to serve as the
24266          base of the their respective prototype chains.
24267        - Re-factor as necessary to allow passing the correct global object to the createPrototype
24268          functions.
24269
24270        Tests: http/tests/security/cross-frame-access-history-prototype.html
24271               http/tests/security/cross-frame-access-location-prototype.html
24272
24273        * bindings/js/JSAudioConstructor.cpp:
24274        (WebCore::JSAudioConstructor::JSAudioConstructor):
24275        * bindings/js/JSDOMBinding.cpp:
24276        (WebCore::getCachedDOMStructure):
24277        (WebCore::cacheDOMStructure):
24278        * bindings/js/JSDOMBinding.h:
24279        (WebCore::getDOMStructure):
24280        (WebCore::getDOMPrototype):
24281        * bindings/js/JSDOMWindowCustom.cpp:
24282        (WebCore::JSDOMWindow::history):
24283        (WebCore::JSDOMWindow::location):
24284        * bindings/js/JSDocumentCustom.cpp:
24285        (WebCore::JSDocument::location):
24286        * bindings/js/JSImageConstructor.cpp:
24287        (WebCore::JSImageConstructor::JSImageConstructor):
24288        * bindings/js/JSMessageChannelConstructor.cpp:
24289        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
24290        * bindings/js/JSNamedNodesCollection.h:
24291        (WebCore::JSNamedNodesCollection::createPrototype):
24292        * bindings/js/JSOptionConstructor.cpp:
24293        (WebCore::JSOptionConstructor::JSOptionConstructor):
24294        * bindings/js/JSRGBColor.h:
24295        (WebCore::JSRGBColor::createPrototype):
24296        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
24297        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
24298        * bindings/js/JSWebKitPointConstructor.cpp:
24299        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
24300        * bindings/js/JSWorkerConstructor.cpp:
24301        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
24302        * bindings/js/JSXMLHttpRequestConstructor.cpp:
24303        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
24304        * bindings/js/JSXSLTProcessorConstructor.cpp:
24305        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
24306        * bindings/scripts/CodeGeneratorJS.pm:
24307        * bridge/objc/objc_runtime.h:
24308        (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
24309        * bridge/runtime_array.h:
24310        (JSC::RuntimeArray::createPrototype):
24311        * bridge/runtime_method.h:
24312        (JSC::RuntimeMethod::createPrototype):
24313        * bridge/runtime_object.h:
24314        (JSC::RuntimeObjectImp::createPrototype):
24315        * page/DOMWindow.idl:
24316
243172009-04-03  Jian Li  <jianli@chromium.org>
24318
24319        Reviewed by Darin Fisher.
24320
24321        https://bugs.webkit.org/show_bug.cgi?id=25009
24322        Upstream changes to WorkerContextExecutionProxy for V8 bindings in order to use V8EventListenerList as container.
24323
24324        * bindings/v8/WorkerContextExecutionProxy.cpp:
24325        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
24326        (WebCore::WorkerContextExecutionProxy::dispose):
24327        (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
24328        (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
24329        * bindings/v8/WorkerContextExecutionProxy.h:
24330
243312009-04-03  Geoffrey Garen  <ggaren@apple.com>
24332
24333        Reviewed by Sam Weinig.
24334
24335        Removed irrelevant ExecState* parameter from event handler registration code.
24336        
24337        No change in behavior.
24338
24339        * bindings/js/JSDOMApplicationCacheCustom.cpp:
24340        (WebCore::JSDOMApplicationCache::addEventListener):
24341        (WebCore::JSDOMApplicationCache::removeEventListener):
24342        * bindings/js/JSDOMGlobalObject.cpp:
24343        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
24344        (WebCore::JSDOMGlobalObject::findJSEventListener):
24345        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
24346        * bindings/js/JSDOMGlobalObject.h:
24347        * bindings/js/JSDOMWindowCustom.cpp:
24348        (WebCore::JSDOMWindow::addEventListener):
24349        * bindings/js/JSMessagePortCustom.cpp:
24350        (WebCore::JSMessagePort::addEventListener):
24351        (WebCore::JSMessagePort::removeEventListener):
24352        * bindings/js/JSNodeCustom.cpp:
24353        (WebCore::JSNode::addEventListener):
24354        (WebCore::JSNode::removeEventListener):
24355        * bindings/js/JSSVGElementInstanceCustom.cpp:
24356        (WebCore::JSSVGElementInstance::addEventListener):
24357        * bindings/js/JSWorkerContextCustom.cpp:
24358        (WebCore::JSWorkerContext::addEventListener):
24359        (WebCore::JSWorkerContext::removeEventListener):
24360        * bindings/js/JSWorkerCustom.cpp:
24361        (WebCore::JSWorker::addEventListener):
24362        (WebCore::JSWorker::removeEventListener):
24363        * bindings/js/JSXMLHttpRequestCustom.cpp:
24364        (WebCore::JSXMLHttpRequest::addEventListener):
24365        (WebCore::JSXMLHttpRequest::removeEventListener):
24366        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
24367        (WebCore::JSXMLHttpRequestUpload::addEventListener):
24368        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
24369        * bindings/scripts/CodeGeneratorJS.pm:
24370
243712009-04-03  Dan Bernstein  <mitz@apple.com>
24372
24373        Reviewed by Simon Fraser.
24374
24375        - fix <rdar://problem/6634771> Under full-page zoom, cannot scroll
24376          MobileMe contact list
24377
24378        Test: fast/css/zoom-in-length-round-trip.html
24379
24380        * dom/Element.cpp:
24381        (WebCore::adjustForLocalZoom): For zoom factors greater than 1, ensure
24382        that the returned value is equal to the original unscaled value.
24383        (WebCore::adjustForAbsoluteZoom): Ditto.
24384
243852009-04-03  Chris Marrin  <cmarrin@apple.com>
24386
24387        Reviewed by David Hyatt.
24388
24389        Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
24390
24391        This fix essentially does a -viewWillDraw call for layout. It adds 
24392        a CFRunLoopObserver which performs layout just before drawing on the 
24393        Mac platform. This makes sure layout is complete before rendering and 
24394        avoids a flash.
24395
24396        * page/ChromeClient.h:
24397        (WebCore::ChromeClient::scheduleViewUpdate):
24398        * rendering/RenderLayerCompositor.cpp:
24399        (WebCore::RenderLayerCompositor::setCompositingLayersNeedUpdate):
24400        (WebCore::RenderLayerCompositor::scheduleViewUpdate):
24401        * rendering/RenderLayerCompositor.h:
24402
244032009-04-02  Simon Fraser  <simon.fraser@apple.com>
24404
24405        Reviewed by Dan Bernstein
24406
24407        https://bugs.webkit.org/show_bug.cgi?id=24648
24408
24409        Optimize mapPoint(), mapRect() and mapQuad() for identity matrix and translations.
24410        
24411        * platform/graphics/transforms/TransformationMatrix.cpp:
24412        (WebCore::TransformationMatrix::mapPoint):
24413        (WebCore::TransformationMatrix::mapRect):
24414        (WebCore::TransformationMatrix::mapQuad):
24415        * platform/graphics/transforms/TransformationMatrix.h:
24416        (WebCore::TransformationMatrix::mapPoint):
24417
244182009-04-02  Simon Fraser  <simon.fraser@apple.com>
24419
24420        Reviewed by Dan Bernstein
24421
24422        https://bugs.webkit.org/show_bug.cgi?id=25018
24423        
24424        Add containsPoint() and containsQuad() methods to FloatQuad.
24425
24426        * platform/graphics/FloatQuad.cpp:
24427        (WebCore::dot):
24428        (WebCore::isPointInTriangle):
24429        (WebCore::FloatQuad::containsPoint):
24430        (WebCore::FloatQuad::containsQuad):
24431        * platform/graphics/FloatQuad.h:
24432
244332009-04-03  Kevin Decker  <kdecker@apple.com>
24434
24435        Reviewed by Darin.
24436
24437        *  loader/ProgressTracker.cpp: Included DocumentLoader.h
24438        (WebCore::ProgressTracker::incrementProgress): Limit the 50%-clamp rule to 
24439        documents that use WebCore's layout system.
24440
244412009-04-03  Eric Carlson  <eric.carlson@apple.com>
24442
24443        Reviewed by Simon Fraser.
24444
24445        https://bugs.webkit.org/show_bug.cgi?id=25029
24446        <rdar://problem/6336092> REGRESSION: movie does not resize correctly
24447
24448        Test: media/video-size-intrinsic-scale.html
24449
24450        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
24451        (WebCore::MediaPlayerPrivate::naturalSize): Use QTMovieCurrentSizeAttribute instead 
24452        of QTMovieNaturalSizeAttribute so we return the correct size for movies saved
24453        with a non-default matrix.
24454        (WebCore::MediaPlayerPrivate::setSize): Don't resize the QTMovieView
24455        because [QTMovieView setFrame] also resizes the movie itself, and as
24456        the renderer calls setSize immediately when a movie reports a size change
24457        (QTMovieSizeDidChangeNotification) we can get into a feedback loop
24458        observing the size change and resetting the size, and this can cause
24459        QuickTime to miss correctly setting a movie's size when the media size
24460        changes after opening (as happens with an rtsp movie once the server sends
24461        the track sizes). Instead, remember the size passed to paint() and 
24462        resize the view when it changes.
24463        (WebCore::MediaPlayerPrivate::paint): Resize the view when passed a new size.
24464
24465        * platform/graphics/win/QTMovieWin.cpp:
24466        (QTMovieWin::getNaturalSize): Use GetMovieBox instead of GetMovieNaturalBoundsRect
24467        so we return the correct size for movies saved with non-default matrix.
24468
244692009-04-03  Darin Fisher  <darin@chromium.org>
24470
24471        Reviewed by Darin Adler.
24472
24473        Restore FrameLoader::policyDocumentLoader to fix the Chromium build.
24474        https://bugs.webkit.org/show_bug.cgi?id=25028
24475
24476        * loader/FrameLoader.h:
24477        (WebCore::FrameLoader::policyDocumentLoader):
24478
244792009-04-02  Michael Nordman  <michaeln@google.com>
24480
24481        Reviewed by Alexey Proskuryakov.
24482
24483        Use long long, not int64, when working in webcore (sorry).
24484        https://bugs.webkit.org/show_bug.cgi?id=25011
24485
24486        No change in functionality, so no tests.
24487
24488        * platform/network/chromium/ResourceResponse.h:
24489        (WebCore::ResourceResponse::getAppCacheID):
24490        (WebCore::ResourceResponse::setAppCacheID):
24491
244922009-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24493
24494        Reviewed by Holger Freyther.
24495
24496        Remove pre-processor checks for GTK+ >= 2.10, since we now require
24497        at least that version.
24498
24499        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
24500        (WebCore::FontPlatformData::FontPlatformData):
24501        * platform/gtk/ContextMenuItemGtk.cpp:
24502        (WebCore::gtkStockIDFromContextMenuAction):
24503        * platform/gtk/KeyEventGtk.cpp:
24504        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
24505        * platform/gtk/LocalizedStringsGtk.cpp:
24506        (WebCore::contextMenuItemTagSelectAll):
24507        * platform/gtk/MouseEventGtk.cpp:
24508        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
24509        * platform/gtk/PasteboardGtk.cpp:
24510        (WebCore::Pasteboard::writeSelection):
24511        (WebCore::Pasteboard::documentFragment):
24512        * platform/gtk/WheelEventGtk.cpp:
24513        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
24514
245152009-04-02  Simon Fraser  <simon.fraser@apple.com>
24516
24517        Reviewed by Dan Bernstein
24518        
24519        https://bugs.webkit.org/show_bug.cgi?id=25021
24520        
24521        Fix repainting an element with a reflection and transform after layout.
24522        Telling the reflection to repaint directly is wrong, because, with
24523        LayoutState enabled, it only takes the reflection's transform into account,
24524        not that of the element. We can fix this, and keep the benefits of LayoutState,
24525        by computing the reflected repaint rect, and repainting that using the original
24526        renderer.
24527
24528        Test: fast/repaint/reflection-repaint-test.html
24529
24530        * rendering/RenderBlock.cpp:
24531        (WebCore::RenderBlock::layoutBlock):
24532
245332009-04-02  Simon Fraser  <simon.fraser@apple.com>
24534
24535        Reviewed by Dan Bernstein
24536        
24537        https://bugs.webkit.org/show_bug.cgi?id=23307
24538        
24539        When repainting during layout (when LayoutState is enabled), we need
24540        to apply the transform to the dirty rect, before applying x(), y() and
24541        the offset storted in the LayoutState.
24542        
24543        Also bypass LayoutState in mapLocalToContainer() if we have a repaintContainer,
24544        since LayoutState is always root-relative.
24545
24546        Test: fast/repaint/transform-layout-repaint.html
24547
24548        * rendering/RenderBox.cpp:
24549        (WebCore::RenderBox::mapLocalToContainer):
24550        (WebCore::RenderBox::computeRectForRepaint):
24551
245522009-04-02  Mark Rowe  <mrowe@apple.com>
24553
24554        Fix the Mac build after r42191.
24555
24556        * WebCore.base.exp:
24557
245582009-04-02  Mark Rowe  <mrowe@apple.com>
24559
24560        Fix Windows build after r42190.
24561
24562        * page/EventHandler.cpp:
24563        (WebCore::EventHandler::keyEvent):  Update to use the new name of the constant.
24564
245652009-04-02  Darin Adler  <darin@apple.com>
24566
24567        Reviewed by Brady Eidson.
24568
24569        <rdar://problem/6625840> Previous Page isn't loaded after hitting back button at http://www.breakingnews.ie/
24570
24571        Test: http/tests/navigation/onload-navigation-iframe-2.html
24572
24573        * html/HTMLFrameElement.cpp:
24574        (WebCore::HTMLFrameElement::HTMLFrameElement): Removed unneeded createdByParser flag.
24575        * html/HTMLFrameElement.h: Ditto.
24576        * html/HTMLFrameElementBase.cpp:
24577        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Ditto.
24578        * html/HTMLFrameElementBase.h: Ditto.
24579        * html/HTMLFrameOwnerElement.cpp:
24580        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Ditto.
24581        * html/HTMLFrameOwnerElement.h: Ditto.
24582        * html/HTMLIFrameElement.cpp:
24583        (WebCore::HTMLIFrameElement::HTMLIFrameElement): Ditto.
24584        * html/HTMLIFrameElement.h: Ditto.
24585        * html/HTMLPlugInElement.cpp:
24586        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Ditto.
24587
24588        * loader/FrameLoader.cpp:
24589        (WebCore::FrameLoader::submitForm): Removed unneeded check of the createdByParser flag.
24590        The original change that introduced this, http://trac.webkit.org/changeset/25410, does
24591        not make it clear why this check was needed. And it seems it is not needed.
24592
245932009-04-02  Adele Peterson  <adele@apple.com>
24594
24595        Reviewed by Darin Adler.
24596
24597        Add a way to get a list of focusable nodes.
24598
24599        * dom/Document.cpp:
24600        (WebCore::Document::setFocusedNode):
24601        (WebCore::Document::getFocusableNodes):
24602        * dom/Document.h:
24603
246042009-04-02  Darin Adler  <darin@apple.com>
24605
24606        Reviewed by Sam Weinig.
24607
24608        <rdar://problem/6654255> crash due to null FrameView in EventHandler
24609
24610        Lots of code was added to EventHandler that used view() and page() without
24611        null checking, but both of those can become null due to the frame lifetime.
24612
24613        * page/EventHandler.cpp:
24614        (WebCore::EventHandler::handleMousePressEventSingleClick):
24615        (WebCore::EventHandler::eventMayStartDrag):
24616        (WebCore::EventHandler::handleAutoscroll):
24617        (WebCore::EventHandler::autoscrollTimerFired):
24618        (WebCore::EventHandler::setPanScrollCursor):
24619        (WebCore::EventHandler::allowDHTMLDrag):
24620        (WebCore::EventHandler::hitTestResultAtPoint):
24621        (WebCore::EventHandler::stopAutoscrollTimer):
24622        (WebCore::EventHandler::selectCursor):
24623        (WebCore::EventHandler::handleMousePressEvent):
24624        (WebCore::EventHandler::handleMouseMoveEvent):
24625        (WebCore::EventHandler::dispatchDragEvent):
24626        (WebCore::EventHandler::prepareMouseEvent):
24627        (WebCore::EventHandler::dispatchMouseEvent):
24628        (WebCore::EventHandler::handleWheelEvent):
24629        (WebCore::EventHandler::hoverTimerFired):
24630        (WebCore::EventHandler::keyEvent):
24631        (WebCore::EventHandler::dragHysteresisExceeded):
24632        (WebCore::EventHandler::shouldDragAutoNode):
24633        (WebCore::EventHandler::handleDrag):
24634        (WebCore::EventHandler::handleTextInputEvent):
24635        (WebCore::EventHandler::addPendingFrameUnloadEventCount):
24636        (WebCore::EventHandler::removePendingFrameUnloadEventCount):
24637        (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
24638        (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
24639        (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
24640        (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
24641        Added null checks for view() and page(). Made minor code cleanups.
24642
246432009-04-02  David Hyatt  <hyatt@apple.com>
24644
24645        Reviewed by Oliver Hunt.
24646
24647        Fix regression in <object> layout test.  Make sure that even though a 404 image loads, that <object>
24648        still considers it an error for the purposes of firing onerror.
24649
24650        * html/HTMLImageLoader.cpp:
24651        (WebCore::HTMLImageLoader::dispatchLoadEvent):
24652
246532009-04-02  Dimitri Glazkov  <dglazkov@chromium.org>
24654
24655        Reviewed by Timothy Hatcher.
24656
24657        https://bugs.webkit.org/show_bug.cgi?id=25010
24658        Refactor InspectorController to replace all JS function invocations with
24659        ScriptFunctionCall.
24660
24661        * bindings/js/ScriptFunctionCall.cpp:
24662        (WebCore::ScriptFunctionCall::appendArgument): Added int, UString,
24663            and JSValuePtr methods.
24664        (WebCore::ScriptFunctionCall::call): Added simplified, exception-eating
24665            method.
24666        * bindings/js/ScriptFunctionCall.h: Decls for above.
24667        * bindings/js/ScriptObjectQuarantine.cpp: Added helper for Node and DOMWindow.
24668        (WebCore::getQuarantinedScriptObject):
24669        * bindings/js/ScriptObjectQuarantine.h: Decls for above.
24670        * inspector/InspectorController.cpp:
24671        (WebCore::callSimpleFunction): Made into a static.
24672        (WebCore::InspectorController::focusNode): Refactored to use ScriptFunctionCall.
24673        (WebCore::InspectorController::toggleRecordButton): Ditto.
24674        (WebCore::InspectorController::startGroup): Ditto.
24675        (WebCore::InspectorController::setAttachedWindow): Ditto.
24676        (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Ditto.
24677        (WebCore::InspectorController::addScriptProfile): Ditto.
24678        (WebCore::InspectorController::didParseSource): Ditto.
24679        (WebCore::InspectorController::failedToParseSource): Ditto.
24680        (WebCore::InspectorController::didPause): Ditto.
24681        * inspector/InspectorController.h: Removed callFunction and callSimpleFunction
24682            decls.
24683
246842009-04-02  Jian Li  <jianli@chromium.org>
24685
24686        Reviewed by Darin Fisher.
24687
24688        Upstream changes to V8WorkerContextEventListener for V8 bindings.
24689        https://bugs.webkit.org/show_bug.cgi?id=25007
24690
24691        * bindings/v8/V8ObjectEventListener.h:
24692        * bindings/v8/V8WorkerContextEventListener.cpp:
24693
246942009-04-02  Jian Li  <jianli@chromium.org>
24695
24696        Reviewed by Darin Fisher.
24697
24698        Upstream V8WorkerContextObjectEventListener for V8 bindings.
24699        https://bugs.webkit.org/show_bug.cgi?id=25005
24700
24701        * bindings/v8/V8WorkerContextObjectEventListener.cpp: Added.
24702        * bindings/v8/V8WorkerContextObjectEventListener.h: Added.
24703
247042009-04-02  Jian Li  <jianli@chromium.org>
24705
24706        Reviewed by Darin Fisher.
24707
24708        Upstream V8EventListenerList for V8 bindings.
24709        https://bugs.webkit.org/show_bug.cgi?id=25004
24710
24711        * bindings/v8/V8EventListenerList.cpp: Added.
24712        * bindings/v8/V8EventListenerList.h: Added.
24713
247142009-04-02  Michael Nordman  <michaeln@google.com>
24715
24716        Reviewed by Darin Fisher.
24717
24718        Chromium's ResourceRequest and ResourceResponse structs need some new data members.
24719        https://bugs.webkit.org/show_bug.cgi?id=24897
24720
24721        These fields are needed to facilitate Chromium's implementation of the HTML5
24722        ApplicationCache feature. We need to know what frame (or context) is doing the
24723        requesting, and from what cache the resulting resource was retrieved.
24724
24725        No change in functionality, so no tests.
24726
24727        * platform/network/chromium/ResourceRequest.h:
24728        (WebCore::ResourceRequest::ResourceRequest):
24729        (WebCore::ResourceRequest::appCacheContextID):
24730        (WebCore::ResourceRequest::setAppCacheContextID):
24731        * platform/network/chromium/ResourceResponse.h:
24732        (WebCore::ResourceResponse::ResourceResponse):
24733        (WebCore::ResourceResponse::getAppCacheID):
24734        (WebCore::ResourceResponse::setAppCacheID):
24735
247362009-04-02  David Hyatt  <hyatt@apple.com>
24737
24738        Reviewed by Darin Adler
24739
24740        Fix for https://bugs.webkit.org/show_bug.cgi?id=24643.
24741        
24742        Make sure images just ignore HTTP error codes and keep loading anyway.  Only <object> checks http error codes and falls back.  Everyone
24743        else just ignores it and displays the image anyway.
24744
24745        Added http/tests/misc/image-error.html
24746
24747        * html/HTMLImageLoader.cpp:
24748        (WebCore::HTMLImageLoader::notifyFinished):
24749        * loader/CachedImage.cpp:
24750        (WebCore::CachedImage::CachedImage):
24751        * loader/CachedImage.h:
24752        (WebCore::CachedImage::httpStatusCodeError):
24753        (WebCore::CachedImage::httpStatusCodeErrorOccurred):
24754        * loader/CachedResource.h:
24755        (WebCore::CachedResource::httpStatusCodeError):
24756        * loader/loader.cpp:
24757        (WebCore::Loader::Host::didReceiveData):
24758
247592009-04-02  Jian Li  <jianli@chromium.org>
24760
24761        Reviewed by Dimitri Glazkov.
24762
24763        Add XHR constructor in WorkerContext.idl for V8 bindings.
24764        https://bugs.webkit.org/show_bug.cgi?id=24962
24765
24766        * workers/WorkerContext.idl:
24767
247682009-04-02  Ben Murdoch  <benm@google.com>
24769
24770        Fix Bug 19743: Release build fails on 32-bit Windows
24771
24772        <https://bugs.webkit.org/show_bug.cgi?id=19743>
24773
24774        Combines all the HTML element cpp files into one to help reduce the
24775        size of WebCore.lib so we can build in release mode on 32bit Windows.
24776
24777        Reviewed by Adam Roben.
24778
24779        * WebCore.vcproj/WebCore.vcproj: Excluded all the separate
24780        HTML*Element.cpp files from the build. Added HTMLElementsAllInOne.cpp
24781        to the build.
24782        * html/HTMLElementsAllInOne.cpp: Added.
24783
247842009-04-02  Simon Fraser  <simon.fraser@apple.com>
24785
24786        Reviewed by Darin Adler
24787
24788        https://bugs.webkit.org/show_bug.cgi?id=24999
24789        
24790        Optimize hit testing with transforms.
24791
24792        * rendering/RenderBox.cpp:
24793        (WebCore::RenderBox::mapLocalToContainer):
24794        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
24795        getTransformFromContainer() change to return the matrix by reference.
24796
24797        * rendering/RenderLayer.cpp:
24798        (WebCore::RenderLayer::update3DTransformedDescendantStatus):
24799        The method failed to set m_3DTransformedDescendantStatusDirty to false,
24800        so did the work every time.
24801
24802        (WebCore::RenderLayer::createLocalTransformState):
24803        Only call the expensive getTransformFromContainer() if there is a transform,
24804        otherwise we just have a translation.
24805
24806        * rendering/RenderObject.cpp:
24807        (WebCore::RenderObject::getTransformFromContainer):
24808        * rendering/RenderObject.h:
24809        Change transformFromContainer() to getTransformFromContainer(), and return
24810        the matrix by reference to reduce copying.
24811        New enum values for arguments for readability.
24812
24813        * rendering/TransformState.cpp:
24814        (WebCore::TransformState::move):
24815        (WebCore::TransformState::applyTransform):
24816        (WebCore::HitTestingTransformState::translate):
24817        New method that adds a translation to the accumulated matrix, optionally
24818        without flattening. Cheaper than applyTransform().
24819
24820        (WebCore::HitTestingTransformState::applyTransform):
24821        (WebCore::HitTestingTransformState::flatten):
24822        (WebCore::HitTestingTransformState::flattenWithTransform):
24823        Add flattenWithTransform(), which is a helper that allows us to
24824        avoid doing the inverse() twice.
24825
24826        * rendering/TransformState.h:
24827        (WebCore::TransformState::):
24828        (WebCore::TransformState::move):
24829        (WebCore::HitTestingTransformState::):
24830        New method on HitTestingTransformState that adds a translation to the
24831        accumulated matrix, optionally without flattening. Cheaper than applyTransform().
24832        New enum values for arguments for readability.
24833
248342009-04-02  Simon Fraser  <simon.fraser@apple.com>
24835
24836        Reviewed by Dan Bernstein
24837        
24838        https://bugs.webkit.org/show_bug.cgi?id=24648
24839        
24840        Optimize common code paths in TransformationMatrix.
24841
24842        * platform/graphics/transforms/TransformationMatrix.cpp:
24843        (WebCore::TransformationMatrix::translate):
24844        (WebCore::TransformationMatrix::translate3d):
24845        Optimize to avoid matrix copy.
24846        
24847        (WebCore::TransformationMatrix::isInvertible):
24848        Test for identity and translation matrices before computing
24849        the determinant.
24850        
24851        (WebCore::TransformationMatrix::inverse):
24852        Optimize for identity matrix and translations.
24853        
24854        * platform/graphics/transforms/TransformationMatrix.h:
24855        (WebCore::TransformationMatrix::isIdentityOrTranslation):
24856        Utility method.
24857
248582009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24859
24860        Reviewed by Alexey Proskuryakov.
24861
24862        https://bugs.webkit.org/show_bug.cgi?id=24930
24863        [Gtk] ISO files content is displayed inside the webview instead of being downloaded
24864
24865        Also sniff content of types declared as text/plain. This is
24866        justified by the fact that it is common to have Apache HTTP
24867        servers configured to send text/plain as Content-Type by default.
24868
24869        * platform/network/soup/ResourceHandleSoup.cpp:
24870        (WebCore::gotHeadersCallback):
24871
248722009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24873
24874        Reviewed by Alexey Proskuryakov.
24875
24876        Protect the handle when notifying the client that the response was
24877        received also in gotChunkCallback, or we crash in didReceiveData
24878        when the load is cancelled in didReceiveResponse.
24879
24880        * platform/network/soup/ResourceHandleSoup.cpp:
24881        (WebCore::gotChunkCallback):
24882
248832009-04-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24884
24885        Reviewed by Alexey Proskuryakov.
24886
24887        https://bugs.webkit.org/show_bug.cgi?id=25001
24888        Crash when content type parameters have no value
24889
24890        Handle the case where a Content-Type header parameter has no
24891        value (i.e. no = character), to work-around a bug in libsoup.
24892
24893        * platform/network/soup/ResourceHandleSoup.cpp:
24894        (WebCore::fillResponseFromMessage):
24895
248962009-04-02  Yael Aharon  <yael.aharon@nokia.com>
24897
24898        Reviewed by Simon Hausmann.
24899
24900        https://bugs.webkit.org/show_bug.cgi?id=24490
24901
24902        Enable web workers in Qt.
24903
24904        * WebCore.pro:
24905
249062009-04-01  Alexey Proskuryakov  <ap@webkit.org>
24907
24908        Reviewed by Darin Adler. Based on work of Julien Chaffraix.
24909
24910        https://bugs.webkit.org/show_bug.cgi?id=22475
24911        REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore
24912
24913        https://bugs.webkit.org/show_bug.cgi?id=24886
24914        XHR requests opened when offline never return
24915
24916        Tests: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
24917               http/tests/xmlhttprequest/state-after-network-error.html
24918
24919        * xml/XMLHttpRequest.cpp:
24920        (WebCore::XMLHttpRequest::callReadyStateChangeListener): Only dispatch load event if this
24921        wasn't an error.
24922        (WebCore::XMLHttpRequest::abort): Fixed formatting.
24923        (WebCore::XMLHttpRequest::genericError): Change state to DONE and dispatch readystatechange.
24924        The comment saying that this doesn't match Firefox was added in r33559 without explanation
24925        or tests, and I don't think that it's accurate. Also, Firefox and Safari 3 both change state
24926        to HEADERS_RECEIVED before DONE on error - this doesn't match the spec, and I doubt
24927        that any code depends on this, so I went with the spec here.
24928
249292009-04-01  Steve Falkenburg  <sfalken@apple.com>
24930
24931        https://bugs.webkit.org/show_bug.cgi?id=24997
24932        Race conditions in icon database threading code
24933        
24934        m_syncThreadRunning set was mistakenly eliminated in r27717.
24935        This reintroduces it.
24936
24937        Reviewed by Oliver Hunt.
24938
24939        * loader/icon/IconDatabase.cpp:
24940        (WebCore::IconDatabase::open): Set m_syncThreadRunning.
24941
249422009-04-01  Antti Koivisto  <antti@apple.com>
24943
24944        Reviewed by Darin Adler.
24945
24946        <rdar://problem/6748609> Use ActiveDOMObject to suspend marquees
24947        
24948        Make marquees ActiveDOMObjects, get rid of the special suspension code.
24949
24950        * html/HTMLMarqueeElement.cpp:
24951        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
24952        (WebCore::HTMLMarqueeElement::canSuspend):
24953        (WebCore::HTMLMarqueeElement::suspend):
24954        (WebCore::HTMLMarqueeElement::resume):
24955        * html/HTMLMarqueeElement.h:
24956        * page/Frame.cpp:
24957        (WebCore::Frame::clearTimers):
24958        * rendering/RenderLayer.cpp:
24959        * rendering/RenderLayer.h:
24960        (WebCore::RenderLayer::marquee):
24961
249622009-04-01  Dean Jackson  <dino@apple.com>
24963
24964        Reviewed by Darin Adler
24965
24966        Make constant values static in previous commit, as suggested
24967        by Darin.
24968
24969        * rendering/RenderVideo.cpp:
24970
249712009-04-01  Dean Jackson  <dino@apple.com>
24972
24973        Reviewed by Simon Fraser
24974
24975        https://bugs.webkit.org/show_bug.cgi?id=24993
24976
24977        Standalone media should have a smaller instrinsic
24978        height.
24979
24980        * rendering/RenderVideo.cpp:
24981        (WebCore::RenderVideo::RenderVideo):
24982
249832009-04-01  Darin Adler  <darin@apple.com>
24984
24985        Reviewed by Geoff Garen.
24986
24987        Bug 22378: Crash submitting a form when parsing an XHTML document
24988        https://bugs.webkit.org/show_bug.cgi?id=22378
24989        rdar://problem/6388377
24990
24991        Tests: fast/loader/submit-form-while-parsing-1.xhtml
24992               fast/loader/submit-form-while-parsing-2.html
24993
24994        * WebCore.base.exp: Updated.
24995
24996        * history/HistoryItem.cpp:
24997        (WebCore::HistoryItem::HistoryItem): Renamed m_subItems to m_children.
24998        Used uncheckedAppend because we reserveInitialCapacity.
24999        (WebCore::HistoryItem::addChildItem): Renamed m_subItems to m_children.
25000        Added an assertion that this is only used to add items that don't have
25001        duplicate frame names.
25002        (WebCore::HistoryItem::setChildItem): Added. Replaces an existing item
25003        if any, preserving the isTargetItem flag.
25004        (WebCore::HistoryItem::childItemWithTarget): Renamed from childItemWithName
25005        for consistency with the other functions here that all call the frame name the
25006        "target". Also updated for rename of m_subItems to m_children.
25007        (WebCore::HistoryItem::findTargetItem): Renamed from recurseToFindTargetItem.
25008        Removed unneeded size check.
25009        (WebCore::HistoryItem::targetItem): Changed to always return the top item
25010        if no item has the isTargetItem flag set. The old version would instead return
25011        0 in some cases, but return the top item if it had no children.
25012        (WebCore::HistoryItem::children): Renamed m_subItems to m_children.
25013        (WebCore::HistoryItem::hasChildren): Ditto.
25014        (WebCore::HistoryItem::showTreeWithIndent): Ditto.
25015
25016        * history/HistoryItem.h: Name changes.
25017
25018        * html/HTMLFormElement.cpp:
25019        (WebCore::HTMLFormElement::submit): Create and pass a FormState instead of
25020        attaching "recorded form values" and "form about to be submitted" to the frame
25021        loader. Parameter work fine for this; there's no need to store state on the
25022        FrameLoader.
25023
25024        * loader/FormState.cpp:
25025        (WebCore::FormState::FormState): Adopt a vector instead of copying a hash map.
25026        (WebCore::FormState::create): Ditto.
25027        * loader/FormState.h: Update to use a vector that we adopt instead of hash map
25028        that we copy for auto-fill text field values.
25029
25030        * loader/FrameLoader.cpp:
25031        (WebCore::ScheduledRedirection::ScheduledRedirection): Added a new case for
25032        form submissions and turned the "wasDuringLoad" state into a separate boolean
25033        instead of using a special redirection type to track it.
25034        (WebCore::FrameLoader::createWindow): Updated for name and argument change of
25035        loadFrameRequest.
25036        (WebCore::FrameLoader::urlSelected): Ditto.
25037        (WebCore::FrameLoader::submitForm): Removed the "deferred form submission"
25038        machinery, replacing it with the "scheduled redirection" mechanism, shared
25039        with other kinds of redirection and navigation. Moved frame targeting here
25040        so we can schedule the redirection on the right frame. Moved the multiple
25041        form submission protection here. Moved the code to implement the rule that
25042        m_navigationDuringLoad was used for here too.
25043        (WebCore::FrameLoader::didOpenURL): Use the new wasDuringLoad flag instead
25044        of the locationChangeDuringLoad type to detect location change during a load.
25045        (WebCore::FrameLoader::executeScript): Removed call to now-obsolete function,
25046        submitFormAgain.
25047        (WebCore::FrameLoader::scheduleLocationChange): Moved the code to stop loading
25048        out of this function into scheduleRedirection, so it can be shared with the
25049        new scheduleFormSubmission function.
25050        (WebCore::FrameLoader::scheduleFormSubmission): Added. Almost the same as
25051        scheduleLocationChange, but with the arguments for a form submission.
25052        (WebCore::FrameLoader::scheduleRefresh): Updated for the change to the
25053        duringLoad flag.
25054        (WebCore::FrameLoader::isLocationChange): Added case for formSubmission
25055        and removed case for locationChangeDuringLoad.
25056        (WebCore::FrameLoader::redirectionTimerFired): Ditto. Also removed unneeded
25057        completeURL call and just use KURL constructor to match the other cases.
25058        (WebCore::FrameLoader::provisionalLoadStarted): Removed the code to set up
25059        the m_navigationDuringLoad, which is no longer needed. The new version of
25060        this is in the submitForm function and sets the lockHistory boolean.
25061        (WebCore::FrameLoader::scheduleRedirection): Moved the code to stop a load
25062        in here that used to be in scheduleLocationChange.
25063        (WebCore::FrameLoader::startRedirectionTimer): Added case for formSubmission
25064        and removed case for locationChangeDuringLoad.
25065        (WebCore::FrameLoader::stopRedirectionTimer): Ditto.
25066        (WebCore::FrameLoader::completed): Removed call to now-obsolete function,
25067        submitFormAgain.
25068        (WebCore::FrameLoader::loadFrameRequest): Renamed from
25069        loadFrameRequestWithFormAndValues. Replaced form element and form values
25070        argument with a single FormState argument. Changed frame targeting code
25071        to use the source frame in the case of a form submission to better match
25072        the actual target frame.
25073        (WebCore::FrameLoader::loadURL): Don't search for existing frames in the
25074        form submission case since we already did that in the submitForm function.
25075        (WebCore::FrameLoader::clientRedirected): Changed to work with the
25076        m_isExecutingJavaScriptFormAction data member directly instead of taking
25077        it as a function parameter.
25078        (WebCore::FrameLoader::loadPostRequest): Don't search for existing frames
25079        in the form submission case since we already did that in the submitForm
25080        function.
25081        (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Moved comment
25082        in here that was misplaced elsewhere in the file.
25083        (WebCore::FrameLoader::findFrameForNavigation): Changed to use the early
25084        return idiom.
25085        (WebCore::FrameLoader::recursiveGoToItem): Updated for HistoryItem changes.
25086        (WebCore::FrameLoader::childFramesMatchItem): Ditto.
25087        (WebCore::FrameLoader::updateHistoryForStandardLoad): Removed the
25088        m_navigationDuringLoad logic; that's now handled by setting lockHistory
25089        to true in the submitForm function.
25090        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
25091        Use the new setChildItem function so we don't get multiple items for the
25092        same frame name in the history item tree in the back/forward list.
25093
25094        * loader/FrameLoader.h: Renamed loadFrameRequestWithFormAndValues to
25095        loadFrameRequest and made it take a form state object instead of the
25096        form element and form values. Removed the unused functions
25097        loadEmptyDocumentSynchronously, provisionalDocumentLoader,
25098        notifyIconChnaged, and updateBaseURLForEmptyDocument. Changed the
25099        submitForm function to take a form state argument. Eliminated the
25100        clearRecordedFormValues, setFormAboutToBeSubmitted, and recordFormValue
25101        functions, which are replaced by the form state arguments to submitForm
25102        and loadFrameRequest. Removed the isJavaScriptFormAction argument from
25103        the clientRedirected function; instead it looks at a data member directly.
25104        Eliminated the submitFormAgain and overload of the submitForm function;
25105        these are now subsumed into the remaining submitForm function and the
25106        scheduleFormSubmission function. Removed unused and obsolete data
25107        members m_navigationDuringLoad, m_deferredFormSubmission,
25108        m_formAboutToBeSubmitted and m_formValuesAboutToBeSubmitted.
25109
25110        * page/ContextMenuController.cpp:
25111        (WebCore::ContextMenuController::contextMenuItemSelected):
25112        Updated for name and argument change of loadFrameRequest.
25113
25114        * page/Frame.cpp:
25115        (WebCore::Frame::~Frame): Removed call to the now-unneeded
25116        clearRecordedFormValues function.
25117
251182009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
25119
25120        Unreviewed, fixing previous commit.
25121
25122        https://bugs.webkit.org/show_bug.cgi?id=24994
25123        Revert V8DOMMap.cpp change which accidentally snuck into the previous
25124        commit.
25125
25126        * bindings/v8/V8DOMMap.cpp: Revert change in previous commit.
25127
251282009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
25129
25130        Reviewed by Darin Fisher.
25131
25132        https://bugs.webkit.org/show_bug.cgi?id=24994
25133        Fix miscellaneous merge/upstreaming divergencies in Chromium port.
25134
25135        * bindings/v8/V8Collection.h: Added an include.
25136        * platform/KURLGoogle.cpp:
25137        (WebCore::KURL::baseAsString): Added to match KURL.cpp.
25138        * platform/chromium/ClipboardChromium.cpp: Added an include.
25139
251402009-04-01  Dimitri Glazkov  <dglazkov@chromium.org>
25141
25142        Reviewed by Timothy Hatcher.
25143
25144        https://bugs.webkit.org/show_bug.cgi?id=24989
25145        Refactor InspectorResource to use ScriptObject/FunctionCall.
25146
25147        * bindings/js/JSInspectorControllerCustom.cpp:
25148        (WebCore::JSInspectorController::addResourceSourceToFrame): Tweaked to use
25149            a more appropriate type conversion.
25150        (WebCore::JSInspectorController::getResourceDocumentNode): Tweaked to
25151            accommodate for InspectorResource refactoring.
25152        * bindings/js/ScriptFunctionCall.cpp:
25153        (WebCore::ScriptFunctionCall::appendArgument): Added long long type to match
25154            existing jsNumber call signature.
25155        * bindings/js/ScriptFunctionCall.h: Declaration for above.
25156        * bindings/js/ScriptObject.cpp:
25157        (WebCore::createEmptyObject): Added.
25158        (WebCore::ScriptObject::ScriptObject):
25159        (WebCore::ScriptObject::set): Added a bunch of property setters.
25160        * bindings/js/ScriptObject.h: Declarations for above.
25161        * inspector/InspectorController.cpp: Moved all InspectorResource-managing code
25162            to InspectorResource.cpp
25163        (WebCore::InspectorController::populateScriptObjects): Changed to use
25164            refactored InspectorResource.
25165        (WebCore::InspectorController::resetScriptObjects): Ditto.
25166        (WebCore::InspectorController::pruneResources): Ditto.
25167        (WebCore::InspectorController::didCommitLoad): Ditto.
25168        (WebCore::InspectorController::addResource): Ditto.
25169        (WebCore::InspectorController::removeResource): Ditto.
25170        (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
25171        (WebCore::InspectorController::identifierForInitialRequest): Ditto.
25172        (WebCore::InspectorController::willSendRequest): Ditto.
25173        (WebCore::InspectorController::didReceiveResponse): Ditto.
25174        (WebCore::InspectorController::didReceiveContentLength): Ditto.
25175        (WebCore::InspectorController::didFinishLoading): Ditto.
25176        (WebCore::InspectorController::didFailLoading): Ditto,
25177        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): Ditto.
25178        (WebCore::InspectorController::scriptImported): Ditto.
25179        * inspector/InspectorController.h: Removed InspectorResource-managing code decls
25180            and tweaked some signatures to use ScriptString and long long for identifier.
25181        * inspector/InspectorController.idl: Changed to use long long for identifier.
25182        * inspector/InspectorResource.cpp: Refactored to use ScriptObject/FunctionCall.
25183        (WebCore::InspectorResource::InspectorResource): Ditto.
25184        (WebCore::InspectorResource::~InspectorResource): Ditto.
25185        (WebCore::InspectorResource::createCached): Added.
25186        (WebCore::InspectorResource::updateRequest): Added.
25187        (WebCore::InspectorResource::updateResponse): Added.
25188        (WebCore::createHeadersObject): Added.
25189        (WebCore::InspectorResource::createScriptObject): Added.
25190        (WebCore::InspectorResource::updateScriptObject): Added.
25191        (WebCore::InspectorResource::releaseScriptObject): Added.
25192        (WebCore::InspectorResource::type): Tweaked to use ScriptString.
25193        (WebCore::InspectorResource::setXMLHttpResponseText): Added.
25194        (WebCore::InspectorResource::sourceString): Tweaked to use ScriptString.
25195        (WebCore::InspectorResource::startTiming): Added.
25196        (WebCore::InspectorResource::markResponseReceivedTime): Added.
25197        (WebCore::InspectorResource::endTiming): Added.
25198        (WebCore::InspectorResource::markFailed): Added.
25199        (WebCore::InspectorResource::addLength): Added.
25200        * inspector/InspectorResource.h: Added decls for newly refactored-in methods.
25201        (WebCore::InspectorResource::create): Added.
25202        (WebCore::InspectorResource::isSameLoader): Added.
25203        (WebCore::InspectorResource::markMainResource): Added.
25204        (WebCore::InspectorResource::identifier): Added.
25205        (WebCore::InspectorResource::requestURL): Added.
25206        (WebCore::InspectorResource::frame): Added.
25207        (WebCore::InspectorResource::mimeType): Added.
25208        (WebCore::InspectorResource::Changes::Changes): Added new class to track
25209            resource changes.
25210        (WebCore::InspectorResource::Changes::hasChange): Added.
25211        (WebCore::InspectorResource::Changes::set): Added.
25212        (WebCore::InspectorResource::Changes::clear): Added.
25213        (WebCore::InspectorResource::Changes::setAll): Added.
25214        (WebCore::InspectorResource::Changes::clearAll): Added.
25215
252162009-04-01  Tony Chang  <tony@chromium.org>
25217
25218        Reviewed by Darin Fisher.
25219
25220        Ensure the right click doesn't deselect text under it.  This was
25221        happening in the Chromium and GTK+ ports because they don't select
25222        the text under the cursor on right click.
25223        
25224        This was regressed in r41715, https://bugs.webkit.org/show_bug.cgi?id=19737
25225        
25226        https://bugs.webkit.org/show_bug.cgi?id=24946
25227
25228        Test: fast/events/context-no-deselect.html
25229
25230        * page/EventHandler.cpp:
25231        (WebCore::EventHandler::handleMouseReleaseEvent):
25232
252332009-04-01  Simon Fraser  <simon.fraser@apple.com>
25234
25235        Reviewed by Dave Hyatt
25236
25237        https://bugs.webkit.org/show_bug.cgi?id=24991
25238        
25239        Need to use toRenderBoxModelObject(), not toRenderBox(), to test for layer()
25240        when getting the transform.
25241        
25242        * rendering/RenderObject.cpp:
25243        (WebCore::RenderObject::transformFromContainer):
25244
252452009-03-31  Darin Adler  <darin@apple.com>
25246
25247        Rolled out that last change until I can investigate the regression test failures it seems
25248        to have caused.
25249
25250        * dom/PositionIterator.cpp:
25251        (WebCore::PositionIterator::decrement):
25252        * dom/PositionIterator.h:
25253        (WebCore::PositionIterator::PositionIterator):
25254
252552009-03-31  Darin Adler  <darin@apple.com>
25256
25257        Reviewed by Eric Seidel.
25258
25259        Bug 24621: PositionIterator doesn't iterate "after last child" positions when going backwards
25260        https://bugs.webkit.org/show_bug.cgi?id=24621
25261
25262        * dom/PositionIterator.cpp:
25263        (WebCore::PositionIterator::decrement): Make sure that when the parent has no children, we
25264        don't ever use Position::uncheckedPreviousOffset. This is consistent with the forward
25265        iterator, but also should never arise because of the fix below.
25266        * dom/PositionIterator.h:
25267        (WebCore::PositionIterator::PositionIterator): Fixed so m_offset will always be 0 when
25268        the passed-in node has no children. Like the change above, this is consistent with the rest
25269        of the class, although in the long run I think it's a bit strange to treat a <p> element
25270        with no children differently than a <p> element with children.
25271
252722009-03-31  Eric Carlson  <eric.carlson@apple.com>
25273
25274        Reviewed by Simon Fraser.
25275
25276        https://bugs.webkit.org/show_bug.cgi?id=24965
25277        Bug 24965: HTMLMediaElement: network state changes can be missed
25278        
25279        * html/HTMLMediaElement.cpp:
25280        (WebCore::HTMLMediaElement::setNetworkState): Always update m_networkState when the
25281        state changes, even when no event needs to be fired.
25282
252832009-03-31  Eric Carlson  <eric.carlson@apple.com>
25284
25285        Reviewed by Darin Adler.
25286        
25287        https://bugs.webkit.org/show_bug.cgi?id=24964
25288        Bug 24964: HTMLMediaElement: 'waiting' event may fire twice
25289
25290        * html/HTMLMediaElement.cpp:
25291        (WebCore::HTMLMediaElement::setReadyState): Only fire 'waiting' event once when ready state
25292        drops below HAVE_FUTURE_DATA.
25293
252942009-03-31  Eric Carlson  <eric.carlson@apple.com>
25295
25296        Reviewed by Darin Adler.
25297
25298        https://bugs.webkit.org/show_bug.cgi?id=24846
25299        Bug 24846: HTMLMediaElement should implement 'autobuffer' attribute
25300
25301        Add 'autobuffer' attrubute to media element. 'autobuffer' is a hint that
25302        the author recommends downloading the entire resource optimistically, so the
25303        attribute is made available to the media engine to use if it is able.
25304
25305        Test: media/video-dom-autobuffer.html
25306
25307        * html/HTMLAttributeNames.in: Add autobuffer.
25308
25309        * html/HTMLMediaElement.cpp:
25310        (WebCore::HTMLMediaElement::parseMappedAttribute): New.
25311        (WebCore::HTMLMediaElement::autobuffer): Ditto.
25312        (WebCore::HTMLMediaElement::setAutobuffer): Ditto.
25313
25314        * html/HTMLMediaElement.h: Declare autobuffer and setAutobuffer.
25315
25316        * html/HTMLMediaElement.idl: Add autobuffer.
25317
25318        * platform/graphics/MediaPlayer.cpp:
25319        (WebCore::MediaPlayer::MediaPlayer): Initialize m_autobuffer.
25320        (WebCore::MediaPlayer::autobuffer): New.
25321        (WebCore::MediaPlayer::setAutobuffer): Ditto.
25322        * platform/graphics/MediaPlayer.h: Declare m_autobuffer, autobuffer and setAutobuffer
25323
25324        * platform/graphics/MediaPlayerPrivate.h:
25325        (WebCore::MediaPlayerPrivateInterface::setAutobuffer): Declare setAutobuffer.
25326
253272009-03-31  Craig Schlenter  <craig.schlenter@gmail.com>
25328
25329        Reviewed by Dimitri Glazkov.
25330
25331        https://bugs.webkit.org/show_bug.cgi?id=24550
25332        Check return value of vasprintf. This should keep gcc 4.3.3
25333        happy rather than have it complain about attribute warn_unused_result.
25334
25335        * dom/XMLTokenizerLibxml2.cpp:
25336        (WebCore::XMLTokenizer::error):
25337
253382009-03-31  Dean Jackson  <dino@apple.com>
25339
25340        Style guide violation!
25341
25342        * loader/MediaDocument.cpp:
25343        (WebCore::MediaDocument::defaultEventHandler):
25344
253452009-03-31  Dean Jackson  <dino@apple.com>
25346
25347        Fix Tiger build.
25348
25349        * loader/MediaDocument.cpp:
25350        (WebCore::MediaDocument::defaultEventHandler):
25351
253522009-03-31  Jian Li  <jianli@chromium.org>
25353
25354        Reviewed by Darin Fisher.
25355
25356        Upstream V8DOMMap for v8 bindings.
25357        https://bugs.webkit.org/show_bug.cgi?id=24951
25358
25359        * bindings/v8/V8DOMMap.cpp: Added.
25360        * bindings/v8/V8DOMMap.h: Added.
25361
253622009-03-31  Dean Jackson  <dino@apple.com>
25363
25364        Reviewed by Simon Fraser.
25365
25366        https://bugs.webkit.org/show_bug.cgi?id=24955
25367
25368        Spacebar didn't play/pause in standalone MediaDocument
25369
25370        * loader/MediaDocument.cpp:
25371        (WebCore::MediaDocument::defaultEventHandler):
25372
253732009-03-31  Alpha Lam  <hclam@chromium.org>
25374
25375        Reviewed by Eric Seidel.
25376
25377        https://bugs.webkit.org/show_bug.cgi?id=24901
25378        Added the following methods to MediaPlayerPrivate for Chromium port.
25379        void sizeChanged();
25380        void rateChanged();
25381        void durationChanged();
25382
25383        The above changes are to reflect changes in MediaPlayer.cpp.
25384        More details can be found in the original changeset.
25385        http://trac.webkit.org/changeset/41907
25386
25387        * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
25388
253892009-03-31  Rafael Weinstein  <rafaelw@chromium.org>
25390
25391        Reviewed by Eric Seidel.
25392
25393        https://bugs.webkit.org/show_bug.cgi?id=24947
25394
25395        Special-case drawing text-shadow on win32, to let GDI draw in cases
25396        when both fill & shadow color are opaque and the shadow has no blur.
25397
25398        * platform/graphics/chromium/FontChromiumWin.cpp:
25399        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
25400        (WebCore::Font::drawComplexText):
25401        * platform/graphics/skia/SkiaFontWin.cpp:
25402        (WebCore::windowsCanHandleDrawTextShadow):
25403        (WebCore::windowsCanHandleTextDrawing):
25404        * platform/graphics/skia/SkiaFontWin.h:
25405
254062009-03-31  Jeremy Moskovich  <jeremy@chromium.org>
25407
25408        Reviewed by Darin Fisher.
25409
25410        r42055 removed some functions in FrameLoader used by Chrome,
25411        this CL backs out some of those changes to unbreak the Chrome build.
25412
25413        https://bugs.webkit.org/show_bug.cgi?id=24949
25414
25415        * WebCore.base.exp:
25416        * loader/FrameLoader.cpp:
25417        * loader/FrameLoader.h:
25418
254192009-03-31  Jeremy Moskovich  <jeremy@chromium.org>
25420
25421        Reviewed by Darin Adler.
25422
25423        Build fixes for Chromium.
25424
25425        https://bugs.webkit.org/show_bug.cgi?id=24945
25426
25427        * dom/Document.h:
25428        * platform/chromium/ClipboardChromium.cpp:
25429        (WebCore::imageToMarkup):
25430
254312009-03-31  Simon Hausmann  <simon.hausmann@nokia.com>
25432
25433        Fix the Qt build.
25434
25435        * dom/XMLTokenizerQt.cpp:
25436        (WebCore::XMLTokenizer::XMLTokenizer): Use NamedNodeMap instead of NamedAttrMap.
25437
254382009-03-30  Steve Falkenburg  <sfalken@apple.com>
25439
25440        Don't create CFDataRef with a fixed size.
25441        Fixes synchronous XMLHTTPRequests on Windows.
25442        
25443        Reviewed by Ada Chan.
25444
25445        * platform/network/cf/ResourceHandleCFNet.cpp:
25446        (WebCore::WebCoreSynchronousLoader::didReceiveData):
25447
254482009-03-30  Darin Adler  <darin@apple.com>
25449
25450        Reviewed by Sam Weinig.
25451
25452        Bug 24594: PolicyDelegate NavigationAction is WebNavigationTypeOther instead of WebNavigationTypeReload
25453        https://bugs.webkit.org/show_bug.cgi?id=24594
25454        rdar://problem/6682110
25455
25456        Test: fast/loader/reload-policy-delegate.html
25457
25458        * loader/FrameLoader.cpp:
25459        (WebCore::FrameLoader::loadWithDocumentLoader): Set the triggering action here where we know it's
25460        the policy loader and can use m_policyLoadType rather than letting it get set inside
25461        checkNavigationPolicy.
25462
254632009-03-30  Timothy Hatcher  <timothy@apple.com>
25464
25465        <rdar://problem/5838871> CrashTracer: 1483 crashes Quicklooking
25466        in Finder (painting without up to date layout)
25467
25468        Reviewed by Dan Bernstein.
25469
25470        * page/FrameView.cpp:
25471        (WebCore::FrameView::paintContents): Add an early return when
25472        painting is attempted when layout is needed.
25473
254742009-03-30  Greg Bolsinga  <bolsinga@apple.com>
25475
25476        Reviewed by Simon Fraser.
25477
25478        https://bugs.webkit.org/show_bug.cgi?id=24938
25479        
25480        Sort alphabetically.
25481
25482        * css/CSSComputedStyleDeclaration.cpp:
25483        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
25484
254852009-03-30  Greg Bolsinga  <bolsinga@apple.com>
25486
25487        Reviewed by Simon Fraser.
25488
25489        https://bugs.webkit.org/show_bug.cgi?id=24938
25490        
25491        Build fixes for building --3d-rendering and --no-svg
25492
25493        * rendering/RenderLayerBacking.cpp:
25494
254952009-03-30  Greg Bolsinga  <bolsinga@apple.com>
25496
25497        Reviewed by Simon Fraser.
25498        
25499        https://bugs.webkit.org/show_bug.cgi?id=24938
25500
25501        Build fixes when building --no-svg
25502        
25503        * css/CSSComputedStyleDeclaration.cpp:
25504        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing CSS properties
25505        * css/CSSCursorImageValue.cpp:
25506        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Handle unused param
25507        * css/CSSParser.cpp:
25508        (WebCore::CSSParser::parseValue): Add missing CSS properties
25509        * css/CSSStyleSelector.cpp:
25510        (WebCore::CSSStyleSelector::applyProperty): Add missing CSS properties
25511        * dom/Node.cpp:
25512        (WebCore::updateSVGElementInstancesAfterEventListenerChange): Handle unused param
25513        * platform/graphics/Font.cpp:
25514        (WebCore::Font::floatWidth): Handle unused param
25515        * platform/graphics/SimpleFontData.cpp:
25516        (WebCore::SimpleFontData::SimpleFontData): Handle unused param
25517
255182009-03-30  Darin Adler  <darin@apple.com>
25519
25520        Reviewed by Adam Roben.
25521
25522        Bug 24916: REGRESSION: NavigationAction policy dispatch broken
25523        https://bugs.webkit.org/show_bug.cgi?id=24916
25524
25525        * loader/FrameLoader.cpp:
25526        (WebCore::FrameLoader::loadURL): Rearrange the code so that the "event" PassRefPtr
25527        is not used twice. This also optimizes the case where a frame name is specified,
25528        but it's the name of the frame being loaded. Also called release in all the final
25529        uses of FormState.
25530
255312009-03-30  Darin Adler  <darin@apple.com>
25532
25533        Reviewed by Adam Roben.
25534
25535        Bug 24937: NamedNodeMap and NamedAttrMap should not be separate classes
25536        https://bugs.webkit.org/show_bug.cgi?id=24937
25537
25538        Also should fix the Windows COM bindings build.
25539
25540        * bindings/scripts/CodeGeneratorJS.pm: Removed special case for NamedNodeMap.
25541        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
25542
25543        * dom/NamedAttrMap.h: Renamed class from NamedAttrMap to
25544        NamedNodeMap and removed NamedNodeMap base class. Made the NamedNodeMap
25545        functions all public and non-virtual. Removed virtualLength.
25546
25547        * dom/NamedNodeMap.h: Replaced file with just an include
25548        of NamedAttrMap.h. As a follow up we will rename the NamedAttrMap
25549        files and remove this file.
25550
25551        * bindings/js/JSNamedNodesCollection.cpp: Renamed from NamedAttrMap to NamedNodeMap.
25552        * dom/Attr.h: Ditto.
25553        * dom/Attribute.h: Ditto.
25554        * dom/Document.cpp:
25555        (WebCore::Document::importNode): Ditto.
25556        * dom/Element.cpp:
25557        (WebCore::Element::attributes): Ditto.
25558        (WebCore::Element::setAttributeMap): Ditto.
25559        (WebCore::Element::createAttributeMap): Ditto.
25560        (WebCore::Element::insertedIntoDocument): Ditto.
25561        (WebCore::Element::removedFromDocument): Ditto.
25562        (WebCore::Element::openTagStartToString): Ditto.
25563        (WebCore::Element::removeAttributeNode): Ditto.
25564        (WebCore::Element::getAttributeNode): Ditto.
25565        (WebCore::Element::getAttributeNodeNS): Ditto.
25566        (WebCore::Element::hasAttribute): Ditto.
25567        (WebCore::Element::hasAttributeNS): Ditto.
25568        (WebCore::Element::normalizeAttributes): Ditto.
25569        * dom/Element.h: Ditto.
25570        * dom/NamedAttrMap.cpp:
25571        (WebCore::NamedNodeMap::detachAttributesFromElement): Ditto.
25572        (WebCore::NamedNodeMap::~NamedNodeMap): Ditto.
25573        (WebCore::NamedNodeMap::isMappedAttributeMap): Ditto.
25574        (WebCore::NamedNodeMap::getNamedItem): Ditto.
25575        (WebCore::NamedNodeMap::getNamedItemNS): Ditto.
25576        (WebCore::NamedNodeMap::removeNamedItem): Ditto.
25577        (WebCore::NamedNodeMap::removeNamedItemNS): Ditto.
25578        (WebCore::NamedNodeMap::setNamedItem): Ditto.
25579        (WebCore::NamedNodeMap::item): Ditto.
25580        (WebCore::NamedNodeMap::getAttributeItem): Ditto.
25581        (WebCore::NamedNodeMap::clearAttributes): Ditto.
25582        (WebCore::NamedNodeMap::detachFromElement): Ditto.
25583        (WebCore::NamedNodeMap::setAttributes): Ditto.
25584        (WebCore::NamedNodeMap::addAttribute): Ditto.
25585        (WebCore::NamedNodeMap::removeAttribute): Ditto.
25586        (WebCore::NamedNodeMap::mapsEquivalent): Ditto.
25587        * dom/NamedMappedAttrMap.cpp:
25588        (WebCore::NamedMappedAttrMap::clearAttributes): Ditto.
25589        * dom/NamedMappedAttrMap.h:
25590        (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Ditto.
25591        * dom/Node.cpp:
25592        (WebCore::Node::dumpStatistics): Ditto.
25593        (WebCore::Node::isEqualNode): Ditto.
25594        (WebCore::Node::isDefaultNamespace): Ditto.
25595        (WebCore::Node::lookupNamespaceURI): Ditto.
25596        (WebCore::Node::lookupNamespacePrefix): Ditto.
25597        (WebCore::Node::compareDocumentPosition): Ditto.
25598        * dom/Node.h: Ditto.
25599        * dom/XMLTokenizerLibxml2.cpp:
25600        (WebCore::XMLTokenizer::XMLTokenizer): Ditto.
25601        * editing/ApplyStyleCommand.cpp:
25602        (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): Ditto.
25603        (WebCore::isEmptyFontTag): Ditto.
25604        (WebCore::areIdenticalElements): Ditto.
25605        * editing/markup.cpp:
25606        (WebCore::appendStartMarkup): Ditto.
25607        (WebCore::completeURLs): Ditto.
25608        * html/HTMLParser.cpp:
25609        (WebCore::HTMLParser::handleError): Ditto.
25610        * rendering/RenderPartObject.cpp:
25611        (WebCore::RenderPartObject::updateWidget): Ditto.
25612        * svg/SVGAnimatedProperty.h:
25613        (WebCore::synchronizeProperty): Ditto.
25614        * xml/XPathFunctions.cpp:
25615        (WebCore::XPath::FunLang::evaluate): Ditto.
25616        * xml/XPathStep.cpp:
25617        (WebCore::XPath::Step::nodesInAxis): Ditto.
25618
256192009-03-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
25620
25621        Reviewed by Holger Freyther.
25622
25623        https://bugs.webkit.org/show_bug.cgi?id=24750
25624        [GTK] requests download instead of displaying page
25625
25626        Use soup facilities to append parameters to the content type, to
25627        make that more robust;
25628
25629        * platform/network/soup/ResourceHandleSoup.cpp:
25630        (WebCore::fillResponseFromMessage):
25631
256322009-03-30  David Kilzer  <ddkilzer@apple.com>
25633
25634        <rdar://problem/6735683> Move SECTORDER_FLAGS from Xcode project to WebCore.xcconfig
25635
25636        Reviewed by Timothy Hatcher, Mark Rowe and Darin Adler.
25637
25638        * Configurations/Base.xcconfig: Moved Production definition of
25639        SECTORDER_FLAGS to here from Xcode project file.
25640        * Configurations/DebugRelease.xcconfig: Override SECTORDER_FLAGS
25641        in Base.xcconfig to the empty string since it is not used for
25642        Debug and Release configurations.
25643        * WebCore.xcodeproj/project.pbxproj: Removed SECTORDER_FLAGS.
25644
256452009-03-30  Adam Roben  <aroben@apple.com>
25646
25647        Windows build fix after recent Node.idl changes
25648
25649        * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force sources
25650        of classes that derive from Node to rebuild.
25651
256522009-03-30  Adam Roben  <aroben@apple.com>
25653
25654        Windows build fix
25655
25656        * svg/graphics/SVGImage.cpp: Added a missing #include.
25657
256582009-03-30  Mads Ager  <ager@chromium.org>
25659
25660        Reviewed by Darin Adler.
25661
25662        https://bugs.webkit.org/show_bug.cgi?id=24879
25663        Add frame accessor to Screen, Console, and BarInfo objects. Add type 
25664        accessor to BarInfo objects.
25665
25666        In the V8 JavaScript bindings, we need access to the frame and
25667        type for already created Screen, Console, and BarInfo objects in
25668        order to keep their wrappers alive across GCs.
25669
25670        * page/BarInfo.cpp:
25671        (WebCore::BarInfo::frame): Added.
25672        (WebCore::BarInfo::type): Added.
25673        * page/BarInfo.h:
25674        * page/Console.cpp:
25675        (WebCore::Console::frame): Added.
25676        * page/Console.h:
25677        * page/Screen.cpp:
25678        (WebCore::Screen::frame): Added.
25679        * page/Screen.h:
25680
256812009-03-29  Darin Adler  <darin@apple.com>
25682
25683        Requested by Antti Koivisto.
25684
25685        * loader/DocumentLoader.cpp:
25686        (WebCore::DocumentLoader::subresource): Tweaked code to be a little clearer and added
25687        a better comment.
25688
256892009-03-29  Darin Adler  <darin@apple.com>
25690
25691        Reviewed by Dan Bernstein.
25692
25693        Bug 23445: Copying certain hidden text causes a crash
25694        https://bugs.webkit.org/show_bug.cgi?id=23445
25695        rdar://problem/6512520
25696
25697        Test: editing/pasteboard/copy-display-none.html
25698
25699        * editing/markup.cpp:
25700        (WebCore::createMarkup): Added a check for the case where adjusting the start node moves
25701        the start of the selection past the end of the range entirely. If we try to iterate we'll
25702        never hit the end of the range and will probably crash iterating the rest of the document.
25703
257042009-03-29  Darin Adler  <darin@apple.com>
25705
25706        Reviewed by Dan Bernstein.
25707
25708        Bug 24672: ASSERTION FAILURE: !m_purgeableData in WebCore::CachedResource::data() saving a WebArchive
25709        https://bugs.webkit.org/show_bug.cgi?id=24672
25710        rdar://problem/6574263
25711
25712        I couldn't create a test case for this. In fact, the case in the bug doesn't exist any more,
25713        but there is an Apple-internal website I was able to use to reproduce and fix.
25714
25715        * loader/CachedResource.h: Made makePurgeable public.
25716        * loader/DocumentLoader.cpp:
25717        (WebCore::DocumentLoader::subresource): Call makePurgeable to make the resource non-purgeable
25718        so we can get its data if it hasn't yet been purged.
25719
257202009-03-29  Darin Adler  <darin@apple.com>
25721
25722        Fix build again.
25723
25724        * loader/EmptyClients.h: Fix typo in name of FormState.h.
25725
257262009-03-29  Darin Adler  <darin@apple.com>
25727
25728        Try to fix the release build.
25729
25730        * history/CachedPage.cpp: Make include unconditional, not debug-only.
25731
257322009-03-29  Greg Bolsinga  <bolsinga@apple.com>
25733
25734        Undo that last build fix, since it turned out the file wasn't deleted.
25735
25736        * WebCore.xcodeproj/project.pbxproj:
25737
257382009-03-29  Greg Bolsinga  <bolsinga@apple.com>
25739
25740        Fix build break by removing references to deleted header files.
25741
25742        * WebCore.xcodeproj/project.pbxproj:
25743
257442009-03-29  Darin Adler  <darin@apple.com>
25745
25746        Try to fix the Windows build.
25747
25748        * loader/EmptyClients.h: Added include of FormState.h.
25749        * loader/MainResourceLoader.cpp: Ditto.
25750
257512009-03-29  Dmitry Titov  <dimich@chromium.org>
25752
25753        Reviewed by Darin Adler.
25754
25755        https://bugs.webkit.org/show_bug.cgi?id=24926
25756        Fix Chromium build break.
25757
25758        * bindings/v8/custom/V8DOMWindowCustom.cpp:
25759        (WebCore::CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)): renamed 'features' into 'windowFeatures'.
25760
257612009-03-29  Darin Adler  <darin@apple.com>
25762
25763        Another attempt to fix the Qt build.
25764
25765        * WebCore.pro: Added CheckedRadioButtons.cpp.
25766
257672009-03-29  Darin Adler  <darin@apple.com>
25768
25769        Reviewed by Cameron Zwarich.
25770
25771        Bug 24921: remove include of HTMLFormElement.h from Document.h
25772        https://bugs.webkit.org/show_bug.cgi?id=24921
25773
25774        * GNUmakefile.am: Added CheckedRadioButtons source files.
25775        * WebCore.scons: Ditto.
25776        * WebCore.vcproj/WebCore.vcproj: Ditto.
25777        * WebCore.xcodeproj/project.pbxproj: Ditto.
25778        * WebCoreSources.bkl: Ditto.
25779
25780        * bindings/objc/PublicDOMInterfaces.h: Changed type of parentElement to Element.
25781
25782        * dom/CheckedRadioButtons.cpp: Copied from WebCore/html/HTMLFormElement.cpp.
25783        Removed all the code except for CheckedRadioButtons, and moved that out to be
25784        a namespace-level class instead of a member of HTMLFormElement.
25785
25786        * dom/CheckedRadioButtons.h: Copied from WebCore/html/HTMLFormElement.h.
25787        Removed all the code except for CheckedRadioButtons, and moved that out to be
25788        a namespace-level class instead of a member of HTMLFormElement.
25789
25790        * dom/Document.h: Removed unneeded includes, including HTMLFormElement.h.
25791        Added include of CheckedRadioButtons.h. Changed uses of CheckedRadioButtons
25792        class to use a namespace-level class instead of a member of HTMLFormElement.
25793
25794        * dom/Node.idl: Changed the type of parentElement from Node to Element for
25795        two reasons. 1) Node was incorrect, since parentElement returns an Element.
25796        2) The bindings won't compile any more unless they know parentElement's
25797        return value is an Element due to include changes.
25798
25799        * html/HTMLFormElement.cpp: Moved definitions of the functions in the
25800        CheckedRadioButtons class to the new CheckedRadioButtons.cpp.
25801
25802        * html/HTMLFormElement.h: Moved definition of the CheckedRadioButtons
25803        class to the new CheckedRadioButtons.h.
25804
25805        * html/HTMLInputElement.cpp:
25806        (WebCore::checkedRadioButtons): Changed use of CheckedRadioButtons
25807        class to use a namespace-level class instead of a member of HTMLFormElement.
25808
25809        * page/Chrome.cpp:
25810        (WebCore::Chrome::createWindow): Tweaked formatting.
25811
25812        * css/CSSGrammar.y: Added newly-needed include.
25813        * dom/Range.cpp: Ditto.
25814        * editing/BreakBlockquoteCommand.cpp: Ditto.
25815        * editing/CompositeEditCommand.cpp: Ditto.
25816        * editing/InsertLineBreakCommand.cpp: Ditto.
25817        * editing/ModifySelectionListLevel.cpp: Ditto.
25818        * editing/RemoveFormatCommand.cpp: Ditto.
25819        * editing/TextIterator.cpp: Ditto.
25820        * editing/VisiblePosition.cpp: Ditto.
25821        * loader/DocLoader.cpp: Ditto.
25822        * page/AccessibilityRenderObject.cpp: Ditto.
25823        * page/Page.cpp: Ditto.
25824        * rendering/RenderBlock.cpp: Ditto.
25825        * rendering/RenderLayer.cpp: Ditto.
25826        * rendering/RenderObject.h: Ditto.
25827        * storage/LocalStorageArea.cpp: Ditto.
25828        * storage/SessionStorageArea.cpp: Ditto.
25829
258302009-03-29  Darin Adler  <darin@apple.com>
25831
25832        Reviewed by Dan Bernstein.
25833
25834        <rdar://problem/6015407> attr parsing should allow only identifiers
25835
25836        Test: fast/css/attr-parsing.html
25837
25838        * css/CSSParser.cpp:
25839        (WebCore::CSSParser::parseContent): Allow only CSS_IDENT, and filter out
25840        identifiers that start with "-".
25841        * css/CSSPrimitiveValue.cpp:
25842        (WebCore::CSSPrimitiveValue::cssText): Added a case for CSS_ATTR so the test
25843        case works. This has the pleasant side effect of fixing a bug too.
25844
258452009-03-29  Alexey Proskuryakov  <ap@webkit.org>
25846
25847        <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
25848
25849        Forgot to save the file after applying changes for review comments.
25850
25851        * platform/network/cf/ResourceHandleCFNet.cpp:
25852        (WebCore::willSendRequest):
25853        (WebCore::didReceiveResponse):
25854        (WebCore::didReceiveData):
25855        (WebCore::didSendBodyData):
25856        (WebCore::didFinishLoading):
25857        (WebCore::didFail):
25858        (WebCore::willCacheResponse):
25859        (WebCore::didReceiveChallenge):
25860        (WebCore::WebCoreSynchronousLoader::willSendRequest):
25861        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
25862        (WebCore::WebCoreSynchronousLoader::didReceiveData):
25863        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
25864        (WebCore::WebCoreSynchronousLoader::didFail):
25865        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
25866
258672009-03-28  Alexey Proskuryakov  <ap@webkit.org>
25868
25869        Reviewed by Darin Adler.
25870
25871        <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
25872
25873        Test: http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html
25874
25875        * platform/network/cf/ResourceHandleCFNet.cpp:
25876        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
25877        (WebCore::ResourceHandle::loadResourceSynchronously):
25878        (WebCore::WebCoreSynchronousLoader::willSendRequest):
25879        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
25880        (WebCore::WebCoreSynchronousLoader::didReceiveData):
25881        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
25882        (WebCore::WebCoreSynchronousLoader::didFail):
25883        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
25884        (WebCore::WebCoreSynchronousLoader::load):
25885        Match Mac behavior more closely - we shouldn't rely on underlying library handling of
25886        synchronous requests.
25887
25888        * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::willSendRequest):
25889        -[NSURLConnection cancel] doesn't fully cancel the connection if called from willSendRequest
25890        delegate method for a redirect.
25891
25892        * platform/network/mac/ResourceHandleMac.mm:
25893        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
25894        Match async behavior more closely.
25895
258962009-03-28  Darin Adler  <darin@apple.com>
25897
25898        Reviewed by Mark Rowe.
25899
25900        Bug 24914: empty-string assertion crash when running storage tests
25901        https://bugs.webkit.org/show_bug.cgi?id=24914
25902
25903        * storage/Database.cpp:
25904        (WebCore::Database::performOpenAndVerify): Don't store empty version strings
25905        in the map, since empty strings are per-thread.
25906
259072009-03-28  Dmitry Titov  <dimich@chromium.org>
25908
25909        Reviewed by Dimitri Glazkov.
25910
25911        https://bugs.webkit.org/show_bug.cgi?id=24910
25912        Fixes for Chromium build.
25913
25914        * bindings/v8/V8LazyEventListener.h: renamed IsInline() into virtualIsInline()
25915        * bindings/v8/custom/V8CustomEventListener.h: ditto.
25916        * dom/EventListener.h: used #if USE(JSC) to fix the build on non-JSC platform.
25917
259182009-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
25919
25920        Not reviewed, correcting landing error.
25921
25922        https://bugs.webkit.org/show_bug.cgi?id=24812
25923        Custom bindings should be in v8/custom, not v8.
25924
25925        * bindings/v8/V8HTMLDocumentCustom.cpp: Removed.
25926        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Moved from parent dir.
25927
259282009-03-28  Mike Belshe  <mike@belshe.com>
25929
25930        Reviewed by Dimitri Glazkov.
25931
25932        https://bugs.webkit.org/show_bug.cgi?id=24616
25933        Add V8 custom bindings for DOMWindow.
25934
25935        * bindings/v8/custom/V8DOMWindowCustom.cpp: Added.
25936
259372009-03-28  Mike Belshe  <mike@belshe.com>
25938
25939        Reviewed by Dimitri Glazkov.
25940
25941        https://bugs.webkit.org/show_bug.cgi?id=24812
25942        Add V8 custom bindings for HTMLDocument.
25943
25944        * bindings/v8/V8HTMLDocumentCustom.cpp: Added.
25945
259462009-03-27  Mark Rowe  <mrowe@apple.com>
25947
25948        Reviewed by Sam Weinig.
25949
25950        Fix two SVG test failures in 64-bit.
25951
25952        getSubStringLength's arguments were declared as unsigned in the IDL and as signed long in the implementation.
25953        This led to a value of -1 in JavaScript being converted to MAX_UINT in the bindings.  In 32-bit this was
25954        identical to -1 when interpeted as signed long, but in 64-bit it was still equal to MAX_UINT.
25955
25956        The solution for this is to use the IsIndex attribute on arguments that the SVG spec declares as "unsigned long"
25957        but requires an exception be thrown when a negative value is passed.  This results in the JS bindings handling the
25958        check for a negative value and lets the implementation treat the arguments purely as unsigned values.
25959
25960        * svg/SVGTextContentElement.cpp:
25961        (WebCore::SVGTextContentElement::getNumberOfChars):
25962        (WebCore::SVGTextContentElement::getSubStringLength):
25963        (WebCore::SVGTextContentElement::getStartPositionOfChar):
25964        (WebCore::SVGTextContentElement::getEndPositionOfChar):
25965        (WebCore::SVGTextContentElement::getExtentOfChar):
25966        (WebCore::SVGTextContentElement::getRotationOfChar):
25967        (WebCore::SVGTextContentElement::getCharNumAtPosition):
25968        (WebCore::SVGTextContentElement::selectSubString):
25969        * svg/SVGTextContentElement.h:
25970        * svg/SVGTextContentElement.idl:
25971
259722009-03-27  Darin Adler  <darin@apple.com>
25973
25974        Reviewed by Sam Weinig.
25975
25976        Get mailto code out of FrameLoader.
25977
25978        * html/HTMLFormElement.cpp:
25979        (WebCore::transferMailtoPostFormDataToURL): Added. Factored out the mailto
25980        logic so HTMLFormElement::submit isn't full of ugly bits. This includes the
25981        part of the logic that involves transformeing the URL that was previously
25982        inside FrameLoader.
25983        (WebCore::HTMLFormElement::submit): Call transferMailtoPostFormDataToURL and
25984        also release the data for slightly less refcount churn.
25985
25986        * loader/FrameLoader.cpp:
25987        (WebCore::FrameLoader::submitForm): Removed all the special casing for mailto,
25988        since HTMLFormElement now properly prepares both the URL and the form data.
25989
259902009-03-27  Dan Bernstein  <mitz@apple.com>
25991
25992        Reviewed by Mark Rowe.
25993
25994        - fix <rdar://problem/6724514> A bit of OpenTypeUtilities cleanup
25995
25996        * platform/graphics/chromium/FontCustomPlatformData.cpp:
25997        (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
25998        (WebCore::createFontCustomPlatformData): Ditto.
25999        * platform/graphics/opentype/OpenTypeUtilities.cpp:
26000        (WebCore::EOTHeader::EOTHeader): Added. Initializes the buffer size to
26001        the size of an EOTPrefix.
26002        (WebCore::EOTHeader::updateEOTSize): Added. Updates the size field in
26003        the prefix.
26004        (WebCore::EOTHeader::appendBigEndianString): Changed the static
26005        appendBigEndianStringToEOTHeader() into this member function.
26006        (WebCore::EOTHeader::appendPaddingShort): Added.
26007        (WebCore::getEOTHeader): Changed to use EOTHeader.
26008        * platform/graphics/opentype/OpenTypeUtilities.h:
26009        (WebCore::EOTHeader::size):
26010        (WebCore::EOTHeader::data):
26011        (WebCore::EOTHeader::prefix):
26012        * platform/graphics/win/FontCustomPlatformData.cpp:
26013        (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
26014        (WebCore::createFontCustomPlatformData): Ditto.
26015
260162009-03-27  Darin Adler  <darin@apple.com>
26017
26018        Reviewed by Sam Weinig.
26019
26020        To prepare for work on a form loading fix, remove some unused functions,
26021        consolidate some functions, and make many more functions private in
26022        FrameLoader.
26023
26024        * WebCore.base.exp: Remove some unused entry points, update another.
26025
26026        * dom/Document.cpp:
26027        (WebCore::Document::detach): Clear m_frame directly instead of using
26028        clearFramePointer.
26029        * dom/Document.h: Ditto.
26030
26031        * loader/FrameLoader.cpp:
26032        (WebCore::FrameLoader::urlSelected): Consolidate the two functions
26033        of this name into a single function. Also changed the event argument
26034        to be PassRefPtr<Event>.
26035        (WebCore::FrameLoader::submitForm): Changed the event argument to
26036        be PassRefPtr<Event>.
26037        (WebCore::FrameLoader::scheduleLocationChange): Call completeURL
26038        explicitly so we can remove the version of changeLocation that does
26039        completeURL for us.
26040        (WebCore::FrameLoader::redirectionTimerFired): Ditto.
26041        (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem
26042        directly so we don't need a setProvisionalHistoryItem function.
26043        (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at
26044        m_quickRedirectComing directly so we don't need a isQuickRedirectComing
26045        function.
26046        (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto.
26047        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the
26048        event argument to be PassRefPtr<Event>.
26049        (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData
26050        function here because this is the only caller. If we want to make the
26051        resulting function smaller we should refactor some other way. Also
26052        streamlined the user-chosen encoding logic, but did not change what it does.
26053        (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument
26054        to be PassRefPtr<Event>.
26055        (WebCore::FrameLoader::loadPostRequest): Ditto.
26056        (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from
26057        the didNotOpenURL function here, since this was the only caller.
26058
26059        * loader/FrameLoader.h: Removed include of FormState.h and used a forward
26060        declaration instead. Removed unneeded forward declation of Element.
26061        Moved many functions into the private section, and removed some other
26062        unused or uneeded functions.
26063
260642009-03-27  Xiaomei Ji  <xji@chromium.org>
26065
26066        Reviewed by Dan Bernstein.
26067
26068        Fix https://bugs.webkit.org/show_bug.cgi?id=24303
26069        Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.
26070
26071        Test: editing/selection/extend-selection.html
26072
26073        * editing/SelectionController.cpp:
26074        (WebCore::SelectionController::directionOfEnclosingBlock): Added
26075        (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly 
26076        implemented for character and word granularity, all other granularities
26077        are treated as "forward".
26078        (WebCore::SelectionController::modifyExtendingForward): Renamed 
26079        modifyExtendingRightForward() to this.
26080        (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly
26081        implemented for character and word granularity, all other granularities
26082        are treated as "backward".
26083        (WebCore::SelectionController::modifyExtendingBackward): Renamed
26084        modifyExtendingLeftBackward() to this.
26085        (WebCore::SelectionController::modify): Change to call either the 
26086        left/right or backward/forward methods depending on the 'dir' argument
26087        for extends.
26088        * editing/SelectionController.h:
26089
260902009-03-27  John Abd-El-Malek  <jam@google.com>
26091
26092        Reviewed by Eric Seidel.
26093
26094        https://bugs.webkit.org/show_bug.cgi?id=24836
26095        Fix navigator.plugins.refresh(false) in Chromium.
26096
26097        * plugins/chromium/PluginDataChromium.cpp:
26098        (WebCore::PluginData::refresh):
26099
261002009-03-27  Timothy Hatcher  <timothy@apple.com>
26101
26102        Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
26103        virtual to fix the broken layout tests from my last commit.
26104
26105        Reviewed by Mark Rowe.
26106
26107        * dom/Element.cpp:
26108        (WebCore::Element::scrollLeft):
26109        (WebCore::Element::scrollTop):
26110        (WebCore::Element::scrollWidth):
26111        (WebCore::Element::scrollHeight):
26112        * dom/Element.h:
26113        * html/HTMLBodyElement.h:
26114
261152009-03-27  Mark Rowe  <mrowe@apple.com>
26116
26117        Reviewed by Sam Weinig.
26118
26119        Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
26120        Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2)
26121
26122        * html/HTMLSelectElement.cpp:
26123        (WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list
26124        items after each node is removed, leading to O(N^2) behaviour.  By inlining the batch removal in to setLength we can avoid
26125        this gratuitous recalcuation.
26126
261272009-03-27  Dirk Schulze  <krit@webkit.org>
26128
26129        Reviewed by Eric Seidel.
26130
26131        We don't support images for GtkCursors yet. We need a  placeholder to avoid crashes.
26132        I took crosshair to have a common behavior with firefox.
26133
26134        [GTK] SVG - Crash on setting the cursor icon
26135        https://bugs.webkit.org/show_bug.cgi?id=24565
26136
26137        * platform/gtk/CursorGtk.cpp:
26138        (WebCore::Cursor::Cursor):
26139
261402009-03-27  Timothy Hatcher  <timothy@apple.com>
26141
26142        Remove redundant attributes and functions from IDL files that have the
26143        same attributes and functions defined in the super class.
26144
26145        Reviewed by Simon Fraser.
26146
26147        * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h.
26148        * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement.
26149        * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth
26150        and scrollHeight.
26151        * html/HTMLElement.idl: Remove blur and focus.
26152
261532009-03-27  Adam Roben  <aroben@apple.com>
26154
26155        Don't include substitute data URLs in global history redirect chains
26156
26157        <rdar://6690169>
26158
26159        Reviewed by Darin Adler.
26160
26161        This might be testable if:
26162          - support were added to DRT for providing substitute data on failed
26163            loads
26164          - support were added to DRT for dumping redirect chains
26165
26166        I tried doing the above and was still unable to make a test.
26167
26168        * loader/FrameLoader.cpp:
26169        (WebCore::FrameLoader::updateHistoryForStandardLoad):
26170        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
26171        Call updateGlobalHistoryRedirectLinks only if the load succeeded
26172        (i.e., there is no unreachableURL). Previous the FrameLoaderClient
26173        implementations were unconditionally calling
26174        updateGlobalHistoryRedirectLinks from within updateGlobalHistory.
26175
261762009-03-27  Peter Kasting  <pkasting@google.com>
26177
26178        Reviewed by Eric Seidel.
26179
26180        https://bugs.webkit.org/show_bug.cgi?id=24861
26181        Chromium port did not render decorations for <input type="search">.
26182        This copies RenderThemeWin.*.
26183
26184        * css/themeChromiumWin.css: Removed.
26185        * rendering/RenderThemeChromiumLinux.cpp:
26186        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
26187        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
26188        (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
26189        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
26190        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
26191        (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
26192        (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
26193        (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
26194        * rendering/RenderThemeChromiumLinux.h:
26195        (WebCore::RenderThemeChromiumLinux::paintSearchField):
26196        * rendering/RenderThemeChromiumWin.cpp:
26197        (WebCore::):
26198        (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
26199        (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
26200        (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
26201        (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
26202        (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
26203        (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
26204        (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
26205        (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
26206        * rendering/RenderThemeChromiumWin.h:
26207        (WebCore::RenderThemeChromiumWin::paintSearchField):
26208
262092009-03-27  David Hyatt  <hyatt@apple.com>
26210
26211        Reviewed by Simon Fraser
26212
26213        If an object has a self-painting layer, don't count it as part of a block's visual overflow.
26214        This fix has only been made for block-level children.   The inline-level case is still broken
26215        (and covered by an existing bug).
26216
26217        Added fast/block/positioning/negative-rel-position.html
26218
26219        * rendering/InlineFlowBox.cpp:
26220        (WebCore::InlineFlowBox::placeBoxesVertically):
26221        * rendering/RenderBlock.cpp:
26222        (WebCore::RenderBlock::layoutBlockChildren):
26223        (WebCore::RenderBlock::lowestPosition):
26224        (WebCore::RenderBlock::rightmostPosition):
26225        (WebCore::RenderBlock::leftmostPosition):
26226
262272009-03-27  Anders Carlsson  <andersca@apple.com>
26228
26229        Reviewed by Darin Adler.
26230
26231        <rdar://problem/6642221>
26232        REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed
26233        
26234        Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.
26235        
26236        I've filed <rdar://problem/6731022> against the Movies widget.
26237        
26238        * html/HTMLObjectElement.cpp:
26239        (WebCore::HTMLObjectElement::rendererIsNeeded):
26240
262412009-03-25  Timothy Hatcher  <timothy@apple.com>
26242
26243        Expose new DOM methods as public Objective-C API.
26244
26245        <rdar://problem/5837350> Expose new DOM classes and methods
26246        as public API (match the additions to the JavaScript DOM)
26247
26248        Reviewed by Mark Rowe and Darin Adler.
26249
26250        * WebCore.xcodeproj/project.pbxproj:
26251        * bindings/objc/DOMHTML.h:
26252        * bindings/objc/DOMPrivate.h:
26253        * bindings/objc/PublicDOMInterfaces.h:
26254
262552009-03-27  Zack Rusin <zack@kde.org>
26256
26257        Reviewed by Simon Hausmann.
26258
26259        https://bugs.webkit.org/show_bug.cgi?id=24280
26260
26261        Fix propagation of fill rules when rendering paths in the Qt build.
26262
26263        * platform/graphics/qt/GraphicsContextQt.cpp:
26264        (WebCore::toQtFillRule):
26265        (WebCore::GraphicsContext::fillPath):
26266        (WebCore::GraphicsContext::strokePath):
26267
262682009-03-27  Zack Rusin <zack@kde.org>
26269
26270        Reviewed by Tor Arne Vestbø.
26271
26272        https://bugs.webkit.org/show_bug.cgi?id=24275
26273
26274        Fix text field theming in the Qt build with the KDE 4 Oxygen
26275        style by adjusting the size vertically and horizontally to
26276        set padding on the element equal to the width of the style painted border.
26277
26278        * platform/qt/RenderThemeQt.cpp:
26279        (WebCore::RenderThemeQt::RenderThemeQt):
26280        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
26281        (WebCore::RenderThemeQt::adjustTextFieldStyle):
26282        (WebCore::RenderThemeQt::paintTextField):
26283        * platform/qt/RenderThemeQt.h:
26284
262852009-03-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
26286
26287        Reviewed by Simon Hausmann.
26288
26289        https://bugs.webkit.org/show_bug.cgi?id=24852
26290        Build fix for GNU mode RVCT compilation
26291
26292        * html/PreloadScanner.cpp:
26293
262942009-03-27  Erik L. Bunce  <elbunce@xendom.com>
26295
26296        Reviewed by Simon Hausmann.
26297
26298        https://bugs.webkit.org/show_bug.cgi?id=24868
26299
26300        Make text of the writing direction items more user friendly.
26301
26302        * platform/qt/Localizations.cpp:
26303        (WebCore::contextMenuItemTagLeftToRight):
26304        (WebCore::contextMenuItemTagRightToLeft):
26305
263062009-03-27  Erik L. Bunce  <elbunce@xendom.com>
26307
26308        Reviewed by Simon Hausmann.
26309
26310        https://bugs.webkit.org/show_bug.cgi?id=24274
26311
26312        Fixed the Qt 4.4 Mac build with netscape plugins enabled.
26313
26314        * plugins/mac/PluginViewMac.cpp:
26315
263162009-03-26  Mark Rowe  <mrowe@apple.com>
26317
26318        Try and fix the Qt build.
26319
26320        * platform/text/TextEncodingDetectorNone.cpp:
26321        (WebCore::detectTextEncoding):
26322
263232009-03-26  Eric Carlson  <eric.carlson@apple.com>
26324
26325        Reviewed by Simon Fraser.
26326
26327        https://bugs.webkit.org/show_bug.cgi?id=24874
26328        24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it
26329        
26330        The 'duration' attribute is NaN when no media is available, so the
26331        media element should take care when comparing with duration().
26332
26333        * html/HTMLMediaElement.cpp:
26334        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
26335        it is NaN.
26336        (WebCore::HTMLMediaElement::endedPlayback): Ditto.
26337
263382009-03-26  Mark Rowe  <mrowe@apple.com>
26339
26340        Fix the build.
26341
26342        * platform/text/TextEncodingDetectorICU.cpp:
26343        * platform/text/TextEncodingDetectorNone.cpp:
26344
263452009-03-26  Jungshik Shin  <jshin@chromium.org>
26346
26347        Reviewed by Cameron Zwarich.
26348
26349        1. Fix the crash in setHintEncoding
26350        2. Fix build failures on Tiger and Qt.
26351        UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp
26352        in the patch landed in r42023
26353        for http://bugs.webkit.org/show_bug.cgi?id=16482
26354
26355        * loader/TextResourceDecoder.h:
26356        (WebCore::TextResourceDecoder::setHintEncoding):
26357        * platform/text/TextEncodingDetectorICU.cpp:
26358        * platform/text/TextEncodingDetectorNone.cpp:
26359
263602009-03-26  Simon Fraser  <simon.fraser@apple.com>
26361
26362        Build fix when ACCELERATED_COMPOSITING is turned on.
26363
26364        * rendering/RenderLayerBacking.cpp:
26365        (WebCore::RenderLayerBacking::canUseDirectCompositing):
26366
263672009-03-26  Eric Seidel  <eric@webkit.org>
26368
26369        No additional review, committing previously reviewed files for build fix only.
26370
26371        Add files I missed when commiting Jungshik's patch in r42022.
26372        https://bugs.webkit.org/show_bug.cgi?id=16482
26373
26374        * icu/unicode/ucsdet.h: Added.
26375        * platform/text/TextEncodingDetector.h: Added.
26376        * platform/text/TextEncodingDetectorICU.cpp: Added.
26377        (WebCore::detectTextEncoding):
26378        * platform/text/TextEncodingDetectorNone.cpp: Added.
26379        (WebCore::detectTextEncoding):
26380
263812009-03-26  Jungshik Shin  <jshin@chromium.org>
26382
26383        Reviewed by Alexey Proskuryakov.
26384
26385        Add an encoding detector 'hook' to TextResourceDecoder.
26386         - add |usesEncodingDetector| to Settings. It's off by default.
26387         - add a new encoding source type |EncodingFromParent| 
26388           to distinguish cases when the encoding is inherited from
26389           the parent frame from cases when it's actually auto-detected.
26390         - add TextEncodingDetector* to platform/text. Currently,
26391           the only implementation uses ICU. Stub is added for 
26392           ports that do not use ICU and a build on Tiger. Mac OS 
26393           Tiger comes with ICU 3.2 that does not support encoding detector.
26394         - add ucsdet.h to icu/unicode for ports using ICU.
26395
26396        Layout tests will be added once bug 20534 is fixed and a WebPreference
26397        can be controlled in test_shell. With UsesEncodingDetector off, there
26398        is no change to test. 
26399
26400        http://bugs.webkit.org/show_bug.cgi?id=16482
26401
26402        * WebCore.vcproj/WebCore.vcproj:
26403        * WebCore.xcodeproj/project.pbxproj:
26404        * WebCore/GNUmakefile.am
26405        * WebCore/WebCore.pro
26406        * WebCore/WebCore.scons
26407        * WebCore/WebCoreSources.bkl
26408        * WebCore.base.exp
26409        * icu/unicode/ucsdet.h
26410        * loader/FrameLoader.cpp:
26411        (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding.
26412        * loader/TextResourceDecoder.cpp:
26413        (WebCore::TextResourceDecoder::TextResourceDecoder):
26414        (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame
26415        (WebCore::TextResourceDecoder::checkForHeadCharset): ditto
26416        (WebCore::TextResourceDecoder::shouldAutoDetect):
26417        (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true.
26418        (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true.
26419        * loader/TextResourceDecoder.h:
26420        (WebCore::TextResourceDecoder::):
26421        (WebCore::TextResourceDecoder::create):
26422        (WebCore::TextResourceDecoder::setHintEncoding):
26423        (WebCore::TextResourceDecoder::source):
26424        * page/Settings.cpp: add m_usesEncodingDetector
26425        (WebCore::Settings::Settings):
26426        (WebCore::Settings::setUsesEncodingDetector):
26427        * page/Settings.h:
26428        (WebCore::Settings::usesEncodingDetector):
26429        * platform/text/TextEncodingDetector.h: Added.
26430        * platform/text/TextEncodingDetectorICU.cpp: Added.
26431        (WebCore::detectTextEncoding):
26432        * platform/text/TextEncodingDetectorNone.cpp: Added.
26433        (WebCore::detectTextEncoding):
26434
264352009-03-26  Darin Adler  <darin@apple.com>
26436
26437        Reviewed by Geoff Garen.
26438
26439        Removed code that casts EventListener down to derived classes
26440        without type checking. A crash could happen if you added event
26441        listeners with Objective-C and then manipulated the class with
26442        JavaScript.
26443
26444        * bindings/js/JSDOMApplicationCacheCustom.cpp:
26445        (WebCore::JSDOMApplicationCache::mark): Removed all the casts
26446        and used the markIfNotNull function and mark functions on
26447        EventListener instead.
26448        * bindings/js/JSMessagePortCustom.cpp:
26449        (WebCore::JSMessagePort::mark): Ditto.
26450        * bindings/js/JSWorkerContextCustom.cpp:
26451        (WebCore::JSWorkerContext::mark): Ditto.
26452        * bindings/js/JSWorkerCustom.cpp:
26453        (WebCore::JSWorker::mark): Ditto.
26454        * bindings/js/JSXMLHttpRequestCustom.cpp:
26455        (WebCore::JSXMLHttpRequest::mark): Ditto.
26456        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
26457        (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
26458
26459        * bindings/js/JSEventListener.cpp:
26460        (WebCore::JSAbstractEventListener::handleEvent): Used function,
26461        the new name for what used to be called listenerObj.
26462        (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since
26463        this doesn't need to be virtual for callers who have a pointer to
26464        this class, not the base class.
26465        (WebCore::JSEventListener::function): Renamed from listenerObj.
26466        (WebCore::JSProtectedEventListener::function): Ditto.
26467
26468        * bindings/js/JSEventListener.h: Removed unneeded forward class
26469        declarations. Made all virtual functions private since there's no
26470        need to call any of them on a particular derived class, only on
26471        EventListener. Explicitly declare JSEventListener::mark as virtual
26472        since it's now overriding a function in the EventListener base class.
26473        Made JSProtectedEventListener::m_globalObject protected so the
26474        JSLazyEventListener derived class can use it directly instead of using
26475        a virtual function to get the pointer.
26476
26477        * bindings/js/JSLazyEventListener.cpp:
26478        (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead
26479        of globalObject since the latter is a virtual function and there's no
26480        need to pay virtual function overhead.
26481        (WebCore::JSLazyEventListener::function): Renamed from listenerObj.
26482
26483        * bindings/js/JSLazyEventListener.h: Moved forward declaration of the
26484        Node class here from JSEventListener.h.
26485
26486        * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to
26487        JSEventListener when getting the script object from a listener.
26488
26489        * dom/EventListener.h: Added virtual function and mark functions
26490        so we can extract the JavaScript function object or mark a JavaScript
26491        event listener in a type safe manner.
26492
264932009-03-26  Peter Kasting  <pkasting@google.com>
26494
26495        Reviewed by Adele Peterson.
26496
26497        https://bugs.webkit.org/show_bug.cgi?id=24859
26498        Use CSS file instead of code to adjust search field styling.
26499
26500        * css/themeWin.css:
26501        * rendering/RenderThemeWin.cpp:
26502        * rendering/RenderThemeWin.h:
26503
265042009-03-26  Darin Adler  <darin@apple.com>
26505
26506        Reviewed by Geoff Garen.
26507
26508        Split JSLazyEventListener out into its own separate source file.
26509        We'll be removing JSAbstractEventListener and JSProtectedEventListener soon,
26510        so leave those in the same file with JSEventListener.
26511
26512        * GNUmakefile.am: Added JSLazyEventListener.
26513        * WebCore.pro: Ditto.
26514        * WebCore.scons: Ditto.
26515        * WebCore.vcproj/WebCore.vcproj: Ditto.
26516        * WebCore.xcodeproj/project.pbxproj: Ditto.
26517        * WebCoreSources.bkl: Ditto.
26518
26519        * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part.
26520        Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since
26521        JSAbstractEventListener is not derived from JSCell.
26522
26523        * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part
26524        and the now-unneeded include of PlatformString.h.
26525
26526        * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp.
26527        Kept only the JSLazyEventListener part.
26528        (WebCore::eventParameterName): Made this have internal linkage by adding "static".
26529        Also moved the default case out of the switch statement so we will get a warning
26530        if we omit any cases in the future.
26531
26532        * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h.
26533        Kept only the JSLazyEventListener part.
26534
26535        * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the
26536        remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h.
26537
265382009-03-26  Darin Adler  <darin@apple.com>
26539
26540        Reviewed by Geoff Garen.
26541
26542        Renamed JSUnprotectedEventListener to JSEventListener.
26543        And related renames.
26544
26545        Soon Geoff will make all JavaScript event listeners use mark instead
26546        of protect, so there's no need to emphasize "unprotected".
26547
26548        * bindings/js/JSDOMApplicationCacheCustom.cpp:
26549        (WebCore::JSDOMApplicationCache::mark):
26550        (WebCore::JSDOMApplicationCache::addEventListener):
26551        (WebCore::JSDOMApplicationCache::removeEventListener):
26552        * bindings/js/JSDOMGlobalObject.cpp:
26553        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
26554        (WebCore::JSDOMGlobalObject::findJSEventListener):
26555        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
26556        (WebCore::JSDOMGlobalObject::jsEventListeners):
26557        (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
26558        * bindings/js/JSDOMGlobalObject.h:
26559        * bindings/js/JSDOMWindowBase.h:
26560        * bindings/js/JSEventListener.cpp:
26561        (WebCore::JSEventListener::JSEventListener):
26562        (WebCore::JSEventListener::~JSEventListener):
26563        (WebCore::JSEventListener::listenerObj):
26564        (WebCore::JSEventListener::globalObject):
26565        (WebCore::JSEventListener::clearGlobalObject):
26566        (WebCore::JSEventListener::mark):
26567        * bindings/js/JSEventListener.h:
26568        (WebCore::JSEventListener::create):
26569        * bindings/js/JSMessagePortCustom.cpp:
26570        (WebCore::JSMessagePort::mark):
26571        (WebCore::JSMessagePort::addEventListener):
26572        (WebCore::JSMessagePort::removeEventListener):
26573        * bindings/js/JSWorkerContextCustom.cpp:
26574        (WebCore::JSWorkerContext::mark):
26575        (WebCore::JSWorkerContext::addEventListener):
26576        (WebCore::JSWorkerContext::removeEventListener):
26577        * bindings/js/JSWorkerCustom.cpp:
26578        (WebCore::JSWorker::mark):
26579        (WebCore::JSWorker::addEventListener):
26580        (WebCore::JSWorker::removeEventListener):
26581        * bindings/js/JSXMLHttpRequestCustom.cpp:
26582        (WebCore::JSXMLHttpRequest::mark):
26583        (WebCore::JSXMLHttpRequest::addEventListener):
26584        (WebCore::JSXMLHttpRequest::removeEventListener):
26585        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
26586        (WebCore::JSXMLHttpRequestUpload::mark):
26587        (WebCore::JSXMLHttpRequestUpload::addEventListener):
26588        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
26589        * bindings/scripts/CodeGeneratorJS.pm:
26590        All just renaming.
26591
265922009-03-26  Darin Adler  <darin@apple.com>
26593
26594        Reviewed by Geoff Garen.
26595
26596        Renamed JSEventListener to JSProtectedEventListener.
26597        And related renames.
26598
26599        Soon Geoff will make all JavaScript event listeners use mark instead
26600        of protect, and so this class will be be obsolete. We will rename
26601        JSUnrpotectedEventListener to JSEventListener in the next check-in,
26602        since that one will remain.
26603
26604        * bindings/js/JSDOMGlobalObject.cpp:
26605        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
26606        (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
26607        (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
26608        (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
26609        (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
26610        * bindings/js/JSDOMGlobalObject.h:
26611        * bindings/js/JSDOMWindowBase.h:
26612        * bindings/js/JSDOMWindowCustom.cpp:
26613        (WebCore::JSDOMWindow::addEventListener):
26614        (WebCore::JSDOMWindow::removeEventListener):
26615        * bindings/js/JSEventListener.cpp:
26616        (WebCore::JSProtectedEventListener::JSProtectedEventListener):
26617        (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
26618        (WebCore::JSProtectedEventListener::listenerObj):
26619        (WebCore::JSProtectedEventListener::globalObject):
26620        (WebCore::JSProtectedEventListener::clearGlobalObject):
26621        (WebCore::JSLazyEventListener::JSLazyEventListener):
26622        (WebCore::JSLazyEventListener::parseCode):
26623        * bindings/js/JSEventListener.h:
26624        (WebCore::JSProtectedEventListener::create):
26625        * bindings/js/JSNodeCustom.cpp:
26626        (WebCore::JSNode::addEventListener):
26627        (WebCore::JSNode::removeEventListener):
26628        * bindings/js/JSSVGElementInstanceCustom.cpp:
26629        (WebCore::JSSVGElementInstance::addEventListener):
26630        (WebCore::JSSVGElementInstance::removeEventListener):
26631        * bindings/scripts/CodeGeneratorJS.pm:
26632        All just renaming.
26633
266342009-03-26  Dan Bernstein  <mitz@apple.com>
26635
26636        Reviewed by Anders Carlsson.
26637
26638        - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can
26639          create runs extending beyond the end
26640
26641        No test because Safari does not use this version of
26642        createBidiRunsForLine() with the end iterator not pointing to the end
26643        of the text run.
26644
26645        * platform/text/BidiResolver.h:
26646        (WebCore::BidiResolver::appendRun): Cap the end of the run at the end
26647        of the line and set the reachedEndOfLine flag. This mirrors the logic
26648        in the specialized version of appendRun() in bidi.cpp, which is why the
26649        problem did not show up in HTML. Also avoid creating empty runs.
26650
266512009-03-26  Simon Fraser  <simon.fraser@apple.com>
26652
26653        Reviewed by Dave Hyatt
26654        
26655        https://bugs.webkit.org/show_bug.cgi?id=24864
26656
26657        Change the terminology from "inner content layer" to "direct compositing"
26658        for cases where we can push an image directly over to the compositing system,
26659        without having to draw it.
26660        
26661        Clean up much of the code which looks at style to determine if this is possible,
26662        and fix some bugs when backgrounds change dynamically.
26663        
26664        * rendering/RenderLayerBacking.cpp:
26665        (WebCore::hasBorderOutlineOrShadow):
26666        (WebCore::hasBoxDecorations):
26667        (WebCore::hasBoxDecorationsWithBackgroundImage):
26668        (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer):
26669        (WebCore::RenderLayerBacking::canUseDirectCompositing):
26670        (WebCore::RenderLayerBacking::detectDrawingOptimizations):
26671        (WebCore::RenderLayerBacking::rendererContentChanged):
26672        (WebCore::RenderLayerBacking::updateImageContents):
26673        * rendering/RenderLayerBacking.h:
26674
266752009-03-26  Simon Fraser  <simon.fraser@apple.com>
26676
26677        Reviewed by Dave Hyatt
26678        
26679        https://bugs.webkit.org/show_bug.cgi?id=23914
26680
26681        Tests: compositing/overflow/ancestor-overflow.html
26682               compositing/overflow/parent-overflow.html
26683
26684        * rendering/RenderLayer.cpp:
26685        (WebCore::RenderLayer::calculateClipRects):
26686        * rendering/RenderLayer.h:
26687        (WebCore::ClipRects::infiniteRect):
26688        New static method that returns a large rect that is used by the clipping
26689        logic.
26690        
26691        * rendering/RenderLayerBacking.cpp:
26692        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
26693        Use parentClipRects(), rather than calculateRects(), to compute the overflow
26694        rect that we'll use to create a masking layer for composited clipping.
26695        
26696        * rendering/RenderLayerCompositor.cpp:
26697        (WebCore::RenderLayerCompositor::clippedByAncestor):
26698        Use parentClipRects() to see whether there's a layer between us and our
26699        compositing ancestor which applies clipping.
26700        
26701        (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
26702        A layer which imposes clipping to its children doesn't have to be a stacking
26703        context; it might be a normal flow layer; in either case, we can rely on the
26704        hasCompositingDescendant() bit.
26705
267062009-03-26  Steve Falkenburg  <sfalken@apple.com>
26707
26708        https://bugs.webkit.org/show_bug.cgi?id=24837
26709        Escape key should dismiss select menu
26710
26711        Reviewed by Adam Roben.
26712
26713        * platform/win/PopupMenuWin.cpp:
26714        (WebCore::PopupWndProc):
26715
267162009-03-26  Kevin Ollivier  <kevino@theolliviers.com>
26717
26718        Reviewed by Alexey Proskuryakov.
26719
26720        Make sure the script uses LF line endings even on Windows.
26721        
26722        https://bugs.webkit.org/show_bug.cgi?id=24805
26723
26724        * WebCore/make-generated-sources.sh: Change svn:eol-style to LF
26725
267262009-03-26  Eli Fidler  <eli.fidler@torchmobile.com>
26727
26728        Reviewed by George Staikos.
26729
26730        Remove warnings all over the place by making operator precedence
26731        explicit in cases like x && y || z.  No functional change.
26732
26733        * css/CSSFontSelector.cpp:
26734        (WebCore::CSSFontSelector::addFontFaceRule):
26735        * css/CSSParser.cpp:
26736        (WebCore::CSSParser::parseValue):
26737        (WebCore::CSSParser::parseShadow):
26738        * dom/Document.cpp:
26739        (WebCore::Document::shouldScheduleLayout):
26740        * dom/Node.cpp:
26741        (WebCore::Node::isBlockFlowOrBlockTable):
26742        * dom/Node.h:
26743        (WebCore::Node::document):
26744        * dom/Position.cpp:
26745        (WebCore::Position::next):
26746        (WebCore::Position::upstream):
26747        (WebCore::Position::downstream):
26748        (WebCore::Position::getInlineBoxAndOffset):
26749        * dom/PositionIterator.cpp:
26750        (WebCore::PositionIterator::atStart):
26751        * dom/Range.cpp:
26752        (WebCore::Range::intersectsNode):
26753        * editing/Editor.cpp:
26754        (WebCore::Editor::setBaseWritingDirection):
26755        * editing/InsertParagraphSeparatorCommand.cpp:
26756        (WebCore::InsertParagraphSeparatorCommand::doApply):
26757        * editing/ReplaceSelectionCommand.cpp:
26758        (WebCore::ReplaceSelectionCommand::doApply):
26759        * editing/TextIterator.cpp:
26760        (WebCore::TextIterator::advance):
26761        (WebCore::SimplifiedBackwardsTextIterator::advance):
26762        * editing/VisiblePosition.cpp:
26763        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
26764        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
26765        (WebCore::VisiblePosition::canonicalPosition):
26766        * editing/htmlediting.cpp:
26767        (WebCore::isMailBlockquote):
26768        (WebCore::lineBreakExistsAtPosition):
26769        * html/HTMLSelectElement.cpp:
26770        (WebCore::HTMLSelectElement::parseMappedAttribute):
26771        * loader/FTPDirectoryDocument.cpp:
26772        (WebCore::processFileDateString):
26773        * loader/ImageLoader.cpp:
26774        (WebCore::ImageLoader::updateFromElement):
26775        * loader/TextResourceDecoder.cpp:
26776        (WebCore::TextResourceDecoder::checkForHeadCharset):
26777        * page/AccessibilityObject.cpp:
26778        (WebCore::updateAXLineStartForVisiblePosition):
26779        * page/EventHandler.cpp:
26780        (WebCore::EventHandler::sendContextMenuEvent):
26781        * page/animation/AnimationBase.cpp:
26782        (WebCore::PropertyWrapperGetter::equals):
26783        (WebCore::PropertyWrapperShadow::equals):
26784        * platform/ContextMenu.cpp:
26785        (WebCore::ContextMenu::populate):
26786        * platform/ScrollView.cpp:
26787        (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
26788        * platform/text/Base64.cpp:
26789        (WebCore::base64Encode):
26790        * platform/text/BidiResolver.h:
26791        (WebCore::::raiseExplicitEmbeddingLevel):
26792        (WebCore::::createBidiRunsForLine):
26793        * rendering/InlineTextBox.cpp:
26794        (WebCore::InlineTextBox::placeEllipsisBox):
26795        * rendering/RenderBlock.cpp:
26796        (WebCore::RenderBlock::addChild):
26797        (WebCore::RenderBlock::repaintOverhangingFloats):
26798        (WebCore::RenderBlock::fillInlineSelectionGaps):
26799        (WebCore::RenderBlock::positionForPoint):
26800        (WebCore::RenderBlock::calcInlinePrefWidths):
26801        (WebCore::RenderBlock::hasLineIfEmpty):
26802        * rendering/RenderBox.cpp:
26803        (WebCore::RenderBox::imageChanged):
26804        (WebCore::RenderBox::localCaretRect):
26805        (WebCore::RenderBox::positionForPoint):
26806        (WebCore::RenderBox::shrinkToAvoidFloats):
26807        * rendering/RenderObject.h:
26808        (WebCore::objectIsRelayoutBoundary):
26809        * rendering/RenderTableCell.cpp:
26810        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
26811        * rendering/RenderText.cpp:
26812        (WebCore::RenderText::calcPrefWidths):
26813        * rendering/bidi.cpp:
26814        (WebCore::RenderBlock::determineStartPosition):
26815        (WebCore::textWidth):
26816        * rendering/style/RenderStyle.cpp:
26817        (WebCore::RenderStyle::diff):
26818        * rendering/style/StyleInheritedData.cpp:
26819        (WebCore::cursorDataEquivalent):
26820        * rendering/style/StyleRareInheritedData.cpp:
26821        (WebCore::StyleRareInheritedData::shadowDataEquivalent):
26822        * rendering/style/StyleRareNonInheritedData.cpp:
26823        (WebCore::StyleRareNonInheritedData::shadowDataEquivalent):
26824        (WebCore::StyleRareNonInheritedData::animationDataEquivalent):
26825        (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
26826
268272009-03-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
26828
26829        Reviewed by Holger Freyther.
26830
26831        https://bugs.webkit.org/show_bug.cgi?id=24804
26832        [GTK] 401 responses cause rogue content to be loaded
26833
26834        Our soup code handles 401 responses itself, so we should not feed
26835        the headers and data of those responses to the loader.
26836
26837        * platform/network/soup/ResourceHandleSoup.cpp:
26838        (WebCore::gotHeadersCallback):
26839        (WebCore::gotChunkCallback):
26840
268412009-03-25  Geoffrey Garen  <ggaren@apple.com>
26842
26843        Reviewed by Oliver Hunt and Darin Adler.
26844        
26845        Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype
26846        during Stress test (#3 & #7 WER crashes for Safari 4 Beta)
26847        
26848        The problem was that allocation of the global object would, for just a
26849        moment, leave the global object's prototype unprotected from GC. This
26850        bug doesn't apply to non-global DOM objects because their prototypes are
26851        cached and marked by the global object.
26852
26853        No test case because the crashing condition is hard to deterministically
26854        produce in a normal build, and in a Windows Release build with
26855        COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang.
26856
26857        * bindings/js/JSDOMWindowShell.cpp:
26858        (WebCore::JSDOMWindowShell::setWindow):
26859        * bindings/js/WorkerScriptController.cpp:
26860        (WebCore::WorkerScriptController::initScript): Protect the global object's
26861        prototype from GC during construction, since the global object does not
26862        yet point to it, and therefore won't mark it.
26863
268642009-03-25  Dean Jackson  <dino@apple.com>
26865
26866        Reviewed by Simon Fraser
26867
26868        https://bugs.webkit.org/show_bug.cgi?id=23361
26869
26870        When using hardware compositing, some images can be directly
26871        rendered by the hardware - no need to draw them into a separate
26872        context, therefore saving memory.
26873        Only images with certain style properties can be directly
26874        composited - basically anything that is not a simple image requires
26875        the usual rendering path (eg. if the image has borders).
26876
26877        Test: compositing/direct-image-compositing.html
26878
26879        * manual-tests/resources/simple_image.png: Added.
26880        * manual-tests/simple-image-compositing.html: Added.
26881        * platform/graphics/Image.h:
26882        (WebCore::Image::startAnimation):
26883            - move this to public
26884        * rendering/RenderImage.cpp:
26885        (WebCore::RenderImage::imageChanged):
26886            - poke compositing layer if image has changed
26887        (WebCore::RenderImage::notifyFinished):
26888            - let the compositing layer know that it can render the image
26889        * rendering/RenderImage.h:
26890        * rendering/RenderLayer.cpp:
26891        (WebCore::RenderLayer::rendererContentChanged):
26892        * rendering/RenderLayer.h:
26893        * rendering/RenderLayerBacking.cpp:
26894        (WebCore::RenderLayerBacking::canUseInnerContentLayer):
26895        (WebCore::RenderLayerBacking::detectDrawingOptimizations):
26896        (WebCore::RenderLayerBacking::rendererContentChanged):
26897        * rendering/RenderLayerBacking.h:
26898            - code to hook up direct compositing of images where
26899              possible
26900
269012009-03-25  David Levin  <levin@chromium.org>
26902
26903        Reviewed by Dimitri Glazkov.
26904
26905        Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the
26906        rename of V8NodeFilter to V8NodeFilterCondition.
26907
26908        * bindings/v8/V8NodeFilterCondition.cpp:
26909
269102009-03-25  Simon Fraser  <simon.fraser@apple.com>
26911
26912        Reviewed by Darin Adler
26913        
26914        https://bugs.webkit.org/show_bug.cgi?id=24817
26915        
26916        When the slider range is zero, avoid a divide by zero, which caused the
26917        thumb to be positioned off in the weeds, which broke painting.
26918
26919        Test: media/video-empty-source.html
26920
26921        * rendering/RenderSlider.cpp:
26922        (WebCore::SliderRange::proportionFromValue):
26923        (WebCore::SliderRange::valueFromProportion):
26924        (WebCore::sliderPosition):
26925        (WebCore::RenderSlider::setValueForPosition):
26926
269272009-03-24  Eric Seidel  <eric@webkit.org>
26928
26929        Reviewed by Darin Adler.
26930
26931        Remove dead code and style cleanup
26932        https://bugs.webkit.org/show_bug.cgi?id=24684
26933
26934        * html/CanvasStyle.cpp:
26935        (WebCore::CanvasStyle::CanvasStyle):
26936          Coverty was annoyed that we didn't initialize all of our members.  I agree, but I didn't
26937          want to paste all 8 members each time, so I just cleaned up the existing constructors and left them.
26938        * page/FocusController.cpp:
26939        (WebCore::FocusController::setFocusedNode):
26940          "node" was checked just above and is already known to be non-null
26941        * rendering/RenderLayer.cpp:
26942        (WebCore::RenderLayer::insertOnlyThisLayer):
26943          We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check
26944        (WebCore::RenderLayer::resize):
26945          element is already ASSERTed above, no need to null check it here
26946        * rendering/RenderTableSection.cpp:
26947        (WebCore::RenderTableSection::addCell):
26948          currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again.
26949
269502009-03-24  Eric Seidel  <eric@webkit.org>
26951
26952        Reviewed by Darin Adler.
26953
26954        Move ASSERT(foo) to before where foo-> is used
26955        https://bugs.webkit.org/show_bug.cgi?id=24684
26956
26957        * platform/chromium/PasteboardChromium.cpp:
26958        (WebCore::Pasteboard::writeImage):
26959          Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved
26960          ASSERT(node) to the top of the function it made sense to move the rest of them there too.
26961        * rendering/SVGRenderSupport.cpp:
26962        (WebCore::prepareToRenderSVGContent):
26963          move ASSERT(object) to *before* we use "object" :)
26964
269652009-03-24  Eric Seidel  <eric@webkit.org>
26966
26967        Reviewed by Simon Fraser.
26968
26969        Make TextTokenizer ASSERT that the buffer was freed
26970        https://bugs.webkit.org/show_bug.cgi?id=24684
26971
26972        * loader/TextDocument.cpp:
26973        (WebCore::TextTokenizer::TextTokenizer):
26974        (WebCore::TextTokenizer::~TextTokenizer):
26975        (WebCore::TextTokenizer::finish):
26976          Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked.
26977
269782009-03-24  Eric Seidel  <eric@webkit.org>
26979
26980        Reviewed by Darin Adler.
26981
26982        Fix case where lBreak.obj->isBR() when lBreak.obj was NULL
26983        https://bugs.webkit.org/show_bug.cgi?id=24684
26984
26985        I don't have a test case where we were taking the wrong path here
26986        However, adding an ASSERT(lBreak.obj) before this usage caused
26987        multiple bidi tests to fail, so lBreak.obj can be null here.
26988
26989        * rendering/bidi.cpp:
26990        (WebCore::RenderBlock::findNextLineBreak):
26991          lBreak.obj can be null, so we can't call ->isBR() on it unconditionally.
26992
269932009-03-24  Eric Seidel  <eric@webkit.org>
26994
26995        Reviewed by Simon Fraser.
26996
26997        Style cleanup and dead code removal in dom, editing
26998        https://bugs.webkit.org/show_bug.cgi?id=24684
26999
27000        * dom/ContainerNode.cpp:
27001        (WebCore::ContainerNode::getUpperLeftCorner):
27002        (WebCore::ContainerNode::getLowerRightCorner):
27003        (WebCore::ContainerNode::getRect):
27004          Coverty was (rightly) confused as to what the hell "o" was being used for
27005          and whether or not it would ever be NULL.  I added some ASSERTS so that people (and machines)
27006          would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner
27007        * dom/Document.cpp:
27008        (WebCore::Document::recalcStyle):
27009          Remove dead code, this block already checked that change == Force
27010        * editing/ApplyStyleCommand.cpp:
27011        (WebCore::ApplyStyleCommand::removeInlineStyle):
27012          Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus
27013          prev will be null, and we don't really explicitly handle it (like we probably should)
27014          It's OK though, because we end up creating a null position object, which may not have
27015          been what we intended, but we certainly don't crash.
27016        * editing/InsertParagraphSeparatorCommand.cpp:
27017        (WebCore::InsertParagraphSeparatorCommand::doApply):
27018          Remove dead code, insertionPosition.node() is already checked to be non-null above.
27019        * editing/markup.cpp:
27020        (WebCore::appendStartMarkup):
27021          removed dead code, annotate is already known to be true at this point in the file
27022          !annotate was checked above, and break; was called.
27023
270242009-03-24  Eric Seidel  <eric@webkit.org>
27025
27026        Reviewed by Simon Fraser.
27027
27028        CSS dead code removal and cleanup from Coverty errors
27029        https://bugs.webkit.org/show_bug.cgi?id=24684
27030
27031        * css/CSSStyleSelector.cpp:
27032        (WebCore::CSSStyleSelector::applyProperty):
27033          Every other place in the code we check settings() for NULL, so I made these places
27034          check too, even though we should never be resolving style against a document which has
27035          no frame (which I believe is the only time settings() can be null)
27036        * css/CSSStyleSheet.cpp:
27037        (WebCore::CSSStyleSheet::styleSheetChanged):
27038          Removing dead code, "root" can never be null here.
27039        * css/SVGCSSStyleSelector.cpp:
27040        (WebCore::colorFromSVGColorCSSValue):
27041        (WebCore::CSSStyleSelector::applySVGProperty):
27042          Extra returns in the old macros caused dead code.  Removing the old macros and use modern
27043          ones instead. :)
27044          Extra null checks to value were not needed.  Added an ASSERT at the top of the function
27045          to make it clear that value will never be NULL.
27046          Added colorFromSVGColorCSSValue to clean up the code a little.
27047
270482009-03-24  Eric Seidel  <eric@webkit.org>
27049
27050        Reviewed by Simon Fraser.
27051
27052        Font fallback cleanup and added ASSERT for GlyphPageTreeNode
27053        https://bugs.webkit.org/show_bug.cgi?id=24684
27054
27055        * css/CSSFontSelector.cpp:
27056        (WebCore::compareFontFaces):
27057          Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets
27058          I can't read the code well enough to tell, so I tried to make the code clearer
27059          and added an ASSERT.        
27060        * platform/graphics/GlyphPageTreeNode.cpp:
27061        (WebCore::GlyphPageTreeNode::initializePage):
27062          Coverty believes we can crash here due to j being larger than GlyphPage::size.  I think to is already
27063          known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT.
27064
270652009-03-24  Eric Seidel  <eric@webkit.org>
27066
27067        Reviewed by Simon Fraser.
27068
27069        Coverty inspired fixes in Animations/Transforms
27070        https://bugs.webkit.org/show_bug.cgi?id=24684
27071
27072        * page/animation/AnimationBase.h:
27073          Fix animate() signatures to match so that the virtual methods actually override one another. :)
27074        * page/animation/AnimationController.cpp:
27075        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
27076          Attempt to fix this method, prevAnimation was never set to anything but NULL,
27077          as far as I can tell the author originally intended to update it at the end
27078          of the loop, which is what I changed this code to do.
27079        * page/animation/ImplicitAnimation.cpp:
27080        (WebCore::ImplicitAnimation::animate):
27081          Make method signature match AnimationBase::animate
27082        * page/animation/ImplicitAnimation.h:
27083        * page/animation/KeyframeAnimation.cpp:
27084        (WebCore::KeyframeAnimation::animate):
27085          Make method signature match AnimationBase::animate
27086        * page/animation/KeyframeAnimation.h:
27087        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
27088        (WebCore::PerspectiveTransformOperation::blend):
27089          if (blendToIdentity) already returned above.
27090        * platform/graphics/transforms/RotateTransformOperation.cpp:
27091        (WebCore::RotateTransformOperation::blend):
27092          if (blendToIdentity) already returned above.
27093
270942009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>
27095
27096        Reviewed by George Staikos.
27097
27098        Fix compiler warnings regarding assignments in if statements.
27099
27100        * html/HTMLFormElement.cpp:
27101        (WebCore::HTMLFormElement::createFormData):
27102        * plugins/PluginPackage.cpp:
27103        (WebCore::PluginPackage::compare):
27104
271052009-03-25  Dan Bernstein  <mitz@apple.com>
27106
27107        Reviewed by Dave Hyatt.
27108
27109        - fix <rdar://problem/6472150> repro crash in
27110          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
27111          menus
27112
27113        Test: fast/inline/continuation-positioned-reparenting.html
27114
27115        * rendering/RenderInline.cpp:
27116        (WebCore::RenderInline::splitFlow): When repurposing the existing
27117        container as the "pre" block, clear its positioned objects list, because
27118        positioned descendants may end up in a different block after the split.
27119
271202009-03-24  Simon Fraser  <simon.fraser@apple.com>
27121
27122        Reviewed by Dave Hyatt
27123        
27124        https://bugs.webkit.org/show_bug.cgi?id=24784
27125        
27126        Length values in transform operations need to take zoom into account.
27127
27128        Test: fast/transforms/transforms-with-zoom.html
27129
27130        * css/CSSStyleSelector.cpp:
27131        (WebCore::CSSStyleSelector::createTransformOperations):
27132
271332009-03-25  David Hyatt  <hyatt@apple.com>
27134
27135        Reviewed by Simon Fraser.
27136
27137        https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct
27138        values.  Add support for the new values (while preserving the old values for backwards
27139        compatibility).
27140
27141        Changed some existing test cases to use the new values.
27142
27143        * css/CSSParser.cpp:
27144        (WebCore::CSSParser::parseFillProperty):
27145        * css/CSSPrimitiveValueMappings.h:
27146        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
27147        (WebCore::CSSPrimitiveValue::operator EFillBox):
27148        * css/CSSValueKeywords.in:
27149
271502009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>
27151
27152        Reviewed by Dimitri Glazkov.
27153
27154        Fix complex text opacity on the Chromium Windows port.
27155        https://bugs.webkit.org/show_bug.cgi?id=24757
27156
27157        Test: fast/text/complex-text-opacity.html
27158
27159        * platform/graphics/chromium/FontChromiumWin.cpp:
27160        (WebCore::):
27161        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
27162        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
27163        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
27164        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
27165        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
27166        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
27167        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
27168        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
27169        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
27170        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
27171        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
27172        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
27173        (WebCore::Font::drawGlyphs):
27174        (WebCore::Font::drawComplexText):
27175
271762009-03-25  David Hyatt  <hyatt@apple.com>
27177
27178        Reviewed by Eric Seidel
27179
27180        Fix for bug 23198, border images should not clip to border radii.  The border-image should just ignore
27181        the border-radius, since the assumption is that any desired rounding will be built into the border-image
27182        itself.
27183
27184        Note that I do not agree with this change, but I am matching the spec.
27185
27186        Added fast/borders/border-image-border-radius.html
27187
27188        * rendering/RenderBoxModelObject.cpp:
27189        (WebCore::RenderBoxModelObject::paintNinePieceImage):
27190
271912009-03-25  Gustavo Noronha Silva  <gns@gnome.org>
27192
27193        Reviewed by Holger Freyther.
27194
27195        https://bugs.webkit.org/show_bug.cgi?id=24750
27196        [GTK] requests download instead of displaying page
27197
27198        Fix the Content-Type headers we get from soup, so that we set a
27199        proper media type on the ResourceResponse.
27200
27201        * platform/network/soup/ResourceHandleSoup.cpp:
27202        (WebCore::fillResponseFromMessage):
27203
272042009-03-25  Gustavo Noronha Silva  <gns@gnome.org>
27205
27206        Reviewed by Holger Freyther.
27207
27208        https://bugs.webkit.org/show_bug.cgi?id=24600
27209        [GTK] responses with status code >= 400 should not be given special treatment
27210
27211        Do not special case requests that have HTTP responses >=
27212        400. Redirects are handled automatically by libsoup, but the rest
27213        of the responses should be treated like any other.
27214
27215        * platform/network/soup/ResourceHandleSoup.cpp:
27216        (WebCore::):
27217        (WebCore::gotHeadersCallback):
27218        (WebCore::gotChunkCallback):
27219        (WebCore::finishedCallback):
27220
272212009-03-25  Darin Adler  <darin@apple.com>
27222
27223        Reviewed by John Sullivan.
27224
27225        Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when
27226        they are being used only for selections, not an entire document.
27227
27228        * WebCore.base.exp: Remove exported function that's not used in WebKit.
27229
27230        * loader/archive/cf/LegacyWebArchive.cpp:
27231        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member
27232        function so it can share private things with other member functions. Added some FIXME
27233        comments to a branch of code I think is dead. Changed boolean argument into a named
27234        one. Renamed to match other similar functions.
27235        (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto.
27236        (WebCore::LegacyWebArchive::createResource): Ditto.
27237        (WebCore::LegacyWebArchive::create): Merged the create and init functions.
27238        (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because
27239        we should never fail to write (we can fail to read).
27240        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static
27241        member function as above.
27242        (WebCore::LegacyWebArchive::createFromSelection): Ditto.
27243        (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than
27244        iterators. Only include the favicon if the first node is the document since we don't
27245        want to include the favicon when copying and pasting.
27246
27247        * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private.
27248        Made the Mac-specific functions be static member functions. Made other helpers be
27249        static member functions. Removed the nit function.
27250
27251        * loader/archive/cf/LegacyWebArchiveMac.mm:
27252        (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated
27253        comment and made this a static member function.
27254        (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made
27255        it so we only type cast in one place.
27256
272572009-03-25  Darin Adler  <darin@apple.com>
27258
27259        Reviewed by David Hyatt.
27260
27261        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
27262        https://bugs.webkit.org/show_bug.cgi?id=24740
27263        rdar://problem/6679873
27264
27265        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
27266        https://bugs.webkit.org/show_bug.cgi?id=12104
27267
27268        Test: media/video-display-none-crash.html
27269
27270        The problem here was that RenderSlider was trying to position its thumb in a way that
27271        requires it to call updateLayout inside rendering code. The right way to position a
27272        child renderer is to do layout, so I had to write a layout function. And then fix a few
27273        other small problems shown by the same test case.
27274
27275        * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage.
27276        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
27277        prefix for public DOM classes, not elements used as implementation details.
27278        Made SliderThumbElement function members private and got rid of unneeded default
27279        argument value for shadowParent.
27280        (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes.
27281        (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above.
27282        (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in
27283        a way that clamps to the range.
27284        (WebCore::sliderPosition): Added. Computes the slider position: a double.
27285        (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit
27286        initialization of m_initialClickPoint.
27287        (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead
27288        of calling setCurrentPosition and valueChanged.
27289        (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb.
27290        (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle.
27291        (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code
27292        setting the position to relative and setting the left and top. We now handle positioning
27293        in a custom layout function.
27294        (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout.
27295        (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value
27296        in the element if it's out of range. This clamping used to be done as a side effect of
27297        setPositionFromValue. Also, this has nothing to do with the renderer, so at some point
27298        it could be moved into HTMLInputElement. Removed call to setPositionFromValue
27299        and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be
27300        a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want
27301        this to be propagated to the parent -- it's not called during layout.
27302        (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange
27303        class. Also don't call setCurrentPosition; instead just call setNeedsLayout.
27304        (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather
27305        than the style to find the position; that means this needs to be done after layout is done.
27306        Also removed unneeded runtime checks and replaced them with assertions, after checking
27307        all callers to see they already guarantee this.
27308        (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them
27309        with assertions, after checking all callers to see they already guarantee this.
27310        (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't
27311        crash if called early on a brand new RenderSlider.
27312
27313        * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode.
27314        Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML
27315        prefix for public DOM classes, not elements used as implementation details. Made the
27316        mouseEventIsInThumb function non-virtual. Removed the return value and argument from
27317        setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle
27318        argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some
27319        private member functions.
27320
273212009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>
27322
27323        Reviewed by George Staikos.
27324
27325        Fix ambiguous else cases by adding braces to nested if()s with elses.
27326
27327        * loader/MainResourceLoader.cpp:
27328        (WebCore::MainResourceLoader::continueAfterContentPolicy):
27329        * page/EventHandler.cpp:
27330        (WebCore::EventHandler::updateDragAndDrop):
27331        * rendering/RenderListMarker.cpp:
27332        (WebCore::toArmenianUnder10000):
27333        * rendering/TextControlInnerElements.cpp:
27334        (WebCore::TextControlInnerTextElement::defaultEventHandler):
27335
273362009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>
27337
27338        Reviewed by George Staikos.
27339
27340        Move variable into proper platform block to quiet warning.
27341
27342        * html/CanvasRenderingContext2D.cpp:
27343        (WebCore::CanvasRenderingContext2D::drawTextInternal):
27344
273452009-03-24  Eric Carlson  <eric.carlson@apple.com>
27346
27347        Reviewed by Antti Koivisto.
27348
27349        Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies
27350
27351        *  WebCore/html/HTMLMediaElement.cpp:
27352        (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having
27353        network state of NETWORK_NO_SOURCE.
27354
27355        *  WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
27356        (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since
27357        some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK
27358        corresponds to HaveFutureData, not HaveEnoughData.
27359
273602009-03-24  Adele Peterson  <adele@apple.com>
27361
27362        Reviewed by Darin Adler.
27363
27364        Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
27365        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line
27366
27367        * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
27368        After breaking out of an empty mail blockquote, we still want continue with the deletion
27369        so actual content will get deleted, and not just the quote style.
27370
273712009-03-24  Darin Adler  <darin@apple.com>
27372
27373        Reviewed by Brady Eidson.
27374
27375        <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)
27376
27377        * loader/archive/cf/LegacyWebArchive.cpp:
27378        (WebCore::LegacyWebArchive::create): Added a null check.
27379
273802009-03-24  Adam Langley  <agl@google.com>
27381
27382        Reviewed by Darin Fisher.
27383
27384        https://bugs.webkit.org/show_bug.cgi?id=24685
27385
27386        The Skia drawLine function takes subpixel values and attempts to draw
27387        a line with subpixel precision. This is complex and slow for drawing
27388        scrollbars which use only vertical and horizontal lines.
27389
27390        This changes the Chromium Linux scrollbar code to use drawIRect.
27391
27392        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
27393        (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
27394        (WebCore::drawVertLine):
27395        (WebCore::drawHorizLine):
27396        (WebCore::drawBox):
27397        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
27398        (WebCore::ScrollbarThemeChromium::paintThumb):
27399
274002009-03-24  David Kilzer  <ddkilzer@apple.com>
27401
27402        Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly
27403
27404        <https://bugs.webkit.org/show_bug.cgi?id=23310>
27405
27406        Reviewed by Darin Adler.
27407
27408        Test: fast/frames/iframe-no-src-set-location.html
27409
27410        * dom/Document.cpp:
27411        (WebCore::Document::completeURL): If m_baseURL is empty or is
27412        about:blank and we have a parent document, use the parent
27413        document's URL for the base when completing a new URL.
27414
274152009-03-24  Simon Fraser  <simon.fraser@apple.com>
27416
27417        Reviewed by Dave Hyatt
27418        
27419        https://bugs.webkit.org/show_bug.cgi?id=24659
27420        
27421        When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
27422        into the coordinate space of the layer, and doing so can result in pathalogical quads
27423        that break hit testing. In that case, simply use the same bounds as used for painting,
27424        which are the composited bounds for this layer.
27425
27426        Test: transforms/3d/hit-testing/rotated-hit-test.html
27427
27428        * rendering/RenderLayer.cpp:
27429        (WebCore::RenderLayer::hitTestLayer):
27430
274312009-03-24  Simon Fraser  <simon.fraser@apple.com>
27432
27433        Reviewed by Dave Hyatt
27434
27435        https://bugs.webkit.org/show_bug.cgi?id=24436
27436        
27437        When compositing is enabled, painting and hit testing end up using different
27438        clipping roots, because, for painting, every composited layer is a clipping root,
27439        but for hit testing only layers with transforms are. To fix this, we use
27440        temporary clip rects for hit testing, if the page is in compositing mode.
27441
27442        * rendering/RenderLayer.cpp:
27443        (WebCore::RenderLayer::paintLayer):
27444        (WebCore::RenderLayer::hitTestLayer):
27445        (WebCore::RenderLayer::parentClipRects):
27446        (WebCore::RenderLayer::calculateRects):
27447        * rendering/RenderLayer.h:
27448
274492009-03-24  Simon Fraser  <simon.fraser@apple.com>
27450
27451        Reviewed by Dan Bernstein
27452        
27453        https://bugs.webkit.org/show_bug.cgi?id=24782
27454
27455        Fix regression with CSS clip rects with non-length values, by reverting to
27456        the original code, but passing the zoom multiplier through convertToLength().
27457        
27458        Also make stylistic change in createTransformOperations(), renaming 'inStyle'
27459        to 'style.
27460        
27461        Tested by existing tests.
27462
27463        * css/CSSStyleSelector.cpp:
27464        (WebCore::convertToLength):
27465        (WebCore::CSSStyleSelector::applyProperty):
27466        (WebCore::CSSStyleSelector::createTransformOperations):
27467
274682009-03-24  David Hyatt  <hyatt@apple.com>
27469
27470        Reviewed by Simon Fraser
27471
27472        https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents
27473        to a border-radius.
27474
27475        This patch makes non-self-painting overflow layers and control clips work with border-radius.  RenderLayers
27476        that should be clipped by overflow ancestors with border-radius are still broken.
27477
27478        Added fast/clip/overflow-border-radius-clip.html
27479
27480        * rendering/RenderBox.cpp:
27481        (WebCore::RenderBox::pushContentsClip):
27482
274832009-03-24  David Hyatt  <hyatt@apple.com>
27484
27485        Reviewed by Simon Fraser
27486
27487        https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents.
27488        
27489        This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements.  Common
27490        replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be
27491        done).
27492    
27493        Added fast/replaced/border-radius-clip.html
27494
27495        * css/html4.css:
27496        * rendering/RenderReplaced.cpp:
27497        (WebCore::RenderReplaced::paint):
27498        * rendering/RenderWidget.cpp:
27499        (WebCore::RenderWidget::paint):
27500
275012009-03-24  Adele Peterson  <adele@apple.com>
27502
27503        RS by Mark Rowe.
27504
27505        Only build these Mail quirks checks in on the Mac.
27506
27507        * dom/Document.cpp: (WebCore::disableRangeMutation):
27508        * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
27509
275102009-03-24  Brent Fulgham  <bfulgham@webkit.org>
27511
27512        Build fix, no review.
27513
27514        Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas
27515        and Debug targets.
27516
27517        * WebCore.vcproj/WebCore.vcproj:
27518
275192009-03-24  Eric Carlson  <eric.carlson@apple.com>
27520
27521        Fix layout tests broken by r41907.
27522
27523        * html/HTMLMediaElement.cpp:
27524        (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state
27525
275262009-03-24  Dmitry Titov  <dimich@chromium.org>
27527
27528        Reviewed by Dimitri Glazkov.
27529
27530        https://bugs.webkit.org/show_bug.cgi?id=24689
27531        Fix Chromium compilation errors.
27532
27533        * bindings/v8/WorkerContextExecutionProxy.cpp:
27534        (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
27535        (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
27536
275372009-03-24  Yury Semikhatsky  <yurys@chromium.org>
27538
27539        Reviewed by Darin Adler.
27540
27541        https://bugs.webkit.org/show_bug.cgi?id=24759
27542        Add missing methods Element.prototype.removeMatchingStyleClasses and
27543        Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content
27544        iframe. These methods are called by Element.prototype.removeStyleClass and
27545        Node.prototype.enclosingNodeOrSelfWithNodeName.
27546
27547        * inspector/front-end/SourceFrame.js:
27548        (WebInspector.SourceFrame.prototype._loaded):
27549
275502009-03-24  Mark Mentovai  <mark@chromium.org>
27551
27552        Reviewed by Mark Rowe.
27553
27554        https://bugs.webkit.org/show_bug.cgi?id=24653
27555        WebKit should be buildable without prefix header injection.
27556        Adds missing #includes and forward declarations as needed.
27557
27558        * editing/SmartReplaceCF.cpp:
27559        * platform/graphics/mac/ColorMac.mm:
27560        * platform/graphics/mac/FontCacheMac.mm:
27561        * platform/graphics/mac/FontCustomPlatformData.h:
27562        * platform/graphics/mac/FontMac.mm:
27563        * platform/graphics/mac/FontMacATSUI.mm:
27564        * platform/graphics/mac/FontPlatformData.h:
27565        * platform/graphics/mac/FontPlatformDataMac.mm:
27566        * platform/graphics/mac/GraphicsContextMac.mm:
27567        * platform/graphics/mac/SimpleFontDataMac.mm:
27568        * platform/mac/FoundationExtras.h:
27569        * platform/mac/LocalCurrentGraphicsContext.h:
27570        * platform/mac/WebCoreSystemInterface.h:
27571        * platform/mac/WebCoreSystemInterface.mm:
27572        * platform/mac/WebCoreTextRenderer.h:
27573        * platform/mac/WebCoreTextRenderer.mm:
27574        * platform/mac/WebFontCache.h:
27575        * platform/mac/WebFontCache.mm:
27576        * platform/text/PlatformString.h:
27577        * platform/text/mac/ShapeArabic.c:
27578        * platform/text/mac/StringMac.mm:
27579        * rendering/RenderThemeChromiumMac.h:
27580
275812009-03-24  Dan Bernstein  <mitz@apple.com>
27582
27583        Reviewed by Darin Adler.
27584
27585        - fix <rdar://problem/6107874> by capping the nesting depth of
27586          "block-level" elements generated by the parser
27587
27588        Test: fast/parser/block-nesting-cap.html
27589
27590        * html/HTMLParser.cpp:
27591        (WebCore::HTMLParser::HTMLParser):
27592        (WebCore::HTMLParser::insertNode):
27593        (WebCore::HTMLParser::pushBlock):
27594        (WebCore::HTMLParser::popOneBlockCommon):
27595        (WebCore::HTMLParser::freeBlock):
27596        * html/HTMLParser.h:
27597
275982009-03-23  Greg Bolsinga  <bolsinga@apple.com>
27599
27600        Reviewed by David Kilzer.
27601
27602        https://bugs.webkit.org/show_bug.cgi?id=24771
27603        
27604        DOMTimeStamps are based upon 1970.
27605
27606        * platform/mac/GeolocationServiceMac.mm:
27607        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
27608
276092009-03-23  Eric Seidel  <eric@webkit.org>
27610
27611        Build fix, no review.
27612
27613        * rendering/RenderObject.cpp:
27614        (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull()
27615
276162009-03-23  Eric Seidel  <eric@webkit.org>
27617
27618        Reviewed by Darin Adler.
27619
27620        Rename Position::container to m_anchorNode and make it private
27621        https://bugs.webkit.org/show_bug.cgi?id=24760
27622
27623        More code cleanup for Position.
27624
27625        Change all uses of m_container to node()
27626        Eventually most uses of node() should change to anchorNode() to designate
27627        that it's the node the Position is anchored to, but not necessarily the
27628        container of the position (it could be the before/after neighbor).
27629
27630        Remove any code which sets m_container, and change it to use a new
27631        Position::moveToPosition function which takes a node and offset.
27632        It never makes sense to change the node and leave the offset.
27633
27634        * dom/Position.h:
27635        (WebCore::Position::Position):
27636        (WebCore::Position::clear):
27637        (WebCore::Position::anchorNode):
27638        (WebCore::Position::node):
27639        (WebCore::Position::moveToPosition):
27640        (WebCore::Position::moveToOffset):
27641        (WebCore::Position::isNull):
27642        (WebCore::Position::isNotNull):
27643        (WebCore::operator==):
27644        * dom/Range.cpp:
27645        (WebCore::Range::create):
27646        (WebCore::Range::compareBoundaryPoints):
27647        * dom/RangeBoundaryPoint.h:
27648        (WebCore::RangeBoundaryPoint::container):
27649        (WebCore::RangeBoundaryPoint::set):
27650        (WebCore::RangeBoundaryPoint::setOffset):
27651        (WebCore::RangeBoundaryPoint::setToChild):
27652        (WebCore::RangeBoundaryPoint::setToStart):
27653        (WebCore::RangeBoundaryPoint::setToEnd):
27654
276552009-03-17  Eric Seidel  <eric@webkit.org>
27656
27657        Reviewed by David Hyatt.
27658
27659        document.write() should be able to make a document strict mode
27660        https://bugs.webkit.org/show_bug.cgi?id=24336
27661
27662        Remove an implicit write of "<html>" on the first document.write call
27663        this was added as part of a KDE import http://trac.webkit.org/changeset/798
27664        with no layout test or explanation.  I can't think of any reason why
27665        an implicit <html> write is necessary (or correct), so I'm removing it and
27666        adding a test for the correct behavior.  The parser will add any necessary
27667        HTMLHTMLElements during the write() anyway.
27668
27669        Our behavior is now tested by fast/dom/Document/document-write-doctype
27670        and matches IE, FF fails this new test.  Mozilla bug filed:
27671        https://bugzilla.mozilla.org/show_bug.cgi?id=483908
27672
27673        * dom/Document.cpp:
27674        (WebCore::Document::write):
27675
276762009-03-23  Sam Weinig  <sam@webkit.org>
27677
27678        Reviewed by Dan Bernstein.
27679
27680        Fix for <rdar://problem/6140966>
27681        Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
27682
27683        * WebCore.base.exp:
27684        * WebCore.xcodeproj/project.pbxproj:
27685        * loader/CrossOriginPreflightResultCache.cpp:
27686        (WebCore::CrossOriginPreflightResultCache::empty):
27687        * loader/CrossOriginPreflightResultCache.h:
27688
276892009-03-23  Darin Adler  <darin@apple.com>
27690
27691        Reviewed by Adele Peterson.
27692
27693        Bug 24726: hit testing doesn't work right when the click is on anonymous content
27694        https://bugs.webkit.org/show_bug.cgi?id=24726
27695        rdar://problem/6696992
27696
27697        Test: editing/selection/hit-test-anonymous.html
27698
27699        * rendering/RenderBR.cpp:
27700        (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of
27701        creating a VisiblePosition directly. It will handle finding non-anonymous
27702        content nearby if node() is 0.
27703        * rendering/RenderBlock.cpp:
27704        (WebCore::positionForPointRespectingEditingBoundaries): Ditto.
27705        (WebCore::positionForPointWithInlineChildren): Ditto.
27706        (WebCore::RenderBlock::positionForPoint): Ditto.
27707        * rendering/RenderBox.cpp:
27708        (WebCore::RenderBox::positionForPoint): Ditto.
27709        * rendering/RenderObject.cpp:
27710        (WebCore::RenderObject::positionForPoint): Ditto.
27711        (WebCore::RenderObject::createVisiblePosition): Added.
27712        * rendering/RenderObject.h: Added createVisiblePosition.
27713        * rendering/RenderReplaced.cpp:
27714        (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition.
27715        * rendering/RenderSVGInlineText.cpp:
27716        (WebCore::RenderSVGInlineText::positionForPoint): Ditto.
27717        * rendering/RenderText.cpp:
27718        (WebCore::RenderText::positionForPoint): Ditto.
27719
277202009-03-23  Adele Peterson  <adele@apple.com>
27721
27722        Reviewed by Darin Adler & Dave Hyatt.
27723
27724        Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade
27725
27726        Leopard Mail doesn't expect <style> to be in the body.  This change reverts back to the old behavior of
27727        moving <style> to <head> for that version of Mail.
27728
27729        * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList):
27730
277312009-03-23  Adele Peterson  <adele@apple.com>
27732
27733        Reviewed by Mark Rowe & Dave Hyatt.
27734
27735        Merge some of the individual Mail quirks into two settings that we can check for future quirks.
27736
27737        * WebCore.base.exp:
27738        * dom/Document.cpp:
27739        (WebCore::disableRangeMutation):
27740        (WebCore::Document::nodeChildrenChanged):
27741        (WebCore::Document::nodeWillBeRemoved):
27742        (WebCore::Document::textInserted):
27743        (WebCore::Document::textRemoved):
27744        (WebCore::Document::textNodesMerged):
27745        (WebCore::Document::textNodeSplit):
27746        * page/Settings.cpp:
27747        (WebCore::Settings::Settings):
27748        (WebCore::Settings::setNeedsLeopardMailQuirks):
27749        (WebCore::Settings::setNeedsTigerMailQuirks):
27750        * page/Settings.h:
27751        (WebCore::Settings::needsLeopardMailQuirks):
27752        (WebCore::Settings::needsTigerMailQuirks):
27753
277542009-03-23  Ada Chan  <adachan@apple.com>
27755
27756        https://bugs.webkit.org/show_bug.cgi?id=24762
27757        Support text-indent in <option> elements on windows platform.
27758
27759        Reviewed by Adele Peterson.
27760
27761        * css/themeWin.css:
27762        * platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now.  Make this
27763        explicit via windows themed default stylesheet.
27764        (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction.
27765        (WebCore::PopupMenuStyle::textIndent):
27766        (WebCore::PopupMenuStyle::textDirection):
27767        * platform/win/PopupMenuWin.cpp:
27768        (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and 
27769        text-indent is specified with LTR direction.
27770        * rendering/RenderMenuList.cpp:
27771        (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options.
27772        (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows.
27773        (WebCore::RenderMenuList::menuStyle): Ditto.
27774        * rendering/RenderTextControlSingleLine.cpp:
27775        (WebCore::RenderTextControlSingleLine::menuStyle): Ditto.
27776        * rendering/RenderTheme.h:
27777        (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added.  Default is false since we are only supporting it in windows for now.
27778        * rendering/RenderThemeWin.h:
27779        (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows.
27780
277812009-03-23  Sam Weinig  <sam@webkit.org>
27782
27783        Reviewed by Anders Carlsson.
27784
27785        Fix for https://bugs.webkit.org/show_bug.cgi?id=24699
27786        REGRESSION: Java Applets broken
27787        <rdar://problem/6707494>
27788
27789        Fix loading Java applets without a codeBase. Only pass the base (up to the
27790        the last path component) of the baseURL to the plug-in.
27791
27792        * html/HTMLAppletElement.cpp:
27793        (WebCore::HTMLAppletElement::createRenderer):
27794        * platform/KURL.cpp:
27795        (WebCore::KURL::baseAsString):
27796        * platform/KURL.h:
27797
277982009-03-23  Darin Adler  <darin@apple.com>
27799
27800        Reviewed by Sam Weinig.
27801
27802        * platform/KURL.h: Removed now-incorrect comments.
27803        None of the parts include the separator characters any more, now that
27804        query doesn't include the "?", so the comments explaining which do and do
27805        not are no-longer helpful.
27806
278072009-03-23  David Levin  <levin@chromium.org>
27808
27809        Reviewed by Dimitri Glazkov.
27810
27811        https://bugs.webkit.org/show_bug.cgi?id=24764
27812
27813        Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect
27814        class names.  Also fixed some headers that got mangled in search/replace
27815        operations.
27816
27817        No change in behavior, so no test.
27818
27819        * bindings/v8/V8NodeFilter.h: Removed.
27820        * bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp.
27821        * bindings/v8/V8NodeFilterCondition.h: Added.
27822        * bindings/v8/custom/V8ClipboardCustom.cpp:
27823        * bindings/v8/custom/V8DocumentCustom.cpp:
27824        * bindings/v8/custom/V8ElementCustom.cpp:
27825        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
27826        * bindings/v8/custom/V8NavigatorCustom.cpp:
27827
278282009-03-23  Darin Fisher  <darin@chromium.org>
27829
27830        Reviewed by Antti Koivisto.
27831
27832        https://bugs.webkit.org/show_bug.cgi?id=24741
27833
27834        Adds a unique across-browser-sessions identifier to FormData, which may
27835        be used by ResourceHandle as a secondary cache key to enable cached
27836        form submissions.
27837
27838        At issue: two otherwise identical form submissions may result in
27839        completely independent responses, which may each be appropriate to
27840        store and reuse from cache.
27841
27842        * html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that
27843        we only enable cached form submissions for those generated by HTML.  This
27844        way we do not bother with POSTs generated by XMLHttpRequest.
27845        (WebCore::generateFormDataIdentifier):
27846        (WebCore::HTMLFormElement::createFormData):
27847        * platform/network/FormData.cpp: Initialize m_identifier to 0, which means
27848        the unspecified identifier.  So by default there is no identifier and
27849        nothing changes.
27850        (WebCore::FormData::FormData):
27851        * platform/network/FormData.h: Added m_identifier with setter and getter.
27852        (WebCore::FormData::setIdentifier):
27853        (WebCore::FormData::identifier):
27854
278552009-03-23  Simon Fraser  <simon.fraser@apple.com>
27856
27857        Reviewed by Antti Koivisto
27858        
27859        https://bugs.webkit.org/show_bug.cgi?id=24733
27860        
27861        Fix media controller with full-page zoom. Previously, the media controller
27862        shadow nodes never saw style changes on the RenderMedia, so did not respond
27863        to zooming at all. Now, we update the style on the shadow renderers
27864        whenever RenderMedia gets a style change. Also fix the video thumb in
27865        the theme to be scaled properly.
27866
27867        Test: media/video-controls-zoomed.html
27868
27869        * rendering/MediaControlElements.cpp:
27870        (WebCore::MediaControlShadowRootElement::updateStyle):
27871        (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
27872        (WebCore::MediaTextDisplayElement::updateStyle):
27873        (WebCore::MediaControlInputElement::MediaControlInputElement):
27874        (WebCore::MediaControlInputElement::updateStyle):
27875        * rendering/MediaControlElements.h:
27876        * rendering/RenderMedia.cpp:
27877        (WebCore::RenderMedia::styleDidChange):
27878        * rendering/RenderMedia.h:
27879        * rendering/RenderThemeMac.mm:
27880        (WebCore::RenderThemeMac::adjustSliderThumbSize):
27881
278822009-03-23  Mike Belshe  <mike@belshe.com>
27883
27884        Reviewed by Darin Adler.
27885
27886        https://bugs.webkit.org/show_bug.cgi?id=24739
27887
27888        Rework StringImpl::create methods to try to allocate a single buffer
27889        rather than allocating both the StringImpl class and a separate data
27890        buffer.
27891
27892        * platform/text/StringImpl.cpp:
27893        * platform/text/StringImpl.h:
27894
278952009-03-23  Darin Adler  <darin@apple.com>
27896
27897        Reviewed by Antti Koivisto.
27898
27899        Based on a patch by Nico Weber <nicolasweber@gmx.de>
27900
27901        Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression
27902        https://bugs.webkit.org/show_bug.cgi?id=24755
27903
27904        * platform/text/TextEncoding.cpp:
27905        (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding
27906        is UTF7 without loading extended codecs.
27907        (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead
27908        of comparing with UTF7Encoding(). Eliminate the explicit check of
27909        noExtendedTextEncodingNameUsed() because that's now handled by the functions
27910        that this function calls instead.
27911
27912        * platform/text/TextEncoding.h: Added isUTF7Encoding function.
27913        Also tweaked formatting a bit.
27914
279152009-03-20  Peter Kasting  <pkasting@google.com>
27916
27917        Reviewed by Darin Fisher.
27918
27919        https://bugs.webkit.org/show_bug.cgi?id=24720
27920        RenderThemeChromium should draw something for Slider parts instead of
27921        dropping them on the floor.
27922
27923        * platform/chromium/ChromiumBridge.h:
27924        * rendering/RenderThemeChromiumWin.cpp:
27925        (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
27926        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
27927        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
27928        (WebCore::RenderThemeChromiumWin::getThemeData):
27929        * rendering/RenderThemeChromiumWin.h:
27930        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
27931
279322009-03-23  Glen Murphy  <glen@chromium.org>
27933
27934        Reviewed by Darin Fisher.
27935
27936        https://bugs.webkit.org/show_bug.cgi?id=24657
27937
27938        Fix Skia drawing of highly scaled bitmaps; the conversion to
27939        IntRect produced visible layout test failures in highly scaled 
27940        coordinate systems.
27941
27942        Test: svg/custom/image-small-width-height.svg
27943
27944        * WebCore\platform\graphics\skia\ImageSkia.cpp:
27945
279462009-03-23  David Kilzer  <ddkilzer@apple.com>
27947
27948        Provide JavaScript exception information after slow script timeout
27949
27950        Reviewed by Oliver Hunt.
27951
27952        * bindings/js/ScriptController.cpp:
27953        (WebCore::ScriptController::evaluate): Changed to report
27954        exceptions for the Interrupted completion type as well.
27955
279562009-03-23  Simon Fraser  <simon.fraser@apple.com>
27957
27958        Reviewed by Darin Adler
27959
27960        https://bugs.webkit.org/show_bug.cgi?id=24736
27961        
27962        Fix three mostly-unrelated problems with full-page zoom:
27963        
27964        * dom/Document.cpp:
27965        (WebCore::Document::elementFromPoint):
27966        Document::elementFromPoint() needs to take full-page zoom into account.
27967        
27968        * dom/MouseRelatedEvent.cpp:
27969        (WebCore::MouseRelatedEvent::receivedTarget):
27970        Take full-page zoom into account when computing offsetX/offsetY.
27971        
27972        * html/HTMLSelectElement.cpp:
27973        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
27974        Don't use offsetX/offsetY when hit testing list boxes; offsets were broken
27975        with full-page zoom, and using pageX/pageY is easier because we don't
27976        have to worry about the event target, and we already have a point in
27977        absolute coordinates.
27978
27979        Tests: fast/forms/listbox-hit-test-zoomed.html
27980               fast/forms/search-zoomed.html
27981               fast/forms/slider-zoomed.html
27982
279832009-03-23  Simon Fraser  <simon.fraser@apple.com>
27984
27985        Reviewed by Dan Bernstein
27986
27987        https://bugs.webkit.org/show_bug.cgi?id=24753
27988        
27989        The rect for CSS 'clip' needs to have zooming applied to it.
27990
27991        Test: fast/css/clip-zooming.html
27992
27993        * css/CSSStyleSelector.cpp:
27994        (WebCore::CSSStyleSelector::applyProperty):
27995
279962009-03-23  Eric Carlson  <eric.carlson@apple.com>
27997
27998        Reviewed by Adam Roben.
27999
28000        <rdar://problem/6704282>
28001        https://bugs.webkit.org/show_bug.cgi?id=24719
28002        QTMovieWinTimer logic inversion
28003
28004        Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always
28005        use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of
28006        this was that a movie timer would sometimes be blocked for significant amounts of time 
28007        because WM_TIMER messages are not processed when the thread's message queue has any
28008        higher priority messages, and WebCore/Win's timer uses PostMessage for low interval
28009        timers. Also change SetTimer call to use HWND and custom message instead of 
28010        timer function since the timer already has an HWND for processing PostMessage.
28011
28012        Not possible to make a test for this because it is so timing dependant.
28013
28014        * platform/graphics/win/QTMovieWinTimer.cpp:
28015        (TimerWindowWndProc):
28016        (setSharedTimerFireDelay):
28017
280182009-03-23  Eric Carlson  <eric.carlson@apple.com>
28019
28020        Reviewed by Adele Peterson.
28021
28022        https://bugs.webkit.org/show_bug.cgi?id=24588
28023        
28024        Update media element implementation to current HTML5 spec
28025
28026        New tests: 
28027               media/media-constants.html
28028               media/video-seek-no-src-exception.html
28029               media/video-source-add-src.html
28030               media/video-src-invalid-remove.html
28031               media/video-src-plus-source.html
28032               media/video-timeupdate-during-playback.html
28033
28034        * dom/EventNames.h: Remove obsolute events, add new ones.
28035        * html/HTMLMediaElement.cpp:
28036        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars.
28037        (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't
28038        have a source.
28039        (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes.
28040        (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and 
28041        add it to the event queue to be dispatch when the timer fires.
28042        (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add
28043        it to the event queue to be dispatch when the timer fires.
28044        (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the 
28045        asynch event timer.
28046        (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events.
28047        (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or
28048        try to load the next <source> url.
28049        (WebCore::HTMLMediaElement::load): Minor style change.
28050        (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup
28051        the current load (if any) and set up state for a new load.
28052        (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart'
28053        event, and initiate load from 'src' if present.
28054        (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger
28055        noneSupported() if no more to consider.
28056        (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url.
28057        (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer.
28058        (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid 
28059        media url was found.
28060        (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid 
28061        media engine failed with a decode error or a network error.
28062        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
28063        (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states.
28064        (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
28065        (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state.
28066        (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active.
28067        (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or
28068        if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag
28069        we use to guard against sending 'ended' more than once.
28070        (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata.
28071        (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an
28072        invalid rate. 
28073        (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an
28074        invalid rate. Cache rate being set so we can use it later if media engine isn't ready now.
28075        (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just
28076        starts loading asynchronously.
28077        (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing'
28078        event depending on current state.
28079        (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just
28080        starts loading asynchronously.
28081        (WebCore::HTMLMediaElement::pauseInternal): Remove exception param.
28082        (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent
28083        (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent
28084        (WebCore::HTMLMediaElement::togglePlayState): Remove exception param.
28085        (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param.
28086        (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per
28087        second when the movie is playing to timeupdate so we can post 'timeupdate' events.
28088        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc.
28089        (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate'
28090        event because we both fire them them when the spec says we should and when the media engine
28091        says that time has jumped, but we don't want to fire more than one at a given movie time. We also
28092        use this bottleneck to keep track of the last time one was posted so we won't fire too often
28093        during playback.
28094        (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata.
28095        (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source>
28096        element with a 'src' attribute that we have not tried to load yet.
28097        (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next
28098        <source> element that we haven't tried to load.
28099        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes.
28100        Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since
28101        some media engines call this proc more than once when playback reaches the end and stops, but we
28102        don't want to post 'ended' more than once.
28103        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform
28104        when the movie duration changes and we can post 'durationchanged' event.
28105        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when
28106        the rate changed and we can updated our cached rate. This is useful because we only want to know
28107        post periodic 'timeupdate' events when the movie is actually playing, and because we want to know
28108        the actual playback rate when it differs from what we tried to set.
28109        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when
28110        a movie's intrinsic size changes and we can inform the renderer.
28111        (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now
28112        uses "actively playing" for this concept. Update logic for new state names and un-comment calls
28113        to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons
28114        are part of the answer.
28115        (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. 
28116        (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of
28117        the determination of "potentially playing".
28118        (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user
28119        agent supports this spec concept.
28120        (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' 
28121        events when we pauses the movie. Set the media engine rate before calling play() in case it
28122        wasn't set up when the rate was changed.
28123        (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate'
28124        event timers.
28125        (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive
28126        and updated for the current spec.
28127        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad.
28128        (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments.
28129        (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the 
28130        initial url.
28131        * html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec,
28132        update for changes in .cpp.
28133        (WebCore::HTMLMediaElement::):
28134
28135        * html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes.
28136        defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions.
28137
28138        * html/HTMLSourceElement.cpp:
28139        (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes.
28140
28141        * html/HTMLVideoElement.cpp:
28142        (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes.
28143
28144        * html/MediaError.h:
28145        (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED.
28146
28147        * html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED.
28148
28149        * loader/MediaDocument.cpp:
28150        (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception.
28151
28152        * platform/graphics/MediaPlayer.cpp:
28153        (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes.
28154        (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes.
28155        (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes.
28156        (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes.
28157        * platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec
28158        states.
28159        (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New.
28160        (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New.
28161        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New.
28162        (WebCore::MediaPlayer::):
28163
28164        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
28165        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
28166        (WebCore::MediaPlayerPrivate::load): Ditto.
28167        (WebCore::MediaPlayerPrivate::updateStates): Ditto.
28168        (WebCore::MediaPlayerPrivate::loadingFailed): Ditto.
28169
28170        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes.
28171        Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration.
28172        (WebCore::MediaPlayerPrivate::metaDataAvailable):
28173        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
28174        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize
28175        m_enabledTrackCount and m_duration. Update for network/ready state name changes.
28176        (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes.
28177        (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
28178        (WebCore::MediaPlayerPrivate::pause): Ditto.
28179        (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime.
28180        (WebCore::MediaPlayerPrivate::seek): Ditto.
28181        (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is
28182        already zero.
28183        (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime.
28184        (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return
28185        different errors depending on what causes a failure. Watch for and report duration changes.
28186        (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes.
28187        (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes.
28188        (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer.
28189        (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes.
28190        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported
28191        tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure.
28192
28193        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
28194        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes.
28195        (WebCore::MediaPlayerPrivate::load): Ditto.
28196        (WebCore::MediaPlayerPrivate::duration): Ditto.
28197        (WebCore::MediaPlayerPrivate::updateStates): Ditto.
28198        (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
28199
28200        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28201        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for 
28202        network/ready state name changes.
28203        (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more
28204        m_endPointTimer.
28205        (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer.
28206        (WebCore::MediaPlayerPrivate::pause): Ditto. 
28207        (WebCore::MediaPlayerPrivate::setEndTime): Ditto.
28208        (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes.
28209        (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer.
28210        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28211
28212        * rendering/MediaControlElements.cpp:
28213        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state 
28214        name changes.
28215        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
28216
282172009-03-22  Kevin Ollivier  <kevino@theolliviers.com>
28218
28219        wxGTK build fix. Add missing header.
28220
28221        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
28222
282232009-03-22  Simon Fraser  <simon.fraser@apple.com>
28224
28225        Reviewed by Dan Bernstein
28226        
28227        https://bugs.webkit.org/show_bug.cgi?id=24665
28228        
28229        Image-map code in RenderImage could result in RenderImage::nodeAtPoint()
28230        setting HitTestResult::innerNode(), but returning false, which violates
28231        hit testing rules. Use a temporary HitTestResult so that we only fill in
28232        result when we know we've hit.
28233
28234        * rendering/RenderImage.cpp:
28235        (WebCore::RenderImage::nodeAtPoint):
28236
282372009-03-22  Simon Fraser  <simon.fraser@apple.com>
28238
28239        Reviewed by Dan Bernstein
28240        
28241        https://bugs.webkit.org/show_bug.cgi?id=24743
28242        
28243        Fix hit testing regression from r41840. We need to pass the temporary
28244        HitTestResult when testing sublayers, then only copy to 'result' when
28245        the layer is known to have been hit.
28246
28247        Test: fast/layers/zindex-hit-test.html
28248
28249        * rendering/RenderLayer.cpp:
28250        (WebCore::RenderLayer::hitTestLayer):
28251
282522009-03-20  Simon Fraser  <simon.fraser@apple.com>
28253
28254        Reviewed by Darin Adler
28255
28256        https://bugs.webkit.org/show_bug.cgi?id=24733
28257        
28258        Fix hit testing on video controls after full page zoom by fixing wider issue
28259        with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be
28260        invariant under zooming (for JavaScript), so we keep an actual page point around
28261        in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere.
28262
28263        * dom/MouseRelatedEvent.cpp:
28264        (WebCore::MouseRelatedEvent::initCoordinates):
28265        (WebCore::MouseRelatedEvent::computePageLocation):
28266        * dom/MouseRelatedEvent.h:
28267        (WebCore::MouseRelatedEvent::absoluteLocation):
28268        (WebCore::MouseRelatedEvent::setAbsoluteLocation):
28269        Member var, and getter and setter for absoluteLocation.
28270        New method, computePageLocation(), to compute the actual page point,
28271        and call it when creating and initting mouse-related events.
28272
28273        * dom/Node.cpp:
28274        (WebCore::Node::dispatchMouseEvent):
28275        (WebCore::Node::dispatchWheelEvent):
28276        Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation()
28277        on the event to replace a potentially rounded point.
28278        
28279        * html/HTMLInputElement.cpp:
28280        (WebCore::HTMLInputElement::defaultEventHandler):
28281        Clean up slider handling code.
28282        
28283        * html/HTMLSelectElement.cpp:
28284        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
28285        Add FIXME comment for use of offsetX/offsetY.
28286        
28287        * page/ContextMenuController.cpp:
28288        (WebCore::ContextMenuController::handleContextMenuEvent):
28289        Use absoluteLocation() when hit testing for context menus.
28290        
28291        * rendering/RenderFrameSet.cpp:
28292        (WebCore::RenderFrameSet::userResize):
28293        Use absoluteLocation() when resizing frames.
28294        
28295        * rendering/RenderMedia.cpp:
28296        (WebCore::RenderMedia::forwardEvent):
28297        Use absoluteLocation() when hit testing media controls.
28298
28299        * rendering/RenderSlider.cpp:
28300        (WebCore::HTMLSliderThumbElement::defaultEventHandler):
28301        (WebCore::RenderSlider::mouseEventIsInThumb):
28302        Use absoluteLocation() when handling slider events.
28303
28304        (WebCore::RenderSlider::forwardEvent):
28305        Factor some code out of HTMLInputElement::defaultEventHandler().
28306        
28307        * rendering/RenderTextControlSingleLine.cpp:
28308        (WebCore::RenderTextControlSingleLine::forwardEvent):
28309        Use absoluteLocation() when hit testing search field buttons, which fixees
28310        bugs in the search field with zooming.
28311
283122009-03-21  David Levin  <levin@chromium.org>
28313
28314        Reviewed by Dimitri Glazkov.
28315
28316        https://bugs.webkit.org/show_bug.cgi?id=24727
28317        Add V8XMLHttpRequest*.
28318
28319        * bindings/v8/V8XMLHttpRequestUtilities.cpp: Added.
28320        * bindings/v8/V8XMLHttpRequestUtilities.h: Added.
28321        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added.
28322        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added.
28323        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added.
28324
283252009-03-21  David Levin  <levin@chromium.org>
28326
28327        Reviewed by Dimitri Glazkov.
28328
28329        https://bugs.webkit.org/show_bug.cgi?id=24725
28330        Add V8NodeFilter.
28331
28332        * bindings/v8/V8NodeFilter.cpp: Added.
28333        * bindings/v8/V8NodeFilter.h: Added.
28334
283352009-03-21  Dan Bernstein  <mitz@apple.com>
28336
28337        Rubber-stamped by Kevin Decker
28338
28339        - remove some redundant #include statements
28340
28341        * bindings/js/JSDOMWindowBase.cpp:
28342
283432009-03-20  Dan Bernstein  <mitz@apple.com>
28344
28345        Reviewed by Mark Rowe.
28346
28347        - fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code
28348
28349        * platform/graphics/win/FontCGWin.cpp:
28350        (WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each
28351        glyph as a separate path, instead of all glyphs as a single path. This
28352        matches what CGContextShowGlyphsWithAdvances() does, and has comparable
28353        performance.
28354
283552009-03-20  Dean Jackson  <dino@apple.com>
28356
28357        Reviewed by Simon Fraser
28358
28359        Build fix for ENABLE(3D_RENDERING)
28360
28361        * rendering/RenderObject.h:
28362        (WebCore::makeMatrixRenderable):
28363
283642009-03-20  Dave Moore  <davemoore@google.com>
28365
28366        Reviewed by Dimitri Glazkov.
28367
28368        https://bugs.webkit.org/show_bug.cgi?id=24705
28369
28370        A bug in the V8 bindings is preventing chromium from setting the href on the
28371        location object...any attempt throws a security error, not just for javascript
28372        protocol
28373
28374        * page/Location.idl:
28375
283762009-03-20  Craig Schlenter  <craig.schlenter@gmail.com>
28377
28378        Reviewed by Dimitri Glazkov.
28379
28380        https://bugs.webkit.org/show_bug.cgi?id=24608
28381
28382        Include stdio.h needed for printf on gcc 4.4.0
28383
28384        * platform/KURLGoogle.cpp:
28385
283862009-03-20  Mike Belshe <mike@belshe.com>
28387
28388        Reviewed by Darin Fisher.
28389
28390        https://bugs.webkit.org/show_bug.cgi?id=24577
28391
28392        Don't let comments at the end of an event handler
28393        break the event handler.
28394
28395        No change in behavior, so no test.
28396
28397        * bindings/v8/V8LazyEventListener.cpp:
28398        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
28399
284002009-03-20  Norbert Leser  <norbert.leser@nokia.com>
28401
28402        Reviewed by Darin Adler.
28403
28404        https://bugs.webkit.org/show_bug.cgi?id=24535
28405
28406        Fixes missing line terminator character (;) after macro call.
28407        It is common practice to add the trailing ";" where macros are substituted
28408        and not where they are defined with #define.
28409        This change is consistent with other macro declarations across webkit,
28410        and it also solves compilation failure with symbian compilers. 
28411 
28412        No change in behavior, so no test.
28413
28414        * bindings/js/JSDOMWindowShell.cpp:
28415        * bindings/js/JSEventListener.cpp:
28416        * bindings/js/JSImageConstructor.cpp:
28417        * bindings/js/JSInspectedObjectWrapper.cpp:
28418        * bindings/js/JSInspectorCallbackWrapper.cpp:
28419        * bindings/js/JSNamedNodesCollection.cpp:
28420        * bindings/js/JSNodeFilterCondition.cpp:
28421        * bindings/js/JSOptionConstructor.cpp:
28422        * bindings/js/JSQuarantinedObjectWrapper.cpp:
28423        * bindings/js/JSRGBColor.cpp:
28424        * bindings/js/JSWorkerContextBase.cpp:
28425        * bindings/js/JSXMLHttpRequestConstructor.cpp:
28426        * bindings/js/JSXSLTProcessorConstructor.cpp:
28427        * bindings/scripts/CodeGeneratorJS.pm:
28428
284292009-03-20  Mike Belshe  <mike@belshe.com>
28430
28431        Reviewed by Dimitri Glazkov and Dave Hyatt.
28432
28433        https://bugs.webkit.org/show_bug.cgi?id=24324
28434
28435        Make the minimum timer configurable for different platforms.
28436
28437        * page/DOMTimer.cpp:
28438        (WebCore::DOMTimer::DOMTimer):
28439        (WebCore::DOMTimer::fired):
28440        * page/DOMTimer.h:
28441        (WebCore::DOMTimer::minTimerInterval):
28442        (WebCore::DOMTimer::setMinTimerInterval):
28443
284442009-03-20  Dean McNamee  <deanm@chromium.org>
28445
28446        Reviewed by Darin Adler.
28447
28448        https://bugs.webkit.org/show_bug.cgi?id=22834
28449
28450        Make sure to consistently match new/delete and fastMalloc/fastFree.
28451
28452        * css/CSSSelectorList.cpp:
28453        (WebCore::CSSSelectorList::adoptSelectorVector):
28454        (WebCore::CSSSelectorList::deleteSelectors):
28455
284562009-03-20  Dan Bernstein  <mitz@apple.com>
28457
28458        Reviewed by Dave Hyatt.
28459
28460        - fix https://bugs.webkit.org/show_bug.cgi?id=23739
28461          <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load
28462
28463        * rendering/RenderBlock.cpp:
28464        (WebCore::RenderBlock::percentHeightDescendants): Added this accessor.
28465        * rendering/RenderBlock.h:
28466        * rendering/RenderTableSection.cpp:
28467        (WebCore::RenderTableSection::layoutRows): Extended the check for
28468        children that flex to include other descendants with percent height
28469        which is relative to the cell.
28470
284712009-03-20  Dmitry Titov  <dimich@chromium.org>
28472
28473        Reviewed by Alexey Proskuryakov.
28474
28475        https://bugs.webkit.org/show_bug.cgi?id=24706
28476        Remove ScriptExecutionContext::encoding() since Workers do not need it.
28477        WorkerContext::encoding() is simply removed, while Document::encoding()
28478        made non-virtual and private. Workers use UTF-8 now except when instructed
28479        otherwise by http header. Also updated test.
28480
28481        * dom/Document.h: Made encoding() non-virtual and private.
28482        * dom/ScriptExecutionContext.h: removed encoding().
28483
28484        * workers/Worker.cpp:
28485        (WebCore::Worker::Worker):
28486        (WebCore::Worker::notifyFinished):
28487        * workers/WorkerContext.cpp: removed encoding() implementation.
28488        (WebCore::WorkerContext::WorkerContext):
28489        (WebCore::WorkerContext::completeURL):
28490        * workers/WorkerContext.h: removed encoding()
28491        (WebCore::WorkerContext::create):
28492        * workers/WorkerContextProxy.h:
28493        * workers/WorkerImportScriptsClient.cpp:
28494        (WebCore::WorkerImportScriptsClient::didReceiveData):
28495        * workers/WorkerMessagingProxy.cpp:
28496        (WebCore::WorkerMessagingProxy::startWorkerContext):
28497        * workers/WorkerMessagingProxy.h:
28498        * workers/WorkerThread.cpp:
28499        (WebCore::WorkerThreadStartupData::create):
28500        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
28501        (WebCore::WorkerThread::create):
28502        (WebCore::WorkerThread::WorkerThread):
28503        (WebCore::WorkerThread::workerThread):
28504        * workers/WorkerThread.h:
28505        In all these, removed storing encoding and 'inheriting' it from the parent.
28506        Instead, they are all using UTF-8 now.
28507
285082009-03-20  Timothy Hatcher  <timothy@apple.com>
28509
28510        Change how threading exceptions are checked so they are reported
28511        by what round they were added. That way WebKit can decided the
28512        behavior per-round based on linked-on-or-after checks.
28513
28514        <rdar://problem/6626741&6648478&6635474&6674079>
28515
28516        Reviewed by Darin Adler.
28517
28518        * WebCore.base.exp: Export the new symbols.
28519        * bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
28520        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
28521        * platform/ThreadCheck.h:
28522        * platform/mac/ThreadCheck.mm:
28523        (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read.
28524        (WebCore::setDefaultThreadViolationBehavior): Take a round argument.
28525        (WebCore::reportThreadViolation): Ditto.
28526        (WebCoreReportThreadViolation): Ditto.
28527
285282009-03-20  Geoffrey Garen  <ggaren@apple.com>
28529
28530        Reviewed by Sam Weinig.
28531
28532        Fixed up an out-of-date comment.
28533
28534        * bindings/js/JSDOMWindowCustom.h:
28535        (WebCore::JSDOMWindow::customPut):
28536
285372009-03-20  Beth Dakin  <bdakin@apple.com>
28538
28539        Reviewed by Dave Hyatt.
28540
28541        Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 
28542        (r35318): A press release at pfizer.com does not display correctly
28543        - and corresponding -
28544        <rdar://problem/6680073>
28545
28546        * rendering/RenderObject.cpp:
28547        (WebCore::RenderObject::invalidateContainerPrefWidths):
28548        * rendering/RenderObject.h:
28549        (WebCore::RenderObject::markContainingBlocksForLayout):
28550
285512009-03-20  Eric Seidel  <eric@webkit.org>
28552
28553        Reviewed by Justin Garcia.
28554
28555        maxDeepOffset is confusing and should be removed
28556        https://bugs.webkit.org/show_bug.cgi?id=24586
28557
28558        Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function.
28559        Add first/lastDeepEditingPositionForNode Position creation functions
28560        and deploy them to places we used to call maxDeepOffset.
28561
28562        Rename Position::atStart and atEnd to atStartOfTree atEndOfTree
28563        Add a new Position::atFirst/atLastEditingPositionForNode() and use these
28564        to replace a few more callers for maxDeepOffset()
28565        
28566        Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does)
28567
28568        "Editing positions" are confusing because they have one
28569        of two behaviors, depending on if the container node is ignored
28570        by editing (if editingIgnoresContent(node) returns true) or not.
28571        Positions referring to nodes ignored by editing are
28572        neighbor-relative (they are before or after the node) where as
28573        positions reffering to other nodes are container-relative
28574        (they are between two child nodes of the container, identified
28575        by the offset() member).  I will be fixing this confusion in
28576        future patches.  These renames hopefully make the current behavior clearer.
28577
28578        * dom/Position.cpp:
28579        (WebCore::Position::previous):
28580        (WebCore::Position::next):
28581        (WebCore::Position::atFirstEditingPositionForNode):
28582        (WebCore::Position::atLastEditingPositionForNode):
28583        (WebCore::Position::atStartOfTree):
28584        (WebCore::Position::atEndOfTree):
28585        (WebCore::Position::previousCharacterPosition):
28586        (WebCore::Position::nextCharacterPosition):
28587        (WebCore::Position::upstream):
28588        (WebCore::Position::isCandidate):
28589        (WebCore::firstDeepEditingPositionForNode):
28590        (WebCore::lastDeepEditingPositionForNode):
28591        * dom/Position.h:
28592        * dom/PositionIterator.cpp:
28593        (WebCore::PositionIterator::operator Position):
28594        (WebCore::PositionIterator::increment):
28595        (WebCore::PositionIterator::decrement):
28596        (WebCore::PositionIterator::atEnd):
28597        (WebCore::PositionIterator::atEndOfNode):
28598        * editing/CompositeEditCommand.cpp:
28599        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
28600        * editing/DeleteSelectionCommand.cpp:
28601        (WebCore::isTableCellEmpty):
28602        (WebCore::DeleteSelectionCommand::removeNode):
28603        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
28604        * editing/Editor.cpp:
28605        (WebCore::Editor::advanceToNextMisspelling):
28606        * editing/InsertLineBreakCommand.cpp:
28607        (WebCore::InsertLineBreakCommand::doApply):
28608        * editing/InsertListCommand.cpp:
28609        (WebCore::InsertListCommand::doApply):
28610        * editing/ReplaceSelectionCommand.cpp:
28611        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
28612        * editing/TypingCommand.cpp:
28613        (WebCore::TypingCommand::forwardDeleteKeyPressed):
28614        * editing/VisiblePosition.cpp:
28615        (WebCore::VisiblePosition::previous):
28616        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
28617        (WebCore::VisiblePosition::left):
28618        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
28619        (WebCore::VisiblePosition::right):
28620        * editing/VisibleSelection.cpp:
28621        (WebCore::VisibleSelection::selectionFromContentsOfNode):
28622        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
28623        * editing/htmlediting.cpp:
28624        (WebCore::nextVisuallyDistinctCandidate):
28625        (WebCore::previousVisuallyDistinctCandidate):
28626        (WebCore::firstEditablePositionAfterPositionInRoot):
28627        (WebCore::lastEditablePositionBeforePositionInRoot):
28628        (WebCore::lastOffsetForEditing):
28629        (WebCore::isFirstPositionAfterTable):
28630        (WebCore::isLastPositionBeforeTable):
28631        (WebCore::positionBeforeNode):
28632        (WebCore::positionAfterNode):
28633        (WebCore::enclosingEmptyListItem):
28634        (WebCore::caretMaxOffset):
28635        * editing/htmlediting.h:
28636        * editing/visible_units.cpp:
28637        (WebCore::renderedAsNonInlineTableOrHR):
28638        (WebCore::startOfParagraph):
28639        (WebCore::endOfParagraph):
28640        (WebCore::startOfEditableContent):
28641        (WebCore::endOfEditableContent):
28642        * page/AccessibilityObject.cpp:
28643        (WebCore::endOfStyleRange):
28644        * page/AccessibilityRenderObject.cpp:
28645        (WebCore::AccessibilityRenderObject::visiblePositionRange):
28646        * rendering/RenderBox.cpp:
28647        (WebCore::RenderBox::positionForPoint):
28648
286492009-03-20  Dmitry Titov  <dimich@chromium.org>
28650
28651        Reviewed by Dimitri Glazkov.
28652
28653        https://bugs.webkit.org/show_bug.cgi?id=24689
28654        Add (upstream) V8 bindings for Workers. Mostly style cleaning.
28655
28656        * bindings/v8/WorkerContextExecutionProxy.cpp: Added.
28657        * bindings/v8/WorkerContextExecutionProxy.h: Added.
28658        * bindings/v8/WorkerScriptController.cpp: Added.
28659        * bindings/v8/WorkerScriptController.h: Added.
28660        * bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h
28661        * bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap().
28662        * bindings/v8/V8WorkerContextEventListener.cpp:
28663        (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent()
28664
286652009-03-20  Stephen White  <senorblanco@chromium.org>
28666
28667        Reviewed by Eric Seidel.
28668
28669        Fix for LayoutTests/fast/canvas/canvas-text-alignment.html
28670        on chromium/skia.  The problem was that the gradient matrix
28671        for text was being applied twice.  Fixed by reverting some of
28672        https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText
28673        is no longer responsible for measuring the text and scaling up
28674        the gradient matrix.  Instead, the text bounding box is passed
28675        in from SVGPaintServerGradient.  I didn't make this change for CG,
28676        since it uses a different method (the gradient is drawn using the
28677        text as a pre-rendered mask).
28678        https://bugs.webkit.org/show_bug.cgi?id=24687
28679
28680        * platform/graphics/skia/SkiaFontWin.cpp:
28681        (WebCore::skiaDrawText):
28682        * svg/graphics/SVGPaintServerGradient.cpp:
28683        (WebCore::SVGPaintServerGradient::setup):
28684
286852009-03-20  Xan Lopez  <xlopez@igalia.com>
28686
28687        Rubber-stamped by Holger Freyther.
28688
28689        There seems to be some rounding error in cairo (or in how we use
28690        cairo) with some fonts, like DejaVu Sans Mono, which makes cairo
28691        report a height smaller than ascent + descent, which is wrong and
28692        confuses WebCore's layout system. Workaround this while we figure
28693        out what's going on.
28694
28695        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
28696        (WebCore::SimpleFontData::platformInit):
28697        * platform/graphics/gtk/SimpleFontDataPango.cpp:
28698        (WebCore::SimpleFontData::platformInit):
28699
287002009-03-19  Alexey Proskuryakov  <ap@webkit.org>
28701
28702        Reviewed by Darin Adler.
28703
28704        https://bugs.webkit.org/show_bug.cgi?id=24122
28705        <rdar://problem/6674179>
28706        REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests
28707
28708        Test: fast/dom/Range/deleted-range-endpoints.html
28709
28710        * dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance
28711        to the specification.
28712
287132009-03-19  Anders Carlsson  <andersca@apple.com>
28714
28715        Reviewed by Dan Bernstein.
28716
28717        <rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22)
28718        
28719        If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then
28720        that object would never be updated.
28721        
28722        * page/FrameView.cpp:
28723        (WebCore::FrameView::updateWidgets):
28724        Factor the widget updating code out into this method. Return true if the update set is empty.
28725        
28726        (WebCore::FrameView::performPostLayoutTasks):
28727        Loop over the update set multiple times until all widgets have been updated or until we reach the cap.
28728        
28729        * page/FrameView.h:
28730
287312009-03-18  Timothy Hatcher  <timothy@apple.com>
28732
28733        Make the defered data loading timer honor the Page's scheduled runloop pairs.
28734        Introduces a new RunLoopTimer class that has an API mimicking Timer but
28735        allows it to be scheduled with one or more SchedulePairs.
28736
28737        <rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers
28738
28739        Reviewed by Darin Adler.
28740
28741        * WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files.
28742        * loader/MainResourceLoader.cpp:
28743        (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef.
28744        (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on
28745        Mac platforms also schedule with the Page's SchedulePairs.
28746        (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer().
28747        (WebCore::MainResourceLoader::setDefersLoading): Ditto.
28748        * loader/MainResourceLoader.h:
28749        * platform/cf/RunLoopTimerCF.cpp: Added.
28750        (WebCore::RunLoopTimerBase::~RunLoopTimerBase):
28751        (WebCore::timerFired):
28752        (WebCore::RunLoopTimerBase::start):
28753        (WebCore::RunLoopTimerBase::schedule):
28754        (WebCore::RunLoopTimerBase::stop):
28755        (WebCore::RunLoopTimerBase::isActive):
28756        * platform/RunLoopTimer.h: Added.
28757        (WebCore::RunLoopTimerBase::RunLoopTimerBase):
28758        (WebCore::RunLoopTimerBase::startRepeating):
28759        (WebCore::RunLoopTimerBase::startOneShot):
28760        (WebCore::RunLoopTimer::RunLoopTimer):
28761        (WebCore::RunLoopTimer::fired):
28762
287632009-03-19  Dimitri Glazkov  <dglazkov@chromium.org>
28764
28765        Reviewed by Darin Fisher.
28766
28767        https://bugs.webkit.org/show_bug.cgi?id=24702
28768        Upstream miscellaneous bindings changes.
28769
28770        * bindings/v8/ScheduledAction.cpp:
28771        (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate.
28772        * bindings/v8/ScriptCallStack.h: Added an extra include.
28773
287742009-03-19  Simon Fraser  <simon.fraser@apple.com>
28775
28776        Reviewed by Dave Hyatt
28777
28778        https://bugs.webkit.org/show_bug.cgi?id=24686
28779        
28780        When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy,
28781        we need to compare the computed z-offset with the depth-test z-offset before
28782        deciding that such a RenderLayer was hit. This fixes an issue, tested by the
28783        3d-point-mapping-overlapping.html test, where the child of a transformed element
28784        is found by hit testing, even when some other element with greater Z overlaps
28785        them both.
28786        
28787        Improved the code by adding a utility method, isHitCandidate(), which computes and tests
28788        z-depth when necessary.
28789
28790        Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html
28791               transforms/3d/point-mapping/3d-point-mapping-overlapping.html
28792
28793        * rendering/RenderLayer.cpp:
28794        (WebCore::isHitCandidate):
28795        (WebCore::RenderLayer::hitTestLayer):
28796
287972009-03-19  Jeremy Moskovich  <jeremy@chromium.org>
28798
28799        Reviewed by Dimitri Glazkov.
28800
28801        https://bugs.webkit.org/show_bug.cgi?id=24456
28802        Split ColorChromium.cpp into Mac & Windows variants.
28803        Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we
28804        ultimately need to take a different approach.  For now, createCGColor()
28805        is copied from ColorMac.mm.
28806
28807        No observable change in behavior, so no test.
28808
28809        * platform/graphics/chromium/ColorChromium.cpp:
28810        (WebCore::focusRingColor):
28811        * platform/graphics/chromium/ColorChromiumMac.mm: Added.
28812
288132009-03-19  Pavel Feldman  <pfeldman@chromium.org>
28814
28815        Reviewed by Dimitri Glazkov.
28816
28817        https://bugs.webkit.org/show_bug.cgi?id=24675
28818        Unforking frontend: add custom InspectorController methods
28819        implementation.
28820
28821        * bindings/v8/custom/V8InspectorControllerCustom.cpp: Added.
28822
288232009-03-19  Jay Campan  <jcampan@google.com>
28824
28825        Reviewed by Dimitri Glazkov.
28826
28827        https://bugs.webkit.org/show_bug.cgi?id=24625
28828        Adding an accessor to the currently selected index in the PopupMenuChromium.
28829        This is required for implementing the deletion of an autocomplete entry in Chromium.
28830
28831        * platform/chromium/PopupMenuChromium.cpp:
28832        (WebCore::PopupContainer::selectedIndex):
28833        * platform/chromium/PopupMenuChromium.h:
28834
288352009-03-19  Evan Stade  <estade@chromium.org>
28836
28837        Reviewed by Dimitri Glazkov.
28838
28839        https://bugs.webkit.org/show_bug.cgi?id=24526
28840        Improve windows skia text stroking.
28841
28842        Test: LayoutTests/svg/custom/struct-use-09-b.svg
28843
28844        * platform/graphics/skia/SkiaFontWin.cpp: Close the path representing
28845        each font glyph polygon, rather than only closing the path once per
28846        letter. This fixes stroking for letters with multiple polygons, such
28847        as 'A' or 'D'.
28848        (WebCore::getPathForGlyph):
28849        (WebCore::skiaDrawText):
28850
288512009-03-19  Simon Hausmann  <simon.hausmann@nokia.com>
28852
28853        Reviewed by Tor Arne Vestbø.
28854
28855        Fixed support for doing calls from JavaScript into NPAPI Plugins for the Qt port on Windows.
28856
28857        Removed dead code for distinguishing between Widget and PluginView in the Qt port.
28858
28859        * bindings/js/ScriptControllerQt.cpp:
28860        (WebCore::ScriptController::createScriptInstanceForWidget): Removed incorrect isNPAPI check.
28861        * plugins/PluginView.cpp:
28862        (WebCore::PluginView::PluginView): Removed m_isNPAPIPlugin variable.
28863        * plugins/PluginView.h: Removed setter/getter.
28864        * plugins/mac/PluginViewMac.cpp:
28865        (WebCore::PluginView::init): Removed call to setIsNPAPIPlugin.
28866        * plugins/qt/PluginViewQt.cpp:
28867        (WebCore::PluginView::init): Ditto.
28868
288692009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
28870
28871        Reviewed by Oliver Hunt.
28872
28873        Bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage
28874        <https://bugs.webkit.org/show_bug.cgi?id=24596>
28875        <rdar://problem/6686493>
28876
28877        JSDOMWindow::customGetOwnPropertySlot() does an access check after calling
28878        JSGlobalObject::getOwnPropertySlot(). This causes the PropertySlot to be
28879        set twice, once to the value that is illegal to access, and then to undefined
28880        This causes an assertion failure in property access caching code.
28881
28882        The fix is to do the access check before calling JSGlobalObject::getOwnPropertySlot().
28883
28884        * bindings/js/JSDOMWindowCustom.h:
28885        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
28886
288872009-03-18  Alexey Proskuryakov  <ap@webkit.org>
28888
28889        Reviewed by Sam Weinig.
28890
28891        https://bugs.webkit.org/show_bug.cgi?id=24676
28892        Simple cross-origin requests shouldn't dispatch upload progress events
28893
28894        Test: http/tests/xmlhttprequest/simple-cross-origin-progress-events.html
28895
28896        * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): Added a comment
28897        explaining the somewhat unexpected behavior of this function.
28898
28899        * xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::hasListeners):
28900        * xml/XMLHttpRequestUpload.h:
28901        Report whether there are any event listeners registered.
28902
28903        * xml/XMLHttpRequest.h: Added m_uploadEventsAllowed.
28904
28905        * xml/XMLHttpRequest.cpp:
28906        (WebCore::XMLHttpRequest::createRequest): Set m_uploadEventsAllowed flag.
28907        (WebCore::XMLHttpRequest::makeSameOriginRequest): Ditto.
28908        (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): Ditto.
28909        (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Set request body - it can be
28910        non-empty for POST requests.
28911        (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): Set m_uploadEventsAllowed flag.
28912        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): Ditto.
28913        (WebCore::XMLHttpRequest::abort): Only dispatch upload progress events if allowed.
28914        (WebCore::XMLHttpRequest::networkError): Ditto.
28915        (WebCore::XMLHttpRequest::abortError): Ditto.
28916        (WebCore::XMLHttpRequest::didSendData): Ditto.
28917
289182009-03-18  Marc-Antoine Ruel  <maruel@chromium.org>
28919
28920        Reviewed by Darin Fisher.
28921
28922        https://bugs.webkit.org/show_bug.cgi?id=24398
28923        Fix a crash when loading a svg file in Chromium's test_shell and
28924        then reloading the page.
28925
28926        * history/BackForwardListChromium.cpp:
28927        (WebCore::BackForwardList::BackForwardList):
28928        (WebCore::BackForwardList::close):
28929
289302009-03-18  Eric Carlson  <eric.carlson@apple.com>
28931
28932        Reviewed by Simon Fraser.
28933
28934        Fix for <rdar://problem/6685235>
28935        <video> element poster cannot be set dynamically if not originally set up in HTML
28936        
28937        Allocate the media engine immediately so the plug-in proxy is available for
28938        scripting right away.
28939
28940        * platform/graphics/MediaPlayer.cpp:
28941        (WebCore::MediaPlayer::MediaPlayer):
28942
289432009-03-18  Beth Dakin  <bdakin@apple.com>
28944
28945        Reviewed by Dave Hyatt.
28946
28947        Fix for <rdar://problem/6636747> REGRESSION (Safari 4 PB-r41326): 
28948        Popup menu appears at the wrong location on page at http://
28949        www.signonsandiego.com/
28950
28951        This was a regression from http://trac.webkit.org/changeset/40769, 
28952        which changed the base class of RenderInline to 
28953        RenderBoxModelObject rather than RenderBox.
28954
28955        * rendering/RenderObject.cpp:
28956        (WebCore::RenderObject::offsetParent): offsetParent should return a 
28957        RenderBoxModelObject rather than just a RenderBox, which is more 
28958        restrictive. 
28959
289602009-03-18  Anders Carlsson  <andersca@apple.com>
28961
28962        Reviewed by Darin Adler.
28963
28964        <rdar://problem/6504776> 
28965        CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
28966
28967        Return early in case calling the client ends up spinning the run loop and completing/cancelling the load.
28968        
28969        * loader/NetscapePlugInStreamLoader.cpp:
28970        (WebCore::NetscapePlugInStreamLoader::didCancel):
28971
289722009-03-18  David Levin  <levin@chromium.org>
28973
28974        Reviewed by Dimitri Glazkov.
28975
28976        https://bugs.webkit.org/show_bug.cgi?id=24664
28977        Upstreaming v8 collection.h
28978
28979        No change in behavior, so no test.
28980
28981        * bindings/v8/V8Collection.h: Added.
28982
289832009-03-18  Sam Weinig  <sam@webkit.org>
28984
28985        Reviewed by Simon Fraser.
28986
28987        Fix for https://bugs.webkit.org/show_bug.cgi?id=23966
28988        REGRESSION: Custom arrow navigation functionality doesn't work at dropular.net
28989        <rdar://problem/6589657>
28990
28991        Match the CSSOM spec for getClientRects and getBoundingClientRect by
28992        returning a 0x0 rect at the correct top/left position for empty inline
28993        boxes.
28994
28995        * rendering/RenderInline.cpp:
28996        (WebCore::RenderInline::absoluteRects):
28997        (WebCore::RenderInline::absoluteQuads):
28998
289992009-03-18  David Levin  <levin@chromium.org>
29000
29001        Reviewed by Eric Seidel.
29002
29003        Match the changes done for windows in the bug
29004        https://bugs.webkit.org/show_bug.cgi?id=24530.
29005
29006        No change in behavior, so no test.
29007
29008        * rendering/RenderThemeChromiumLinux.cpp:
29009        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
29010
290112009-03-18  Dirk Schulze  <krit@webkit.org>
29012
29013        Reviewed by Holger Freyther.
29014
29015        Added support for SVG's stroked texts to Qt.
29016
29017        [Qt] SVGs stroked text support missing
29018        https://bugs.webkit.org/show_bug.cgi?id=24262
29019
29020        * platform/graphics/qt/FontQt.cpp:
29021        (WebCore::Font::drawComplexText):
29022
290232009-03-18  Mark Rowe  <mrowe@apple.com>
29024
29025        Reviewed by Alexey Proskuryakov.
29026
29027        Fix fast/encoding/char-decoding.html with recent ICU.
29028
29029        * platform/text/TextCodecICU.cpp:
29030        (WebCore::TextCodecICU::decode): Look for gb18030 case-insensitively,
29031        as newer versions of ICU use GB18030 as the canonical name.
29032
290332009-03-17  David Levin  <levin@chromium.org>
29034
29035        Reviewed by Dimitri Glazkov.
29036
29037        https://bugs.webkit.org/show_bug.cgi?id=24662
29038        Chromium build fixes.
29039
29040        Bug https://bugs.webkit.org/show_bug.cgi?id=24663 tracks
29041        the invalid implementation of ScriptCallStack.
29042
29043        No change in behavior, so no test.
29044
29045        * bindings/v8/ScriptCallStack.h:
29046        (WebCore::ScriptCallStack::state):
29047        * platform/graphics/skia/PlatformContextSkia.cpp:
29048        (PlatformContextSkia::drawRect):
29049
290502009-03-17  David Carson  <dacarson@apple.com>
29051
29052        Reviewed by David Hyatt.
29053
29054        Add anchor elements to the simple style sheet so that applications that 
29055        are using WebKit just for simple text and links will also take advantage
29056        of the fast path.
29057
29058        * css/CSSStyleSelector.cpp:
29059        (WebCore::elementCanUseSimpleDefaultStyle):
29060
290612009-03-17  Darin Adler  <darin@apple.com>
29062
29063        Reviewed by Adele Peterson.
29064
29065        <rdar://problem/6687005> Need support for new move-left/right selectors.
29066
29067        * editing/EditorCommand.cpp:
29068        (WebCore::executeMoveToLeftEndOfLine): Added.
29069        (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Added.
29070        (WebCore::executeMoveToRightEndOfLine): Added.
29071        (WebCore::executeMoveToRightEndOfLineAndModifySelection): Added.
29072        Added command entries for the functions above.
29073
290742009-03-17  Ojan Vafai  <ojan@chromium.org>
29075
29076        Reviewed by Adele Peterson.
29077
29078        Put the padding inside scrollbars on textareas.
29079        https://bugs.webkit.org/show_bug.cgi?id=24370
29080        
29081        Put the padding inside the scrollbars on textareas. This is done by moving the
29082        overflow from the shadowNode to the RenderTextControlMultiline. As a result,
29083        all of the scroll handing methods that RenderTextControl overrides can be moved
29084        down into RenderTextControlSingleLine since RenderTextControlMultiline can now
29085        just use RenderBlock's versions. This also allows RenderTextControlMultiLine to
29086        no longer need a custom layout method since the shadowNode can now just size
29087        like a regular DIV.
29088
29089        * css/CSSStyleSelector.cpp:
29090        (WebCore::CSSStyleSelector::adjustRenderStyle):
29091        * rendering/RenderTextControl.cpp:
29092        (WebCore::RenderTextControl::styleDidChange):
29093        (WebCore::RenderTextControl::selection):
29094        (WebCore::RenderTextControl::calcHeight):
29095        (WebCore::RenderTextControl::hitInnerTextElement):
29096        * rendering/RenderTextControl.h:
29097        * rendering/RenderTextControlMultiLine.cpp:
29098        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
29099        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
29100        * rendering/RenderTextControlMultiLine.h:
29101        * rendering/RenderTextControlSingleLine.cpp:
29102        (WebCore::RenderTextControlSingleLine::styleDidChange):
29103        (WebCore::RenderTextControlSingleLine::autoscroll):
29104        (WebCore::RenderTextControlSingleLine::scrollWidth):
29105        (WebCore::RenderTextControlSingleLine::scrollHeight):
29106        (WebCore::RenderTextControlSingleLine::scrollLeft):
29107        (WebCore::RenderTextControlSingleLine::scrollTop):
29108        (WebCore::RenderTextControlSingleLine::setScrollLeft):
29109        (WebCore::RenderTextControlSingleLine::setScrollTop):
29110        (WebCore::RenderTextControlSingleLine::scroll):
29111        * rendering/RenderTextControlSingleLine.h:
29112        * rendering/TextControlInnerElements.cpp:
29113        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
29114        (WebCore::RenderTextControlInnerBlock::positionForPoint):
29115        (WebCore::TextControlInnerTextElement::createRenderer):
29116
291172009-03-17  Darin Adler  <darin@apple.com>
29118
29119        Reviewed by David Hyatt.
29120
29121        Bug 24517: REGRESSION (r41552): innerHTML does an updateLayout -- unneeded and can be slow
29122        https://bugs.webkit.org/show_bug.cgi?id=24517
29123
29124        * editing/DeleteButtonController.cpp:
29125        (WebCore::DeleteButtonController::enable): Added a call to updateRendering, since
29126        determining whether to display the delete button involves style and updateRendering
29127        also updates style (should probably be named updateStyle, in fact). Not needed to fix
29128        this bug, but would have prevented the crash that led to this bug in the first place.
29129
29130        * editing/EditCommand.cpp:
29131        (WebCore::EditCommand::EditCommand): Get rid of unneeded null check. All frames have
29132        delete button controllers.
29133        * editing/Editor.cpp:
29134        (WebCore::Editor::rangeForPoint): Ditto.
29135
29136        * editing/markup.cpp:
29137        (WebCore::appendStartMarkup): Changed a "&" to a "&&" so that generating markup
29138        doesn't depend on renderers at all when the convertBlocksToInlines boolean is false.
29139        This allows us to omit the call to updateLayoutIgnorePendingStylesheets in the
29140        createMarkup function that's called by innerHTML.
29141        (WebCore::MarkupAccumulator::appendMarkup): Turned this into a class with a member
29142        function. Added a feature where the accumulator will skip a node. Moved arguments
29143        that don't change during recursion into an object. This function still is a bit
29144        inefficient, since it creates a new HashMap at every level as it recurses, but for now
29145        I did not tackle that. Also replaced the onlyIncludeChildren boolean with EChildrenOnly
29146        for consistency and clarity.
29147        (WebCore::createMarkup): Removed the call to updateLayoutIgnorePendingStylesheets.
29148        Instead of calling disable/enable on the delete button controller's container element,
29149        pass it in to the markup accumulator as a node to skip.
29150
291512009-03-17  Scott Violet  <sky@google.com>
29152
29153        Reviewed by Eric Seidel.
29154
29155        https://bugs.webkit.org/show_bug.cgi?id=24651
29156        Skia does not always render text fill/stroke pattern/gradient/color correctly
29157
29158        Changes Skia's font rendering to only render gradient/pattern if current
29159        color space indicates the gradient/pattern should be used.
29160        This is covered by LayoutTests/fast/canvas/canvas-text-alignment.html .
29161    
29162        * platform/graphics/GraphicsContext.cpp:
29163        (WebCore::GraphicsContext::strokeColorSpace):
29164        (WebCore::GraphicsContext::fillColorSpace):
29165        * platform/graphics/GraphicsContext.h:
29166        (WebCore::):
29167        * platform/graphics/GraphicsContextPrivate.h:
29168        * platform/graphics/skia/SkiaFontWin.cpp:
29169        (WebCore::paintSkiaText):
29170
291712009-03-17  Adele Peterson  <adele@apple.com>
29172
29173        Reviewed by Darin Adler.
29174
29175        Fix for https://bugs.webkit.org/show_bug.cgi?id=24655
29176        <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message
29177
29178        Test: editing/inserting/6633727.html
29179
29180        This changes does a few things:
29181        1) Renames pos to insertionPosition.
29182        2) Eliminates "startNode".  It doesn't work well to consider the node separately from the insertionPosition.  
29183           The insertionPosition gets updated at various times, and it seems likely that startNode can get out of sync.
29184        3) Before building up a list of ancestors to move around when we insert the new block, make sure to use the deepest
29185           representation of the insertionPosition, so all ancestor nodes are correctly included.
29186
29187        * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
29188
291892009-03-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
29190
29191        Reviewed by Kevin Ollivier.
29192
29193        https://bugs.webkit.org/show_bug.cgi?id=24115
29194        Introduce platform independent stubs for plugins.
29195
29196        * plugins/PluginDataNone.cpp: Copied from WebCore/plugins/wx/PluginDataWx.cpp.
29197        * plugins/PluginPackageNone.cpp: Copied from WebCore/plugins/wx/PluginPackageWx.cpp.
29198        * plugins/PluginViewNone.cpp: Copied from WebCore/plugins/wx/PluginViewWx.cpp.
29199        * plugins/wx/PluginDataWx.cpp: Removed.
29200        * plugins/wx/PluginPackageWx.cpp: Removed.
29201        * plugins/wx/PluginViewWx.cpp: Removed.
29202        * webcore-wx.bkl:
29203
292042009-03-17  Darin Adler  <darin@apple.com>
29205
29206        Earlier version reviewed by Adele Peterson.
29207
29208        Bug 24304: REGRESSION (r39864): Hitting the space bar to select an <input type=radio>
29209        or push an <input type=button> or <button> causes the page to scroll down.
29210
29211        Would be best to add a regression test for Windows eventually; tested that this has
29212        no effect on the Mac OS X platform.
29213
29214        * html/HTMLInputElement.cpp:
29215        (WebCore::HTMLInputElement::defaultEventHandler): Added FIXMEs and tweaked formatting.
29216        Use the code that calls the base class's defaultEventHandler early only in the cases
29217        where it's needed: keydown and keypress events in text fields. In other cases, do the
29218        more typical thing and call the default handler only at the end of the function.
29219        This function already had code to make sure the keypress event for space never gets
29220        through, but it was running too late since the scrolling code was moved into the
29221        base class default event handler.
29222
292232009-03-17  Simon Fraser  <simon.fraser@apple.com>
29224
29225        Reviewed by Dave Hyatt
29226
29227        https://bugs.webkit.org/show_bug.cgi?id=24632
29228
29229        Fix repaint issues when composited layers come and go (only applies
29230        when ACCELERATED_COMPOSITING is turned on).
29231        
29232        * rendering/RenderLayer.cpp:
29233        (WebCore::RenderLayer::RenderLayer):
29234        * rendering/RenderLayer.h:
29235        (WebCore::RenderLayer::mustOverlayCompositedLayers):
29236        (WebCore::RenderLayer::setMustOverlayCompositedLayers):
29237        * rendering/RenderLayerBacking.cpp:
29238        (WebCore::RenderLayerBacking::RenderLayerBacking):
29239        * rendering/RenderLayerBacking.h:
29240
29241        Move what used to be the 'forceCompositingLayer' flag from RenderLayerBacking
29242        to RenderLayer, because we don't want the side-effects of creating RenderLayerBacking
29243        when setting this flag.
29244        
29245        * rendering/RenderLayerCompositor.cpp:
29246        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
29247        When a RenderLayer flips into or out of compositing mode, compute a repaint
29248        rect relative to the containerForRepaint, and repaint it.
29249        
29250        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
29251        Call layer->setMustOverlayCompositedLayers() rather than setForcedCompositingLayer().
29252        
29253        (WebCore::RenderLayerCompositor::needsToBeComposited):
29254        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
29255        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
29256        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
29257        * rendering/RenderLayerCompositor.h:
29258        
29259        Rename requiresCompositingLayerForTransform() to requiresCompositingForTransform()
29260        and make it a class static method to match requiresCompositingForAnimation(). Both
29261        now take RenderObjects, rathern than RenderLayers.
29262        
29263        * rendering/style/RenderStyle.h:
29264        (WebCore::InheritedFlags::hasTransformRelatedProperty):
29265        Minor tidyup using convenience methods added in an earlier commit.
29266
292672009-03-17  Simon Fraser  <simon.fraser@apple.com>
29268
29269        Reviewed by Darin Adler
29270
29271        https://bugs.webkit.org/show_bug.cgi?id=24396
29272
29273        * config.h:
29274        Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now, and add some
29275        comments to make the #ifdefs more readable.
29276
29277        * css/CSSComputedStyleDeclaration.cpp:
29278        (WebCore::computedTransform):
29279        Add a comment to mention that we don't flatten the matrix.
29280        
29281        * css/MediaQueryEvaluator.cpp:
29282        (WebCore::transform_3dMediaFeatureEval):
29283        Have the 'transform-3d' media query evaluate to 'true' if 3d-rendering
29284        is supported.
29285        
29286        * platform/graphics/mac/GraphicsLayerCA.mm:
29287        (WebCore::GraphicsLayerCA::animateTransform):
29288        No need for the #ifdef here. If we don't support 3d, we will have already flattened
29289        the matrix.
29290        
29291        * platform/graphics/transforms/TransformationMatrix.cpp:
29292        (WebCore::TransformationMatrix::makeAffine):
29293        * platform/graphics/transforms/TransformationMatrix.h:
29294        New method to convert the matrix to an affine matrix by throwing a way the non-affine
29295        parts.
29296        
29297        * rendering/RenderLayer.cpp:
29298        (WebCore::RenderLayer::updateTransform):
29299        (WebCore::RenderLayer::currentTransform):
29300        * rendering/RenderLayerBacking.cpp:
29301        (WebCore::RenderLayerBacking::updateLayerTransform):
29302        If 3d rendering is not supported, convert the matrix to an affine matrix
29303        which can be rendered, and used for hit testing.
29304        
29305        * rendering/RenderLayerCompositor.cpp:
29306        Change the name of the exported symbol that webkitdirs.pm uses to know if
29307        3d rendering is supported. There is no other 3d-rendering-specific symbol we can sniff.
29308        
29309        * rendering/RenderObject.cpp:
29310        (WebCore::RenderObject::transformFromContainer):
29311        Only take perspective into account if 3d rendering is supported.
29312
29313        * rendering/RenderObject.h:
29314        (WebCore::makeMatrixRenderable):
29315        Utility method that flattens a matrix if 3d rendering is not supported.
29316
293172009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
29318
29319        wx build fix. Fix typo after mouse wheel changes.
29320
29321        * platform/wx/MouseWheelEventWx.cpp:
29322        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
29323
293242009-03-17  Darin Adler  <darin@apple.com>
29325
29326        * inspector/ConsoleMessage.cpp:
29327        (WebCore::ConsoleMessage::isEqual): Fix build, remove stray parenthesis.
29328
293292009-03-17  Darin Adler  <darin@apple.com>
29330
29331        Fix crash seen right away when running run-webkit-tests.
29332
29333        * inspector/ConsoleMessage.cpp:
29334        (WebCore::ConsoleMessage::isEqual): Restore assertion to its behavior pre-refactoring.
29335        Also tweaked formatting a bit.
29336
293372009-03-17  Alexey Proskuryakov  <ap@webkit.org>
29338
29339        Reviewed by Darin Adler.
29340
29341        HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so 
29342        it doesn't need to zero it out before calling.
29343
29344        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line.
29345
293462009-03-17  Dan Bernstein  <mitz@apple.com>
29347
29348        Reviewed by Adam Roben.
29349
29350        - WebCore part of adding a mechanism for controlling the caching of
29351          responses through WebFrameLoaderClient
29352
29353        Mac already has such a mechanism, and this adds one for CFNetwork ports.
29354
29355        * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h
29356        and ResourceLoaderCFNet.cpp.
29357
29358        * loader/EmptyClients.h:
29359        (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an
29360        implementation that always returns true.
29361
29362        * loader/FrameLoaderClient.h: Declared shouldCacheResponse().
29363
29364        * loader/ResourceLoader.h: Ditto.
29365
29366        * loader/cf/ResourceLoaderCFNet.cpp: Added.
29367        (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to
29368        FrameLoaderClient::shouldCacheResponse().
29369
29370        * platform/network/ResourceHandleClient.h:
29371        (WebCore::ResourceHandleClient::shouldCacheResponse): Added an
29372        implementation that always returns true.
29373
29374        * platform/network/cf/ResourceHandleCFNet.cpp:
29375        (WebCore::willCacheResponse): Added a call to
29376        ResourceHandleClient::shouldCacheResponse(). If the client returns
29377        false, return 0, which will prevent CFNetwork from caching the response.
29378
293792009-03-17  Alexey Proskuryakov  <ap@webkit.org>
29380
29381        Reviewed by Darin Adler.
29382
29383        https://bugs.webkit.org/show_bug.cgi?id=13287
29384        Cannot change SELECT to a dynamically created option
29385
29386        Tests: fast/forms/add-and-remove-option.html
29387               fast/forms/add-remove-option-modification-event.html
29388               fast/forms/add-selected-option.html
29389               fast/forms/select-cache-desynchronization.html
29390
29391        * dom/ContainerNode.cpp:
29392        (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when
29393        dispatching DOMSubtreeModified again, but the version should be incremented for event
29394        listeners to have an up to date view of the DOM.
29395        (WebCore::dispatchChildRemovalEvents): Ditto.
29396
29397        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree):
29398        Make sure that the select element knows about its new selected option.
29399
29400        * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(),
29401        because DOM also needs to be updated for forms that are not in document yet. Similar
29402        problems exist for node removing, but removedFromTree() is called at a wrong time, so
29403        those problems cannot be fixed without deeper refactoring.
29404
29405        * html/HTMLSelectElement.cpp:
29406        (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it
29407        doesn't make sense to keep the anchor after programmatically changing the selection, and
29408        keeping it was causing a failure in fast/forms/listbox-selection.html.
29409
29410        * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called
29411        base class versions.
29412
294132009-03-17  Steve Falkenburg  <sfalken@apple.com>
29414
29415        <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes
29416        
29417        Reviewed by Darin Adler.
29418
29419        * loader/FTPDirectoryDocument.cpp:
29420        (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it.
29421
294222009-03-16  David Hyatt  <hyatt@apple.com>
29423
29424        <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/
29425
29426        Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over
29427        layers that don't paint themselves.  This is done by adding a new enclosingSelfPaintingLayer method
29428        so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint
29429        themselves.
29430
29431        Reviewed by Darin Adler.
29432
29433        Added fast/block/float/overlapping-floats-with-overflow-hidden.html
29434
29435        * WebCore.base.exp:
29436        * rendering/RenderBlock.cpp:
29437        (WebCore::RenderBlock::addOverhangingFloats):
29438        * rendering/RenderObject.cpp:
29439        (WebCore::RenderObject::enclosingSelfPaintingLayer):
29440        * rendering/RenderObject.h:
29441
294422009-03-17  Xan Lopez  <xlopez@igalia.com>
29443
29444        Reviewed by Holger Freyther.
29445
29446        https://bugs.webkit.org/show_bug.cgi?id=24592
29447        [GTK] Crash in FcPatternHash
29448
29449        Style fixes.
29450
29451        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
29452        (WebCore::FontPlatformData::operator=):
29453        * platform/graphics/gtk/FontPlatformDataPango.cpp:
29454
294552009-03-17  Xan Lopez  <xlopez@igalia.com>
29456
29457        Reviewed by Holger Freyther.
29458
29459        https://bugs.webkit.org/show_bug.cgi?id=24592
29460        [GTK] Crash in FcPatternHash
29461
29462        Sanitize memory management in pango fonts.
29463
29464        Release memory allocated by FontPlatformDataPango in its own
29465        destructor instead of doing it from other classes, and add copy
29466        constructor and '=' operator to be able to track referenced
29467        objects properly.
29468
29469        * platform/graphics/gtk/FontPlatformDataPango.cpp:
29470        (WebCore::FontPlatformData::~FontPlatformData):
29471        (WebCore::FontPlatformData::operator=):
29472        (WebCore::FontPlatformData::FontPlatformData):
29473        * platform/graphics/gtk/SimpleFontDataPango.cpp:
29474
294752009-03-17  Darin Adler  <darin@apple.com>
29476
29477        Reviewed by Alexey Proskuryakov.
29478
29479        Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>,
29480        seen with inspector, which uses adoptNode
29481        https://bugs.webkit.org/show_bug.cgi?id=24624
29482        rdar://problem/6422850
29483
29484        Test: fast/dom/HTMLImageElement/image-load-cross-document.html
29485
29486        * dom/Document.cpp:
29487        (WebCore::Document::Document): Removed m_imageLoadEventTimer.
29488        (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and
29489        m_imageLoadEventDispatchingList.
29490        (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents
29491        instead of dispatchImageLoadEventsNow.
29492
29493        * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon,
29494        dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList,
29495        m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired.
29496
29497        * loader/ImageLoader.cpp:
29498        (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender
29499        object used privately as the target of the load event timer.
29500        (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent
29501        rather than Document::removeImage.
29502        (WebCore::ImageLoader::setImage): Use m_element directly, not element().
29503        (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable
29504        document instead of doc.
29505        (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon
29506        rather than Document::dispatchImageLoadEventSoon.
29507        (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic
29508        about when load events can be dispatched so that dispatchLoadEvent only has to
29509        have the specific part for each derived class. This includes a check that the
29510        document is attached, which used to be handled by having documents empty out the
29511        image load event vectors in the detach function.
29512        (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate
29513        function on the ImageLoadEventSender, which avoids the need to have that class be
29514        public in the ImageLoader header.
29515        (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that
29516        was previously in the Document constructor.
29517        (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that
29518        was previously in Document::dispatchImageLoadEventSoon.
29519        (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was
29520        previously in Document::removeImage.
29521        (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code
29522        that was previously in Document::dispatchImageLoadEventsNow.
29523        (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents.
29524
29525        * loader/ImageLoader.h: Improved comments. Made the virtual functions private
29526        or protected rather than public. Added static dispatchPendingLoadEvents function
29527        for use by Document and private dispatchPendingLoadEvent function for use by
29528        ImageLoadEventSender. Made setLoadingImage private and eliminated
29529        setHaveFiredLoadEvent since that can all be done inside the class without any
29530        member functions.
29531
29532        * html/HTMLImageLoader.cpp:
29533        (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a
29534        load event already fired and whether image() is 0. These are now both base class
29535        responsibilities.
29536        * svg/SVGImageLoader.cpp:
29537        (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto.
29538        * wml/WMLImageLoader.cpp:
29539        (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto.
29540
295412009-03-17  Dimitri Glazkov  <dglazkov@chromium.org>
29542
29543        Reviewed by Timothy Hatcher.
29544
29545        https://bugs.webkit.org/show_bug.cgi?id=24623
29546        Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC
29547        dependencies.
29548
29549        * bindings/js/ScriptFunctionCall.cpp:
29550        (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods.
29551        * bindings/js/ScriptFunctionCall.h:
29552        * bindings/js/ScriptObjectQuarantine.cpp:
29553        (WebCore::quarantineValue): Added generic ScriptValue quarantine helper.
29554        * bindings/js/ScriptObjectQuarantine.h:
29555        * bindings/js/ScriptValue.cpp:
29556        (WebCore::ScriptValue::isEqual): Added.
29557        * bindings/js/ScriptValue.h:
29558        * inspector/ConsoleMessage.cpp:
29559        (WebCore::ConsoleMessage::ConsoleMessage):
29560        (WebCore::ConsoleMessage::addToConsole): Added.
29561        (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual.
29562        * inspector/ConsoleMessage.h:
29563        (WebCore::ConsoleMessage::incrementCount): Added.
29564        * inspector/InspectorController.cpp:
29565        (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole.
29566        (WebCore::InspectorController::populateScriptObjects): Ditto.
29567        * inspector/InspectorController.h:
29568
295692009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
29570
29571        Reviewed by Mark Rowe.
29572
29573        Get BUILDING_ON_* defines from Platform.h.
29574        
29575        https://bugs.webkit.org/show_bug.cgi?id=24630
29576
29577        * WebCorePrefix.h:
29578
295792009-03-16  Xan Lopez  <xlopez@igalia.com>
29580
29581        Reviewed by Holger Freyther.
29582
29583        https://bugs.webkit.org/show_bug.cgi?id=24592
29584        [GTK] Crash in FcPatternHash
29585
29586        Sanitize memory management in gtk fonts.
29587
29588        Release memory allocated by FontPlatformDataGtk in its own
29589        destructor instead of doing it from other classes, and add copy
29590        constructor and '=' operator to be able to track referenced
29591        objects properly.
29592
29593        * platform/graphics/gtk/FontPlatformData.h:
29594        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
29595        (WebCore::FontPlatformData::operator=):
29596        (WebCore::FontPlatformData::FontPlatformData):
29597        (WebCore::FontPlatformData::~FontPlatformData):
29598        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
29599        (WebCore::SimpleFontData::platformDestroy):
29600
296012009-03-17  Ariya Hidayat  <ariya.hidayat@nokia.com>
29602
29603        Build fix for Qt < 4.5.
29604
29605        As reported by Yael Aharon  <yael.aharon@nokia.com>
29606
29607        * platform/graphics/qt/GraphicsContextQt.cpp:
29608        (WebCore::GraphicsContext::drawLine):
29609
296102009-03-17  Alexey Proskuryakov  <ap@webkit.org>
29611
29612        Reviewed by Sam Weinig.
29613
29614        https://bugs.webkit.org/show_bug.cgi?id=24614
29615        Access control checks are different in cached and uncached cases
29616
29617        Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html
29618
29619        * loader/CrossOriginAccessControl.cpp:
29620        (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method
29621        check for use in both cached and uncached cases. In cached case, an old definition that
29622        omitted HEAD was still used.
29623        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an
29624        allowed value. This is needed in all call sites. Also changed to compare MIME type, not
29625        content type.
29626        (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods.
29627
29628        * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist.
29629
29630        * loader/CrossOriginPreflightResultCache.cpp:
29631        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
29632        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
29633        Use the new checks for simple method and header.
29634
296352009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
29636
29637        Reviewed by Mark Rowe.
29638
29639        https://bugs.webkit.org/show_bug.cgi?id=24638
29640        [GTK] HTML5 media tags do not work
29641
29642        Add a repaint-requested signal to the video sink, and use it to
29643        call MediaPlayerPrivate::repaint, so that the video actually
29644        plays.
29645
29646        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
29647        (WebCore::mediaPlayerPrivateRepaintCallback):
29648        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
29649        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
29650        (webkit_video_sink_idle_func):
29651        (webkit_video_sink_render):
29652        (webkit_video_sink_class_init):
29653
296542009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
29655
29656        Reviewed by Holger Freyther.
29657
29658        https://bugs.webkit.org/show_bug.cgi?id=24638
29659        [GTK] HTML5 media tags do not work
29660
29661        Work-around the fact that gst_element_query_duration returns true even
29662        though it is unable to figure out the duration when in stream (push)
29663        mode.
29664
29665        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
29666        (WebCore::MediaPlayerPrivate::duration):
29667
296682009-03-16  Darin Adler  <darin@apple.com>
29669
29670        Reviewed by Kevin Decker.
29671
29672        <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode
29673
29674        * page/Frame.cpp:
29675        (WebCore::Frame::setNeedsReapplyStyles): Don’t do anything if the frame is
29676        currently showing a non-HTML view.
29677
296782009-03-16  Darin Adler  <darin@apple.com>
29679
29680        Reviewed by Adele Peterson.
29681
29682        Bug 24629: moving forward or backward a paragraph fails at edge of document
29683        https://bugs.webkit.org/show_bug.cgi?id=24629
29684        rdar://problem/6544413
29685
29686        Test: editing/selection/move-paragraph-document-edges.html
29687
29688        * editing/visible_units.cpp:
29689        (WebCore::previousParagraphPosition): Use the last result from
29690        previousLinePosition rather than going all the way back to what was originally
29691        passed in when we hit exception cases like null or not moving. This correctly
29692        inherits the behavior of previousLinePosition when we are in a paragraph at the
29693        edge of a document.
29694        (WebCore::nextParagraphPosition): Ditto.
29695
296962009-03-16  Darin Adler  <darin@apple.com>
29697
29698        Reviewed by Adele Peterson.
29699
29700        Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function
29701        https://bugs.webkit.org/show_bug.cgi?id=24619
29702
29703        * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration.
29704        * rendering/RenderView.h: Ditto.
29705
297062009-03-16  Peter Kasting  <pkasting@google.com>
29707
29708        Reviewed by David Hyatt.
29709
29710        https://bugs.webkit.org/show_bug.cgi?id=24368
29711        DOM scroll events should be based off the actual number of wheel
29712        ticks, not off the number of lines scrolled.  This matches IE.
29713
29714        * dom/Node.cpp:
29715        (WebCore::Node::dispatchWheelEvent):
29716        * dom/WheelEvent.cpp:
29717        (WebCore::WheelEvent::WheelEvent):
29718        * dom/WheelEvent.h:
29719        (WebCore::WheelEvent::create):
29720        * platform/PlatformWheelEvent.h:
29721        (WebCore::PlatformWheelEvent::wheelTicksX):
29722        (WebCore::PlatformWheelEvent::wheelTicksY):
29723        * platform/gtk/WheelEventGtk.cpp:
29724        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
29725        * platform/mac/WheelEventMac.mm:
29726        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
29727        * platform/qt/WheelEventQt.cpp:
29728        * platform/win/WheelEventWin.cpp:
29729        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
29730        * platform/wx/MouseWheelEventWx.cpp:
29731        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
29732
297332009-03-16  Simon Fraser  <simon.fraser@apple.com>
29734
29735        Reviewed by Eric Seidel
29736        
29737        Clean up a few issues in the Animation code:
29738
29739        * page/animation/AnimationBase.cpp:
29740        (WebCore::AnimationBase::updateStateMachine):
29741        Whitespace
29742        
29743        (WebCore::AnimationBase::willNeedService):
29744        Don't round to float, use std::max
29745
29746        * page/animation/AnimationController.cpp:
29747        (WebCore::AnimationControllerPrivate::startTimeResponse):
29748        Fix erroneously copied line to null out m_lastResponseWaiter.
29749
297502009-03-12  David Hyatt  <hyatt@apple.com>
29751
29752        Reviewed by Eric Seidel
29753
29754        https://bugs.webkit.org/show_bug.cgi?id=13632
29755
29756        Overflow scrolling needs to account for the bottom/right padding on the object itself as well
29757        as for bottom/right margins on children.
29758
29759        Existing tests cover this.
29760
29761        * rendering/RenderBlock.cpp:
29762        (WebCore::RenderBlock::lowestPosition):
29763        (WebCore::RenderBlock::rightmostPosition):
29764
297652009-03-16  Sam Weinig  <sam@webkit.org>
29766
29767        Reviewed by Anders Carlsson.
29768
29769        Fix for <rdar://problem/6320555>
29770        Add an upper limit for setting HTMLSelectElement.length.
29771
29772        Test: fast/forms/select-max-length.html
29773
29774        * html/HTMLSelectElement.cpp:
29775        (WebCore::HTMLSelectElement::setOption):
29776        (WebCore::HTMLSelectElement::setLength):
29777
297782009-03-16  Eric Carlson  <eric.carlson@apple.com>
29779
29780        Reviewed by Simon Fraser.
29781
29782        <rdar://problem/6686721> Media document crash in 64-bit WebKit
29783
29784        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
29785        (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when
29786        rendering inline with old versions of QuickTime, so don't look for it when we are in a 
29787        media document.
29788
297892009-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
29790
29791        Reviewed by Timothy Hatcher.
29792
29793        https://bugs.webkit.org/show_bug.cgi?id=24590
29794        Refactor InspectorDOMStorageResource to use ScriptFunctionCall.
29795
29796        * bindings/js/ScriptFunctionCall.cpp:
29797        (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument.
29798        * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up.
29799        * bindings/js/ScriptObjectQuarantine.cpp:
29800        (WebCore::getQuarantinedScriptObject): Added Storage helper.
29801        * bindings/js/ScriptObjectQuarantine.h: Ditto.
29802        * inspector/InspectorController.cpp:
29803        (WebCore::InspectorController::populateScriptObjects): Changed to use bind method.
29804        (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method.
29805        (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods.
29806        * inspector/InspectorController.h: Removed add/remove methods for DOM storage.
29807        * inspector/InspectorDOMStorageResource.cpp:
29808        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
29809        (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added.
29810        (WebCore::InspectorDOMStorageResource::bind): Added.
29811        (WebCore::InspectorDOMStorageResource::unbind): Added.
29812        * inspector/InspectorDOMStorageResource.h:
29813
298142009-03-16   Mike Belshe  <mike@belse.com>
29815
29816        Reviewed by Dimitri Glazkov.
29817
29818        https://bugs.webkit.org/show_bug.cgi?id=24580
29819        Fix query() to match KURL behavior, this time with the code that
29820        compiles.
29821
29822        * platform/KURLGoogle.cpp:
29823        (WebCore::KURL::query): Fix copy/paste mistake.
29824
298252009-03-16  Alexey Proskuryakov  <ap@webkit.org>
29826
29827        Reviewed by Darin Adler.
29828
29829        https://bugs.webkit.org/show_bug.cgi?id=21752
29830        REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it
29831
29832        Test: fast/dom/Window/window-early-properties-xhr.html
29833
29834        For some transitions, the Window object is not replaced, but Document is. When this happened,
29835        window.document property was updated, but references to Document kept in cached constructors
29836        were not.
29837
29838        * bindings/js/JSAudioConstructor.cpp:
29839        (WebCore::JSAudioConstructor::JSAudioConstructor):
29840        (WebCore::JSAudioConstructor::document):
29841        (WebCore::JSAudioConstructor::mark):
29842        * bindings/js/JSAudioConstructor.h:
29843        * bindings/js/JSImageConstructor.cpp:
29844        (WebCore::JSImageConstructor::JSImageConstructor):
29845        (WebCore::JSImageConstructor::document):
29846        (WebCore::JSImageConstructor::mark):
29847        * bindings/js/JSImageConstructor.h:
29848        * bindings/js/JSMessageChannelConstructor.cpp:
29849        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
29850        (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
29851        (WebCore::JSMessageChannelConstructor::mark):
29852        * bindings/js/JSMessageChannelConstructor.h:
29853        * bindings/js/JSOptionConstructor.cpp:
29854        (WebCore::JSOptionConstructor::JSOptionConstructor):
29855        (WebCore::JSOptionConstructor::document):
29856        (WebCore::JSOptionConstructor::mark):
29857        * bindings/js/JSOptionConstructor.h:
29858        * bindings/js/JSXMLHttpRequestConstructor.cpp:
29859        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
29860        (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
29861        (WebCore::JSXMLHttpRequestConstructor::mark):
29862        * bindings/js/JSXMLHttpRequestConstructor.h:
29863        Changed cached constructors to keep a reference to Window, not Document.
29864
298652009-03-15  Alexey Proskuryakov  <ap@webkit.org>
29866
29867        Reviewed by Darin Adler.
29868
29869        https://bugs.webkit.org/show_bug.cgi?id=24549
29870        Impose a limit on Access-Control-Max-Age value
29871
29872        * loader/CrossOriginPreflightResultCache.cpp:
29873        (WebCore::CrossOriginPreflightResultCacheItem::parse):
29874
298752009-03-15  Greg Bolsinga  <bolsinga@apple.com>
29876
29877        Reviewed by David Kilzer.
29878
29879        <rdar://problem/6668875> Normalize Geolocation results
29880
29881        * platform/mac/GeolocationServiceMac.mm:
29882        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
29883
298842009-03-15  Greg Bolsinga  <bolsinga@apple.com>
29885
29886        Reviewed by David Kilzer.
29887
29888        Update ::toString format as suggested by Darin Adler.
29889
29890        * page/Geoposition.cpp:
29891        (WebCore::Geoposition::toString):
29892
298932009-03-15  David Kilzer  <ddkilzer@apple.com>
29894
29895        <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
29896
29897        Reviewed by Darin Adler.
29898
29899        Yet another case where we would trigger extended encoding loading needlessly.
29900
29901        * platform/text/TextEncoding.cpp:
29902        (WebCore::TextEncoding::encodingForFormSubmission):
29903
299042009-03-15  Simon Fraser  <simon.fraser@apple.com>
29905
29906        Build fix: no review.
29907
29908        * rendering/style/ContentData.h:
29909
299102009-03-15  David Kilzer  <ddkilzer@apple.com>
29911
29912        Bug 24542: Improve ContentData encapsulation
29913
29914        <https://bugs.webkit.org/show_bug.cgi?id=24542>
29915
29916        Reviewed by Simon Fraser.
29917
29918        No tests since there is no change in behavior.
29919
29920        * rendering/RenderObject.cpp:
29921        (WebCore::RenderObject::createObject): Used getter methods
29922        instead of data members on ContentData class.  Used isImage()
29923        convenience method.
29924        * rendering/RenderObjectChildList.cpp:
29925        (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto.
29926
29927        * rendering/style/ContentData.cpp:
29928        (WebCore::ContentData::clear): Extracted code into
29929        deleteContent() method.
29930        (WebCore::ContentData::dataEquivalent): Added.  Extracted code
29931        from StyleRareNonInheritedData::contentDataEquivalent().
29932        (WebCore::ContentData::deleteContent): Added.  Used by setter
29933        methods.
29934        * rendering/style/ContentData.h: Made m_type, m_content and
29935        m_next private.
29936        (WebCore::ContentData::isCounter): Added.
29937        (WebCore::ContentData::isImage): Added.
29938        (WebCore::ContentData::isNone): Added.
29939        (WebCore::ContentData::isText): Added.
29940        (WebCore::ContentData::type): Added.
29941        (WebCore::ContentData::dataEquivalent): Added.
29942        (WebCore::ContentData::image): Added.
29943        (WebCore::ContentData::setImage): Added.
29944        (WebCore::ContentData::text): Added.
29945        (WebCore::ContentData::setText): Added.
29946        (WebCore::ContentData::counter): Added.
29947        (WebCore::ContentData::setCounter): Added.
29948        (WebCore::ContentData::next): Added.
29949        (WebCore::ContentData::setNext): Added.
29950
29951        * rendering/style/CounterContent.h:
29952        (WebCore::operator!=): Removed.
29953        (WebCore::operator==): Renamed operator!=() and reversed its
29954        logic after extracting code from
29955        StyleRareNonInheritedData::contentDataEquivalent() to create
29956        ContentData::dataEquivalent().
29957
29958        * rendering/style/RenderStyle.cpp:
29959        (WebCore::RenderStyle::setContent): Used new getters and setters
29960        on ContentData class.  Changed first argument from a StringImpl*
29961        to a PassRefPtr<StrimgImpl>.  Used isText() convenience method.
29962        * rendering/style/RenderStyle.h:
29963        (WebCore::RenderStyle::setContent): Updated declaration.
29964        * rendering/style/StyleRareNonInheritedData.cpp:
29965        (WebCore::StyleRareNonInheritedData::contentDataEquivalent):
29966        Extracted most logic in while() loop into
29967        ContentData::dataEquivalent().
29968
299692009-03-15  Gustavo Noronha Silva  <gns@gnome.org>
29970
29971        Reviewed by Anders Carlsson.
29972
29973        https://bugs.webkit.org/show_bug.cgi?id=24602
29974        [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
29975
29976        Reintroduce the URI into the soup message after having set it in
29977        the KURL, on redirects, to make sure it is properly encoded. This
29978        fixes bad request problems when servers give bad URIs on their
29979        response's Location header.
29980
29981        * platform/network/soup/ResourceHandleSoup.cpp:
29982        (WebCore::restartedCallback):
29983
299842009-03-15  Alexey Proskuryakov  <ap@webkit.org>
29985
29986        Reviewed by Darin Adler.
29987
29988        https://bugs.webkit.org/show_bug.cgi?id=19737
29989        No cursor and paste not enabled right clicking text field/area
29990
29991        Test: fast/events/right-click-focus.html
29992
29993        * page/EventHandler.cpp:
29994        (WebCore::EventHandler::handleMousePressEventSingleClick):
29995        (WebCore::EventHandler::handleMousePressEvent):
29996        Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway).
29997
299982009-03-15  Alexey Proskuryakov  <ap@webkit.org>
29999
30000        Reviewed by Adele Peterson.
30001
30002        https://bugs.webkit.org/show_bug.cgi?id=23949
30003        HTMLSelectElement is in inconsistent state when handling mutation events
30004
30005        Test: fast/forms/mutation-event-recalc.html
30006
30007        * dom/ContainerNode.cpp:
30008        (WebCore::ContainerNode::insertBefore):
30009        (WebCore::ContainerNode::appendChild):
30010        Call childrenChanged() before dispatching modification events, not after.
30011
30012        * html/HTMLOptGroupElement.cpp:
30013        (WebCore::HTMLOptGroupElement::insertBefore):
30014        (WebCore::HTMLOptGroupElement::replaceChild):
30015        (WebCore::HTMLOptGroupElement::removeChild):
30016        (WebCore::HTMLOptGroupElement::appendChild):
30017        (WebCore::HTMLOptGroupElement::removeChildren):
30018        * html/HTMLSelectElement.cpp:
30019        (WebCore::HTMLSelectElement::add):
30020        (WebCore::HTMLSelectElement::remove):
30021        (WebCore::HTMLSelectElement::insertBefore):
30022        (WebCore::HTMLSelectElement::replaceChild):
30023        (WebCore::HTMLSelectElement::removeChild):
30024        (WebCore::HTMLSelectElement::appendChild):
30025        (WebCore::HTMLSelectElement::removeChildren):
30026        Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events
30027        were already dispatched.
30028
300292009-03-14  Greg Bolsinga  <bolsinga@apple.com>
30030
30031        <rdar://problem/6683465>
30032
30033        Geolocation has to be able to handle NULL Frames.
30034
30035        Reviewed by Mark Rowe
30036    
300372009-03-14  Greg Bolsinga  <bolsinga@apple.com>
30038
30039        Reviewed by David Kilzer.
30040
30041        Geoposition::toString was missing the Coordinates after the update.
30042
30043        * page/Geoposition.cpp:
30044        (WebCore::Geoposition::toString):
30045
300462009-03-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
30047
30048        Reviewed by Mark Rowe.
30049
30050        [Gtk] Build fix - pass a Coordinate to Geoposition::create
30051        https://bugs.webkit.org/show_bug.cgi?id=24603
30052
30053        Gtk build fix per r41650
30054        https://bugs.webkit.org/show_bug.cgi?id=24506
30055        Geolocation in Safari differs from the spec, no Coordinates attribute on Position
30056
30057        Pass a Coordinate to Geoposition::create.
30058
30059        * platform/gtk/GeolocationServiceGtk.cpp:
30060        (WebCore::GeolocationServiceGtk::updatePosition):
30061
300622009-03-14  Alexey Proskuryakov  <ap@webkit.org>
30063
30064        Reviewed by Darin Adler.
30065
30066        https://bugs.webkit.org/show_bug.cgi?id=24545
30067        Make cross-site XHR simple request definition match current spec draft
30068
30069        Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html
30070               http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html
30071
30072        * loader/CrossOriginAccessControl.cpp:
30073        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language.
30074        (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those
30075        that could be sent via form submission.
30076
300772009-03-14  Alexey Proskuryakov  <ap@webkit.org>
30078
30079        Reviewed by Darin Adler.
30080
30081        https://bugs.webkit.org/show_bug.cgi?id=15172
30082        object fallback - empty string for first argument of setAttributeNS does not work like null
30083
30084        https://bugs.webkit.org/show_bug.cgi?id=24548
30085        createElementNS("", name) should create an element in null namespace
30086
30087        Tests: fast/dom/createElementNS-empty-namespace.html
30088               fast/dom/setAttributeNS-empty-namespace.html
30089
30090        * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
30091        Convert empty namespaces to null.
30092
300932009-03-13  Mark Rowe  <mrowe@apple.com>
30094
30095        Rubber-stamped by Dan Bernstein.
30096
30097        Take advantage of the ability of recent versions of Xcode to easily switch the active
30098        architecture.
30099
30100        * Configurations/DebugRelease.xcconfig:
30101
301022009-03-13  John Abd-El-Malek  <jam@google.com>
30103
30104        Reviewed by Darin Fisher.
30105
30106        https://bugs.webkit.org/show_bug.cgi?id=24593
30107        Added requestorID so we can track the request to its WebView without using frame (which was removed).
30108
30109        * platform/network/chromium/ResourceRequest.h:
30110        (WebCore::ResourceRequest::ResourceRequest):
30111        (WebCore::ResourceRequest::requestorID):
30112        (WebCore::ResourceRequest::setRequestorID):
30113        (WebCore::ResourceRequest::setTargetType):
30114        (WebCore::ResourceRequest::policyURL):
30115        (WebCore::ResourceRequest::setPolicyURL):
30116        (WebCore::ResourceRequest::requestorPid):
30117        (WebCore::ResourceRequest::setRequestorPid):
30118
301192009-03-13  Mike Belshe  <mike@belshe.com>
30120
30121        Reviewed by Dimitri Glazkov.
30122
30123        https://bugs.webkit.org/show_bug.cgi?id=24561
30124        Add custom V8 bindings for HTMLElementCanvas, Location.
30125
30126        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added.
30127        * bindings/v8/custom/V8LocationCustom.cpp: Added.
30128
301292009-03-13  Stephen White  <senorblanco@chromium.org>
30130
30131        Reviewed by Eric Seidel.
30132
30133        https://bugs.webkit.org/show_bug.cgi?id=24584
30134
30135        Fix transparent text rendering on Chromium.  FontChromiumWin
30136        was calling beginTransparencyLayer()/endTransparencyLayer(), with
30137        a TransparencyWin inside to do GDI ClearType rendering over an
30138        opaque background.  TransparencyWin does its special sauce
30139        in the destructor, but it was being called too late to be used
30140        correctly in the layer.  Put the special sauce into a new function,
30141        composite(), and call that explicitly instead.
30142
30143        * platform/graphics/chromium/FontChromiumWin.cpp:
30144        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
30145        * platform/graphics/chromium/TransparencyWin.cpp:
30146        (WebCore::TransparencyWin::~TransparencyWin):
30147        (WebCore::TransparencyWin::composite):
30148        (WebCore::TransparencyWin::init):
30149        * platform/graphics/chromium/TransparencyWin.h:
30150        * rendering/RenderThemeChromiumWin.cpp:
30151        (WebCore::):
30152
301532009-03-13  Mike Belshe  <mike@belshe.com>
30154
30155        Reviewed by Dimitri Glazkov.
30156
30157        https://bugs.webkit.org/show_bug.cgi?id=24562
30158        Add custom implementation for getCSSCanvasContext to V8 bindings.
30159
30160        * bindings/v8/custom/V8DocumentCustom.cpp: Added new method.
30161
301622009-03-13  Mike Belshe  <mike@belse.com>
30163
30164        Reviewed by Dimitri Glazkov.
30165
30166        https://bugs.webkit.org/show_bug.cgi?id=24580
30167        Fix query() to match KURL behavior.
30168
30169        * platform/KURLGoogle.cpp:
30170        (WebCore::KURL::query): remove extra logic around question mark.
30171
301722009-03-13  Chris Fleizach  <cfleizach@apple.com>
30173
30174        Reviewed by Beth Dakin.
30175
30176        Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil
30177        https://bugs.webkit.org/show_bug.cgi?id=24474
30178
30179        Test: platform/mac-snowleopard/accessibility/table-multi-bodies.html
30180
30181        * page/AccessibilityTable.cpp:
30182        (WebCore::AccessibilityTable::cellForColumnAndRow):
30183
301842009-03-13  Jian Li  <jianli@chromium.org>
30185
30186        Reviewed by Dimitri Glazkov.
30187
30188        https://bugs.webkit.org/show_bug.cgi?id=24589
30189        Upstream changes to V8 event listeners (Chromium r11133) in order to
30190        fix worker functionality break in Chromium.
30191
30192        * bindings/v8/V8AbstractEventListener.cpp:
30193        (WebCore::V8AbstractEventListener::invokeEventHandler):
30194        (WebCore::V8AbstractEventListener::handleEvent):
30195        * bindings/v8/V8AbstractEventListener.h:
30196        * bindings/v8/V8WorkerContextEventListener.cpp:
30197        (WebCore::V8WorkerContextEventListener::handleEvent):
30198
301992009-03-13  Dimitri Glazkov  <dglazkov@chromium.org>
30200
30201        Reviewed by Timothy Hatcher.
30202
30203        https://bugs.webkit.org/show_bug.cgi?id=24524
30204        Introduce ScriptObject and ScriptFunctionCall abstractions.
30205
30206        * GNUmakefile.am: Added ScriptObject and ScriptFunctionCall to project.
30207        * WebCore.pro: Ditto.
30208        * WebCore.vcproj/WebCore.vcproj: Ditto.
30209        * WebCore.xcodeproj/project.pbxproj: Ditto.
30210        * WebCoreSources.bkl: Ditto.
30211        * bindings/js/ScriptFunctionCall.cpp: Added.
30212        * bindings/js/ScriptFunctionCall.h: Added.
30213        * bindings/js/ScriptObject.cpp: Added.
30214        * bindings/js/ScriptObject.h: Added.
30215        * bindings/js/ScriptObjectQuarantine.cpp: Added.
30216        * bindings/js/ScriptObjectQuarantine.h: Added.
30217        * inspector/InspectorController.cpp:
30218        (WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind.
30219        (WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind.
30220        (WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind.
30221        * inspector/InspectorController.h: Removed addScriptDatabaseResource and
30222        removeScriptDatabaseResource declarations.
30223        * inspector/InspectorDatabaseResource.cpp:
30224        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
30225        (WebCore::InspectorDatabaseResource::bind): Added.
30226        (WebCore::InspectorDatabaseResource::unbind): Added.
30227        * inspector/InspectorDatabaseResource.h: Added bind and unbind declarations.
30228
302292009-03-13  Peter Kasting  <pkasting@google.com>
30230
30231        Reviewed by Eric Seidel.
30232
30233        https://bugs.webkit.org/show_bug.cgi?id=24467
30234        Make Skia drawRect() and stroke behavior match CG.
30235
30236        This makes drawRect() ignore the stroke width (like CG does), and
30237        adds a warning comment about that to the appropriate header.
30238
30239        It also eliminates some hacky code in Skia's stroke preparation,
30240        which tried to adjust odd-width strokes to fall on pixel boundaries.
30241        Not only did this not match CG, it wouldn't necessarily work right,
30242        because there could be other transforms (e.g. full-page zoom) that
30243        would affect the stroke before it reached the device pixel level.
30244
30245        * platform/graphics/GraphicsContext.h:
30246        * platform/graphics/skia/GraphicsContextSkia.cpp:
30247        (WebCore::GraphicsContext::drawRect):
30248        (WebCore::GraphicsContext::fillRect):
30249        * platform/graphics/skia/PlatformContextSkia.cpp:
30250        (PlatformContextSkia::drawRect):
30251        (PlatformContextSkia::setupPaintForStroking):
30252
302532009-03-13  Jian Li  <jianli@chromium.org>
30254
30255        Reviewed by Dimitri Glazkov.
30256
30257        https://bugs.webkit.org/show_bug.cgi?id=24583
30258        Need to change scope of constructor and destructor of V8ObjectEventListener from private
30259        to protected so that they could be used in its derived class V8WorkerContextEventListener.
30260
30261        * bindings/v8/V8ObjectEventListener.h:
30262
302632009-03-13  David Levin  <levin@chromium.org>
30264
30265        Reviewed by Dimitri Glazkov.
30266
30267        https://bugs.webkit.org/show_bug.cgi?id=24579
30268        Many V8*Event* files are misplaced.
30269
30270        This code is infrastructure for supporting the bindings and thus should
30271        be in the bindings/v8 directory.
30272
30273        * bindings/v8/V8AbstractEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.cpp.
30274        * bindings/v8/V8AbstractEventListener.h: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.h.
30275        * bindings/v8/V8LazyEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.cpp.
30276        * bindings/v8/V8LazyEventListener.h: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.h.
30277        * bindings/v8/V8ObjectEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.cpp.
30278        * bindings/v8/V8ObjectEventListener.h: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.h.
30279        * bindings/v8/V8WorkerContextEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.cpp.
30280        * bindings/v8/V8WorkerContextEventListener.h: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.h.
30281
302822009-03-13  Adele Peterson  <adele@apple.com>
30283
30284        Reviewed by Justin Garcia.
30285
30286        Fix for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content
30287
30288        Test: editing/pasteboard/5089327.html
30289
30290        Handle spans being pasted within a quoted region in the same way we handle "paste as quotation" content.
30291
30292        * editing/ReplaceSelectionCommand.cpp:
30293        (WebCore::handleStyleSpansBeforeInsertion):
30294        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
30295
302962009-03-13  Greg Bolsinga  <bolsinga@apple.com>
30297
30298        Reviewed by Simon Fraser.
30299
30300        Update Geolocation perimission dialogs to be asynchronous.
30301        https://bugs.webkit.org/show_bug.cgi?id=24505
30302
30303        Geolocation now requests permission from the Chrome asynchronously.
30304        The Chrome is passed the Geolocation object, and the Chrome sets the permission
30305        on the Geolocation. Geolocation also tracks if the Chrome should clear its cache
30306        of SecurityOrigins with geolocation permission. This is so that the GeolocationService
30307        can inform the Chrome of its request, and the Chrome is also free to implement its
30308        own policy.
30309        
30310        * WebCore.base.exp:
30311        * WebCore.xcodeproj/project.pbxproj:
30312        * page/Chrome.cpp:
30313        (WebCore::Chrome::requestGeolocationPermissionForFrame):
30314        * page/Chrome.h:
30315        * page/ChromeClient.h:
30316        (WebCore::ChromeClient::requestGeolocationPermissionForFrame):
30317        * page/Geolocation.cpp:
30318        (WebCore::Geolocation::Geolocation):
30319        (WebCore::Geolocation::getCurrentPosition):
30320        (WebCore::Geolocation::watchPosition):
30321        (WebCore::Geolocation::setIsAllowed):
30322        (WebCore::Geolocation::displayChallengeIfNecessary):
30323        (WebCore::Geolocation::geolocationServicePositionChanged):
30324        * page/Geolocation.h:
30325        (WebCore::Geolocation::isAllowed):
30326        (WebCore::Geolocation::setShouldClearCache):
30327        (WebCore::Geolocation::shouldClearCache):
30328        (WebCore::Geolocation::):
30329
303302009-03-13  Anders Carlsson  <andersca@apple.com>
30331
30332        Reviewed by Dan Bernstein.
30333
30334        <rdar://problem/6610666> Revise the Cocoa event model text API
30335        
30336        Add a NPCocoaEventTextInput event type. Remove the text input variables.
30337        
30338        * bridge/npapi.h:
30339        (_NPCocoaEvent::):
30340
303412009-03-13  Kevin Decker  <kdecker@apple.com>
30342
30343        Reviewed by Anders.
30344
30345        <rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed
30346        
30347        The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag
30348        over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports
30349        for x-oleobject.
30350        
30351        * rendering/RenderPartObject.cpp:
30352        (WebCore::shouldUseEmbedDescendant): Made the Mac platform always return true here. 
30353
303542009-03-13  Jian Li  <jianli@chromium.org>
30355
30356        Reviewed by Dimitri Glazkov.
30357
30358        https://bugs.webkit.org/show_bug.cgi?id=24559
30359        Need to port JSC fix (r41565) to V8 in order to fix layout test onload-single-line-comment.html.
30360
30361        * bindings/v8/custom/V8LazyEventListener.cpp:
30362        (WebCore::V8LazyEventListener::getListenerFunction):
30363        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
30364
303652009-03-13  Jian Li  <jianli@chromium.org>
30366
30367        Reviewed by Dimitri Glazkov.
30368
30369        https://bugs.webkit.org/show_bug.cgi?id=24557
30370        This is to support running multiple workers in a single worker process in chromium.
30371
30372        * bindings/v8/custom/V8WorkerContextEventListener.cpp:
30373        (WebCore::V8WorkerContextEventListener::handleEvent):
30374        Add locker to v8 event listener of worker context.
30375
303762009-03-13  Alexey Proskuryakov  <ap@webkit.org>
30377
30378        Reviewed by Sam Weinig.
30379
30380        https://bugs.webkit.org/show_bug.cgi?id=24575
30381        XHR response is incorrect after a network error.
30382
30383        Tests: http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html
30384               http/tests/xmlhttprequest/cross-site-denied-response-sync.html
30385               http/tests/xmlhttprequest/cross-site-denied-response.html
30386
30387        * xml/XMLHttpRequest.cpp:
30388        (WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request.
30389        (WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note
30390        that since internalAbort() can drop GC protection, it is not safe to use the object after
30391        this call.
30392        (WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and
30393        return early if it was. This can happen during sync requests, as the loader does not know
30394        that it was aborted, and just synthesizes all callbacks.
30395
303962009-03-13  Adam Bergkvist <adam.bergkvist@ericsson.com>
30397
30398        Reviewed by Alexey Proskuryakov.
30399
30400        https://bugs.webkit.org/show_bug.cgi?id=3547
30401        XMLHttpRequest.statusText returns always "OK"
30402
30403        Covered by existing tests (which now pass on all platforms but Mac).
30404
30405        * xml/XMLHttpRequest.cpp:
30406        (WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up
30407        to each platform to correctly set the status text or set it to "OK" to retain current
30408        behavior.
30409
304102009-03-13  Adam Bergkvist <adam.bergkvist@ericsson.com>
30411
30412        Reviewed by Alexey Proskuryakov.
30413
30414        https://bugs.webkit.org/show_bug.cgi?id=24349
30415        [QT] HTTP status text is never set
30416
30417        Set HTTP status text to the reason phrase attribute of QNetworkReply.
30418
30419        * platform/network/qt/QNetworkReplyHandler.cpp:
30420        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
30421
304222009-03-12  Simon Fraser  <simon.fraser@apple.com>
30423
30424        Reviewed by Mark Rowe
30425
30426        <rdar://problem/6622300>: Reproducible crash on
30427        <http://www.editgrid.com/explore/tnc/dave/FusionChart%3A_Candlestick>
30428        
30429        Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets
30430        deleted from under itself. The sheetLoaded() notification can allow scripts
30431        to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(),
30432        which can cause the last ref to the CSSStyleSheet to be released.
30433
30434        * css/CSSStyleSheet.cpp:
30435        (WebCore::CSSStyleSheet::checkLoaded):
30436
304372009-03-12  Kevin Ollivier  <kevino@theolliviers.com>
30438
30439        wx build fix. Allow make-generated-sources.sh to pass args down to DerivedSources.make
30440
30441        * make-generated-sources.sh:
30442
304432009-03-12  Adam Treat  <adam.treat@torchmobile.com>
30444
30445        Reviewed by Oliver Hunt.
30446
30447        https://bugs.webkit.org/show_bug.cgi?id=24498
30448        Fix the Qt port to use the same algorithm for drawing dashed and dotted
30449        borders as the other ports.  This makes the Qt port pixel-for-pixel perfect
30450        compared to border drawing with Apple's canonical mac port and much closer
30451        to konqueror and firefox behavior.
30452
30453        * platform/graphics/qt/GraphicsContextQt.cpp:
30454        (WebCore::GraphicsContext::drawLine):
30455
304562009-02-26  Eric Seidel  <eric@webkit.org>
30457
30458        Reviewed by Justin Garcia.
30459
30460        Clean up DOMSelection to use some helper functions
30461        making the code smaller, and less error-prone.
30462        https://bugs.webkit.org/show_bug.cgi?id=19221
30463
30464        I tried moving DOMSelection off of rangeCompliantEquivalent
30465        but failed.  VisibleSelection holds positions like (table, 1) to mean
30466        "after the table".
30467
30468        * page/DOMSelection.cpp:
30469        (WebCore::DOMSelection::visibleSelection):
30470        (WebCore::anchorPosition):
30471        (WebCore::focusPosition):
30472        (WebCore::basePosition):
30473        (WebCore::extentPosition):
30474        (WebCore::DOMSelection::anchorNode):
30475        (WebCore::DOMSelection::anchorOffset):
30476        (WebCore::DOMSelection::focusNode):
30477        (WebCore::DOMSelection::focusOffset):
30478        (WebCore::DOMSelection::baseNode):
30479        (WebCore::DOMSelection::baseOffset):
30480        (WebCore::DOMSelection::extentNode):
30481        (WebCore::DOMSelection::extentOffset):
30482        * page/DOMSelection.h:
30483
304842009-03-12  Dmitry Titov  <dimich@chromium.org>
30485
30486        Reviewed by Dimitri Glazkov.
30487
30488        https://bugs.webkit.org/show_bug.cgi?id=24563
30489        Change ResourceRequest to be a struct rather then a class to match other declarations.
30490
30491        * platform/network/chromium/ResourceRequest.h:
30492
304932009-03-12  David Levin  <levin@chromium.org>
30494
30495        Reviewed by Darin Fisher.
30496
30497        Bug 24530: width100percent-searchfield.html should be fixed for chromium.
30498        <https://bugs.webkit.org/show_bug.cgi?id=24530>
30499
30500        Compensate for r39924 in chromium, which broke LayoutTests/fast/replaced/width100percent-searchfield.html
30501
30502        * css/themeChromiumWin.css: Added.
30503        Overrides the changes to start supporting input[type="search"] on Windows (since
30504        Chromium doesn't do anything special for this).
30505
30506        * rendering/RenderThemeChromiumWin.cpp:
30507        (WebCore::supportsFocus):
30508        (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
30509        (WebCore::RenderThemeChromiumWin::determineState):
30510        (WebCore::RenderThemeChromiumWin::getThemeData):
30511
305122009-03-12  Greg Bolsinga  <bolsinga@apple.com>
30513
30514        Reviewed by Antti Koivisto.
30515
30516        https://bugs.webkit.org/show_bug.cgi?id=24506
30517        Geolocation in Safari differs from the spec, no Coordinates attribute on Position
30518        
30519        Get up to date.
30520
30521        * DerivedSources.make:
30522        * GNUmakefile.am:
30523        * WebCore.pro:
30524        * WebCore.scons:
30525        * WebCore.vcproj/WebCore.vcproj:
30526        * WebCore.xcodeproj/project.pbxproj:
30527        * WebCoreSources.bkl:
30528        * bindings/js/JSGeolocationCustom.cpp:
30529        (WebCore::createPositionOptions):
30530        * page/Coordinates.cpp: Added.
30531        (WebCore::Coordinates::toString):
30532        * page/Coordinates.h: Added.
30533        (WebCore::Coordinates::create):
30534        (WebCore::Coordinates::latitude):
30535        (WebCore::Coordinates::longitude):
30536        (WebCore::Coordinates::altitude):
30537        (WebCore::Coordinates::accuracy):
30538        (WebCore::Coordinates::altitudeAccuracy):
30539        (WebCore::Coordinates::heading):
30540        (WebCore::Coordinates::speed):
30541        (WebCore::Coordinates::Coordinates):
30542        * page/Coordinates.idl: Added.
30543        * page/Geoposition.cpp:
30544        (WebCore::Geoposition::toString):
30545        * page/Geoposition.h:
30546        (WebCore::Geoposition::create):
30547        (WebCore::Geoposition::coords):
30548        (WebCore::Geoposition::Geoposition):
30549        * page/Geoposition.idl:
30550        * page/PositionOptions.h:
30551        (WebCore::PositionOptions::create):
30552        (WebCore::PositionOptions::maximumAge):
30553        (WebCore::PositionOptions::setMaximumAge):
30554        (WebCore::PositionOptions::PositionOptions):
30555        * platform/mac/GeolocationServiceMac.mm:
30556        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
30557
305582009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
30559
30560        Reviewed by Darin Fisher.
30561
30562        https://bugs.webkit.org/show_bug.cgi?id=24496
30563        Fix console logging of non-string values by coercing the argument to
30564        a string, for V8 bindings.
30565
30566        Test: fast/js/console-non-string-values.html
30567
30568        * bindings/v8/ScriptValue.cpp: Added toString method.
30569        (WebCore::ScriptValue::toString):
30570        * bindings/v8/ScriptValue.h: Added PlatformString, ScriptState includes
30571            and toString declaration.
30572
305732009-03-12  Darin Fisher  <darin@chromium.org>
30574
30575        Reviewed by Dimitri Glazkov.
30576
30577        Eliminate ChromiumBridge::uiResourceProtocol
30578        https://bugs.webkit.org/show_bug.cgi?id=24558
30579
30580        * platform/chromium/ChromiumBridge.h:
30581
305822009-03-12  Greg Bolsinga  <bolsinga@apple.com>
30583
30584        Reviewed by Simon Fraser.
30585
30586        Missing breaks in switch statement
30587        https://bugs.webkit.org/show_bug.cgi?id=24556
30588
30589        * platform/mac/GeolocationServiceMac.mm:
30590        (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
30591
305922009-03-12  Darin Fisher  <darin@chromium.org>
30593
30594        Reviewed by Dimitri Glazkov.
30595
30596        https://bugs.webkit.org/show_bug.cgi?id=24554
30597        Remove some unused functions from ChromiumBridge.
30598
30599        * platform/chromium/ChromiumBridge.h:
30600
306012009-03-02  Eric Seidel  <eric@webkit.org>
30602
30603        Reviewed by Darin Fisher and Justin Garcia.
30604
30605        Safari crashes during drag and drop in Google presentations
30606        due to mutation event handlers removing DOM content during insertNode
30607        https://bugs.webkit.org/show_bug.cgi?id=22634
30608
30609        Added a bunch of "null" checks to make sure nodes are still
30610        in the document before we operate on them.  This is an
30611        inelegant solution, but it's the best we have for now.
30612        
30613        Test: editing/selection/crash-on-drag-with-mutation-events.html
30614
30615        * editing/CompositeEditCommand.cpp:
30616        (WebCore::CompositeEditCommand::insertNodeAt):
30617        * editing/ReplaceSelectionCommand.cpp:
30618        (WebCore::ReplaceSelectionCommand::doApply):
30619
306202009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
30621
30622        Reviewed by Adam Treat.
30623
30624        https://bugs.webkit.org/show_bug.cgi?id=24525
30625        REGRESSION: Inspector window doesn't close when inspected page is
30626        destroyed. This is a revert of r41158, which became unnecessary when
30627        InspectorController became ref-counted in r41462.
30628
30629        * inspector/InspectorController.cpp:
30630        (WebCore::InspectorController::inspectedPageDestroyed): Reset m_inspectedPage
30631            after calling close().
30632        (WebCore::InspectorController::stopUserInitiatedProfiling): Remove
30633            m_inspectedPage check guard around profile logic.
30634
306352009-03-12  Peter Kasting  <pkasting@google.com>
30636
30637        Reviewed by Darin Fisher.
30638
30639        https://bugs.webkit.org/show_bug.cgi?id=24502
30640        Make horizontal scrolling on Windows always go the correct direction.
30641
30642        * platform/PlatformWheelEvent.h:
30643        * platform/win/WheelEventWin.cpp:
30644        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
30645
306462009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
30647
30648        Reviewed by Simon Fraser.
30649
30650        https://bugs.webkit.org/show_bug.cgi?id=24496
30651        Fix console logging of non-string values by coercing the argument to
30652        a string.
30653
30654        Test: fast/js/console-non-string-values.html
30655
30656        * bindings/js/ScriptValue.cpp: Removed PlatformString include.
30657        * bindings/js/ScriptValue.h: Added toString method.
30658        (WebCore::ScriptValue::toString):
30659        * page/Console.cpp:
30660        (WebCore::getFirstArgumentAsString): Changed firstArgumentAsString method to use
30661            ScriptValue::toString.
30662        (WebCore::Console::addMessage): added extra ScriptState argument to callsite.
30663        (WebCore::Console::count): Ditto.
30664
306652009-03-12  Simon Fraser  <simon.fraser@apple.com>
30666
30667        Reviewed by Adele Peterson.
30668        
30669        https://bugs.webkit.org/show_bug.cgi?id=24508
30670        
30671        Fix updating of text field with placeholder text when value is set
30672        by ensuring that updatePlaceholderVisibility() is called after
30673        the value has been updated, not before.
30674
30675        Test: fast/forms/placeholder-set-value.html
30676
30677        * html/HTMLInputElement.cpp:
30678        (WebCore::HTMLInputElement::setValue):
30679
306802009-03-12  Simon Fraser  <simon.fraser@apple.com>
30681
30682        Reviewed by Dave Hyatt
30683        
30684        https://bugs.webkit.org/show_bug.cgi?id=24552
30685        
30686        Hit testing involving normal flow, self-painting layers (e.g. reflections)
30687        was broken because it was not null-testing the result of hitTestLayer(),
30688        so bailing early with a nil hit layer.
30689
30690        Test: fast/layers/normal-flow-hit-test.html
30691
30692        * rendering/RenderLayer.cpp:
30693        (WebCore::RenderLayer::hitTestLayer):
30694
306952009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
30696
30697        Reviewed by Cameron Zwarich.
30698
30699        Removed zero-sized files, left over from improperly applied patch.
30700
30701        * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Removed.
30702        * platform/graphics/chromium/ThemeHelperChromiumWin.h: Removed.
30703
307042009-03-12  Adam Treat  <adam.treat@torchmobile.com>
30705
30706        Reviewed by George Staikos.
30707
30708        Do not ignore alpha color in optimization.  Hard to believe, but there
30709        are websites that fill the entire page with a tiled image consisting of
30710        nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough>
30711
30712        * platform/graphics/qt/ImageQt.cpp:
30713        (WebCore::BitmapImage::checkForSolidColor):
30714
307152009-03-12  Julien Chaffraix  <jchaffraix@webkit.org>
30716
30717        Reviewed by Darin Adler.
30718
30719        Bug 24110: cloneNode should call cloneElement and not the reverse
30720
30721        - Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren.
30722          Now cloneNode calls one of the 2 previous methods.
30723
30724        - Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour.
30725
30726        - Moved cloneNode to the Element private section so that WebCore callers cannot use it.
30727
30728        - Removed Element::cloneNode usage through WebCore.
30729
30730        * dom/Element.cpp:
30731        (WebCore::Element::cloneNode): Moved to Element's private section and it
30732        now calls the two next methods.
30733        (WebCore::Element::cloneElementWithChildren): Added.
30734        (WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement
30735        to avoid ambiguity.
30736        * dom/Element.h:
30737
30738        * editing/ApplyStyleCommand.cpp:
30739        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement
30740        to call to cloneElementWithoutChildren.
30741        * editing/BreakBlockquoteCommand.cpp:
30742        (WebCore::BreakBlockquoteCommand::doApply): Ditto.
30743        * editing/IndentOutdentCommand.cpp:
30744        (WebCore::IndentOutdentCommand::indentRegion): Ditto.
30745        * editing/InsertParagraphSeparatorCommand.cpp:
30746        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
30747        * editing/ModifySelectionListLevel.cpp:
30748        (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
30749        * editing/SplitElementCommand.cpp:
30750        (WebCore::SplitElementCommand::doApply): Ditto.
30751        * editing/markup.cpp:
30752        (WebCore::createFragmentFromText): Ditto.
30753        * svg/SVGUseElement.cpp:
30754        (WebCore::SVGUseElement::buildShadowTree): Ditto.
30755        (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
30756
307572009-03-12  Dirk Schulze  <krit@webkit.org>
30758
30759        Reviewed by Oliver Hunt.
30760
30761        Fixed a crash on the 1x1 pixel check for background image in gtk.
30762        We need to load the image first and need to be sure that the image
30763        is not null before checking the type. 
30764
30765        * platform/graphics/cairo/ImageCairo.cpp:
30766        (WebCore::BitmapImage::checkForSolidColor):
30767
307682009-03-12  Xan Lopez  <xlopez@igalia.com>
30769
30770        Reviewed by Alexey Proskuryakov.
30771
30772        https://bugs.webkit.org/show_bug.cgi?id=24544
30773        Rename setUrl to setURL
30774
30775        Use proper case for setUrl method, rename it to setURL.
30776
30777        * platform/network/ResourceResponseBase.cpp:
30778        (WebCore::ResourceResponseBase::adopt):
30779        * platform/network/ResourceResponseBase.h:
30780        * platform/network/curl/ResourceHandleManager.cpp:
30781        (WebCore::writeCallback):
30782        (WebCore::headerCallback):
30783        * platform/network/soup/ResourceHandleSoup.cpp:
30784        (WebCore::fillResponseFromMessage):
30785        (WebCore::queryInfoCallback):
30786
307872009-03-12  Xan Lopez  <xlopez@igalia.com>
30788
30789        Reviewed by Alexey Proskuryakov.
30790
30791        https://bugs.webkit.org/show_bug.cgi?id=24519
30792        [GTK] Use two argument KURL ctor in ResourceHandleSoup
30793
30794        Use two argument KURL ctor, the single argument ctor expects its
30795        input to be the output of a previous KURL::parse call, which is
30796        not the case here.
30797
30798        * platform/network/soup/ResourceHandleSoup.cpp:
30799        (WebCore::fillResponseFromMessage):
30800        (WebCore::queryInfoCallback):
30801
308022009-03-11  Jon Honeycutt  <jhoneycutt@apple.com>
30803
30804        Fix for <rdar://6418681>
30805        https://bugs.webkit.org/show_bug.cgi?id=22644
30806
30807        Reviewed by Steve Falkenburg.
30808
30809        * plugins/win/PluginPackageWin.cpp:
30810        (WebCore::PluginPackage::isPluginBlacklisted): Add the Citrix ICA
30811        Client plug-in to the blacklist; it requires a Mozilla-based browser.
30812
308132009-03-12  Oliver Hunt  <oliver@apple.com>
30814
30815        Reviewed by NOBODY (build fix).
30816
30817        build fix.
30818
30819        * html/CanvasRenderingContext2D.h:
30820
308212009-03-11  Oliver Hunt  <oliver@apple.com>
30822
30823        Reviewed by Adele Peterson.
30824
30825        <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4
30826
30827        A number of dashboard widgets rely on canvas failing silently when given invalid
30828        colors for gradient stops, but both the spec and firefox throw exceptions here.
30829        So we work around this by creating a dashboard quirk that will only suppress the
30830        exception in dashboard compatibility mode.
30831
30832        Test: fast/canvas/canvas-gradient-addStop-error.html
30833
30834        * html/CanvasGradient.cpp:
30835        (WebCore::CanvasGradient::CanvasGradient):
30836        (WebCore::CanvasGradient::addColorStop):
30837        * html/CanvasGradient.h:
30838        (WebCore::CanvasGradient::setDashboardCompatibilityMode):
30839        * html/CanvasRenderingContext2D.cpp:
30840        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
30841        (WebCore::CanvasRenderingContext2D::createLinearGradient):
30842        (WebCore::CanvasRenderingContext2D::createRadialGradient):
30843        * html/CanvasRenderingContext2D.h:
30844
308452009-03-11  David Kilzer  <ddkilzer@apple.com>
30846
30847        Clarify comments regarding order of FEATURE_DEFINES
30848
30849        Rubber-stamped by Mark Rowe.
30850
30851        * Configurations/WebCore.xcconfig: Added warning about the
30852        consequences when FEATURE_DEFINES are not kept in sync.
30853
308542009-03-11  Gustavo Noronha Silva  <gns@gnome.org>
30855
30856        Reviewed by Holger Freyther.
30857
30858        https://bugs.webkit.org/show_bug.cgi?id=24515
30859        [GTK] soup backend should use GMappedFile instead of mmap directly
30860
30861        Rewrite mmap code used to upload files to use GMappedFile, so that
30862        it is platform-independent.
30863
30864        * platform/network/soup/ResourceHandleSoup.cpp:
30865        (WebCore::ResourceHandle::startHttp):
30866
308672009-03-11  Dan Bernstein  <mitz@apple.com>
30868
30869        Reviewed by Darin Adler.
30870
30871        - WebCore part of fixing <rdar://problem/3919124> Thai text selection
30872          in Safari is incorrect
30873
30874        Test: platform/mac/editing/selection/word-thai.html
30875
30876        Tested on Mac, but should work on all ICU platforms (or more precisely
30877        on all platforms that implement
30878        WTF::Unicode::hasLineBreakingPropertyComplexContext() correctly).
30879
30880        * editing/TextIterator.cpp:
30881        (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
30882        Added.
30883        (WebCore::BackwardsCharacterIterator::range): Added.
30884        (WebCore::BackwardsCharacterIterator::advance): Added.
30885
30886        * editing/TextIterator.h: Added BackwardsCharacterIterator with the
30887        minimal functionality required for this patch.
30888        (WebCore::BackwardsCharacterIterator::atEnd): Added.
30889
30890        * editing/visible_units.cpp:
30891        (WebCore::firstNonComplexContextLineBreak): Added this helper function
30892        that returns the index of the first character in the string whose
30893        Unicode line breaking property value is not SA ("Complex Context"), or
30894        the length of the string if there is no such character.
30895        (WebCore::lastNonComplexContextLineBreak): Added this helper function
30896        that returns the index of the last character in the string whose
30897        Unicode line breaking property value is not SA ("Complex Context"), or
30898        -1 if there is no such character.
30899        (WebCore::previousBoundary): Changed the signature of the search
30900        function to include an offset parameter. Renamed the 'exception' local
30901        variable to 'ec' and changed its type to ExceptionCode. Extend the
30902        string forwards until the first character with Unicode line breaking
30903        property value other than SA. This gives the boundary search function
30904        enough context in the forward direction. Changed to use a
30905        BackwardsCharacterIterator for translating the backwards offset into
30906        a position.
30907        (WebCore::nextBoundary): Changed the signature of the search
30908        function to include an offset parameter. Extend the string backwards
30909        until the first character with Unicode line breaking property value
30910        other than SA. This gives the boundary search function enough context in
30911        the backwards direction. Restricted the workaround for <rdar://5192593>
30912        only to the line break case, because it was causing an extra character
30913        to be selected following a word that ended with a combining mark.
30914        (WebCore::startWordBoundary): Added an offset parameter. Check that
30915        going backwards from the given offset, there is a character with Unicode
30916        line breaking property value other than SA, and otherwise return 0 to
30917        request more context.
30918        (WebCore::endWordBoundary): Similar, but in reverse.
30919        (WebCore::previousWordPositionBoundary): Similar.
30920        (WebCore::nextWordPositionBoundary): Similar.
30921        (WebCore::startSentenceBoundary): Updated for the new search function
30922        signature.
30923        (WebCore::endSentenceBoundary): Ditto.
30924        (WebCore::previousSentencePositionBoundary): Ditto.
30925        (WebCore::nextSentencePositionBoundary): Ditto.
30926
309272009-03-11  Darin Adler  <darin@apple.com>
30928
30929        Reviewed by Mark Rowe.
30930
30931        Don't use "::" in thread names because it is ugly!
30932
30933        * loader/icon/IconDatabase.cpp:
30934        (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::".
30935        * platform/network/cf/ResourceHandleCFNet.cpp:
30936        (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make
30937        it clear this is a WebCore-created thread.
30938        * storage/DatabaseThread.cpp:
30939        (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::".
30940        * storage/LocalStorageThread.cpp:
30941        (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::".
30942        * workers/WorkerThread.cpp:
30943        (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::".
30944
309452009-03-11  Mark Rowe  <mrowe@apple.com>
30946
30947        Rubber-stamped by Darin Adler.
30948
30949        <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex
30950
30951        * platform/mac/PlatformScreenMac.mm:
30952        (WebCore::screenIsMonochrome): Return false.
30953
309542009-03-11  Beth Dakin  <bdakin@apple.com>
30955
30956        Reviewed by Dan Bernstein.
30957
30958        Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage 
30959        top value on position:relative child not calculated correctly if 
30960        parent has percentage height
30961        - and corresponding -
30962        <rdar://problem/6172925>
30963
30964        * rendering/RenderBoxModelObject.cpp:
30965        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
30966
309672009-03-11  Jian Li  <jianli@chromium.org>
30968
30969        Reviewed by Dimitri Glazkov.
30970
30971        Implement ScriptValue::hasNoValue for V8.
30972        https://bugs.webkit.org/show_bug.cgi?id=24507
30973
30974        * bindings/v8/ScriptValue.h:
30975        (WebCore::ScriptValue::hasNoValue):
30976
309772009-03-11  David Levin  <levin@chromium.org>
30978
30979        Reviewed by Dimitri Glazkov.
30980
30981        Bug 24459: Add v8 bindings for event.
30982        <https://bugs.webkit.org/show_bug.cgi?id=24459>
30983
30984        Adding custom event bindings.
30985
30986        * bindings/v8/custom/V8AbstractEventListener.cpp: Added.
30987        * bindings/v8/custom/V8AbstractEventListener.h: Added.
30988        * bindings/v8/custom/V8AttrCustom.cpp:
30989        Fixed messed up copyright header.
30990        * bindings/v8/custom/V8CustomEventListener.cpp: Added.
30991        * bindings/v8/custom/V8CustomEventListener.h:
30992        Replaced forwarding header with the real implementation.
30993        * bindings/v8/custom/V8ElementCustom.cpp:
30994        * bindings/v8/custom/V8LazyEventListener.cpp: Added.
30995        * bindings/v8/custom/V8LazyEventListener.h: Added.
30996        * bindings/v8/custom/V8ObjectEventListener.cpp: Added.
30997        * bindings/v8/custom/V8ObjectEventListener.h: Added.
30998        * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added.
30999        * bindings/v8/custom/V8WorkerContextEventListener.h: Added.
31000
310012009-03-11  Darin Fisher  <darin@chromium.org>
31002
31003        Reviewed by Dimitri Glazkov.
31004
31005        https://bugs.webkit.org/show_bug.cgi?id=24521
31006        Add some missing includes for the non-JSC build.
31007
31008        * platform/text/PlatformString.h: added OwnPtr.h
31009        * xml/XMLHttpRequest.cpp: added SecurityOrigin.h
31010
310112009-03-11  Simon Fraser  <simon.fraser@apple.com>
31012
31013        Reviewed by Darin Adler
31014
31015        https://bugs.webkit.org/show_bug.cgi?id=24531
31016        
31017        Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never
31018        returns a null style if it has a valid renderer, which could happen if a
31019        CompositeAnimation existed, but wasn't running any animations or transitions.
31020
31021        * page/animation/AnimationController.cpp:
31022        (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
31023
310242009-03-11  Simon Fraser  <simon.fraser@apple.com>
31025
31026        Fix Scons build. Patch from Alexander Guy.
31027
31028        * WebCore.scons:
31029
310302009-03-11  Simon Fraser  <simon.fraser@apple.com>
31031
31032        Reviewed by Dan Bernstein
31033       
31034        https://bugs.webkit.org/show_bug.cgi?id=23093
31035        
31036        When the cancel button in the search field is shown or hidden,
31037        we need to explicitly setStyle() on the cancel button's renderer,
31038        to ensure that repaint happens. Changing the style without telling
31039        the renderer won't work.
31040
31041        Test: fast/repaint/search-field-cancel.html
31042
31043        * rendering/RenderTextControlSingleLine.cpp:
31044        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
31045        (WebCore::RenderTextControlSingleLine::updateFromElement):
31046        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
31047        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
31048        (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
31049        * rendering/RenderTextControlSingleLine.h:
31050
310512009-03-11  Hironori Bono  <hbono@chromium.org>
31052
31053        Reviewed by Alexey Proskuryakov.
31054
31055        https://bugs.webkit.org/show_bug.cgi?id=15790
31056        Ligatures aren't accounted for when manipulating VisiblePositions
31057
31058        Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an
31059        Indic ligature which uses a virama sign.
31060        
31061        Test: editing/deleting/skip-virama-001.html
31062
31063        * platform/text/TextBreakIteratorICU.cpp:
31064        (WebCore::cursorMovementIterator):
31065
310662009-03-11  Alexey Proskuryakov  <ap@webkit.org>
31067
31068        Reviewed by George Staikos.
31069
31070        https://bugs.webkit.org/show_bug.cgi?id=24513
31071        REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2)
31072
31073        Fixes existing tests on Tiger.
31074
31075        * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator):
31076        Use characterBreakIterator on Tiger (like we used to do).
31077
310782009-03-11  Alexey Proskuryakov  <ap@webkit.org>
31079
31080        Reviewed by Oliver Hunt.
31081
31082        <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
31083
31084        * platform/network/mac/ResourceRequestMac.mm:
31085        (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name
31086        in instancesRespondToSelector.
31087
310882009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>
31089
31090        Reviewed by Holger Freyther.
31091
31092        [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore
31093        https://bugs.webkit.org/show_bug.cgi?id=2260
31094
31095        Add missing stdio.h include to get the build going
31096
31097        * plugins/gtk/PluginPackageGtk.cpp:
31098
310992009-03-10  Justin Garcia  <justin.garcia@apple.com>
31100
31101        Reviewed by Ken Kocienda.
31102
31103        * dom/Range.cpp:
31104        (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects
31105        would include rects for the divs contents.  Set the correct RenderObject to stop at.
31106
311072009-03-10  Alexey Proskuryakov  <ap@webkit.org>
31108
31109        Reviewed by Sam Weinig.
31110
31111        <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR
31112
31113        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect
31114        comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and
31115        there are security concerns with exposing them for cross-origin requests, so it's not clear
31116        if we want to change anything here.
31117
311182009-03-10  Simon Fraser  <simon.fraser@apple.com>
31119
31120        Reviewed by Darin Adler
31121
31122        https://bugs.webkit.org/show_bug.cgi?id=24503
31123        
31124        Fix hit testing of absolutely positioned single line text controls by
31125        ensuring that we set result.innerNode() correctly. If the hit node is
31126        a descendant of the inner text element or if it is the <input> itself,
31127        then we say we hit the innerTextElement.
31128        
31129        Rename hitInnerTextBlock() to hitInnerTextElement() to match the
31130        'innerTextElement' terminology used elsewhere.
31131        
31132        Assert that if renderer()->hitTest() returns false, no-one set
31133        result.innerNode().
31134
31135        Test: fast/forms/search-abs-pos-cancel-button.html
31136
31137        * rendering/RenderLayer.cpp:
31138        (WebCore::RenderLayer::hitTestContents):
31139        * rendering/RenderTextControl.cpp:
31140        (WebCore::RenderTextControl::hitInnerTextElement):
31141        * rendering/RenderTextControl.h:
31142        * rendering/RenderTextControlMultiLine.cpp:
31143        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
31144        * rendering/RenderTextControlSingleLine.cpp:
31145        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
31146
311472009-03-10  Antti Koivisto  <antti@apple.com>
31148
31149        Reviewed by Mark Rowe.
31150
31151        <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
31152        
31153        Another case where we would trigger extended encoding loading needlessly.
31154
31155        * platform/text/TextEncoding.cpp:
31156        (WebCore::TextEncoding::isNonByteBasedEncoding):
31157
311582009-03-10  Beth Dakin  <bdakin@apple.com>
31159
31160        Reviewed by Darin Adler.
31161
31162        Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No 
31163        scroll bar appears for long line of text with NOWRAP set
31164
31165        This is a regression from http://trac.webkit.org/changeset/32226
31166        I talked with Dan about the original change, and we decided that 
31167        the best fix was to remove his small potential-optimization that 
31168        only created a separate line box for whitespace under certain 
31169        circumstances. This new code will always create a separate line 
31170        box.
31171
31172        * rendering/bidi.cpp:
31173        (WebCore::RenderBlock::layoutInlineChildren):
31174
311752009-03-10  Sam Weinig  <sam@webkit.org>
31176
31177        Reviewed by Geoffrey Garen.
31178
31179        Fix for <rdar://problem/6166844>
31180        https://bugs.webkit.org/show_bug.cgi?id=24495
31181
31182        Use same rule for loading java applets as we do for images.
31183
31184        * html/HTMLAppletElement.cpp:
31185        (WebCore::HTMLAppletElement::createRenderer):
31186        * loader/FrameLoader.cpp:
31187        (WebCore::FrameLoader::createJavaAppletWidget):
31188
311892009-03-10  Justin Garcia  <justin.garcia@apple.com>
31190
31191        Reviewed by David Kilzer.
31192
31193        Get rid of revealCaret and use revealSelection instead.
31194
31195        * WebCore.base.exp:
31196        * editing/SelectionController.cpp:
31197        (WebCore::SelectionController::setSelection):
31198        * page/Frame.cpp:
31199        (WebCore::Frame::revealSelection):
31200        * page/Frame.h:
31201
312022009-03-10  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
31203
31204        Reviewed by Geoff Garen.
31205
31206        Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2
31207        <https://bugs.webkit.org/show_bug.cgi?id=23736>
31208        <rdar://problem/6560278>
31209
31210        Before replacing the document, FrameLoader::executeIfJavaScriptURL()
31211        should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy().
31212
31213        * loader/FrameLoader.cpp:
31214        (WebCore::FrameLoader::executeIfJavaScriptURL):
31215
312162009-03-10  Darin Adler  <darin@apple.com>
31217
31218        Reviewed by Alexey Proskuryakov.
31219
31220        Bug 24494: crash when deleting at end of document and merging paragraphs
31221        https://bugs.webkit.org/show_bug.cgi?id=24494
31222        rdar://problem/6571537
31223
31224        Test: editing/deleting/merge-at-end-of-document.html
31225
31226        * dom/Range.cpp:
31227        (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to
31228        use && in assertions since we'd like to know which condition is failing.
31229
31230        * editing/ApplyStyleCommand.cpp:
31231        (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before
31232        calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the
31233        function doesn't know which value to return.
31234
312352009-03-10  Dirk Schulze  <krit@webkit.org>
31236
31237        Reviewed by Eric Seidel. Math checked by Oliver Hunt.
31238
31239        Implement the Cairo version of the checkForSolidColor() method. This halfes the
31240        time to draw on 1x1 px background images.
31241        I added two new calls to Color for the pixel manipulation on cairo_surface's.
31242        They are neede to premultiply/unpremultiply the colors of the surface.
31243
31244        [CAIRO] Introduce single-pixel image optimizations
31245        https://bugs.webkit.org/show_bug.cgi?id=17284
31246
31247        * platform/graphics/Color.cpp:
31248        (WebCore::colorFromPremultipliedARGB):
31249        (WebCore::premultipliedARGBFromColor):
31250        * platform/graphics/Color.h:
31251        * platform/graphics/cairo/ImageBufferCairo.cpp:
31252        (WebCore::ImageBuffer::getImageData):
31253        (WebCore::ImageBuffer::putImageData):
31254        * platform/graphics/cairo/ImageCairo.cpp:
31255        (WebCore::BitmapImage::checkForSolidColor):
31256
312572009-03-06  Darin Fisher  <darin@chromium.org>
31258
31259        Reviewed by Sam Weinig.
31260
31261        https://bugs.webkit.org/show_bug.cgi?id=24437
31262
31263        Add support for registering noAccess URL schemes:
31264        1-  Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check
31265        that list upon construction (similar to how isLocal is implemented).
31266        2-  Make InspectorController call grantUniversalAccess on its Document's
31267        SecurityOrigin at the time when windowScriptObjectAvailable is called.
31268
31269        This enables content such as the inspector to be loaded from a custom (non-file)
31270        URL, which is how Chromium loads the inspector.  It also allows other URL schemes
31271        to be treated like data: URLs, which Chromium utilizes for its various HTML-based
31272        UI panels.
31273
31274        * inspector/InspectorController.cpp:
31275        (WebCore::InspectorController::windowScriptObjectAvailable):
31276        * loader/FrameLoader.cpp:
31277        (WebCore::localSchemes):
31278        (WebCore::noAccessSchemes):
31279        (WebCore::FrameLoader::loadItem):
31280        * loader/FrameLoader.h:
31281        * page/SecurityOrigin.cpp:
31282        (WebCore::SecurityOrigin::SecurityOrigin):
31283        (WebCore::SecurityOrigin::isLocal):
31284
312852009-03-10  Xan Lopez  <xlopez@igalia.com>
31286
31287        Build fix, no review
31288
31289        * page/mac/AccessibilityObjectWrapper.mm:
31290        (textMarkerForVisiblePosition):
31291        (visiblePositionForTextMarker):
31292
312932009-03-10  Xan Lopez  <xlopez@igalia.com>
31294
31295        Reviewed by Darin Adler.
31296
31297        https://bugs.webkit.org/show_bug.cgi?id=24491
31298        Rename posOffset to m_offset, get rid of accessor
31299
31300        As suggested in dom/Position.h, this patch gets rid of the
31301        'offset()' accessor and renames posOffset to m_offset. I've used
31302        m_offset instead of offset to follow the style guide lines, since
31303        Position is still a class and not a structure. If the long term
31304        plan is still to make it a structure it would be pretty easy to
31305        just s/m_offset/offset/ globally when that is achieved.
31306
31307        * dom/Position.cpp:
31308        (WebCore::Position::previous):
31309        (WebCore::Position::next):
31310        (WebCore::Position::atStart):
31311        (WebCore::Position::atEnd):
31312        (WebCore::Position::renderedOffset):
31313        (WebCore::Position::isCandidate):
31314        (WebCore::Position::inRenderedText):
31315        (WebCore::Position::isRenderedCharacter):
31316        (WebCore::Position::rendersInDifferentPosition):
31317        (WebCore::Position::leadingWhitespacePosition):
31318        (WebCore::Position::debugPosition):
31319        (WebCore::Position::formatForDebugger):
31320        * dom/Position.h:
31321        (WebCore::Position::Position):
31322        * dom/PositionIterator.h:
31323        (WebCore::PositionIterator::PositionIterator):
31324        * dom/Range.cpp:
31325        * dom/RangeBoundaryPoint.h:
31326        (WebCore::RangeBoundaryPoint::position):
31327        (WebCore::RangeBoundaryPoint::set):
31328        (WebCore::RangeBoundaryPoint::setOffset):
31329        (WebCore::RangeBoundaryPoint::setToChild):
31330        (WebCore::RangeBoundaryPoint::setToStart):
31331        (WebCore::RangeBoundaryPoint::setToEnd):
31332        (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
31333        * editing/ApplyStyleCommand.cpp:
31334        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
31335        (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
31336        (WebCore::ApplyStyleCommand::removeInlineStyle):
31337        (WebCore::ApplyStyleCommand::nodeFullySelected):
31338        (WebCore::ApplyStyleCommand::nodeFullyUnselected):
31339        (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
31340        (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
31341        (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
31342        (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
31343        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
31344        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
31345        (WebCore::ApplyStyleCommand::joinChildTextNodes):
31346        * editing/BreakBlockquoteCommand.cpp:
31347        (WebCore::BreakBlockquoteCommand::doApply):
31348        * editing/CompositeEditCommand.cpp:
31349        (WebCore::CompositeEditCommand::insertNodeAt):
31350        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
31351        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
31352        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
31353        (WebCore::CompositeEditCommand::deleteInsignificantText):
31354        (WebCore::CompositeEditCommand::removePlaceholderAt):
31355        (WebCore::CompositeEditCommand::moveParagraphs):
31356        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
31357        * editing/DeleteSelectionCommand.cpp:
31358        (WebCore::updatePositionForNodeRemoval):
31359        (WebCore::updatePositionForTextRemoval):
31360        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
31361        (WebCore::DeleteSelectionCommand::fixupWhitespace):
31362        * editing/Editor.cpp:
31363        (WebCore::Editor::setComposition):
31364        (WebCore::Editor::advanceToNextMisspelling):
31365        (WebCore::Editor::getCompositionSelection):
31366        * editing/InsertLineBreakCommand.cpp:
31367        (WebCore::InsertLineBreakCommand::doApply):
31368        * editing/InsertParagraphSeparatorCommand.cpp:
31369        (WebCore::InsertParagraphSeparatorCommand::doApply):
31370        * editing/InsertTextCommand.cpp:
31371        (WebCore::InsertTextCommand::performTrivialReplace):
31372        (WebCore::InsertTextCommand::input):
31373        (WebCore::InsertTextCommand::insertTab):
31374        * editing/MoveSelectionCommand.cpp:
31375        (WebCore::MoveSelectionCommand::doApply):
31376        * editing/ReplaceSelectionCommand.cpp:
31377        (WebCore::ReplaceSelectionCommand::doApply):
31378        * editing/SelectionController.cpp:
31379        (WebCore::SelectionController::debugRenderer):
31380        * editing/TextIterator.cpp:
31381        (WebCore::TextIterator::rangeFromLocationAndLength):
31382        * editing/TypingCommand.cpp:
31383        (WebCore::TypingCommand::deleteKeyPressed):
31384        (WebCore::TypingCommand::forwardDeleteKeyPressed):
31385        * editing/VisiblePosition.cpp:
31386        (WebCore::VisiblePosition::characterAfter):
31387        (WebCore::VisiblePosition::debugPosition):
31388        (WebCore::makeRange):
31389        (WebCore::setStart):
31390        (WebCore::setEnd):
31391        * editing/VisibleSelection.cpp:
31392        (WebCore::VisibleSelection::toNormalizedRange):
31393        (WebCore::makeSearchRange):
31394        (WebCore::VisibleSelection::debugPosition):
31395        (WebCore::VisibleSelection::showTreeForThis):
31396        * editing/htmlediting.cpp:
31397        (WebCore::comparePositions):
31398        (WebCore::rangeCompliantEquivalent):
31399        (WebCore::isFirstPositionAfterTable):
31400        (WebCore::isLastPositionBeforeTable):
31401        * editing/visible_units.cpp:
31402        (WebCore::previousBoundary):
31403        (WebCore::nextBoundary):
31404        (WebCore::startPositionForLine):
31405        (WebCore::startOfLine):
31406        (WebCore::endPositionForLine):
31407        (WebCore::nextLinePosition):
31408        (WebCore::startOfParagraph):
31409        (WebCore::endOfParagraph):
31410        * page/AccessibilityObject.cpp:
31411        (WebCore::updateAXLineStartForVisiblePosition):
31412        * page/AccessibilityRenderObject.cpp:
31413        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
31414        * page/DOMSelection.cpp:
31415        (WebCore::DOMSelection::anchorOffset):
31416        (WebCore::DOMSelection::baseOffset):
31417        (WebCore::DOMSelection::focusOffset):
31418        (WebCore::DOMSelection::extentOffset):
31419        * page/EventHandler.cpp:
31420        (WebCore::EventHandler::handleMousePressEventSingleClick):
31421        * page/Frame.cpp:
31422        (WebCore::Frame::selectionLayoutChanged):
31423        * rendering/RenderTextControl.cpp:
31424        (WebCore::RenderTextControl::indexForVisiblePosition):
31425        * rendering/RenderTreeAsText.cpp:
31426        (WebCore::writeSelection):
31427
314282009-03-10  Darin Adler  <darin@apple.com>
31429
31430        Reviewed by Dan Bernstein.
31431
31432        Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML
31433        https://bugs.webkit.org/show_bug.cgi?id=23564
31434        rdar://problem/6537238
31435
31436        Test: fast/dom/HTMLElement/innerHTML-selection-crash.html
31437
31438        * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets
31439        call to the one of the two overloads of this function that wasn't calling it. This fixes
31440        this crash and other possible crashes inside innerHTML.
31441
314422009-03-10  Alexey Proskuryakov  <ap@webkit.org>
31443
31444        Reviewed by Darin Adler.
31445
31446        https://bugs.webkit.org/show_bug.cgi?id=24285
31447        Text resource loading checks for BOM twice
31448
31449        This removes TextDecoder class, since its only purpose was to check for BOM, which is
31450        already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get
31451        BOM checked, but I didn't find any cases where it would significantly change behavior.
31452
31453        * GNUmakefile.am:
31454        * WebCore.pro:
31455        * WebCore.scons:
31456        * WebCore.vcproj/WebCore.vcproj:
31457        * WebCore.xcodeproj/project.pbxproj:
31458        * WebCoreSources.bkl:
31459        Remove TextDecoder.{h,cpp}.
31460
31461        * platform/text/TextDecoder.cpp: Removed.
31462        * platform/text/TextDecoder.h: Removed.
31463
31464        * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and
31465        TextCodec separately.
31466
31467        * loader/TextResourceDecoder.cpp:
31468        (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member.
31469        (WebCore::TextResourceDecoder::setEncoding): Ditto.
31470        (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override
31471        even a user-chosen encoding - this is how it already worked due to TextDecoder checking for
31472        BOM again. Made this function return the detected BOM length.
31473        (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of
31474        a text resource.
31475        (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same
31476        resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly.
31477
31478        * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
31479        Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer
31480        checks for BOM, which was a counter-intuitive feature.
31481
31482        * loader/CachedScript.cpp:
31483        (WebCore::CachedScript::CachedScript):
31484        (WebCore::CachedScript::setEncoding):
31485        (WebCore::CachedScript::encoding):
31486        (WebCore::CachedScript::script):
31487        * loader/CachedScript.h:
31488        * loader/appcache/ManifestParser.cpp:
31489        (WebCore::parseManifest):
31490        Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM.
31491        A side effect of this is that these resources will now be subject to encoding auto-detection.
31492
31493        * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
31494        * page/Page.cpp: (WebCore::Page::userStyleSheet):
31495        Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder
31496        re-usable (for repeated decoding of the same resource).
31497
31498        * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec().
31499
315002009-03-10  Alexey Proskuryakov  <ap@webkit.org>
31501
31502        Reviewed by Darin Adler.
31503
31504        https://bugs.webkit.org/show_bug.cgi?id=24488
31505        An assertion failure when updating an offline application cache after emptying caches
31506
31507        Emptying appcache cannot be performed automatically, so no test.
31508
31509        * loader/appcache/ApplicationCacheGroup.cpp:
31510        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk
31511        storage, even if the application wasn't updated server side.
31512
315132009-03-10  Oliver Hunt  <oliver@apple.com>
31514
31515        Reviewed by Alexey Proskuryakov.
31516
31517        <rdar://problem/6425807> Implement WorkerUtils.importScripts()
31518        <https://bugs.webkit.org/show_bug.cgi?id=22721>
31519
31520        Implement importScripts, currently uses a series of synchronous loads
31521        to fetch the scripts, but this is simpler than a synchronous load of
31522        multiple loads in parallel.  In future we'll want to switch to parallel
31523        loading, but this will do for now.
31524        
31525        Test: http/tests/workers/worker-importScripts.html
31526
31527        * GNUmakefile.am:
31528        * WebCore.vcproj/WebCore.vcproj:
31529        * WebCore.xcodeproj/project.pbxproj:
31530        * bindings/js/JSWorkerContextCustom.cpp:
31531        (WebCore::JSWorkerContext::importScripts):
31532        * bindings/js/ScriptValue.h:
31533        (WebCore::ScriptValue::hasNoValue):
31534        * bindings/js/WorkerScriptController.cpp:
31535        (WebCore::WorkerScriptController::evaluate):
31536        (WebCore::WorkerScriptController::setException):
31537        * bindings/js/WorkerScriptController.h:
31538        * dom/Document.cpp:
31539        (WebCore::Document::scriptImported):
31540        * dom/Document.h:
31541        * dom/ScriptExecutionContext.h:
31542        * inspector/InspectorController.cpp:
31543        (WebCore::InspectorController::scriptImported):
31544        * inspector/InspectorController.h:
31545        * inspector/InspectorResource.cpp:
31546        (WebCore::InspectorResource::setScriptProperties):
31547        * inspector/InspectorResource.h:
31548        * workers/WorkerContext.cpp:
31549        (WebCore::WorkerContext::scriptImported):
31550        (WebCore::WorkerContext::importScripts):
31551        * workers/WorkerContext.h:
31552        * workers/WorkerContext.idl:
31553        * workers/WorkerImportScriptsClient.cpp: Added.
31554        (WebCore::WorkerImportScriptsClient::didReceiveResponse):
31555        (WebCore::WorkerImportScriptsClient::didReceiveData):
31556        (WebCore::WorkerImportScriptsClient::didFinishLoading):
31557        (WebCore::WorkerImportScriptsClient::didFail):
31558        (WebCore::WorkerImportScriptsClient::didFailRedirectCheck):
31559        (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation):
31560        * workers/WorkerImportScriptsClient.h: Added.
31561        (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient):
31562        (WebCore::WorkerImportScriptsClient::script):
31563        (WebCore::WorkerImportScriptsClient::failed):
31564
315652009-03-10  Alexey Proskuryakov  <ap@webkit.org>
31566
31567        Reviewed by Darin Adler.
31568
31569        https://bugs.webkit.org/show_bug.cgi?id=24462
31570        Move cross-origin access control code out of XMLHttpRequest
31571
31572        Step 1: move preflight result cache and access control helper functions.
31573
31574        No change in behavior, so no test.
31575
31576        * GNUmakefile.am:
31577        * WebCore.pro:
31578        * WebCore.scons:
31579        * WebCore.vcproj/WebCore.vcproj:
31580        * WebCore.xcodeproj/project.pbxproj:
31581        * WebCoreSources.bkl:
31582        * loader/CrossOriginAccessControl.cpp: Added.
31583        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
31584        (WebCore::isSimpleCrossOriginAccessRequest):
31585        (WebCore::createAllowedCrossOriginResponseHeadersSet):
31586        (WebCore::isOnAccessControlResponseHeaderWhitelist):
31587        (WebCore::passesAccessControlCheck):
31588        * loader/CrossOriginAccessControl.h: Added.
31589        * loader/CrossOriginPreflightResultCache.cpp: Added.
31590        (WebCore::parseAccessControlMaxAge):
31591        (WebCore::addToAccessControlAllowList):
31592        (WebCore::parseAccessControlAllowList):
31593        (WebCore::CrossOriginPreflightResultCacheItem::parse):
31594        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
31595        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
31596        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
31597        (WebCore::CrossOriginPreflightResultCache::shared):
31598        (WebCore::CrossOriginPreflightResultCache::appendEntry):
31599        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
31600        * loader/CrossOriginPreflightResultCache.h: Added.
31601        (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
31602        (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
31603        * xml/XMLHttpRequest.cpp:
31604        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
31605        (WebCore::XMLHttpRequest::createRequest):
31606        (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest):
31607        (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
31608        (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight):
31609        (WebCore::XMLHttpRequest::didReceiveResponse):
31610        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
31611        * xml/XMLHttpRequest.h:
31612
316132009-03-10  Alexey Proskuryakov  <ap@webkit.org>
31614
31615        Reviewed by Darin Adler.
31616
31617        https://bugs.webkit.org/show_bug.cgi?id=19797
31618        Bring the list of forbidden headers in sync with XMLHttpRequest spec draft
31619
31620        Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html.
31621
31622        * xml/XMLHttpRequest.cpp:
31623        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from
31624        XMLHttpRequest 2 draft.
31625
316262009-03-10  Dan Bernstein  <mitz@apple.com>
31627
31628        Reviewed by Adele Peterson.
31629
31630        - fix https://bugs.webkit.org/show_bug.cgi?id=23975
31631          <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted
31632
31633        * rendering/RenderLayer.cpp:
31634        (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical
31635        scrollbar rect calculation.
31636
316372009-03-09  Simon Fraser  <simon.fraser@apple.com>
31638
31639        Reviewed by Dan Bernstein, Oliver Hunt
31640
31641        https://bugs.webkit.org/show_bug.cgi?id=24475
31642        
31643        When repainting replaced elements, need to union the selection
31644        and overflow rects because either may extend outside the other.
31645        
31646        Test: fast/repaint/transform-replaced-shadows.html
31647
31648        * rendering/RenderReplaced.cpp:
31649        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
31650
316512009-03-09  Stephanie Lewis  <slewis@apple.com>
31652
31653        Fix build.
31654
31655        * editing/Editor.cpp:
31656        (WebCore::Editor::advanceToNextMisspelling):
31657        (WebCore::markAllMisspellingsAndBadGrammarInRanges):
31658
316592009-03-09  Kim Christensen  <kimworking@gmail.com>
31660
31661        Reviewed by Darin Fisher.
31662
31663        https://bugs.webkit.org/show_bug.cgi?id=24276
31664        Dropdown / select boxes do not consider the windows task bar in Chromium.
31665
31666        * platform/chromium/PopupMenuChromium.cpp:
31667        (WebCore::PopupContainer::showPopup):
31668
316692009-03-09  Dan Bernstein  <mitz@apple.com>
31670
31671        Reviewed by Adele Peterson and Dave Hyatt.
31672
31673        - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has
31674          misaligned edit fields
31675
31676        Test: fast/forms/legend-display-none.html
31677
31678        * css/CSSStyleSelector.cpp:
31679        (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display
31680        property of legend elements to 'block' unless it is 'none'.
31681        * css/html4.css: Do not force the display property of legend elements to
31682        'block' using CSS, because that prevents style rules from setting it to
31683        'none'.
31684
316852009-03-09  Alpha Lam  <hclam@chromium.org>
31686
31687        Reviewed by Dave Hyatt.
31688
31689        https://bugs.webkit.org/show_bug.cgi?id=23024
31690
31691        Fix an incorrect criteria in the if statement that leaves references to
31692        deleted floating objects in RenderBlock.
31693
31694        Test: fast/block/float/crash-on-absolute-positioning.html
31695
31696        * rendering/RenderBlock.cpp:
31697        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
31698
316992009-03-09  Mike Belshe  <mike@belshe.com>
31700
31701        Reviewed by Eric Seidel.
31702
31703        Unify JSC/V8 idl file.
31704        https://bugs.webkit.org/show_bug.cgi?id=24424
31705
31706        * page/Location.idl:
31707
317082009-03-09  Mike Belshe  <mike@belshe.com>
31709
31710        Reviewed by Eric Seidel.
31711
31712        Unify JSC/V8 for History.idl.
31713
31714        * page/History.idl:
31715
317162009-03-09  Mike Belshe  <mike@belshe.com>
31717
31718        Reviewed by Eric Seidel.
31719
31720        Unify JSC/V8 implementations of DOMWindow.idl.
31721
31722        * page/DOMWindow.idl:
31723
317242009-03-09  Simon Fraser  <simon.fraser@apple.com>
31725
31726        Reviewed by Dave Hyatt
31727
31728        https://bugs.webkit.org/show_bug.cgi?id=24163
31729        
31730        Implement mapping of FloatQuads through 3D transforms.
31731        
31732        Removed the redundant localToContainerQuad() methods, which can now 
31733        shared code with the old mapLocalToAbsolutePoint(), which was
31734        renamed to mapLocalToContainer(). This can now convert a point,
31735        and optionally a FloatQuad, which are carried along in the TransformState.
31736        
31737        Optimized TransformState to reduce to simple FloatPoint.move()
31738        if there are no transforms, and to heap-allocate a transform only if
31739        necessary to accumulate transforms (when using preserve-3d).
31740        
31741        Tested by 3d point mapping tests, and the inspector highlight (which now shows
31742        the correct quads for 3d-transformed elements).
31743
31744        * platform/graphics/transforms/TransformationMatrix.cpp:
31745        (WebCore::TransformationMatrix::projectQuad):
31746        (WebCore::TransformationMatrix::translateRight):
31747        (WebCore::TransformationMatrix::translateRight3d):
31748        * platform/graphics/transforms/TransformationMatrix.h:
31749        * rendering/RenderBox.cpp:
31750        (WebCore::RenderBox::mapLocalToContainer):
31751        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
31752        * rendering/RenderBox.h:
31753        * rendering/RenderObject.cpp:
31754        (WebCore::RenderObject::localToAbsolute):
31755        (WebCore::RenderObject::absoluteToLocal):
31756        (WebCore::RenderObject::mapLocalToContainer):
31757        (WebCore::RenderObject::localToContainerQuad):
31758        * rendering/RenderObject.h:
31759        * rendering/RenderTableCell.cpp:
31760        (WebCore::RenderTableCell::mapLocalToContainer):
31761        * rendering/RenderTableCell.h:
31762        * rendering/RenderView.cpp:
31763        (WebCore::RenderView::mapLocalToContainer):
31764        * rendering/RenderView.h:
31765        * rendering/TransformState.cpp:
31766        (WebCore::TransformState::move):
31767        (WebCore::TransformState::applyTransform):
31768        (WebCore::TransformState::flatten):
31769        (WebCore::TransformState::mappedPoint):
31770        (WebCore::TransformState::mappedQuad):
31771        (WebCore::TransformState::flattenWithTransform):
31772        (WebCore::HitTestingTransformState::mappedQuad):
31773        * rendering/TransformState.h:
31774        (WebCore::TransformState::TransformState):
31775        (WebCore::TransformState::move):
31776        (WebCore::TransformState::lastPlanarPoint):
31777        (WebCore::TransformState::lastPlanarQuad):
31778        * rendering/style/RenderStyle.h:
31779        (WebCore::InheritedFlags::preserves3D):
31780
317812009-03-09  Simon Fraser  <simon.fraser@apple.com>
31782
31783        Reviewed by Dave Hyatt
31784
31785        https://bugs.webkit.org/show_bug.cgi?id=24433
31786        
31787        During hit testing with transforms, if a layer has backface-visibility: hidden,
31788        we need to check for it whether or not the layer has a transform, because it
31789        might be an ancestor that is transformed.
31790
31791        Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html
31792
31793        * rendering/RenderLayer.cpp:
31794        (WebCore::RenderLayer::hitTestLayer):
31795
317962009-03-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31797
31798        Reviewed by George Staikos.
31799
31800        https://bugs.webkit.org/show_bug.cgi?id=24353
31801        Allow to overrule default build options for Qt build.
31802
31803        * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API
31804
318052009-03-09  Adam Treat  <adam.treat@torchmobile.com>
31806
31807        Reviewed by George Staikos.
31808
31809        https://bugs.webkit.org/show_bug.cgi?id=24463
31810        WebCore::qstring is detaching and copying twice for every single
31811        WebCore::TextRun that is processed and drawn.  This elevates this method
31812        to one of the top-ten most expensive methods in all of QtWebKit according
31813        to profiling.  This changes the method so that QString only detaches
31814        when absolutely necessary.
31815
31816        * platform/graphics/qt/FontQt.cpp:
31817        (WebCore::qstring):
31818        (WebCore::fixSpacing):
31819        (WebCore::Font::drawComplexText):
31820        (WebCore::Font::floatWidthForComplexText):
31821        (WebCore::Font::offsetForPositionForComplexText):
31822        (WebCore::Font::selectionRectForComplexText):
31823
318242009-03-08  Mark Rowe  <mrowe@apple.com>
31825
31826        Reviewed by Oliver Hunt.
31827
31828        Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
31829        Frame.h no longer needs to include it.  This cuts the size of the symbols
31830        for a debug build by around 3%.
31831
31832        * dom/Element.cpp:
31833        (WebCore::Element::scrollIntoView):
31834        (WebCore::Element::scrollIntoViewIfNeeded):
31835        * editing/Editor.cpp:
31836        (WebCore::Editor::insertTextWithoutSendingTextEvent):
31837        (WebCore::Editor::revealSelectionAfterEditingOperation):
31838        * editing/SelectionController.cpp:
31839        (WebCore::SelectionController::setSelection):
31840        * loader/FrameLoader.cpp:
31841        (WebCore::FrameLoader::gotoAnchor):
31842        * page/ContextMenuController.cpp:
31843        (WebCore::ContextMenuController::contextMenuItemSelected):
31844        * page/Frame.cpp:
31845        (WebCore::Frame::revealSelection):
31846        (WebCore::Frame::revealCaret):
31847        * page/Frame.h:
31848        * rendering/RenderLayer.cpp:
31849        (WebCore::RenderLayer::getRectToExpose):
31850        (WebCore::RenderLayer::autoscroll):
31851        * rendering/RenderLayer.h:
31852        * rendering/ScrollBehavior.cpp: Added.
31853        (WebCore::):
31854        * rendering/ScrollBehavior.h: Added.
31855        (WebCore::):
31856        (WebCore::ScrollAlignment::getVisibleBehavior):
31857        (WebCore::ScrollAlignment::getPartialBehavior):
31858        (WebCore::ScrollAlignment::getHiddenBehavior):
31859
31860        Add the new files to the build systems:
31861        * GNUmakefile.am:
31862        * WebCore.base.exp:
31863        * WebCore.pro:
31864        * WebCore.scons:
31865        * WebCore.vcproj/WebCore.vcproj:
31866        * WebCore.xcodeproj/project.pbxproj:
31867        * WebCoreSources.bkl:
31868
31869        Add includes that were previously pulled in by way of RenderLayer.h from Frame.h:
31870        * dom/Clipboard.cpp:
31871        * editing/EditorCommand.cpp:
31872        * editing/InsertLineBreakCommand.cpp:
31873        * editing/TypingCommand.cpp:
31874        * html/HTMLFormControlElement.cpp:
31875        * loader/archive/cf/LegacyWebArchive.cpp:
31876        * loader/icon/IconLoader.cpp:
31877        * page/animation/AnimationController.cpp:
31878        * rendering/RenderSlider.cpp:
31879        * rendering/RenderTextControl.cpp:
31880
31881
318822009-03-08  Mark Rowe  <mrowe@apple.com>
31883
31884        Reviewed Dan Bernstein.
31885
31886        Push the include of Frame.h out of RenderView.h and down to those files
31887        that need it.  This cuts the size of symbols for RenderFoo object files
31888        by around 15% in a debug build.
31889
31890        * bindings/objc/DOM.mm:
31891        * rendering/RenderFileUploadControl.cpp:
31892        * rendering/RenderInline.cpp:
31893        * rendering/RenderObject.cpp:
31894        * rendering/RenderReplaced.cpp:
31895        * rendering/RenderText.cpp:
31896        * rendering/RenderView.cpp:
31897        (WebCore::RenderView::zoomFactor):
31898        * rendering/RenderView.h:
31899
319002009-03-08  Mark Rowe  <mrowe@apple.com>
31901
31902        Rubber-stamped by Dan Bernstein.
31903
31904        Remove some unnecessary or redundant includes from files related to the JS bindings.
31905        This cuts the size of the symbols for a debug build by around 3%.
31906
31907        * bindings/js/JSCustomPositionCallback.cpp:
31908        * bindings/js/JSCustomPositionErrorCallback.cpp:
31909        * bindings/js/JSCustomSQLStatementCallback.cpp:
31910        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
31911        * bindings/js/JSCustomSQLTransactionCallback.cpp:
31912        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
31913        * bindings/js/JSCustomVoidCallback.cpp:
31914        * bindings/js/JSCustomXPathNSResolver.cpp:
31915        * bindings/js/JSDocumentCustom.cpp:
31916        * bindings/js/JSPluginElementFunctions.cpp:
31917        * bindings/js/JSSVGPODTypeWrapper.h:
31918
319192009-03-08  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
31920
31921        Reviewed by Oliver Hunt.
31922
31923        Remove the unused methods previousHistoryItem(), setPreviousHistoryItem()
31924        and provisionalHistoryItem() from FrameLoader.
31925
31926        * WebCore.base.exp:
31927        * WebCore.order:
31928        * loader/FrameLoader.cpp:
31929        (WebCore::FrameLoader::frameLoadCompleted):
31930        (WebCore::FrameLoader::loadItem):
31931        * loader/FrameLoader.h:
31932
319332009-03-08  Gustavo Noronha Silva  <gns@gnome.org>
31934
31935        Reviewed by Holger Freyther.
31936
31937        Implement proper logging for the GTK+ port, inspired by the one in
31938        Qt. We use the WEBKIT_DEBUG environment variable which was already
31939        being used to decide whether to setup a logger for soup or not.
31940
31941        * platform/gtk/LoggingGtk.cpp:
31942        (WebCore::getChannelFromName):
31943        (WebCore::InitializeLoggingChannelsIfNecessary):
31944        * platform/network/soup/ResourceHandleSoup.cpp:
31945        (WebCore::ensureSessionIsInitialized):
31946
319472009-03-07  Dan Bernstein  <mitz@apple.com>
31948
31949        Reviewed by Mark Rowe.
31950
31951        - WebCore part of removing build-time and run-time support for legacy
31952          versions of CFNetwork and Core Graphics
31953
31954        * platform/graphics/win/FontCGWin.cpp:
31955        (WebCore::Font::drawGlyphs):
31956        * platform/graphics/win/FontCustomPlatformData.cpp:
31957        (WebCore::FontCustomPlatformData::fontPlatformData):
31958        * platform/graphics/win/FontPlatformDataCGWin.cpp:
31959        (WebCore::FontPlatformData::platformDataInit):
31960        * platform/network/cf/FormDataStreamCFNet.cpp:
31961        (WebCore::setHTTPBody):
31962        (WebCore::httpBodyFromRequest):
31963        * platform/network/cf/ResourceHandleCFNet.cpp:
31964        (WebCore::didSendBodyData):
31965        (WebCore::shouldUseCredentialStorageCallback):
31966        (WebCore::ResourceHandle::start):
31967        * platform/network/win/CookieJarCFNetWin.cpp:
31968        (WebCore::filterCookies):
31969
319702009-03-07  Adele Peterson  <adele@apple.com>
31971
31972        Reviewed by Dan Bernstein.
31973
31974        Fix for https://bugs.webkit.org/show_bug.cgi?id=24444
31975        No multiple JS property for <input type="file" multiple />
31976
31977        * html/HTMLInputElement.cpp:
31978        (WebCore::HTMLInputElement::multiple):
31979        (WebCore::HTMLInputElement::setMultiple):
31980        * html/HTMLInputElement.h:
31981        * html/HTMLInputElement.idl:
31982
319832009-03-07  Xan Lopez  <xan@gnome.org>
31984
31985        Reviewed by Holger Freyther.
31986
31987        https://bugs.webkit.org/show_bug.cgi?id=24358
31988        [GTK] Scrollbars not clipped correctly
31989
31990        ScrollView scrollbars in subframes are *not* native, so take that
31991        into account again.
31992
31993        * platform/gtk/ScrollbarGtk.cpp:
31994        (ScrollbarGtk::getLocationInParentWindow):
31995        (ScrollbarGtk::frameRectsChanged):
31996        (ScrollbarGtk::paint):
31997        * platform/gtk/ScrollbarGtk.h:
31998
319992009-03-06  Peter Kasting  <pkasting@google.com>
32000
32001        Reviewed by Darin Fisher.
32002
32003        https://bugs.webkit.org/show_bug.cgi?id=24405
32004        Horizontal scrolling on Windows was reversed from Mac (and intuition).
32005
32006        * platform/gtk/WheelEventGtk.cpp:
32007        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32008        * platform/win/WheelEventWin.cpp:
32009        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32010
320112009-03-06  Peter Kasting  <pkasting@google.com>
32012
32013        Reviewed by Sam Weinig.
32014
32015        Convert some C-style casts to static_cast<>()s.
32016
32017        * platform/gtk/WheelEventGtk.cpp:
32018        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32019        * platform/mac/WheelEventMac.mm:
32020        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32021        * platform/win/WheelEventWin.cpp:
32022        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32023        * platform/wx/MouseWheelEventWx.cpp:
32024        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32025
320262009-03-06  Adele Peterson  <adele@apple.com>
32027
32028        Reviewed by Oliver Hunt.
32029
32030        Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken)
32031
32032        I haven't been able to make a test for this since the problem is not reproducible within an empty iframe.
32033
32034        * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element.
32035          That is no longer true, so we should return the document element for a truly empty document.
32036
320372009-03-06  Jay Campan  <jcampan@google.com>
32038
32039        Reviewed by Darin Fisher.
32040
32041        https://bugs.webkit.org/show_bug.cgi?id=24306
32042
32043        Adding a flag to ResourceRequestBase to indicate whether or not upload
32044        progress notifications are needed for a resource. This is useful to
32045        avoid sending these notifications when there are no consumers
32046        (especially in the Chromium case where IPC is involved). 
32047
32048        * platform/network/ResourceRequestBase.h:
32049        (WebCore::ResourceRequestBase::reportUploadProgress):
32050        (WebCore::ResourceRequestBase::setReportUploadProgress):
32051        (WebCore::ResourceRequestBase::ResourceRequestBase):
32052        * xml/XMLHttpRequest.cpp:
32053        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
32054
320552009-03-06  Dmitry Titov  <dimich@chromium.org>
32056
32057        Reviewed by Alexey Proskuryakov.
32058
32059        https://bugs.webkit.org/show_bug.cgi?id=24150
32060        Add virtual ScriptExecutionContext::encoding()
32061
32062        Test: http/tests/workers/text-encoding.html
32063
32064        * dom/Document.cpp:
32065        (WebCore::Document::encoding):
32066        * dom/Document.h:
32067        (WebCore::Document::inputEncoding):
32068        (WebCore::Document::charset):
32069        (WebCore::Document::characterSet):
32070        Add new virtual method and route DOM synonym functions on Document through it.
32071
32072        * dom/ScriptExecutionContext.h:
32073        * workers/Worker.cpp:
32074        (WebCore::Worker::Worker):
32075        (WebCore::Worker::notifyFinished):
32076        * workers/WorkerContext.cpp:
32077        (WebCore::WorkerContext::WorkerContext):
32078        (WebCore::WorkerContext::encoding):
32079        (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL
32080        * workers/WorkerContext.h:
32081        (WebCore::WorkerContext::create):
32082        * workers/WorkerContextProxy.h:
32083        * workers/WorkerMessagingProxy.cpp:
32084        (WebCore::WorkerMessagingProxy::startWorkerContext):
32085        * workers/WorkerMessagingProxy.h:
32086        * workers/WorkerThread.cpp:
32087        (WebCore::WorkerThreadStartupData::create):
32088        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
32089        (WebCore::WorkerThread::create):
32090        (WebCore::WorkerThread::WorkerThread):
32091        (WebCore::WorkerThread::workerThread):
32092        * workers/WorkerThread.h:
32093        All of the above route the 'encoding' parameter of parent context to the new
32094        instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy
32095        through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext.
32096
320972009-03-06  Peter Kasting  <pkasting@google.com>
32098
32099        Build bustage fix.
32100
32101        * dom/Node.cpp:
32102        (WebCore::Node::dispatchWheelEvent):
32103
321042009-03-06  Eric Carlson  <eric.carlson@apple.com>
32105
32106        Reviewed by Antti Koivisto.
32107
32108        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
32109        (WebCore::MediaPlayerPrivate::createQTMovieView):  Delay callback while setting up movieview.
32110
321112009-03-06  Douglas R. Davidson  <ddavidso@apple.com>
32112
32113        Reviewed by Justin Garcia.
32114        
32115        https://bugs.webkit.org/show_bug.cgi?id=24108
32116
32117        Update spelling and grammar checking to use the new combined text 
32118        checking (with automatic language identification) on Snow Leopard. 
32119        Tested manually in Mail and Safari; automated tests to come later. 
32120        
32121        * editing/Editor.cpp:
32122        (WebCore::findFirstMisspellingOrBadGrammarInRange):
32123        (WebCore::Editor::advanceToNextMisspelling):
32124        (WebCore::guessesForMisspelledOrUngrammaticalRange):
32125        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
32126        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
32127        (WebCore::markAllMisspellingsAndBadGrammarInRanges):
32128        (WebCore::Editor::markMisspellingsAndBadGrammar):
32129        * editing/Editor.h:
32130        * loader/EmptyClients.h:
32131        (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph):
32132        * page/EditorClient.h:
32133        * page/Frame.cpp:
32134        (WebCore::Frame::respondToChangedSelection):
32135        * platform/ContextMenu.cpp:
32136        (WebCore::ContextMenu::populate):
32137
321382009-03-06  Peter Kasting  <pkasting@google.com>
32139
32140        Reviewed by Darin Fisher.
32141
32142        https://bugs.webkit.org/show_bug.cgi?id=24407
32143        Windows scroll amount was too small, and wheel scroll distance
32144        conversion code was overly complex.
32145
32146        * page/EventHandler.cpp:
32147        (WebCore::scrollAndAcceptEvent):
32148        * platform/PlatformWheelEvent.h:
32149        (WebCore::):
32150        * platform/ScrollView.cpp:
32151        (WebCore::ScrollView::wheelEvent):
32152        * platform/Scrollbar.h:
32153        * platform/gtk/WheelEventGtk.cpp:
32154        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32155        * platform/mac/WheelEventMac.mm:
32156        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32157        * platform/qt/WheelEventQt.cpp:
32158        * platform/win/WheelEventWin.cpp:
32159        (WebCore::horizontalScrollChars):
32160        (WebCore::verticalScrollLines):
32161        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32162        * platform/wx/MouseWheelEventWx.cpp:
32163        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
32164
321652009-03-06  Dimitri Glazkov  <dglazkov@chromium.org>
32166
32167        Reviewed by Adam Roben.
32168
32169        Generate valid bindings with HTML5 database support disabled. 
32170
32171        * inspector/InspectorController.idl: Added feature guard around 
32172        databaseTableNames definition.
32173
321742009-03-04  Xan Lopez  <xan@gnome.org>
32175
32176        Reviewed by Holger Freyther.
32177
32178        https://bugs.webkit.org/show_bug.cgi?id=24358
32179        [GTK] Scrollbars not clipped correctly
32180
32181        Do not take into account the case of being a ScrollView scrollbar,
32182        since those are native in our case.
32183
32184        * platform/gtk/ScrollbarGtk.cpp:
32185        (ScrollbarGtk::frameRectsChanged):
32186
321872009-03-04  Xan Lopez  <xan@gnome.org>
32188
32189        Reviewed by Holger Freyther.
32190
32191        https://bugs.webkit.org/show_bug.cgi?id=24358
32192        [GTK] Scrollbars not clipped correctly
32193
32194        Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar
32195        specific and it's our only Widget anyway.
32196
32197        * platform/gtk/ScrollbarGtk.cpp:
32198        (ScrollbarGtk::paint):
32199        * platform/gtk/ScrollbarGtk.h:
32200        * platform/gtk/WidgetGtk.cpp:
32201
322022009-03-04  Xan Lopez  <xan@gnome.org>
32203
32204        Reviewed by Holger Freyther.
32205
32206        https://bugs.webkit.org/show_bug.cgi?id=24358
32207        [GTK] Scrollbars not clipped correctly
32208
32209        Use correct clip rectangle and apply coordinate translation needed
32210        for non-ScrollView scrollbars.
32211
32212        We were ignoring the clip rectangle passed as parameter, which is
32213        wrong in the case of non coalesced expose events. This, in turn,
32214        uncovers the fact that we were not applying coordinate translation
32215        to our position.
32216
32217        * platform/gtk/WidgetGtk.cpp:
32218        (WebCore::Widget::paint):
32219
322202009-03-06  Eric Carlson  <eric.carlson@apple.com>
32221
32222        Build fix, no review
32223
32224        * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration
32225
322262009-03-06  Eric Carlson  <eric.carlson@apple.com>
32227
32228        Reviewed by Simon Fraser.
32229
32230        https://bugs.webkit.org/show_bug.cgi?id=22790
32231        Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms
32232        Replace media engine setRect with setSize since they don't use about the 
32233        position anyway.
32234
32235        * platform/graphics/MediaPlayer.cpp:
32236        (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect.
32237        (WebCore::MediaPlayer::setSize): Ditto.
32238        * platform/graphics/MediaPlayer.h:
32239        (WebCore::MediaPlayer::size): Changed from rect().
32240
32241        * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize.
32242
32243        * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto.
32244
32245        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 
32246        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect
32247        (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
32248        (WebCore::MediaPlayerPrivate::paint): update comment
32249        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size.
32250
32251        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:  m_rect
32252        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
32253        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect.
32254        (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize.
32255        (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
32256        (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so 
32257        the movie is drawn in the correct location.
32258
32259        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
32260        (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
32261        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
32262
32263        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
32264        (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
32265        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
32266
32267        * rendering/RenderVideo.cpp:
32268        (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect.
32269
322702009-03-06  Darin Adler  <darin@apple.com>
32271
32272        Reviewed by Darin Fisher.
32273
32274        Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window
32275        https://bugs.webkit.org/show_bug.cgi?id=24422
32276        rdar://problem/6402208
32277
32278        Test: fast/dom/location-new-window-no-crash.html
32279
32280        The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck
32281        to add some checks for empty URLs. We could also put the empty URL checks at some
32282        other bottleneck level and add more assertions over time. I tried adding a few more
32283        assertions to functions like loadURL and hit them while running the regression tests,
32284        so it's probably going to be a bit tricky to clean this up throughout the loader.
32285
32286        * loader/FrameLoader.cpp:
32287        (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct
32288        immutable by making all its members const. Added assertions about the arguments,
32289        including that the URL is not empty. Initialized one uninitialized member in one of
32290        the constructors.
32291        (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this
32292        a no-op if passed an empty URL.
32293        (WebCore::FrameLoader::scheduleLocationChange): Ditto.
32294        (WebCore::FrameLoader::scheduleRefresh): Ditto.
32295
322962009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
32297
32298        Reviewed by Holger Freyther.
32299
32300        https://bugs.webkit.org/show_bug.cgi?id=24423
32301        Use new soup_message_body_set_accumulate API in soup backend
32302
32303        Disable accumulating chunks for request_body on file uploads,
32304        using the new soup API.
32305
32306        * platform/network/soup/ResourceHandleSoup.cpp:
32307        (WebCore::ResourceHandle::startHttp):
32308
323092009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
32310
32311        Reviewed by Holger Freyther.
32312
32313        Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with
32314        the new soup_message_body_set_accumulate API in soup.
32315
32316        * platform/network/soup/ResourceHandleSoup.cpp:
32317        (WebCore::gotHeadersCallback):
32318        (WebCore::ResourceHandle::startHttp):
32319
323202009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
32321
32322        Reviewed by Holger Freyther.
32323
32324        https://bugs.webkit.org/show_bug.cgi?id=24051
32325        Soup backend needs content sniffing capabilities
32326
32327        Perform content sniffing when using soup, so that we have a chance
32328        of figuring out the Content-Type of the file if it's not sent by
32329        the server.
32330
32331        * platform/network/ResourceHandleInternal.h:
32332        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
32333        * platform/network/soup/ResourceHandleSoup.cpp:
32334        (WebCore::gotHeadersCallback):
32335        (WebCore::gotChunkCallback):
32336
323372009-03-06  Hironori Bono  <hbono@chromium.org>
32338
32339        Reviewed by Alexey Proskuryakov.
32340
32341        https://bugs.webkit.org/show_bug.cgi?id=24342
32342        Cannot insert a Thai character after a Thai prepend character when using ICU 4.0
32343
32344        This change creates a new break iterator "cursorMovementIterator" for
32345        moving cursors and use it when moving an input cursor.
32346        In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset
32347        based on the one of ICU 3.8.
32348        On the other hand, in "TextBreakIteratorQt.cpp", this break iterator
32349        just calls the characterBreakIterator() function.
32350
32351        Test: editing/inserting/insert-thai-characters-001.html
32352
32353        * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator().
32354        * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU.
32355        (WebCore::setUpIteratorWithRules): Ditto.
32356        (WebCore::cursorMovementIterator): Ditto.
32357        * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt.
32358        (WebCore::cursorMovementIterator): Ditto.
32359        * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor.
32360        (WebCore::RenderText::previousOffset): Ditto.
32361        (WebCore::RenderText::nextOffset): Ditto.
32362
323632009-03-05  Alexey Proskuryakov  <ap@webkit.org>
32364
32365        Reviewed by Oliver Hunt.
32366
32367        <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
32368        Characters (a compatibility issue with widgets).
32369
32370        Test: http/tests/xmlhttprequest/broken-xml-encoding.html
32371
32372        Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML
32373        responses.
32374
32375        * loader/TextResourceDecoder.cpp:
32376        (WebCore::TextResourceDecoder::TextResourceDecoder):
32377        (WebCore::TextResourceDecoder::decode):
32378        (WebCore::TextResourceDecoder::flush):
32379        * loader/TextResourceDecoder.h:
32380        (WebCore::TextResourceDecoder::useLenientXMLDecoding):
32381        Don't stop on XML decoding errors if useLenientXMLDecoding() was called.
32382
32383        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML
32384        decoding errors. This behavior is now limited to other kinds of XML content.
32385
323862009-03-05  Simone Fiorentino  <simone.fiorentino@consulenti.fastweb.it>
32387
32388        Bug 24382: request to add SH4 platform
32389
32390        <https://bugs.webkit.org/show_bug.cgi?id=24382>
32391
32392        Reviewed by David Kilzer.
32393
32394        * platform/text/AtomicString.cpp:
32395        (WebCore::equal): Aligned memory access on SH4 platform.
32396
323972009-03-05  Jeremy Moskovich  <jeremy@chromium.org>
32398
32399        Reviewed by Simon Fraser.
32400
32401        Fix for https://bugs.webkit.org/show_bug.cgi?id=24215
32402
32403        Gears expects an object tag with display:none to instantiate the plugin,
32404        so we add a workaround to make this work and fix Gears on WebKit trunk.
32405
32406        * html/HTMLObjectElement.cpp:
32407        (WebCore::HTMLObjectElement::rendererIsNeeded):
32408
324092009-03-05  Avi Drissman  <avi@chromium.org>
32410
32411        Reviewed by Darin Fisher.
32412
32413        Need to have Chromium Mac match Safari Mac's accesskey handling
32414        https://bugs.webkit.org/show_bug.cgi?id=24404
32415
32416        * page/chromium/EventHandlerChromium.cpp:
32417        (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac.
32418
324192009-03-05  Simon Fraser  <simon.fraser@apple.com>
32420
32421        Reviewed by Dave Hyatt
32422
32423        https://bugs.webkit.org/show_bug.cgi?id=24412
32424        
32425        Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d
32426        but no transform. We need to make localTransformState if we see preserve-3d.
32427        Also need to call update3DTransformedDescendantStatus() before we test
32428        m_has3DTransformedDescendant.
32429
32430        Test: transforms/3d/hit-testing/hit-preserves-3d.html
32431
32432        * rendering/RenderLayer.cpp:
32433        (WebCore::RenderLayer::hitTestLayer):
32434
324352009-03-05  Eric Seidel  <eric@webkit.org>
32436
32437        Reviewed by David Hyatt.
32438
32439        Changes to RenderLayer destruction to hopefully help catch an elusive crasher
32440        https://bugs.webkit.org/show_bug.cgi?id=24409
32441        
32442        Added a new RenderBoxModelObject::destroyLayer() call which is
32443        now the only way which RenderLayers should ever be destroyed.
32444        This ensures that the pointer to the layer is cleared in the
32445        RenderObject after destruction, allowing us to ASSERT in the
32446        RenderBoxModelObject destructor.
32447
32448        * rendering/RenderBox.cpp:
32449        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
32450        * rendering/RenderBoxModelObject.cpp:
32451        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
32452        (WebCore::RenderBoxModelObject::destroyLayer):
32453        (WebCore::RenderBoxModelObject::destroy):
32454        (WebCore::RenderBoxModelObject::styleDidChange):
32455        * rendering/RenderBoxModelObject.h:
32456        * rendering/RenderLayer.cpp:
32457        (WebCore::RenderLayer::stackingContext):
32458        (WebCore::RenderLayer::destroy):
32459        (WebCore::RenderLayer::removeOnlyThisLayer):
32460        * rendering/RenderLayer.h:
32461        * rendering/RenderObject.cpp:
32462        (WebCore::RenderObject::destroy):
32463        * rendering/RenderWidget.cpp:
32464        (WebCore::RenderWidget::destroy):
32465
324662009-03-05  Eric Seidel  <eric@webkit.org>
32467
32468        Reviewed by David Hyatt.
32469
32470        Remove old, unused IE 5.5 scrollbar-* CSS properties.
32471        Sort the unimplemented getComputedStyle properties so it's
32472        easier to see which ones actually need implementation.
32473
32474        * css/CSSComputedStyleDeclaration.cpp:
32475        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
32476        * css/CSSParser.cpp:
32477        (WebCore::CSSParser::parseValue):
32478        * css/CSSPropertyNames.in:
32479        * css/CSSStyleSelector.cpp:
32480        (WebCore::CSSStyleSelector::applyProperty):
32481
324822009-03-05  Justin Garcia  <justin.garcia@apple.com>
32483
32484        Reviewed by Darin Adler.
32485        
32486        WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position
32487        within the document without changing its position in the DOM.  For example, pressing return in (caret marked by ^):
32488        <div contentEditable="true"><div>^Hello</div></div>
32489        Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document 
32490        for example). 
32491
32492        Changes to layout tests demonstrate fix.
32493        
32494        * editing/EditCommand.cpp:
32495        (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand.  The TypingCommand knows whether or
32496        not it did work that needs to be applied.
32497        * editing/Editor.cpp:
32498        (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand.
32499        (WebCore::Editor::unappliedEditing): Ditto.
32500        (WebCore::Editor::reappliedEditing): Ditto.
32501        (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here.  Also call out to
32502        EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document
32503        even if they did not change it's position in the DOM.  Any TypingCommand that gets this far changed it's position
32504        in the document.
32505        * editing/Editor.h:
32506        * editing/TypingCommand.cpp:
32507        (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing.
32508        (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing.  We won't get this far if we don't need to.
32509        (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like
32510        adding to the killring and responding to a change in selections if the delete was a no-op.
32511        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
32512        * editing/TypingCommand.h:
32513
325142009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
32515
32516        Reviewed by Adam Roben.
32517
32518        Eliminate a ref-counting leak in InspectorController.
32519
32520        * inspector/InspectorController.h: Made constructor private, added static create method.
32521        * page/Page.cpp:
32522        (WebCore::Page::Page): Change initializer to use static create method.
32523
325242009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
32525
32526        Reviewed by Timothy Hatcher.
32527
32528        https://bugs.webkit.org/show_bug.cgi?id=24355
32529        Add InspectorController.idl and convert InspectorController.cpp to use
32530        JSC bindings.
32531
32532        * DerivedSources.make: Added InspectorController.idl
32533        * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files.
32534        * bindings/js/JSInspectorControllerCustom.cpp: Added.
32535        * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types.
32536        * inspector/InspectorController.cpp: Removed hand-rolled bindings.
32537        * inspector/InspectorController.h: Added platform and addSourceToFrame methods.
32538        * inspector/InspectorController.idl: Added.
32539        * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted.
32540
325412009-03-05  Eric Carlson  <eric.carlson@apple.com>
32542
32543        Reviewed by Simon Fraser.
32544
32545        https://bugs.webkit.org/show_bug.cgi?id=24400
32546        Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 
32547        media element attributes
32548
32549        Test: media/video-loop.html
32550
32551        * html/HTMLMediaElement.cpp:
32552        (WebCore::HTMLMediaElement::HTMLMediaElement):
32553        (WebCore::HTMLMediaElement::loadInternal):
32554        (WebCore::HTMLMediaElement::setNetworkState):
32555        (WebCore::HTMLMediaElement::seek):
32556        (WebCore::HTMLMediaElement::playInternal):
32557        (WebCore::HTMLMediaElement::loop):
32558        (WebCore::HTMLMediaElement::setLoop):
32559        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
32560        (WebCore::HTMLMediaElement::endedPlayback):
32561        (WebCore::HTMLMediaElement::updatePlayState):
32562        * html/HTMLMediaElement.h:
32563        * html/HTMLMediaElement.idl:
32564
325652009-03-05  Steve Falkenburg  <sfalken@apple.com>
32566
32567        <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
32568        
32569        Reviewed by Ada Chan.
32570
32571        * platform/network/cf/ResourceHandleCFNet.cpp:
32572        (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
32573
325742009-03-05  David Hyatt  <hyatt@apple.com>
32575
32576        Reviewed by Eric Seidel
32577
32578        https://bugs.webkit.org/show_bug.cgi?id=24248
32579
32580        Make sure painting of overflow controls checks that visibility:visible is set on the block before
32581        painting.  Pixel tests caught this regression.
32582
32583        Make sure resizer painting pushes a clip of the corner rect.  It was relying on the clip layers happened
32584        to do to their bounds (which had nothing to do with overflow).
32585
32586        * rendering/RenderBlock.cpp:
32587        (WebCore::RenderBlock::paint):
32588        * rendering/RenderLayer.cpp:
32589        (WebCore::RenderLayer::paintResizer):
32590
325912009-03-05  Yong Li  <yong.li@torchmobile.com>
32592
32593        Reviewed by Simon Fraser.
32594
32595        https://bugs.webkit.org/show_bug.cgi?id=24386
32596        A faster implementation of extractMIMETypeFromMediaType.
32597
32598        * platform/network/HTTPParsers.cpp:
32599        (WebCore::extractMIMETypeFromMediaType):
32600
326012009-03-05  Yong Li  <yong.li@torchmobile.com>
32602
32603        Reviewed by Antti Koivisto.
32604
32605        https://bugs.webkit.org/show_bug.cgi?id=24392
32606        Do not get the current time for unless we're doing PRELOAD_DEBUG as this
32607        can be unnecessarily expensive.
32608
32609        * html/PreloadScanner.cpp:
32610        (WebCore::PreloadScanner::write):
32611
326122009-03-04  Simon Fraser  <simon.fraser@apple.com>
32613
32614        Reviewed by Dave Hyatt
32615
32616        https://bugs.webkit.org/show_bug.cgi?id=24327
32617        
32618        When mapping points and hit testing through transforms, work
32619        correctly when acclerated animations of transforms are running.
32620        
32621        Tested by LayoutTests/animations/animation-hit-test-transform.html,
32622        which only failed when ACCELERATED_COMPOSITING was turned on.
32623
32624        * rendering/RenderLayer.cpp:
32625        (WebCore::RenderLayer::currentTransform):
32626        * rendering/RenderLayer.h:
32627        * rendering/RenderObject.cpp:
32628        (WebCore::RenderObject::transformFromContainer):
32629
326302009-03-05  Mike Belshe  <mike@belshe.com>
32631
32632        Reviewed by Darin Fisher.
32633
32634        https://bugs.webkit.org/show_bug.cgi?id=24391
32635        Frame.cpp uses JSC specific includes
32636
32637        * page/Frame.cpp:
32638
326392009-03-05  Gustavo Noronha Silva  <gns@gnome.org>
32640
32641        Reviewed by Alexey Proskuryakov.
32642
32643        https://bugs.webkit.org/show_bug.cgi?id=24389
32644        WebKitGTK+ crashes when cancelling plugin loads
32645
32646        Remove bogus calls to the client's didFinishLoading method from
32647        our ResourceHandle::cancel implementation. Calling
32648        didFinishLoading here is mostly inoffensive for most loads, but
32649        causes crashes when plugin loads are cancelled.
32650
32651        * platform/network/soup/ResourceHandleSoup.cpp:
32652        (WebCore::ResourceHandle::cancel):
32653
326542009-03-05  Steve Falkenburg  <sfalken@apple.com>
32655
32656        Windows build fix.
32657        
32658        * WebCore.vcproj/QTMovieWin.vcproj:
32659
326602009-03-05  Adam Treat  <adam.treat@torchmobile.com>
32661
32662        Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0.  The method
32663        ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
32664        protected by an #if and uses HTMLPlugInElement so it must be included.
32665
32666        * bindings/js/ScriptController.cpp:
32667
326682009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
32669
32670        GTK Build fix.
32671
32672        * inspector/ConsoleMessage.h: Use proper header.
32673
326742009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
32675
32676        Reviewed by Timothy Hatcher.
32677
32678        https://bugs.webkit.org/show_bug.cgi?id=24376
32679        Split InspectorController.cpp file into separate classes.
32680
32681        * GNUmakefile.am: Modified to include new files.
32682        * WebCore.pro: Ditto.
32683        * WebCore.scons: Ditto.
32684        * WebCore.vcproj/WebCore.vcproj: Ditto.
32685        * WebCore.xcodeproj/project.pbxproj: Ditto.
32686        * WebCoreSources.bkl: Ditto.
32687        * inspector/ConsoleMessage.cpp: Added.
32688        * inspector/ConsoleMessage.h: Added.
32689        * inspector/InspectorController.cpp:
32690        * inspector/InspectorDOMStorageResource.cpp: Added.
32691        * inspector/InspectorDOMStorageResource.h: Added.
32692        * inspector/InspectorDatabaseResource.cpp: Added.
32693        * inspector/InspectorDatabaseResource.h: Added.
32694        * inspector/InspectorResource.cpp: Added.
32695        * inspector/InspectorResource.h: Added.
32696
326972009-03-05  Eric Carlson  <eric.carlson@apple.com>
32698
32699        Reviewed by Darin Adler
32700
32701        https://bugs.webkit.org/show_bug.cgi?id=24387
32702        Remove media element bufferingRate attribute. No test necessary as there
32703        were none for this attribute.
32704
32705        * html/HTMLMediaElement.cpp:
32706        (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
32707        (WebCore::HTMLMediaElement::loadInternal): Ditto.
32708        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
32709        (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
32710        * html/HTMLMediaElement.h: Remove m_bufferingRate.
32711        * html/HTMLMediaElement.idl: Ditto.
32712
327132009-03-05  Xan Lopez  <xan@gnome.org>
32714
32715        Reviewed by Mark Rowe.
32716
32717        https://bugs.webkit.org/show_bug.cgi?id=24377
32718        [GTK] Comply better with coding style guidelines in ResourceHandleSoup
32719
32720        Use C++ booleans, 0 instead of NULL, prefix boolean variables with
32721        'is', do not use 'else if' if the previous if had a return, delete
32722        trailing whitespace, etc.
32723
32724        * platform/network/ResourceHandleInternal.h:
32725        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
32726        * platform/network/soup/ResourceHandleSoup.cpp:
32727        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
32728        (WebCore::fillResponseFromMessage):
32729        (WebCore::restartedCallback):
32730        (WebCore::finishedCallback):
32731        (WebCore::parseDataUrl):
32732        (WebCore::ensureSessionIsInitialized):
32733        (WebCore::ResourceHandle::startHttp):
32734        (WebCore::reportUnknownProtocolError):
32735        (WebCore::ResourceHandle::start):
32736        (WebCore::cleanupGioOperation):
32737        (WebCore::closeCallback):
32738        (WebCore::readCallback):
32739        (WebCore::openCallback):
32740        (WebCore::queryInfoCallback):
32741        (WebCore::ResourceHandle::startGio):
32742
327432009-03-04  Simon Fraser  <simon.fraser@apple.com>
32744
32745        Reviewed by Eric Seidel
32746
32747        https://bugs.webkit.org/show_bug.cgi?id=24328
32748        
32749        If an element has backface-visibility: hidden, hit testing should not
32750        hit the back sides of elements. Test for that by inverting the accumulated
32751        transform and looking at the z vector.
32752
32753        Tested by transforms/3d/hit-testing/backface-hit-test.html
32754        
32755        * rendering/RenderLayer.cpp:
32756        (WebCore::RenderLayer::hitTestLayer):
32757
327582009-03-04  Adam Langley  <agl@google.com>
32759
32760        Reviewed by Darin Fisher.
32761
32762        r41362 mistakenly added functions "RenderThemeWin::" into
32763        RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
32764        them to void return types. This patch switches them back to ints.
32765
32766        https://bugs.webkit.org/show_bug.cgi?id=24360
32767
32768        * rendering/RenderThemeChromiumLinux.cpp:
32769        (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
32770        (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
32771        (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
32772        (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
32773
327742009-03-04  Adam Langley  <agl@google.com>
32775
32776        Reviewed by Darin Fisher.
32777
32778        Chromium Linux: change some metrics to better match Windows after
32779        r41416. Aesthetically this may be worse, but web-compat is king.
32780
32781        Also, the previous code had an off by one error when drawing
32782        scrollbars which caused the scrollbar to overflow it's bounds by 1px
32783        at the right and bottom edges.
32784
32785        https://bugs.webkit.org/show_bug.cgi?id=24369
32786
32787        * rendering/RenderThemeChromiumLinux.cpp:
32788        (WebCore::):
32789        (WebCore::RenderThemeChromiumLinux::systemFont):
32790        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
32791        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
32792
327932009-03-04  Eric Seidel  <eric@webkit.org>
32794
32795        Reviewed by Adam Roben.
32796
32797        Add an ASSERT to better demonstrate the cause of the crash in
32798        https://bugs.webkit.org/show_bug.cgi?id=23736
32799
32800        * loader/DocLoader.cpp:
32801        (WebCore::DocLoader::~DocLoader):
32802
328032009-03-04  David Levin  <levin@chromium.org>
32804
32805        Reviewed by Alexey Proskuryakov.
32806
32807        Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
32808        <https://bugs.webkit.org/show_bug.cgi?id=24337>
32809
32810        Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
32811               http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
32812
32813        * loader/mac/ResourceLoaderMac.mm:
32814        (WebCore::ResourceLoader::willCacheResponse):
32815        An identifier is only asssigned if resource load callbacks are done.  So don't send
32816        willCacheResponse which uses identifier if resource load callbacks aren't being sent.
32817
328182009-03-04  David Levin  <levin@chromium.org>
32819
32820        Reviewed by Alexey Proskuryakov.
32821
32822        Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
32823        <https://bugs.webkit.org/show_bug.cgi?id=24330>
32824
32825        Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
32826
32827        * dom/ExceptionCode.cpp:
32828        (WebCore::xmlHttpRequestExceptionNames):
32829        Added missing ABORT_ERR whose absence caused an assert.
32830
32831        * loader/WorkerThreadableLoader.cpp:
32832        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
32833        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
32834        Add more logic to handle the termination case for sync xhr.
32835
328362009-03-04  Eric Carlson  <eric.carlson@apple.com>
32837
32838        Reviewed by Antti Koivisto.
32839
32840        https://bugs.webkit.org/show_bug.cgi?id=24364
32841        Add support for HTMLMediaElement canPlayType method. Make
32842        MediaPlayer::supportsType take a ContentType instead of a
32843        separate mime type and codecs parameter.
32844
32845        Test: media/video-can-play-type.html
32846
32847        * dom/DOMImplementation.cpp:
32848        (WebCore::DOMImplementation::createDocument):
32849        * html/HTMLMediaElement.cpp:
32850        (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
32851        (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
32852        (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
32853        (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
32854        * html/HTMLMediaElement.h: Add prototype.
32855        * html/HTMLMediaElement.idl: Ditto.
32856        * platform/graphics/MediaPlayer.cpp:
32857        (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
32858        (WebCore::MediaPlayer::supportsType): Ditto.
32859        * platform/graphics/MediaPlayer.h:
32860
328612009-03-04  Antti Koivisto  <antti@apple.com>
32862
32863        Reviewed by Dave Hyatt.
32864
32865        https://bugs.webkit.org/show_bug.cgi?id=24359
32866        Repaint throttling mechanism
32867        
32868        Excessive repainting can slow down page loadind. This implements a timer
32869        based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not 
32870        enabled by default.
32871
32872        * loader/FrameLoader.cpp:
32873        (WebCore::FrameLoader::checkCompleted):
32874        * page/EventHandler.cpp:
32875        (WebCore::EventHandler::dispatchDragEvent):
32876        (WebCore::EventHandler::dispatchMouseEvent):
32877        (WebCore::EventHandler::keyEvent):
32878        (WebCore::EventHandler::handleTextInputEvent):
32879        * page/FrameView.cpp:
32880        (WebCore::FrameView::FrameView):
32881        (WebCore::FrameView::reset):
32882        (WebCore::FrameView::repaintContentRectangle):
32883        (WebCore::FrameView::beginDeferredRepaints):
32884        (WebCore::FrameView::endDeferredRepaints):
32885        (WebCore::FrameView::checkStopDelayingDeferredRepaints):
32886        (WebCore::FrameView::doDeferredRepaints):
32887        (WebCore::FrameView::updateDeferredRepaintDelay):
32888        (WebCore::FrameView::resetDeferredRepaintDelay):
32889        (WebCore::FrameView::adjustedDeferredRepaintDelay):
32890        (WebCore::FrameView::deferredRepaintTimerFired):
32891        (WebCore::FrameView::paintContents):
32892        * page/FrameView.h:
32893
328942009-03-04  Sam Weinig  <sam@webkit.org>
32895
32896        Rubber-stamped by Antti Koivisto.
32897
32898        Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
32899
32900        * dom/Document.cpp:
32901        (WebCore::Document::Document):
32902        * dom/Document.h:
32903        (WebCore::Document::haveStylesheetsLoaded):
32904        * html/HTMLTokenizer.cpp:
32905        (WebCore::HTMLTokenizer::scriptHandler):
32906        * loader/Cache.cpp:
32907        (WebCore::Cache::requestResource):
32908        * loader/CachedCSSStyleSheet.cpp:
32909        (WebCore::CachedCSSStyleSheet::checkNotify):
32910        * loader/DocLoader.h:
32911        * loader/FrameLoader.cpp:
32912        (WebCore::FrameLoader::FrameLoader):
32913        (WebCore::FrameLoader::requestFrame):
32914        (WebCore::FrameLoader::stopLoading):
32915        (WebCore::FrameLoader::begin):
32916        (WebCore::FrameLoader::write):
32917        (WebCore::FrameLoader::endIfNotLoadingMainResource):
32918        (WebCore::FrameLoader::checkCompleted):
32919        (WebCore::FrameLoader::requestObject):
32920        (WebCore::FrameLoader::loadItem):
32921        * loader/FrameLoader.h:
32922
329232009-03-02  Xan Lopez  <xan@gnome.org>
32924
32925        Reviewed by Mark Rowe.
32926
32927        https://bugs.webkit.org/show_bug.cgi?id=24287
32928        [GTK] Move auth dialog feature to WebKit/
32929
32930        Remove WebKitSoupAuthDialog files from build and stop using it.
32931
32932        * GNUmakefile.am:
32933        * platform/network/soup/ResourceHandleSoup.cpp:
32934        (WebCore::ensureSessionIsInitialized):
32935        * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
32936        * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
32937
329382009-03-04  Simon Fraser  <simon.fraser@apple.com>
32939
32940        Reviewed by Dave Hyatt
32941        
32942        https://bugs.webkit.org/show_bug.cgi?id=24361
32943        
32944        Reinstate code that sets result.innerNode when hitTest() returns true,
32945        but never filled in the innerNode. Fixes hit testing of generated content.
32946
32947        Test: fast/css-generated-content/hit-test-generated-content.html
32948
32949        * rendering/RenderLayer.cpp:
32950        (WebCore::RenderLayer::hitTestContents):
32951
329522009-03-04  Adam Barth  <abath@webkit.org>
32953
32954        Reviewed by Alexey Proskuryakov.
32955
32956        https://bugs.webkit.org/show_bug.cgi?id=24356
32957
32958        Fix WebKit style for allowUniversalAccessFromFileURLs.
32959
32960        * WebCore.base.exp:
32961        * dom/Document.cpp:
32962        (WebCore::Document::initSecurityContext):
32963        * page/Settings.cpp:
32964        (WebCore::Settings::Settings):
32965        (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
32966        * page/Settings.h:
32967        (WebCore::Settings::allowUniversalAccessFromFileURLs):
32968
329692009-03-04  Brady Eidson  <beidson@apple.com>
32970
32971        Reviewed by Darin Adler
32972
32973        <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
32974
32975        I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
32976        consolidated some of the various decision making pieces of the Cache into the new method
32977        FrameLoader::cachePolicy().
32978
32979        Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader 
32980        is reloading.  If it is, we'd evict any existing resource then recreate it.  Quick looks uses the
32981        same URL for this image every time and expects it to be reloaded with each new card.
32982
32983        The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
32984        is "ReloadIgnoringCacheData".  This check was lost in the consolidation to the new method.  
32985
32986        * loader/FrameLoader.cpp:
32987        (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
32988          condition for returning CachePolicyReload.
32989
329902009-03-04  Timothy Hatcher  <timothy@apple.com>
32991
32992        * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
32993        "LOCAL STORAGE" and "SESSION STORAGE".
32994
329952009-03-04  Timothy Hatcher  <timothy@apple.com>
32996
32997        Fix a regression where the Web Inspector console would not animate
32998        in or out correctly.
32999
33000        Reviewed by Anders Carlsson.
33001
33002        * inspector/front-end/inspector.css: Move a z-index to a child element
33003        to get the correct stacking order during the animation.
33004
330052009-03-03  David Hyatt  <hyatt@apple.com>
33006
33007        https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
33008
33009        Make sure to factor clear deltas into y position estimates.  Also avoid doing the comparison of
33010        the final position against the y position estimate until after the clear has happened.  This gets rid
33011        of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
33012
33013        Reviewed by Dan Bernstein
33014
33015        Added fast/block/float/nested-clearance.html
33016
33017        * rendering/RenderBlock.cpp:
33018        (WebCore::RenderBlock::collapseMargins):
33019        (WebCore::RenderBlock::clearFloatsIfNeeded):
33020        (WebCore::RenderBlock::estimateVerticalPosition):
33021        (WebCore::RenderBlock::layoutBlockChildren):
33022        (WebCore::RenderBlock::getClearDelta):
33023        * rendering/RenderBlock.h:
33024
330252009-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
33026
33027        Reviewed by Simon Hausmann.
33028
33029        Improvement to 3d transformations rendering in QtWebKit. QTransform is used
33030        instead of QMatrix. This allows perspective transformations since QTransform is
33031        a true 3x3 matrix.
33032
33033        * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
33034        (WebCore::GraphicsContext::getCTM):
33035        (WebCore::GraphicsContext::restorePlatformState):
33036        (WebCore::GraphicsContext::fillPath):
33037        (WebCore::GraphicsContext::strokePath):
33038        (WebCore::GraphicsContext::fillRect):
33039        (WebCore::GraphicsContext::translate):
33040        (WebCore::GraphicsContext::rotate):
33041        (WebCore::GraphicsContext::scale):
33042        (WebCore::GraphicsContext::concatCTM):
33043        * platform/graphics/qt/ImageQt.cpp:
33044        (WebCore::Image::drawPattern):
33045        * platform/graphics/qt/PathQt.cpp:
33046        (WebCore::Path::translate):
33047        (WebCore::Path::transform):
33048        * platform/graphics/qt/PatternQt.cpp:
33049        (WebCore::Pattern::createPlatformPattern):
33050        * platform/graphics/qt/TransformationMatrixQt.cpp:
33051        (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
33052        to QMatrix with one to QTransform.
33053        * platform/graphics/transforms/TransformationMatrix.h:
33054        * platform/graphics/qt/FontQt.cpp:
33055
330562009-02-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33057
33058        Reviewed by Simon Hausmann.
33059
33060        https://bugs.webkit.org/show_bug.cgi?id=24151
33061        Fix Qt/S60 build break
33062
33063        * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
33064        * platform/qt/FileSystemQt.cpp: Ditto
33065        (WebCore::unloadModule):
33066
330672009-03-03  Mike Belshe  <mike@belshe.com>
33068
33069        Reviewed by Alexey Proskuryakov.
33070
33071        https://bugs.webkit.org/show_bug.cgi?id=21939
33072        Uninitialized ExceptionCode in DOMWindow::postMessage
33073
33074        * dom/MessagePort.cpp:
33075        (WebCore::MessagePort::postMessage):
33076
330772009-03-03  David Kilzer  <ddkilzer@apple.com>
33078
33079        <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
33080
33081        Reviewed by Mark Rowe.
33082
33083        The fix is to add INSTALLHDRS_COPY_PHASE = YES and
33084        INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
33085        sure various build phase scripts work with the installhdrs build
33086        phase.
33087
33088        * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
33089        based on PLATFORM_NAME to work around the missing definition on
33090        Tiger.
33091        * Configurations/WebCore.xcconfig: Added
33092        JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
33093        the "Generate Derived Sources" script.  Added
33094        INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
33095
33096        * WebCore.xcodeproj/project.pbxproj:
33097        - Added shell code to prevent running "Check For Global
33098          Initializers", "Check For Exit Time Destructors" and "Check
33099          For Weak VTables" scripts during the installhdrs build phase.
33100        - Made "Generate Derived Sources" work for the installhdrs build
33101          phase.  Also simplified setting of CREATE_HASH_TABLE by using
33102          JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
33103
331042009-03-02  Adam Langley  <agl@google.com>
33105
33106        Reviewed by Darin Fisher.
33107
33108        Chromium Linux: Switch to using Skia to render widgets.
33109
33110        In order to sandbox the Chromium renderer on Linux we need to remove
33111        the X connection. GTK cannot render without an X connection so, for
33112        now, we render widgets ourselves.
33113
33114        Previously didn't use anti-alias fonts in order to match Windows font
33115        rendering exactly. This was helpful when bootstrapping our layout
33116        tests. Now, however, we are ready to enable it.
33117
33118        https://bugs.webkit.org/show_bug.cgi?id=24244
33119
33120        * platform/chromium/ScrollbarThemeChromium.cpp:
33121        (WebCore::ScrollbarThemeChromium::buttonSize):
33122        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
33123        (WebCore::ScrollbarThemeChromium::scrollbarThickness):
33124        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
33125        (WebCore::ScrollbarThemeChromium::paintButton):
33126        (WebCore::ScrollbarThemeChromium::paintThumb):
33127        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
33128        (WebCore::FontPlatformData::setupPaint):
33129        * platform/graphics/skia/PlatformContextSkia.cpp:
33130        (PlatformContextSkia::PlatformContextSkia):
33131        (PlatformContextSkia::~PlatformContextSkia):
33132        * platform/graphics/skia/PlatformContextSkia.h:
33133        * rendering/RenderThemeChromiumGtk.cpp: Removed.
33134        * rendering/RenderThemeChromiumGtk.h: Removed.
33135        * rendering/RenderThemeChromiumLinux.cpp: Added.
33136        * rendering/RenderThemeChromiumLinux.h: Added.
33137
331382009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
33139
33140        Reviewed by Darin Fisher.
33141
33142        https://bugs.webkit.org/show_bug.cgi?id=24261
33143        Fix return types.
33144
33145        Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
33146
33147        * bindings/v8/V8Binding.h:
33148        (WebCore::toInt32): change return type to int
33149        (WebCore::toFloat): change return type to float.
33150
331512009-03-03  Anders Carlsson  <andersca@apple.com>
33152
33153        Reviewed by John Sullivan.
33154
33155        https://bugs.webkit.org/show_bug.cgi?id=22884
33156        <rdar://problem/6449783>
33157        modified layout test crashes Safari
33158
33159        Null check NPStream before dereferencing it.
33160        
33161        * plugins/PluginView.cpp:
33162        (WebCore::PluginView::destroyStream):
33163
331642009-03-03  Eric Carlson  <eric.carlson@apple.com>
33165
33166        Reviewed by Simon Fraser.
33167
33168        Fix for <rdar://problem/6641045>
33169        Don't call QTKit to get movie properties until movie metadata has been loaded.
33170
33171        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
33172        (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
33173        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
33174        (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
33175        (WebCore::MediaPlayerPrivate::play): Ditto.
33176        (WebCore::MediaPlayerPrivate::pause): Ditto.
33177        (WebCore::MediaPlayerPrivate::duration): Ditto.
33178        (WebCore::MediaPlayerPrivate::currentTime): Ditto.
33179        (WebCore::MediaPlayerPrivate::seek): Ditto.
33180        (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
33181        (WebCore::MediaPlayerPrivate::paused): Ditto.
33182        (WebCore::MediaPlayerPrivate::seeking): Ditto.
33183        (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
33184        (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
33185        (WebCore::MediaPlayerPrivate::setVolume): Ditto.
33186        (WebCore::MediaPlayerPrivate::setRate): Ditto.
33187        (WebCore::MediaPlayerPrivate::dataRate): Ditto.
33188        (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
33189        (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
33190
331912009-03-03  Kevin McCullough  <kmccullough@apple.com>
33192
33193        - Spelling fix.
33194
33195        * page/Console.cpp:
33196        (WebCore::Console::profile):
33197
331982009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
33199
33200        Reviewed by Darin Fisher.
33201
33202        https://bugs.webkit.org/show_bug.cgi?id=23657
33203        Remove Database API callback IDLs from the project. 
33204        They were removed in r40633.
33205
33206        * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
33207
332082009-03-03  Kevin McCullough  <kmccullough@apple.com>
33209
33210        Reviewed by Oliver Hunt.
33211
33212        <rdar://problem/6639110> console.profile() doesn't work without a title
33213
33214        * page/Console.cpp:
33215        (WebCore::Console::profile): If there is no title assume this is a user
33216        initiated profile and give it the next incremented title name.
33217
332182009-03-03  Timothy Hatcher  <timothy@apple.com>
33219
33220        Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
33221        the console code and refactored things to have fewer code paths and duplication.
33222
33223        rdar://problem/6367127
33224        https://bugs.webkit.org/show_bug.cgi?id=24329
33225
33226        Reviewed by Kevin McCullough.
33227
33228        Test: manual-tests/inspector/console-dir.html
33229
33230        * bindings/js/JSInspectedObjectWrapper.cpp:
33231        (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
33232        to fix an ASSERT about using a wrapper from the wrong ExecState.
33233        * bindings/js/JSQuarantinedObjectWrapper.cpp:
33234        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
33235        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
33236        * inspector/front-end/Console.js:
33237        (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
33238        When forceObjectFormat is true, the only formatter used is _formatobject.
33239        (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
33240        (WebInspector.Console.prototype._formatstring): Ditto.
33241        (WebInspector.Console.prototype._formatregexp): Ditto.
33242        (WebInspector.Console.prototype._formatarray): Ditto.
33243        (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
33244        (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
33245        (WebInspector.Console.prototype._formaterror): Remove the inline argument.
33246        (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
33247        simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
33248        (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
33249        (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
33250        (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
33251        (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
33252        * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
33253        * inspector/front-end/utilities.js:
33254        (Object.type): Return "node" for Node objects.
33255        (Object.describe): Handle the "node" type.
33256        * page/Console.cpp:
33257        (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
33258        (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
33259        * page/Console.h:
33260        (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
33261
332622009-03-03  Scott Violet  <sky@google.com>
33263
33264        Reviewed by Eric Seidel.
33265
33266        https://bugs.webkit.org/show_bug.cgi?id=24325
33267        Crash on replacing document contents during drop.
33268
33269        Makes sure a node is in the document during a move before using it.
33270
33271        Test: fast/events/crash-on-mutate-during-drop.html
33272
33273        * editing/MoveSelectionCommand.cpp:
33274        (WebCore::MoveSelectionCommand::doApply):
33275
332762009-03-03  Jungshik Shin <jshin@chromium.org>
33277
33278        Reviewed by Eric Seidel.
33279
33280        https://bugs.webkit.org/show_bug.cgi?id=23028
33281        Enable dynamic web font support to Chromium on Windows.
33282        Files that were omitted by mistake in the latest patch
33283        that was landed.
33284
33285        * loader/CachedFont.cpp:
33286        (WebCore::CachedFont::~CachedFont):
33287        (WebCore::CachedFont::ensureCustomFontData):
33288        (WebCore::CachedFont::platformDataFromCustomData):
33289        (WebCore::CachedFont::allClientsRemoved):
33290        * platform/graphics/chromium/FontCustomPlatformData.cpp:
33291        (WebCore::EOTStream::EOTStream):
33292        (WebCore::createFontCustomPlatformData):
33293        * platform/graphics/win/FontCustomPlatformData.cpp:
33294        (WebCore::EOTStream::EOTStream):
33295        (WebCore::createFontCustomPlatformData):
33296
332972009-03-03  Gustavo Noronha Silva  <gns@gnome.org>
33298
33299        Reviewed by Alexey Proskuryakov.
33300
33301        https://bugs.webkit.org/show_bug.cgi?id=16826
33302        [Gtk] Implement WebKitDownload
33303
33304        Make the Soup backend able to handle requests without a frame,
33305        since we may have such things now that we support downloads.
33306
33307        * platform/network/ResourceHandleInternal.h:
33308        * platform/network/soup/ResourceHandleSoup.cpp:
33309        (WebCore::ResourceHandle::start):
33310
333112009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
33312
33313        Reviewed by Eric Seidel.
33314
33315        https://bugs.webkit.org/show_bug.cgi?id=24331
33316        Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
33317
33318        * bindings/v8/custom/V8AttrCustom.cpp: Added.
33319        * bindings/v8/custom/V8CustomBinding.cpp: Added.
33320        * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
33321        * bindings/v8/custom/V8ElementCustom.cpp: Added.
33322        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
33323        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
33324
333252009-03-03  Brady Eidson  <beidson@apple.com>
33326
33327        Reviewed by Darin Adler
33328
33329        <rdar://problem/6616664> - Quick looks of various file types is broken
33330
33331        In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
33332        for non-HTTP loads when the underlying ResourceRequest changed.  Unfortunately it was a little
33333        overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
33334
33335        Partially reverted behavior to always set the mainDocumentURL in situations when we would've
33336        before that patch.
33337
33338        * loader/FrameLoader.cpp:
33339        (WebCore::FrameLoader::addExtraFieldsToRequest):
33340
33341        * platform/network/ResourceRequestBase.cpp:
33342        (WebCore::ResourceRequestBase::setMainDocumentURL):
33343
333442009-03-03  Chris Marrin  <cmarrin@apple.com>
33345
33346        Reviewed by Simon Fraser.
33347
33348        https://bugs.webkit.org/show_bug.cgi?id=24256
33349
33350        Added a WebCoreForceSoftwareAnimation flag.
33351
33352        * platform/graphics/mac/GraphicsLayerCA.mm:
33353        (WebCore::forceSoftwareAnimation):
33354        (WebCore::GraphicsLayerCA::setOpacity):
33355        (WebCore::GraphicsLayerCA::animateTransform):
33356        (WebCore::GraphicsLayerCA::animateFloat):
33357
333582009-03-02  Chris Marrin  <cmarrin@apple.com>
33359
33360        Reviewed by Sam Weinig.
33361
33362        https://bugs.webkit.org/show_bug.cgi?id=24257
33363
33364        Added prototype properties for several classes with constructors that
33365        were missing them, including the one mentioned in the bug.
33366
33367        Test: fast/dom/Window/custom-constructors.html
33368
33369        * bindings/js/JSAudioConstructor.cpp:
33370        (WebCore::JSAudioConstructor::JSAudioConstructor):
33371        * bindings/js/JSDOMWindowBase.cpp:
33372        (jsDOMWindowBaseWebKitCSSMatrix):
33373        * bindings/js/JSImageConstructor.cpp:
33374        (WebCore::JSImageConstructor::JSImageConstructor):
33375        * bindings/js/JSOptionConstructor.cpp:
33376        (WebCore::JSOptionConstructor::JSOptionConstructor):
33377        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
33378        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
33379        * bindings/js/JSWebKitCSSMatrixConstructor.h:
33380        * bindings/js/JSWebKitPointConstructor.cpp:
33381        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
33382        * bindings/js/JSWorkerConstructor.cpp:
33383        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
33384
333852009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
33386
33387        Reviewed by Darin Fisher.
33388
33389        https://bugs.webkit.org/show_bug.cgi?id=24321
33390        Add V8 bindings headers.
33391
33392        * bindings/v8/V8Binding.h: Added.
33393        * bindings/v8/V8Proxy.h: Added.
33394        * bindings/v8/custom/V8CustomBinding.h: Added.
33395        * bindings/v8/custom/V8CustomEventListener.h: Added.
33396
333972009-03-03  Jungshik Shin <jshin@chromium.org>
33398
33399        Reviewed by Eric Seidel.
33400
33401        https://bugs.webkit.org/show_bug.cgi?id=23803
33402        Fix an 'off-by-1' error in ChromiumWin's font fallback.
33403
33404        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
33405        (WebCore::FontCache::getFontDataForCharacters):
33406
334072009-03-03  Jungshik Shin  <jshin@chromium.org>
33408
33409        Reviewed by Eric Seidel.
33410
33411        http://bugs.webkit.org/show_bug.cgi?id=23028
33412        Enable dynamic web font support to Chromium on Windows: Part 1
33413        - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
33414          from platform/graphics/win because both Windows port and Chromium Windows
33415          port will use them.
33416        - Adjust WebCore.vcproj accordingly.
33417
33418        * WebCore.vcproj/WebCore.vcproj:
33419        * platform/graphics/opentype: Added.
33420        * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
33421        * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
33422        * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
33423        * platform/graphics/win/OpenTypeUtilities.h: Removed.
33424
334252009-03-03  Simon Fraser  <simon.fraser@apple.com>
33426
33427        Reviewed by Dave Hyatt
33428
33429        https://bugs.webkit.org/show_bug.cgi?id=24312
33430        
33431        Take 3D transforms into account when hit testing:
33432        
33433        1. Maintain a bit on each RenderLayer that is set when the layer
33434           has 3d descendants, so that we know when to fall into the slow
33435           hit testing path.
33436           
33437        2. Make a ref-counted HitTestingTransformState, which is used to store
33438           an accumulated transform, and the hit test point, and hitTestRect
33439           in the plane of the ancestor non-3d ('flattening') layer.
33440           
33441           It's ref-counted so we can heap allocate it (to avoid stack bloat),
33442           and avoid copying when hitTestLayer calls itself after applying the transform.
33443           
33444        3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
33445           3D transforms, or to do deep depth-testing when traversing a preserves-3d
33446           hierarchy. When hit, layers compute a z-offset from the ancestor flattening
33447           layer, which allows for correct depth testing.
33448           
33449           The existing early-return codepath is unaffected when there are no 3d transforms
33450           and no preserve-3d.
33451
33452        * rendering/RenderLayer.cpp:
33453        (WebCore::RenderLayer::RenderLayer):
33454        (WebCore::RenderLayer::updateTransform):
33455        (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
33456        (WebCore::RenderLayer::update3DTransformedDescendantStatus):
33457        (WebCore::RenderLayer::hitTest):
33458        (WebCore::computeZOffset):
33459        (WebCore::RenderLayer::createLocalTransformState):
33460        (WebCore::RenderLayer::hitTestLayer):
33461        (WebCore::RenderLayer::hitTestContents):
33462        * rendering/RenderLayer.h:
33463        (WebCore::RenderLayer::preserves3D):
33464        (WebCore::RenderLayer::has3DTransform):
33465        (WebCore::RenderLayer::setHas3DTransformedDescendant):
33466        (WebCore::RenderLayer::has3DTransformedDescendant):
33467        * rendering/RenderLayerBacking.cpp:
33468        * rendering/TransformState.cpp:
33469        (WebCore::TransformState::flatten):
33470        (WebCore::TransformState::mappedPoint):
33471        (WebCore::HitTestingTransformState::move):
33472        (WebCore::HitTestingTransformState::applyTransform):
33473        (WebCore::HitTestingTransformState::flatten):
33474        (WebCore::HitTestingTransformState::mappedPoint):
33475        (WebCore::HitTestingTransformState::mappedQuad):
33476        * rendering/TransformState.h:
33477        (WebCore::TransformState::TransformState):
33478        (WebCore::HitTestingTransformState::create):
33479        (WebCore::HitTestingTransformState::move):
33480        (WebCore::HitTestingTransformState::HitTestingTransformState):
33481
334822009-03-03  Brett Wilson  <brettw@chromium.org>
33483
33484        Fix uninitialized memory reads in the Chromium Windows transparency
33485        code that were identified by Purify,
33486
33487        Reviewed by Darin Fisher.
33488
33489        * platform/graphics/chromium/TransparencyWin.cpp:
33490        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
33491        (WebCore::TransparencyWin::initializeNewContext):
33492
334932009-03-03  Simon Fraser  <simon.fraser@apple.com>
33494
33495        Reviewed by Dave Hyatt
33496
33497        https://bugs.webkit.org/show_bug.cgi?id=24312
33498        
33499        Factor the code that compute a transform relative to the container
33500        into RenderObject::transformFromContainer().
33501        
33502        * rendering/RenderBox.cpp:
33503        (WebCore::RenderBox::mapLocalToAbsolutePoint):
33504        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
33505        * rendering/RenderObject.cpp:
33506        (WebCore::RenderObject::transformFromContainer):
33507        * rendering/RenderObject.h:
33508
335092009-03-03  Simon Fraser  <simon.fraser@apple.com>
33510
33511        Reviewed by Dave Hyatt
33512
33513        https://bugs.webkit.org/show_bug.cgi?id=24317
33514        
33515        Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
33516        the superclass found a node, otherwise we set the innerNode of the
33517        HitTestResult, but don't actually report that we found a hit.
33518
33519        * rendering/RenderTextControlMultiLine.cpp:
33520        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
33521
335222009-03-03  Onne Gorter  <onne.gorter@avinity.net>
33523
33524        Reviewed by Anders Carlsson.
33525
33526        https://bugs.webkit.org/show_bug.cgi?id=23707
33527        resizing plugins does not work, because the plugin never gets informed
33528
33529        Make gtk plugins resize correctly, by sending them the setwindow event
33530        correctly. Also ensure that all plugin eventing is done with correct
33531        locking/calling. Mostly copied from mac implementation.
33532
33533        manual test: manual-tests/gtk/plugin-resize-scroll.html
33534
33535        * plugins/PluginView.h:
33536        * plugins/gtk/PluginViewGtk.cpp:
33537        (WebCore::PluginView::dispatchNPEvent):
33538        ensure locking/calling for NPEvents
33539        (WebCore::PluginView::updatePluginWidget):
33540        if something changed, let setNPWindowIfNeeded handle it
33541        (WebCore::PluginView::paint):
33542        (WebCore::PluginView::handleKeyboardEvent):
33543        (WebCore::PluginView::handleMouseEvent):
33544        ensure calling conventions
33545        (WebCore::PluginView::setNPWindowRect):
33546        just pass control to setNPWindowIfNeeded
33547        (WebCore::PluginView::setNPWindowIfNeeded):
33548        event the plugin correctly of new window
33549        (WebCore::PluginView::init):
33550        init through the new setup
33551
335522009-03-03  Mike Belshe  <mike@belshe.com>
33553
33554        Reviewed by Darin Fisher.
33555
33556        https://bugs.webkit.org/show_bug.cgi?id=24311
33557        Make IDL returning DOMObject use [V8Custom]
33558
33559        * dom/Document.idl:
33560        * html/HTMLCanvasElement.idl:
33561
335622009-03-02  Simon Fraser  <simon.fraser@apple.com>
33563
33564        Reviewed by Adele Peterson
33565
33566        https://bugs.webkit.org/show_bug.cgi?id=24313
33567        
33568        If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
33569        HitTestResult, then it had better well return |true|. And m_innerBlock
33570        could never have been set as the hit node by the superclass, because
33571        the superclass knows nothing about m_innerBlock.
33572        
33573        Test: fast/forms/input-hit-test-border.html
33574
33575        * rendering/RenderTextControlSingleLine.cpp:
33576        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
33577
335782009-03-02  Sam Weinig  <sam@webkit.org>
33579
33580        Reviewed by Mark Rowe.
33581
33582        Enable Geolocation (except on Tiger and Leopard).
33583
33584        * Configurations/WebCore.xcconfig:
33585
335862009-03-02  Ojan Vafai  <ojan@chromium.org>
33587
33588        Reviewed by Adele Peterson.
33589
33590        Fix https://bugs.webkit.org/show_bug.cgi?id=24307
33591        Null out m_highlightedNode on hideHighlight().
33592        Ran WebCore/manual-tests/inspector/highlight-nodes.html.
33593
33594        * inspector/InspectorController.cpp:
33595        (WebCore::InspectorController::hideHighlight):
33596
335972009-03-02  Sam Weinig  <sam@webkit.org>
33598
33599        Reviewed by Geoffrey Garen.
33600
33601        Fix for <rdar://problem/6507404> Add Geolocation support.
33602
33603        This is not yet turned on for any Mac platform.
33604
33605        * WebCore.xcodeproj/project.pbxproj:
33606        * page/Chrome.cpp:
33607        (WebCore::Chrome::shouldAllowGeolocationForFrame):
33608        * page/Chrome.h:
33609        * page/ChromeClient.h:
33610        (WebCore::ChromeClient::shouldAllowGeolocationForFrame):
33611        * page/Geolocation.cpp:
33612        (WebCore::Geolocation::Geolocation):
33613        (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document
33614        will not be alive at this point.
33615        (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and
33616        return a PERMISSION_DENIED if not.
33617        (WebCore::Geolocation::watchPosition): Ditto.
33618        (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether
33619        to allow geolocation and cache the result. 
33620        * page/Geolocation.h:
33621        (WebCore::Geolocation::):
33622        * platform/GeolocationService.cpp:
33623        * platform/GeolocationService.h:
33624        (WebCore::GeolocationService::~GeolocationService):
33625        (WebCore::GeolocationService::stopUpdating):
33626        * platform/mac/GeolocationServiceMac.h: Added.
33627        (WebCore::GeolocationServiceMac::lastPosition):
33628        (WebCore::GeolocationServiceMac::lastError):
33629        * platform/mac/GeolocationServiceMac.mm: Added.
33630        (WebCore::GeolocationService::create):
33631        (WebCore::GeolocationServiceMac::GeolocationServiceMac):
33632        (WebCore::GeolocationServiceMac::~GeolocationServiceMac):
33633        (WebCore::GeolocationServiceMac::startUpdating):
33634        (WebCore::GeolocationServiceMac::stopUpdating):
33635        (WebCore::GeolocationServiceMac::suspend):
33636        (WebCore::GeolocationServiceMac::resume):
33637        (WebCore::GeolocationServiceMac::positionChanged):
33638        (WebCore::GeolocationServiceMac::errorOccurred):
33639        (-[WebCoreCoreLocationObserver initWithCallback:]):
33640        (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
33641        (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
33642
336432009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
33644
33645        Build fixes for wxWidgets Mac trunk build.
33646
33647        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
33648        (wxFontProperties::wxFontProperties):
33649        (GetTextExtent):
33650        * webcore-wx.bkl:
33651
336522009-03-02  Kevin Ollivier  <kevino@theolliviers.com>
33653
33654        wxGTK missing header build fix.
33655
33656        * platform/wx/wxcode/gtk/fontprops.cpp:
33657
336582009-03-02  Dan Bernstein  <mitz@apple.com>
33659
33660        Reviewed by Adam Roben.
33661
33662        - fix https://bugs.webkit.org/show_bug.cgi?id=21811
33663          REGRESSION: Windows Build Not Selecting Proper Font
33664
33665        * platform/graphics/win/FontCacheWin.cpp:
33666        (WebCore::createGDIFont): Added back code to verify that the created
33667        HFONT has the requested face name.
33668
336692009-03-02  Timothy Hatcher  <timothy@apple.com>
33670
33671        Fixes a regression caused by splitting the input and output of console commands.
33672
33673        https://bugs.webkit.org/show_bug.cgi?id=24293
33674
33675        Reviewed by Kevin McCullough.
33676
33677        * inspector/front-end/Console.js:
33678        (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a
33679        normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly.
33680
336812009-03-02  Timothy Hatcher  <timothy@apple.com>
33682
33683        Make exception messages and logged Error objects display consistently.
33684
33685        https://bugs.webkit.org/show_bug.cgi?id=18983
33686
33687        Reviewed by Adam Roben.
33688
33689        * English.lproj/localizedStrings.js: Remove a string for line numbers.
33690        * inspector/front-end/Console.js:
33691        (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
33692        boolean to the ConsoleCommandResult constructor and don't pass level.
33693        (WebInspector.Console.prototype._formatnode): Fix a className typo.
33694        (WebInspector.Console.prototype._formaterror): Add an error-message
33695        classed span around the message to show in red and remove the
33696        console-message-url class from the link so it doesn't float right.
33697        Instead enclose the link in parentheses and use displayNameForURL
33698        to shorten the URL in the link.
33699        (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
33700        how line numbers are shown since link underlining a string with
33701        parentheses looks bad.
33702        (WebInspector.ConsoleCommandResult): Take an exception boolean flag
33703        instead of a level and get line and URL based on that flag.
33704        * inspector/front-end/inspector.css: Tweaks to the styles.
33705
337062009-03-02  Ojan Vafai  <ojan@chromium.org>
33707
33708        Reviewed by Adele Peterson.
33709
33710        Bug 24048: extra windows button padding doesn't apply when there's no appearance
33711        <https://bugs.webkit.org/show_bug.cgi?id=24048>
33712
33713        Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom.
33714
33715        No tests added as existing tests already cover this behavior.
33716
33717        * rendering/RenderButton.cpp:
33718        (WebCore::RenderButton::setupInnerStyle):
33719        * rendering/RenderTheme.cpp:
33720        * rendering/RenderTheme.h:
33721        (WebCore::RenderTheme::buttonInternalPaddingLeft):
33722        (WebCore::RenderTheme::buttonInternalPaddingRight):
33723        (WebCore::RenderTheme::buttonInternalPaddingTop):
33724        * rendering/RenderThemeChromiumGtk.cpp:
33725        (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
33726        (WebCore::RenderThemeWin::buttonInternalPaddingRight):
33727        (WebCore::RenderThemeWin::buttonInternalPaddingTop):
33728        (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
33729        * rendering/RenderThemeChromiumGtk.h:
33730        * rendering/RenderThemeChromiumWin.cpp:
33731        (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft):
33732        (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight):
33733        (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop):
33734        (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom):
33735        * rendering/RenderThemeChromiumWin.h:
33736        * rendering/RenderThemeWin.cpp:
33737        (WebCore::RenderThemeWin::buttonInternalPaddingLeft):
33738        (WebCore::RenderThemeWin::buttonInternalPaddingRight):
33739        (WebCore::RenderThemeWin::buttonInternalPaddingTop):
33740        (WebCore::RenderThemeWin::buttonInternalPaddingBottom):
33741        * rendering/RenderThemeWin.h:
33742
337432009-03-02  Adam Treat  <adam.treat@torchmobile.com>
33744
33745        Build fix for Qt port.  Remove unnecessary assert.
33746
33747        * platform/graphics/qt/ImageBufferQt.cpp:
33748        (WebCore::ImageBuffer::putImageData):
33749
337502009-03-02  Adam Treat  <adam.treat@torchmobile.com>
33751
33752        Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser.
33753
33754        https://bugs.webkit.org/show_bug.cgi?id=24227
33755        Ensure that the checkForSolidColor() optimization is correctly triggered
33756        for all cases of drawPattern.  Currently, the optimization was not triggered
33757        when the check had not been previously performed via a request for the
33758        image's NativeImagePtr.
33759
33760        Implement the Qt version of the checkForSolidColor() method.  Combined with
33761        the bug fix this reduces the time it takes to draw a repeating background
33762        of a 1x1 image from ~50msecs to ~0msecs on my machine.
33763
33764        * platform/graphics/BitmapImage.cpp:
33765        (WebCore::BitmapImage::BitmapImage):
33766        * platform/graphics/BitmapImage.h:
33767        (WebCore::BitmapImage::mayFillWithSolidColor):
33768        * platform/graphics/Image.h:
33769        (WebCore::Image::mayFillWithSolidColor):
33770        * platform/graphics/cairo/ImageCairo.cpp:
33771        (WebCore::BitmapImage::BitmapImage):
33772        (WebCore::BitmapImage::checkForSolidColor):
33773        * platform/graphics/cg/ImageCG.cpp:
33774        (WebCore::BitmapImage::BitmapImage):
33775        (WebCore::BitmapImage::checkForSolidColor):
33776        * platform/graphics/qt/ImageQt.cpp:
33777        (WebCore::BitmapImage::checkForSolidColor):
33778        * platform/graphics/skia/ImageSkia.cpp:
33779        (WebCore::BitmapImage::checkForSolidColor):
33780        * platform/graphics/wx/ImageWx.cpp:
33781        (WebCore::BitmapImage::checkForSolidColor):
33782
337832009-03-02  Gustavo Noronha Silva  <gns@gnome.org>
33784
33785        Unreviewed build fix; adding missing files to EXTRA_DIST, so that
33786        they show up in the tarball.
33787
33788        * GNUmakefile.am:
33789
337902009-03-02  Dirk Schulze  <krit@webkit.org>
33791
33792        Reviewed by Holger Freyther.
33793
33794        Added putImageData to Qt. Discussed with Ariya Hidayat.
33795
33796        [Qt] lacks putImageData support in Canvas
33797        https://bugs.webkit.org/show_bug.cgi?id=22186
33798
33799        * platform/graphics/qt/ImageBufferQt.cpp:
33800        (WebCore::ImageBuffer::putImageData):
33801
338022009-03-02  Timothy Hatcher  <timothy@apple.com>
33803
33804        Show exception messages again when evaluating bad expressions in the
33805        Web Inspector's console.
33806
33807        https://bugs.webkit.org/show_bug.cgi?id=19890
33808
33809        Reviewed by Oliver Hunt.
33810
33811        * bindings/js/JSQuarantinedObjectWrapper.cpp:
33812        (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
33813        Fix the order in which the exception is set and cleared now that the
33814        exception is stored in the shared GlobalData, not per ExecState.
33815
338162009-02-28  Timothy Hatcher  <timothy@apple.com>
33817
33818        Make input in the Web Inspector console print before any output
33819        that might be added by the called function.
33820
33821        https://bugs.webkit.org/show_bug.cgi?id=19931
33822
33823        Reviewed by Oliver Hunt.
33824
33825        * inspector/front-end/Console.js:
33826        (WebInspector.Console.prototype._enterKeyPressed): Add the command
33827        message before evaluating the result. Associate the originating
33828        command to the result, so if they are adjacent there is no divider.
33829        (WebInspector.ConsoleCommand): No longer take a result.
33830        (WebInspector.ConsoleCommand.prototype.toMessageElement): Result
33831        code removed since it isn't used now.
33832        (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage.
33833        (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
33834        Call the ConsoleMessage toMessageElement and add a style class.
33835        * inspector/front-end/inspector.css: Add a new style class for
33836        adjacent results to hide the divider. Also tweak the position of
33837        the disclosure triangle for objects to not use the left margin.
33838
338392009-03-01  Chris Fleizach  <cfleizach@apple.com>
33840
33841        Reviewed by Oliver Hunt.
33842
33843        Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array
33844        <https://bugs.webkit.org/show_bug.cgi?id=24282>
33845
33846        When fetching an array of elements with a range, attachment views need to be returned
33847        instead of the actual attachment.
33848
33849        * page/mac/AccessibilityObjectWrapper.mm:
33850        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
33851        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
33852
338532009-03-01  Ojan Vafai  <ojan@chromium.org>
33854
33855        Reviewed by Eric Seidel.
33856
33857        Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint
33858        <https://bugs.webkit.org/show_bug.cgi?id=24251>
33859        
33860        Make RenderObject::positionForCoordinate non-virtual and
33861        RenderObject::positionForPoint virtual in preparation for
33862        removing positionFor* from RenderObject/RenderText.
33863
33864        * page/Frame.cpp:
33865        (WebCore::Frame::visiblePositionForPoint):
33866        * rendering/RenderBR.cpp:
33867        (WebCore::RenderBR::positionForPoint):
33868        * rendering/RenderBR.h:
33869        * rendering/RenderBlock.cpp:
33870        (WebCore::RenderBlock::positionForPoint):
33871        * rendering/RenderBlock.h:
33872        * rendering/RenderBox.cpp:
33873        (WebCore::RenderBox::positionForPoint):
33874        * rendering/RenderBox.h:
33875        * rendering/RenderInline.cpp:
33876        (WebCore::RenderInline::positionForPoint):
33877        * rendering/RenderInline.h:
33878        * rendering/RenderObject.cpp:
33879        (WebCore::RenderObject::positionForCoordinates):
33880        (WebCore::RenderObject::positionForPoint):
33881        * rendering/RenderObject.h:
33882        * rendering/RenderReplaced.cpp:
33883        (WebCore::RenderReplaced::positionForPoint):
33884        * rendering/RenderReplaced.h:
33885        * rendering/RenderSVGInlineText.cpp:
33886        (WebCore::RenderSVGInlineText::positionForPoint):
33887        * rendering/RenderSVGInlineText.h:
33888        * rendering/RenderText.cpp:
33889        (WebCore::RenderText::positionForPoint):
33890        * rendering/RenderText.h:
33891
338922009-03-01  Larry Ewing  <lewing@novell.com>
33893
33894        Reviewed by Alexey Proskuryakov.
33895
33896        https://bugs.webkit.org/show_bug.cgi?id=24080
33897        NPN_GetValue casting to the wrong type and writing outside bounds
33898
33899        Make sure to cast the value to the correct type so that only
33900        memory owned by the value is written to.
33901
33902        * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): 
33903        * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
33904        * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): 
33905        (PluginView::getValue):
33906
339072009-03-01  Jeremy Moskovich  <jeremy@chromium.org>
33908
33909        Reviewed by Simon Fraser.
33910
33911        https://bugs.webkit.org/show_bug.cgi?id=24197 and
33912        https://bugs.webkit.org/show_bug.cgi?id=23512
33913
33914        The Windows version of cgColor() is conditionally compiled using
33915        !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome
33916        can use the OS X version instead of the Windows version.
33917
33918        Also rename cgColor() -> createCGColor()
33919
33920        No observable change in behavior, so no test.
33921
33922        * platform/graphics/Color.h:
33923        * platform/graphics/cg/ColorCG.cpp:
33924        (WebCore::createCGColor):
33925        * platform/graphics/cg/GraphicsContextCG.cpp:
33926        (WebCore::GraphicsContext::setPlatformShadow):
33927        * platform/graphics/mac/ColorMac.mm:
33928        (WebCore::createCGColor):
33929        * platform/graphics/mac/GraphicsContextMac.mm:
33930        (WebCore::GraphicsContext::drawFocusRing):
33931        * platform/graphics/mac/GraphicsLayerCA.mm:
33932        (WebCore::setLayerBorderColor):
33933        (WebCore::setLayerBackgroundColor):
33934        (WebCore::GraphicsLayerCA::setBackgroundColor):
33935        * platform/graphics/win/GraphicsContextCGWin.cpp:
33936        (WebCore::GraphicsContext::drawFocusRing):
33937        * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
33938        (WebCore::ciColor):
33939
339402009-03-01  David Levin  <levin@chromium.org>
33941
33942        Reviewed by Alexey Proskuryakov.
33943
33944        Bug 24271: XMLHttpRequest needs js bindings for Workers.
33945        <https://bugs.webkit.org/show_bug.cgi?id=24271>
33946
33947        Tests: http/tests/xmlhttprequest/workers/methods-async.html
33948               http/tests/xmlhttprequest/workers/methods.html
33949
33950        * bindings/js/JSWorkerContextBase.cpp:
33951        (WebCore::JSWorkerContextBase::getOwnPropertySlot):
33952        (jsWorkerContextBaseXMLHttpRequest):
33953        (setJSWorkerContextBaseXMLHttpRequest):
33954        Expose XMLHttpRequest to Workers.
33955
33956        * bindings/js/JSWorkerContextBase.h:
33957
33958        * bindings/js/JSXMLHttpRequestConstructor.cpp:
33959        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
33960        (WebCore::constructXMLHttpRequest):
33961        (WebCore::JSXMLHttpRequestConstructor::mark):
33962        Removed the dependencies on Document.
33963
33964        * bindings/js/JSXMLHttpRequestConstructor.h:
33965        (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
33966        * dom/EventException.idl:
33967        * dom/EventListener.idl:
33968        Change to have the NoStaticTables attribute since they are used from XHR.
33969
33970        * loader/WorkerThreadableLoader.cpp:
33971        (WebCore::workerContextDidFinishLoading):
33972        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
33973        Fixed identifier to be unsigned long.
33974
33975        * loader/WorkerThreadableLoader.h:
33976        * workers/WorkerThread.cpp:
33977        (WebCore::WorkerThread::workerThread):
33978        Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown.
33979
33980        * xml/XMLHttpRequestUpload.cpp:
33981
33982        * xml/XMLHttpRequest.idl:
33983        * xml/XMLHttpRequestException.idl:
33984        * xml/XMLHttpRequestProgressEvent.idl:
33985        * xml/XMLHttpRequestUpload.idl:
33986        Change to have the NoStaticTables attribute since they are used from XHR.
33987
339882009-03-01  Horia Olaru  <olaru@adobe.com>
33989
33990        Adding manual debugger test cases for bug.
33991
33992        https://bugs.webkit.org/show_bug.cgi?id=21073
33993
33994        Reviewed by Kevin McCullough.
33995
33996        * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added.
33997        * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added.
33998        * manual-tests/inspector/debugger-step-on-for-statements.html: Added.
33999        * manual-tests/inspector/debugger-step-on-while-statements.html: Added.
34000        * manual-tests/inspector/resources/loop-statements.js: Added.
34001
340022009-03-01  Dan Bernstein  <mitz@apple.com>
34003
34004        Reviewed by Darin Adler.
34005
34006        - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts
34007
34008        Test: fast/events/scroll-during-zoom-change.html
34009
34010        * dom/Document.cpp:
34011        (WebCore::Document::recalcStyle): Pause scheduled events during style
34012        reclaculation. Changes to the zoom property result in scroll events
34013        being generated during style recalc, and those events need to be
34014        deferred until the render tree is consistent.
34015        * page/FrameView.cpp:
34016        (WebCore::FrameView::layout): Changed to account for a case in which the
34017        post-layout tasks trigger a nested layout, which reactivates the
34018        post-layout task timer.
34019
340202009-03-01  Ross Boucher  <rboucher@gmail.com>
34021
34022        Alphabetically sort scripts in the Script's panel file popup menu.
34023
34024        https://bugs.webkit.org/show_bug.cgi?id=23395
34025
34026        Reviewed by Timothy Hatcher.
34027
34028        * inspector/front-end/ScriptsPanel.js:
34029        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
34030        * inspector/front-end/utilities.js:
34031        (insertionIndexForObjectInListSortedByFunction):
34032        (indexOfObjectInListSortedByFunction):
34033
340342009-03-01  Yael Aharon  <yael.aharon@nokia.com>
34035
34036        Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector
34037        when creating databases, localStorage or sessionStorage. Changing document.domain
34038        should have no affect on databases, localStorage and sessionStorage in Web Inspector.
34039
34040        https://bugs.webkit.org/show_bug.cgi?id=23844
34041
34042        Reviewed by Timothy Hatcher.
34043
34044        * inspector/InspectorController.cpp:
34045        (WebCore::InspectorController::addDOMStorageScriptResource):
34046        (WebCore::InspectorController::didUseDOMStorage):
34047        * storage/Database.cpp:
34048        (WebCore::Database::openDatabase):
34049
340502009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
34051
34052        Reviewed by Holger Freyther.
34053
34054        Avoid leaking errors when reporting GIO errors.
34055
34056        * platform/network/soup/ResourceHandleSoup.cpp:
34057        (WebCore::readCallback):
34058        (WebCore::openCallback):
34059        (WebCore::queryInfoCallback):
34060
340612009-03-01  Gustavo Noronha Silva  <gns@gnome.org>
34062
34063        Reviewed by Holger Freyther.
34064
34065        Fixes crash when the GIO backend is given the URI for a directory.
34066
34067        * platform/network/soup/ResourceHandleSoup.cpp:
34068        (WebCore::networkErrorForFile):
34069
340702009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
34071
34072        Reviewed by Darin Fisher.
34073
34074        https://bugs.webkit.org/show_bug.cgi?id=24261
34075        Fix V8 custom binding scrubbing error.
34076
34077        Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
34078        Test: traversal/exception-forwarding.html
34079        TesT: traversal/stay-within-root.html
34080
34081        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
34082        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
34083        (WebCore::toV8): Replace v8::Undefined() return value with v8::Null().
34084        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
34085        (WebCore::toV8): Ditto.
34086
340872009-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
34088
34089        Reviewed by Darin Fisher.
34090
34091        https://bugs.webkit.org/show_bug.cgi?id=24261
34092        Fix V8 custom binding scrubbing error.
34093
34094        Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
34095
34096        * WebCore.xcodeproj/project.pbxproj:
34097        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
34098        (WebCore::cssPropertyName):  Remove dubious checks, left over from
34099            incomplete conversion of parameter from pointer to pass-by-ref.
34100        (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter.
34101        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
34102
341032009-02-28  Xan Lopez  <xan@gnome.org>
34104
34105        Reviewed by Holger Freyther.
34106
34107        https://bugs.webkit.org/show_bug.cgi?id=24263
34108        [GTK] ref ResourceHandle until we are finished with it
34109
34110        Add a ref to the ResourceHandle in startHttp so we can keep it
34111        alive untill all callbacks have been executed, and unref it when
34112        soup tells us it's done with the SoupMessage (in
34113        finishedCallback). Fixes a number of crashes when calling
34114        didReceiveData whould crash because of the handle dying.
34115
34116        * platform/network/soup/ResourceHandleSoup.cpp:
34117        (WebCore::finishedCallback):
34118        (WebCore::ResourceHandle::startHttp):
34119
341202009-02-28  Adam Bergkvist <adam.bergkvist@ericsson.com>
34121
34122        Reviewed by Alexey Proskuryakov.
34123
34124        https://bugs.webkit.org/show_bug.cgi?id=24226
34125        [SOUP] HTTP status text is never set
34126
34127        Set HTTP status text to SoupMessage reason_phrase.
34128
34129        * platform/network/soup/ResourceHandleSoup.cpp:
34130        (WebCore::fillResponseFromMessage):
34131
341322009-02-28  Dan Bernstein  <mitz@apple.com>
34133
34134        - fix malformed project file
34135
34136        * WebCore.xcodeproj/project.pbxproj:
34137
341382009-02-28  Dan Bernstein  <mitz@apple.com>
34139
34140        Reviewed by Oliver Hunt.
34141
34142        - fix https://bugs.webkit.org/show_bug.cgi?id=23848
34143          <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de
34144
34145        Test: fast/layers/inline-dirty-z-order-lists.html
34146
34147        * rendering/RenderBox.cpp:
34148        (WebCore::RenderBox::styleWillChange): Moved the code that dirties a
34149        layer's and its stacking context's z-order lists when the layer's
34150        z-index or visibility change from here...
34151        * rendering/RenderBoxModelObject.cpp:
34152        (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that
34153        it will apply to RenderInline too.
34154
341552009-02-27  Alexey Proskuryakov  <ap@webkit.org>
34156
34157        Reviewed by David Hyatt.
34158
34159        Don't include TextResourceDecoder.h in Document.h
34160
34161        This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds
34162        when TextResourceDecoder.h is modified. Performance impact is expected to be negligible.
34163
34164        * dom/Document.cpp:
34165        (WebCore::Document::displayStringModifiedByEncoding):
34166        (WebCore::Document::displayBufferModifiedByEncoding):
34167        * dom/Document.h:
34168        * WebCore.base.exp:
34169
341702009-02-27  Matt Pennig  <pennig@apple.com>
34171
34172        Reviewed by David Hyatt.
34173
34174        Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107
34175        "Fixed elements have 0 as an offsetLeft property"
34176        
34177        Code also brings offsetLeft/Top in full conformance with the spec.
34178        Added two tests, one for fixed-position elements, and one for <html>.
34179        
34180        Tests: fast/dom/Element/fixed-position-offset-parent.html
34181               fast/dom/Element/offsetLeft-offsetTop-html.html
34182
34183        * rendering/RenderBoxModelObject.cpp:
34184        (WebCore::RenderBoxModelObject::offsetLeft):
34185        (WebCore::RenderBoxModelObject::offsetTop):
34186
341872009-02-27  Dean Jackson  <dino@apple.com>
34188
34189        Reviewed by Simon Fraser.
34190
34191        renderer()->hasTransform() returns true for elements
34192        with perspective, but no transform, so test for transform
34193        when hit testing. This fixes ASSERT from
34194        https://bugs.webkit.org/show_bug.cgi?id=24252
34195
34196        Test: transforms/no_transform_hit_testing.html
34197
34198        * rendering/RenderLayer.cpp:
34199        (WebCore::RenderLayer::hitTestLayer):
34200
342012009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
34202
34203        Reviewed by Darin Fisher.
34204
34205        Fix scrubbing error -- a reversed condition.
34206
34207        * bindings/v8/ScriptValue.h:
34208        (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite.
34209
342102009-02-27  Jian Li  <jianli@chromium.org>
34211
34212        Reviewed by Alexey Proskuryakov.
34213
34214        Add confirmMessageFromWorkerObject to WorkerObjectProxy.
34215        https://bugs.webkit.org/show_bug.cgi?id=24152
34216
34217        * workers/WorkerMessagingProxy.cpp:
34218        (WebCore::MessageWorkerContextTask::performTask):
34219        (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
34220        * workers/WorkerMessagingProxy.h:
34221        * workers/WorkerObjectProxy.h:
34222
342232009-02-27  Anders Carlsson  <andersca@apple.com>
34224
34225        Reviewed by David Hyatt.
34226
34227        Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 
34228        because it leads to assertion failures in the Mac port.
34229        
34230        * platform/graphics/BitmapImage.cpp:
34231        (WebCore::BitmapImage::BitmapImage):
34232        * platform/graphics/BitmapImage.h:
34233        (WebCore::BitmapImage::mayFillWithSolidColor):
34234        * platform/graphics/Image.h:
34235        (WebCore::Image::mayFillWithSolidColor):
34236        * platform/graphics/cairo/ImageCairo.cpp:
34237        (WebCore::BitmapImage::BitmapImage):
34238        * platform/graphics/cg/ImageCG.cpp:
34239        (WebCore::BitmapImage::BitmapImage):
34240        (WebCore::BitmapImage::checkForSolidColor):
34241        * platform/graphics/qt/ImageQt.cpp:
34242        (WebCore::BitmapImage::checkForSolidColor):
34243        * platform/graphics/skia/ImageSkia.cpp:
34244        (WebCore::BitmapImage::checkForSolidColor):
34245        * platform/graphics/wx/ImageWx.cpp:
34246        (WebCore::BitmapImage::checkForSolidColor):
34247
342482009-02-27  Adam Barth  <abarth@webkit.org>
34249
34250        Reviewed by Eric Seidel.
34251
34252        https://bugs.webkit.org/show_bug.cgi?id=20249
34253
34254        Add a preference to allow universal access from local URLs to mitigate
34255        some attacks.  Some clients still want to allow this access, so we
34256        expose this as a preference.
34257
34258        * WebCore.base.exp:
34259        * dom/Document.cpp:
34260        (WebCore::Document::initSecurityContext):
34261        * page/SecurityOrigin.cpp:
34262        (WebCore::SecurityOrigin::SecurityOrigin):
34263        * page/Settings.cpp:
34264        (WebCore::Settings::Settings):
34265        (WebCore::Settings::setAllowUniversalAccessFromFileUrls):
34266        * page/Settings.h:
34267        (WebCore::Settings::allowUniversalAccessFromFileUrls):
34268
342692009-02-27  Adam Treat  <adam.treat@torchmobile.com>
34270
34271        Reviewed by Eric Seidel.
34272
34273        https://bugs.webkit.org/show_bug.cgi?id=24229
34274        If an image has no alpha channel there is no reason to use SourceOver.
34275
34276        * platform/graphics/qt/ImageQt.cpp:
34277        (WebCore::Image::drawPattern):
34278        (WebCore::BitmapImage::draw):
34279
342802009-02-27  Adam Treat  <adam.treat@torchmobile.com>
34281
34282        Reviewed by Eric Seidel and Simon Fraser.
34283
34284        https://bugs.webkit.org/show_bug.cgi?id=24227
34285        Ensure that the checkForSolidColor() optimization is correctly triggered
34286        for all cases of drawPattern.  Currently, the optimization was not triggered
34287        when the check had not been previously performed via a request for the
34288        image's NativeImagePtr.
34289
34290        Implement the Qt version of the checkForSolidColor() method.  Combined with
34291        the bug fix this reduces the time it takes to draw a repeating background
34292        of a 1x1 image from ~50msecs to ~0msecs on my machine.
34293
34294        * platform/graphics/BitmapImage.cpp:
34295        (WebCore::BitmapImage::BitmapImage):
34296        * platform/graphics/BitmapImage.h:
34297        (WebCore::BitmapImage::mayFillWithSolidColor):
34298        * platform/graphics/Image.h:
34299        (WebCore::Image::mayFillWithSolidColor):
34300        * platform/graphics/cairo/ImageCairo.cpp:
34301        (WebCore::BitmapImage::BitmapImage):
34302        * platform/graphics/cg/ImageCG.cpp:
34303        (WebCore::BitmapImage::BitmapImage):
34304        (WebCore::BitmapImage::checkForSolidColor):
34305        * platform/graphics/qt/ImageQt.cpp:
34306        (WebCore::BitmapImage::checkForSolidColor):
34307        * platform/graphics/skia/ImageSkia.cpp:
34308        (WebCore::BitmapImage::checkForSolidColor):
34309        * platform/graphics/wx/ImageWx.cpp:
34310        (WebCore::BitmapImage::checkForSolidColor):
34311
343122009-02-27  Dirk Schulze  <krit@webkit.org>
34313
34314        Reviewed by Zack Rusin.
34315
34316        Added support for gradients and pattern on Fonts for Qt.
34317
34318        [Qt] gradients and patterns for FontQt
34319        https://bugs.webkit.org/show_bug.cgi?id=24243
34320
34321        * platform/graphics/qt/FontQt.cpp:
34322        (WebCore::Font::drawComplexText):
34323
343242009-02-27  Jian Li  <jianli@chromium.org>
34325
34326        Reviewed by Alexey Proskuryakov.
34327
34328        WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform.
34329        https://bugs.webkit.org/show_bug.cgi?id=24113
34330
34331        * workers/WorkerMessagingProxy.cpp:
34332
343332009-02-27  Yael Aharon  <yael.aharon@nokia.com>
34334
34335        Added a refresh button to storage views.
34336
34337        https://bugs.webkit.org/show_bug.cgi?id=24040
34338
34339        Reviewed by Timothy Hatcher.
34340
34341        * inspector/front-end/DOMStorageItemsView.js:
34342        (WebInspector.DOMStorageItemsView):
34343        (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
34344        (WebInspector.DOMStorageItemsView.prototype.update):
34345        (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
34346        * inspector/front-end/DatabaseTableView.js:
34347        (WebInspector.DatabaseTableView):
34348        (WebInspector.DatabaseTableView.prototype.get statusBarItems):
34349        (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
34350        * inspector/front-end/DatabasesPanel.js:
34351        (WebInspector.DatabasesPanel):
34352        (WebInspector.DatabasesPanel.prototype.get statusBarItems):
34353        (WebInspector.DatabasesPanel.prototype.reset):
34354        (WebInspector.DatabasesPanel.prototype.showDatabase):
34355        (WebInspector.DatabasesPanel.prototype.showDOMStorage):
34356        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
34357        * inspector/front-end/inspector.css:
34358
343592009-02-27  Yael Aharon  <yael.aharon@nokia.com>
34360
34361        Added support for editing/deleting localStorage and sessionStorage items
34362        directly from Web Inspector.
34363
34364        https://bugs.webkit.org/show_bug.cgi?id=23866.
34365
34366        Reviewed by Timothy Hatcher.
34367
34368        * WebCore.vcproj/WebCore.vcproj:
34369        * inspector/front-end/DOMStorageDataGrid.js: Added.
34370        (WebInspector.DOMStorageDataGrid):
34371        (WebInspector.DOMStorageDataGrid.prototype._ondblclick):
34372        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
34373        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
34374        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
34375        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
34376        * inspector/front-end/DOMStorageItemsView.js:
34377        (WebInspector.DOMStorageItemsView):
34378        (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
34379        (WebInspector.DOMStorageItemsView.prototype.hide):
34380        (WebInspector.DOMStorageItemsView.prototype.update):
34381        (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
34382        * inspector/front-end/DatabasesPanel.js:
34383        (WebInspector.DatabasesPanel):
34384        (WebInspector.DatabasesPanel.prototype.get statusBarItems):
34385        (WebInspector.DatabasesPanel.prototype.reset):
34386        (WebInspector.DatabasesPanel.prototype.showDOMStorage):
34387        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
34388        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
34389        * inspector/front-end/WebKit.qrc:
34390        * inspector/front-end/inspector.css:
34391        * inspector/front-end/inspector.html:
34392
343932009-02-26  Brett Wilson  <brettw@chromium.org>
34394
34395        Fix Windows transparency for the Chromium port. Implement a helper
34396        class for handling transparency on Windows. It allows semitransparent
34397        ClearType and semitransparent form controls by making new layers in the
34398        background.
34399
34400        It also replaces the "ThemeHelper" which allows better
34401        scaling and transforms on Windows form controls. In addition to the
34402        functionality that the ThemeHelper did, but additionally handles the
34403        antialiasing properly so that the form controls aren't composited on a
34404        white square.
34405
34406        https://bugs.webkit.org/show_bug.cgi?id=24101
34407
34408        Reviewed by Eric Seidel.
34409
34410        * platform/graphics/chromium/FontChromiumWin.cpp:
34411        (WebCore::):
34412        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
34413        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
34414        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
34415        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs):
34416        (WebCore::Font::drawGlyphs):
34417        * platform/graphics/chromium/ThemeHelperChromiumWin.cpp:
34418        * platform/graphics/chromium/ThemeHelperChromiumWin.h:
34419        * platform/graphics/chromium/TransparencyWin.cpp: Added.
34420        (WebCore::):
34421        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
34422        (WebCore::TransparencyWin::OwnedBuffers::destBitmap):
34423        (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap):
34424        (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
34425        (WebCore::TransparencyWin::TransparencyWin):
34426        (WebCore::TransparencyWin::~TransparencyWin):
34427        (WebCore::TransparencyWin::init):
34428        (WebCore::TransparencyWin::computeLayerSize):
34429        (WebCore::TransparencyWin::setupLayer):
34430        (WebCore::TransparencyWin::setupLayerForNoLayer):
34431        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
34432        (WebCore::TransparencyWin::setupLayerForTextComposite):
34433        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
34434        (WebCore::TransparencyWin::setupTransform):
34435        (WebCore::TransparencyWin::setupTransformForKeepTransform):
34436        (WebCore::TransparencyWin::setupTransformForUntransform):
34437        (WebCore::TransparencyWin::setupTransformForScaleTransform):
34438        (WebCore::TransparencyWin::setTextCompositeColor):
34439        (WebCore::TransparencyWin::initializeNewContext):
34440        (WebCore::TransparencyWin::compositeOpaqueComposite):
34441        (WebCore::TransparencyWin::compositeTextComposite):
34442        (WebCore::TransparencyWin::makeLayerOpaque):
34443        * platform/graphics/chromium/TransparencyWin.h: Added.
34444        (WebCore::TransparencyWin::):
34445        (WebCore::TransparencyWin::context):
34446        (WebCore::TransparencyWin::platformContext):
34447        (WebCore::TransparencyWin::drawRect):
34448        * platform/graphics/skia/GraphicsContextSkia.cpp:
34449        (WebCore::GraphicsContext::endTransparencyLayer):
34450        * platform/graphics/skia/ImageSkia.cpp:
34451        (WebCore::paintSkBitmap):
34452        * rendering/RenderThemeChromiumWin.cpp:
34453        (WebCore::):
34454        (WebCore::RenderThemeChromiumWin::paintButton):
34455        (WebCore::RenderThemeChromiumWin::paintMenuList):
34456        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
34457
344582009-02-27  Dimitri Glazkov  <dglazkov@chromium.org>
34459
34460        Reviewed by Eric Seidel.
34461
34462        https://bugs.webkit.org/show_bug.cgi?id=24211
34463        Add ScheduledAction for V8.
34464
34465        * bindings/v8/ScheduledAction.cpp: Added.
34466        (WebCore::ScheduledAction::ScheduledAction):
34467        (WebCore::ScheduledAction::~ScheduledAction):
34468        (WebCore::ScheduledAction::execute):
34469        * bindings/v8/ScheduledAction.h: Added.
34470        (WebCore::ScheduledAction::ScheduledAction):
34471
344722009-02-27  Zack Rusin  <zack@kde.org>
34473
34474        Reviewed by Nikolas Zimmermann.
34475
34476        Qt: be more reasonable about scrolled lines
34477
34478        cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
34479        match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
34480        irritating. so lets scroll vertically by the Qt set number of lines * Qt default
34481        single step scroll
34482
34483        * platform/qt/WheelEventQt.cpp:
34484
344852009-02-27  Xan Lopez  <xan@gnome.org>
34486
34487        Rubber-stamped by Alexey Proskuryakov.
34488
34489        https://bugs.webkit.org/show_bug.cgi?id=24222
34490        [GTK] Remove checks for old glib versions
34491
34492        libsoup, which is a hard dependency, needs at least glib 2.15.3,
34493        so remove all glib checks for versions older than that.
34494
34495        * platform/gtk/ContextMenuGtk.cpp:
34496        (WebCore::ContextMenu::ContextMenu):
34497        * platform/gtk/ContextMenuItemGtk.cpp:
34498        (WebCore::ContextMenuItem::setSubMenu):
34499        * platform/gtk/PopupMenuGtk.cpp:
34500        (WebCore::PopupMenu::show):
34501        * platform/gtk/WidgetGtk.cpp:
34502        (WebCore::Widget::retainPlatformWidget):
34503        * platform/network/soup/ResourceHandleSoup.cpp:
34504
345052009-02-26  Dirk Schulze  <krit@webkit.org>
34506
34507        Reviewed by Oliver Hunt.
34508
34509        Added support for Gradients and Patterns on filled or stroked Fonts
34510        in Cairo. I also added support for globalAlpha on FontCairo.
34511
34512        [CAIRO] SVG/Canvas fonts miss gradients/pattern support
34513        https://bugs.webkit.org/show_bug.cgi?id=18617
34514
34515        * html/CanvasRenderingContext2D.cpp:
34516        (WebCore::CanvasRenderingContext2D::drawTextInternal):
34517        * platform/graphics/cairo/FontCairo.cpp:
34518        (WebCore::Font::drawGlyphs):
34519
345202009-02-26  Stephen White  <senorblanco@chromium.org>
34521
34522        Reviewed by Eric Seidel.
34523
34524        https://bugs.webkit.org/show_bug.cgi?id=23957
34525
34526        Fix for SVG gradient and pattern text for Chromium/skia. 
34527        Added accessors for the fill and stroke gradients to
34528        GraphicsContext.  Changed the paintSkiaText function to take a
34529        GraphicsContext, so we can check for gradients/patterns. 
34530        Changed the skiaDrawText function to set the SkPaint shader
34531        correctly, and to scale up the gradient shader matrix to
34532        encompass the entire text string.  Also offset each glyph
34533        separately, rather than transforming the canvas, so that the
34534        gradient/pattern stays fixed relative to the text origin.
34535
34536        * platform/graphics/GraphicsContext.cpp:
34537        (WebCore::GraphicsContext::getFillGradient):
34538        (WebCore::GraphicsContext::getStrokeGradient):
34539        (WebCore::GraphicsContext::getFillPattern):
34540        (WebCore::GraphicsContext::getStrokePattern):
34541        * platform/graphics/GraphicsContext.h:
34542        * platform/graphics/chromium/FontChromiumWin.cpp:
34543        (WebCore::Font::drawGlyphs):
34544        * platform/graphics/chromium/UniscribeHelper.cpp:
34545        (WebCore::UniscribeHelper::draw):
34546        * platform/graphics/skia/SkiaFontWin.cpp:
34547        (WebCore::windowsCanHandleTextDrawing):
34548        (WebCore::skiaDrawText):
34549        (WebCore::paintSkiaText):
34550        * platform/graphics/skia/SkiaFontWin.h:
34551
345522009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
34553
34554        Reviewed by Eric Seidel.
34555
34556        https://bugs.webkit.org/show_bug.cgi?id=24208
34557        Add custom V8 bindings for Navigator, Clipboard, Document, and Node.
34558
34559        * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
34560        (WebCore::ACCESSOR_GETTER):
34561        (WebCore::CALLBACK_FUNC_DECL):
34562        * bindings/v8/custom/V8DocumentCustom.cpp: Added.
34563        (WebCore::CALLBACK_FUNC_DECL):
34564        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
34565        (WebCore::ACCESSOR_GETTER):
34566        * bindings/v8/custom/V8NodeCustom.cpp: Added.
34567        (WebCore::CALLBACK_FUNC_DECL):
34568
345692009-02-26  Gustavo Noronha Silva  <gns@gnome.org>
34570
34571        Unreviewed build fix for building with GNOME Keyring enabled.
34572
34573        * platform/network/soup/webkit-soup-auth-dialog.c:
34574        (show_auth_dialog):
34575
345762009-02-26  Xan Lopez  <xan@gnome.org>
34577
34578        Reviewed by Holger Freyther.
34579
34580        https://bugs.webkit.org/show_bug.cgi?id=16947
34581        [GTK] Missing HTTP Auth challenge
34582
34583        Add HTTP authentication dialog with optional GNOME Keyring
34584        storage.
34585
34586        * GNUmakefile.am:
34587        * platform/network/ResourceHandleInternal.h:
34588        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
34589        * platform/network/soup/ResourceHandleSoup.cpp:
34590        (WebCore::currentToplevelCallback):
34591        (WebCore::ResourceHandle::startHttp):
34592        (WebCore::ResourceHandle::start):
34593        * platform/network/soup/webkit-soup-auth-dialog.c: Added.
34594        (webkit_soup_auth_dialog_class_init):
34595        (webkit_soup_auth_dialog_init):
34596        (webkit_soup_auth_dialog_session_feature_init):
34597        (free_authData):
34598        (set_password_callback):
34599        (response_callback):
34600        (show_auth_dialog):
34601        (find_password_callback):
34602        (session_authenticate):
34603        (attach):
34604        * platform/network/soup/webkit-soup-auth-dialog.h: Added.
34605
346062009-02-25  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
34607
34608        Reviewed by Dave Hyatt.
34609
34610        After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191
34611        svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg
34612        started failing because Ojan's new code was now *correctly* calling through to
34613        SVG asking for the closest text offset in the last line box, instead of
34614        just returning the offset at the end of the last line box when clicking below a box.
34615
34616        But!  The SVG code was wrong, in that it returned the character offset of the last
34617        character when you asked for a character offset after the end of the box, instead
34618        it should return the offset *after* the last character.  This patch fixes
34619        that behavior by reordering the last two clauses in svgCharacterHitsPosition.
34620
34621        The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs
34622        to document what's wrong.  I've also cleaned up the code a bit so it's clearer
34623        what it is doing (which also makes more obvious what's wrong with it).
34624
34625        * rendering/RenderSVGInlineText.cpp:
34626        (WebCore::RenderSVGInlineText::positionForCoordinates):
34627        * rendering/SVGInlineTextBox.cpp:
34628        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker):
34629        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
34630        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter):
34631        (WebCore::SVGInlineTextBox::closestCharacterToPosition):
34632        (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
34633
346342009-02-26  Darin Fisher  <darin@chromium.org>
34635
34636        Reviewed by Eric Seidel.
34637
34638        Minor cleanup of ChromiumBridge:
34639        Removing unused matchesMIMEType method and s/Javascript/JavaScript/
34640
34641        * platform/chromium/ChromiumBridge.h:
34642        * platform/chromium/MimeTypeRegistryChromium.cpp:
34643        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
34644        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
34645        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
34646
346472009-02-26  David Hyatt  <hyatt@apple.com>
34648
34649        Reviewed by Sam Weinig
34650
34651        Fix text-bottom vertical alignment.  It was incorrectly aligning the bottom of the descent instead of including
34652        the line-height below the descent.
34653
34654        Added fast/inline/vertical-align-text-bottom.html
34655
34656        * rendering/RenderBoxModelObject.cpp:
34657        (WebCore::RenderBoxModelObject::verticalPosition):
34658
346592009-02-26  Dirk Schulze  <krit@webkit.org>
34660
34661        Reviewed by Eric Seidel.
34662
34663        Make SVG Masking platform independet with the use of ImageBuffer::getImageData(),
34664        ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has
34665        just to implement this three methods to support SVG Masking now.
34666 
34667        Make SVG Masking platform aware
34668        https://bugs.webkit.org/show_bug.cgi?id=19243
34669
34670        * GNUmakefile.am:
34671        * WebCore.pro:
34672        * WebCore.vcproj/WebCore.vcproj:
34673        * WebCore.xcodeproj/project.pbxproj:
34674        * svg/graphics/SVGResourceMasker.cpp:
34675        (WebCore::SVGResourceMasker::applyMask):
34676        * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed.
34677        * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed.
34678        * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed.
34679        * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed.
34680        * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed.
34681
346822009-02-26  Yong Li  <yong.li@torchmobile.com>
34683
34684        Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.
34685
34686        Test: http/tests/misc/slow-preload-cancel.html
34687
34688        https://bugs.webkit.org/show_bug.cgi?id=24133
34689        Clear all pending preloads in the DocLoader object when we decide to
34690        cancel its all requests.
34691
34692        * loader/DocLoader.cpp:
34693        (WebCore::DocLoader::clearPendingPreloads):
34694        * loader/DocLoader.h:
34695        * loader/loader.cpp:
34696        (WebCore::Loader::cancelRequests):
34697
346982009-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
34699
34700        Reviewed by Eric Seidel.
34701
34702        https://bugs.webkit.org/show_bug.cgi?id=24182
34703        Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings.
34704
34705        * bindings/v8/custom/V8NodeFilterCustom.cpp: Added.
34706        (WebCore::CALLBACK_FUNC_DECL):
34707        * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added.
34708        (WebCore::toV8):
34709        (WebCore::CALLBACK_FUNC_DECL):
34710        * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added.
34711        (WebCore::toV8):
34712        (WebCore::CALLBACK_FUNC_DECL):
34713
347142009-02-26  Alexey Proskuryakov  <ap@webkit.org>
34715
34716        Reviewed by Darin Adler.
34717
34718        https://bugs.webkit.org/show_bug.cgi?id=23500
34719        KURL::parse() incorrectly compares its result to original string
34720
34721        * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account.
34722
347232009-02-26  Ojan Vafai  <ojan@chromium.org>
34724
34725        Reviewed by Kevin McCullough.
34726
34727        Manual test for inspector node highlighting.
34728
34729        * manual-tests/inspector/highlight-nodes.html: Added.
34730
347312009-02-16  Anantanarayanan Iyengar  <ananta@chromium.org>
34732
34733        Reviewed by Darin Fisher.
34734
34735        https://bugs.webkit.org/show_bug.cgi?id=23973
34736        ScrollView::scrollContents can be invoked during view shutdown.  In
34737        this scenario the FrameView::hostWindow method can return NULL, which
34738        indicates that the frame/page is being destroyed. This causes a crash
34739        when we try to dereference a NULL hostWindow pointer.  Fix is to add a
34740        NULL check for this.  
34741
34742        * platform/ScrollView.cpp:
34743        (WebCore::ScrollView::scrollContents):
34744
347452009-02-26  Rahul Kuchhal  <kuchhal@chromium.org>
34746
34747        Reviewed by Dave Hyatt.
34748
34749        https://bugs.webkit.org/show_bug.cgi?id=24003
34750        Fix a crash caused by unsafe type conversion.
34751
34752        Test: fast/block/positioning/absolute-in-inline-rtl-4.html
34753
34754        * rendering/RenderBox.cpp:
34755        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
34756
347572009-02-26  Ojan Vafai  <ojan@chromium.org>
34758
34759        Reviewed by Adam Roben.
34760
34761        https://bugs.webkit.org/show_bug.cgi?id=24202
34762        Have drawNodeHighlight clip instead of clearing. This makes it work for
34763        both Safari and Chromium since Chromium draws the inspector highlighting
34764        in the same buffer as the page.
34765
34766        * inspector/InspectorController.cpp:
34767        (WebCore::quadToPath):
34768        (WebCore::drawOutlinedQuad):
34769        (WebCore::drawOutlinedQuadWithClip):
34770        (WebCore::drawHighlightForBox):
34771
347722009-02-26  David Hyatt  <hyatt@apple.com>
34773
34774        Reviewed by Dan Bernstein & Darin Adler
34775
34776        Make sure the border/padding are properly omitted at the start of an inline that is a continuation.
34777        
34778        Added fast/inline/inline-continuation-borders.html
34779
34780        * rendering/InlineFlowBox.cpp:
34781        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
34782
347832009-02-26  Simon Fraser  <simon.fraser@apple.com>
34784
34785        Build fix, no review.
34786        
34787        Try to fix the wx build after r41218.
34788
34789        * WebCoreSources.bkl:
34790
347912009-02-26  Alexey Proskuryakov  <ap@webkit.org>
34792
34793        Reviewed by Darin Adler.
34794
34795        https://bugs.webkit.org/show_bug.cgi?id=19527
34796        ASSERTION FAILED: containerA && containerB
34797
34798        Test: fast/dom/Range/bug-19527.html
34799
34800        * dom/Range.cpp:
34801        (WebCore::Range::isPointInRange):
34802        (WebCore::Range::comparePoint):
34803        Bring the behavior in line with current Firefox, making it impossible for these methods
34804        to pass a null container to compareBoundaryPoints().
34805
348062009-02-26  Jonathon Jongsma  <jonathon@quotidian.org>
34807
34808        Reviewed by Holger Freyther.
34809
34810        https://bugs.webkit.org/show_bug.cgi?id=20358
34811
34812        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
34813        (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data
34814        should set the computed size rather than the specified size, otherwise
34815        the caps just get rendered normal size.
34816
348172009-02-26  Benjamin Meyer  <benjamin.meyer@torchmobile.com>
34818
34819        Reviewed by George Staikos.
34820
34821        https://bugs.webkit.org/show_bug.cgi?id=24062
34822        QNetworkCookieJar expects the url and not the policy url.  Sending the
34823        policy url will cause QNetworkCookieJar to behave incorrectly.  One
34824        example would be a cookie that does not have a path or domain.
34825        QNetworkCookieJar will use the url it is given to fill in default values.
34826        This allows setting cookies on the url of the main frame from an iFrame
34827        when the cookie should be set on the url of the iFrame.
34828
34829        Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
34830
34831        * platform/qt/CookieJarQt.cpp:
34832        (WebCore::setCookies):
34833
348342009-02-26  Charles Wei  <charles.wei@torchmobile.com.cn>
34835
34836        Reviewed by George Staikos.
34837
34838        make WebKit/Qt compile with SVG disabled
34839
34840        * WebCore.pro:
34841        * platform/graphics/qt/FontPlatformDataQt.cpp:
34842
348432009-02-25  Gustavo Noronha Silva  <gns@gnome.org>
34844
34845        Unreviewed build fix. Add WebCore/workers to the list of paths
34846        searched by the bindings generator perl script.
34847
34848        * GNUmakefile.am:
34849
348502009-02-25  Sam Weinig  <sam@webkit.org>
34851
34852        Reviewed by Geoffrey Garen.
34853
34854        Add canvas to the list of RenderObjects that can mark a page as
34855        visually not empty.
34856
34857        * rendering/RenderHTMLCanvas.cpp:
34858        (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
34859
348602009-02-25  Eric Carlson  <eric.carlson@apple.com>
34861
34862        Reviewed by Dave Hyatt.
34863
34864        * rendering/RenderBox.cpp:
34865        (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer
34866        as RenderMedia with controls always has a layer.
34867
348682009-02-25  Dan Bernstein  <mitz@apple.com>
34869
34870        Reviewed by Simon Fraser.
34871
34872        - fix https://bugs.webkit.org/show_bug.cgi?id=24130
34873          <rdar://problem/6618196> Paint very slow when horizontally resizing
34874
34875        Test: fast/gradients/background-clipped.html
34876
34877        * rendering/RenderBoxModelObject.cpp:
34878        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the
34879        destination rectangle passed to drawTiledImage() with the dirty
34880        rectangle. This makes it more likely for the destination rect to be
34881        contained in a single tile rect, which results in a faster code path
34882        being taken down the road (just drawing a single tile instead of
34883        tiling).
34884
348852009-02-25  Ojan Vafai  <ojan@chromium.org>
34886
34887        Reviewed by Eric Seidel.
34888
34889        Fix test regressions from positionForCoordinates patch.
34890        https://bugs.webkit.org/show_bug.cgi?id=24148
34891
34892        * rendering/RenderBlock.cpp:
34893        (WebCore::positionForPointWithInlineChildren):
34894        Remove ASSERT that placeholder text codepath is hitting.
34895
348962009-02-25  Chris Fleizach  <cfleizach@apple.com>
34897
34898        Reviewed by Beth Dakin.
34899
34900        Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
34901        https://bugs.webkit.org/show_bug.cgi?id=24143
34902
34903        When an AX object is marked dirty, do not create AX elements while going up the parent chain.
34904        Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work
34905        Make sure the AXObjectWrapper's have an object before calling them
34906        In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists
34907
34908        Test: platform/mac-snowleopard/accessibility/table-updating.html
34909
34910        * WebCore.base.exp:
34911        * page/AXObjectCache.cpp:
34912        (WebCore::AXObjectCache::~AXObjectCache):
34913        (WebCore::AXObjectCache::get):
34914        (WebCore::AXObjectCache::getOrCreate):
34915        (WebCore::AXObjectCache::removeAXID):
34916        (WebCore::AXObjectCache::handleActiveDescendantChanged):
34917        (WebCore::AXObjectCache::handleAriaRoleChanged):
34918        * page/AXObjectCache.h:
34919        * page/AccessibilityImageMapLink.cpp:
34920        (WebCore::AccessibilityImageMapLink::parentObject):
34921        * page/AccessibilityListBox.cpp:
34922        (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
34923        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
34924        * page/AccessibilityListBoxOption.cpp:
34925        (WebCore::AccessibilityListBoxOption::elementRect):
34926        (WebCore::AccessibilityListBoxOption::parentObject):
34927        * page/AccessibilityObject.cpp:
34928        (WebCore::AccessibilityObject::detach):
34929        (WebCore::AccessibilityObject::parentObjectIfExists):
34930        (WebCore::replacedNodeNeedsCharacter):
34931        (WebCore::AccessibilityObject::accessibilityObjectForPosition):
34932        * page/AccessibilityObject.h:
34933        * page/AccessibilityRenderObject.cpp:
34934        (WebCore::AccessibilityRenderObject::firstChild):
34935        (WebCore::AccessibilityRenderObject::lastChild):
34936        (WebCore::AccessibilityRenderObject::previousSibling):
34937        (WebCore::AccessibilityRenderObject::nextSibling):
34938        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
34939        (WebCore::AccessibilityRenderObject::parentObject):
34940        (WebCore::AccessibilityRenderObject::isAttachment):
34941        (WebCore::AccessibilityRenderObject::headingLevel):
34942        (WebCore::AccessibilityRenderObject::anchorElement):
34943        (WebCore::AccessibilityRenderObject::menuForMenuButton):
34944        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
34945        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
34946        (WebCore::AccessibilityRenderObject::internalLinkElement):
34947        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
34948        (WebCore::AccessibilityRenderObject::titleUIElement):
34949        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
34950        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
34951        (WebCore::AccessibilityRenderObject::getDocumentLinks):
34952        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
34953        (WebCore::AccessibilityRenderObject::focusedUIElement):
34954        (WebCore::AccessibilityRenderObject::activeDescendant):
34955        (WebCore::AccessibilityRenderObject::observableObject):
34956        (WebCore::AccessibilityRenderObject::childrenChanged):
34957        (WebCore::AccessibilityRenderObject::addChildren):
34958        * page/AccessibilityRenderObject.h:
34959        (WebCore::AccessibilityRenderObject::setRenderObject):
34960        * page/AccessibilityTable.cpp:
34961        (WebCore::AccessibilityTable::addChildren):
34962        (WebCore::AccessibilityTable::headerContainer):
34963        (WebCore::AccessibilityTable::cellForColumnAndRow):
34964        * page/AccessibilityTableCell.cpp:
34965        (WebCore::AccessibilityTableCell::isTableCell):
34966        (WebCore::AccessibilityTableCell::titleUIElement):
34967        * page/AccessibilityTableColumn.cpp:
34968        (WebCore::AccessibilityTableColumn::headerObjectForSection):
34969        * page/AccessibilityTableRow.cpp:
34970        (WebCore::AccessibilityTableRow::isTableRow):
34971        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
34972        * page/mac/AXObjectCacheMac.mm:
34973        (WebCore::AXObjectCache::postNotification):
34974        (WebCore::AXObjectCache::postNotificationToElement):
34975        * page/mac/AccessibilityObjectWrapper.mm:
34976        (textMarkerForVisiblePosition):
34977        (AXLinkElementForNode):
34978        (nsStringForReplacedNode):
34979        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
34980        (-[AccessibilityObjectWrapper accessibilityActionNames]):
34981        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
34982        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
34983        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
34984        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
34985        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
34986        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
34987        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
34988        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
34989        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
34990        (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
34991        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
34992        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
34993        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
34994
349952009-02-25  Beth Dakin  <bdakin@apple.com>
34996
34997        Reviewed by Geoff Garen.
34998
34999        Re-working of <rdar://problem/6487249> repro crash in 
35000        WebCore::CSSParser::parseFillImage copying entire contents of this 
35001        page
35002        -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
35003
35004        Fixes a bunch of layout test failures I caused!
35005
35006        * css/CSSParser.cpp:
35007        (WebCore::CSSParser::parseValue):
35008        (WebCore::CSSParser::parseContent):
35009        (WebCore::CSSParser::parseFillImage):
35010        (WebCore::CSSParser::parseFontFaceSrc):
35011        (WebCore::CSSParser::parseBorderImage):
35012
350132009-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
35014
35015        Reviewed by Eric Seidel.
35016
35017        https://bugs.webkit.org/show_bug.cgi?id=24174
35018        Add more V8 custom bindings.
35019
35020        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added.
35021        (WebCore::hasCSSPropertyNamePrefix):
35022        (WebCore::cssPropertyName):
35023        (WebCore::NAMED_PROPERTY_GETTER):
35024        (WebCore::NAMED_PROPERTY_SETTER):
35025        * bindings/v8/custom/V8DOMStringListCustom.cpp: Added.
35026        (WebCore::INDEXED_PROPERTY_GETTER):
35027        (WebCore::CALLBACK_FUNC_DECL):
35028        * bindings/v8/custom/V8EventCustom.cpp: Added.
35029        (WebCore::ACCESSOR_SETTER):
35030        (WebCore::ACCESSOR_GETTER):
35031        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added.
35032        (WebCore::NAMED_PROPERTY_DELETER):
35033        (WebCore::NAMED_PROPERTY_SETTER):
35034        (WebCore::NAMED_PROPERTY_GETTER):
35035        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added.
35036        (WebCore::NAMED_PROPERTY_GETTER):
35037        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added.
35038        (WebCore::INDEXED_PROPERTY_GETTER):
35039        (WebCore::NAMED_PROPERTY_GETTER):
35040        * bindings/v8/custom/V8NodeListCustom.cpp: Added.
35041        (WebCore::NAMED_PROPERTY_GETTER):
35042        * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added.
35043        (WebCore::NAMED_PROPERTY_GETTER):
35044
350452009-02-25  Scott Violet  <sky@google.com>
35046
35047        Reviewed by Dave Hyatt.
35048
35049        https://bugs.webkit.org/show_bug.cgi?id=24171
35050        Provides a RenderTheme method for getting the scroll bar size and
35051        changes RenderListBox to use it. RenderTheme returns a size of regular,
35052        and Mac's override to return small. Changes ScrollbarThemeChromium to
35053        use the scrollbarsize of the scrollbar when getting the size
35054        instead of passing in no-args.
35055
35056        * platform/chromium/ScrollbarThemeChromium.cpp:
35057        (WebCore::ScrollbarThemeChromium::trackRect):
35058        (WebCore::ScrollbarThemeChromium::buttonSize):
35059        * rendering/RenderListBox.cpp:
35060        (WebCore::RenderListBox::createScrollbar):
35061        * rendering/RenderTheme.h:
35062        (WebCore::RenderTheme::scrollbarControlSizeForPart):
35063        * rendering/RenderThemeChromiumMac.h:
35064        (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
35065        * rendering/RenderThemeMac.h:
35066        (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
35067
350682009-02-25  Beth Dakin  <bdakin@apple.com>
35069
35070        Reviewed by Darin Adler.
35071
35072        Fix for <rdar://problem/6487249> repro crash in 
35073        WebCore::CSSParser::parseFillImage copying entire contents of this 
35074        page
35075        -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172
35076
35077        * css/CSSParser.cpp:
35078        (WebCore::CSSParser::parseValue): Null-check m_styleSheet
35079
350802009-02-25  Adam Treat  <adam.treat@torchmobile.com>
35081
35082        Fix the Qt build.
35083
35084        * WebCore.pro:
35085
350862009-02-25  Jan Michael Alonzo  <jmalonzo@webkit.org>
35087
35088        Gtk build fix. Not reviewed.
35089
35090        Add files to the build per r41218.
35091        Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp
35092
35093        * GNUmakefile.am:
35094        * page/DOMWindow.cpp:
35095
350962009-02-25  Zan Dobersek  <zandobersek@gmail.com>
35097
35098        Reviewed by Alexey Proskuryakov.
35099
35100        https://bugs.webkit.org/show_bug.cgi?id=24043
35101        When faced with URLs with unsupported protocol on Gtk port,
35102        report the error through an idle function and return true, so
35103        a proper resource handle is created.
35104
35105        * platform/network/soup/ResourceHandleSoup.cpp:
35106        (WebCore::reportUnknownProtocolError):
35107        (WebCore::ResourceHandle::start):
35108
351092009-02-25  Steve Falkenburg  <sfalken@apple.com>
35110
35111        Windows build fix.
35112        Use struct to forward declare ResourceRequest.
35113
35114        * history/HistoryItem.h:
35115        * inspector/InspectorController.h:
35116        * loader/DocumentThreadableLoader.h:
35117        * loader/FrameLoaderClient.h:
35118        * loader/MainResourceLoader.h:
35119        * loader/SubresourceLoader.h:
35120        * loader/SubresourceLoaderClient.h:
35121        * loader/ThreadableLoader.h:
35122        * loader/WorkerThreadableLoader.h:
35123        * platform/CrossThreadCopier.h:
35124        * platform/network/ResourceHandle.h:
35125        * platform/network/ResourceHandleClient.h:
35126        * platform/network/ResourceRequestBase.h:
35127        * platform/network/cf/ResourceRequestCFNet.h:
35128        * xml/XMLHttpRequest.h:
35129
351302009-02-25  Steve Falkenburg  <sfalken@apple.com>
35131
35132        Partial Windows build fix.
35133        
35134        * DerivedSources.cpp:
35135        * WebCore.vcproj/WebCore.vcproj:
35136
351372009-02-25  Dirk Schulze  <krit@webkit.org>
35138
35139        Reviewed by Oliver Hunt.
35140
35141        Ported arcTo to Qt. Qt has no native support for arcTo. This changes
35142        calculate the behavior of arcTo and draws it with lineTo and arc.
35143
35144        [QT] implement Canvas arcTo
35145        https://bugs.webkit.org/show_bug.cgi?id=23873
35146
35147        * platform/graphics/qt/PathQt.cpp:
35148        (WebCore::Path::addArcTo):
35149
351502009-02-25  Simon Fraser  <simon.fraser@apple.com>
35151
35152        Reviewed by Dan Bernstein
35153
35154        Remove idl files from Resources, and sort.
35155        
35156        * WebCore.xcodeproj/project.pbxproj:
35157
351582009-02-25  Chris Marrin  <cmarrin@apple.com>
35159
35160        Reviewed by Simon Fraser.
35161
35162        https://bugs.webkit.org/show_bug.cgi?id=23943
35163
35164        Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on
35165        the window object. Also added WebKitPoint object, which is passed in and out
35166        of these functions.
35167
35168        Test: fast/dom/Window/webkitConvertPoint.html
35169
35170        * DerivedSources.make:
35171        * WebCore.pro:
35172        * WebCore.vcproj/WebCore.vcproj:
35173        * WebCore.xcodeproj/project.pbxproj:
35174        * WebCoreSources.bkl:
35175        * bindings/js/JSDOMWindowBase.cpp:
35176        (jsDOMWindowBaseWebKitPoint):
35177        (setJSDOMWindowBaseWebKitPoint):
35178        * bindings/js/JSWebKitPointConstructor.cpp: Added.
35179        (WebCore::):
35180        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
35181        (WebCore::constructWebKitPoint):
35182        (WebCore::JSWebKitPointConstructor::getConstructData):
35183        * bindings/js/JSWebKitPointConstructor.h: Added.
35184        (WebCore::JSWebKitPointConstructor::classInfo):
35185        * dom/Node.cpp:
35186        (WebCore::Node::convertToPage):
35187        (WebCore::Node::convertFromPage):
35188        * dom/Node.h:
35189        * page/DOMWindow.cpp:
35190        (WebCore::DOMWindow::webkitConvertPointFromNodeToPage):
35191        (WebCore::DOMWindow::webkitConvertPointFromPageToNode):
35192        * page/DOMWindow.h:
35193        * page/DOMWindow.idl:
35194        * page/WebKitPoint.h: Added.
35195        (WebCore::WebKitPoint::create):
35196        (WebCore::WebKitPoint::x):
35197        (WebCore::WebKitPoint::y):
35198        (WebCore::WebKitPoint::setX):
35199        (WebCore::WebKitPoint::setY):
35200        (WebCore::WebKitPoint::WebKitPoint):
35201        * page/WebKitPoint.idl: Added.
35202
352032009-02-25  Jian Li  <jianli@chromium.org>
35204
35205        Reviewed by Alexey Proskuryakov.
35206
35207        Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files.
35208        https://bugs.webkit.org/show_bug.cgi?id=24145
35209
35210        * platform/CrossThreadCopier.cpp:
35211        * platform/CrossThreadCopier.h:
35212
352132009-02-25  David Levin  <levin@chromium.org>
35214
35215        Reviewed by Alexey Proskuryakov.
35216
35217        Bug 23688: ThreadableLoader needs a sync implementation for Workers.
35218        <https://bugs.webkit.org/show_bug.cgi?id=23688>
35219
35220        No observable change in behavior, so no test.
35221
35222        * loader/ThreadableLoader.cpp:
35223        (WebCore::ThreadableLoader::loadResourceSynchronously):
35224        * loader/ThreadableLoaderClientWrapper.h:
35225        (WebCore::ThreadableLoaderClientWrapper::clearClient):
35226        (WebCore::ThreadableLoaderClientWrapper::done):
35227        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
35228        (WebCore::ThreadableLoaderClientWrapper::didFail):
35229        (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
35230        (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
35231        Expose whether the loader is done (based on what callbacks were done).
35232
35233        * loader/WorkerThreadableLoader.cpp:
35234        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
35235        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
35236        Each loader is given its own mode so that only its callbacks get through the run loop.
35237
35238        The xhr spec says that the readystatechange events are synchronous, so in the case of a
35239        nested sync xhr no readystatechange events should be fired for the outer xhr.
35240
35241        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
35242
35243        * loader/WorkerThreadableLoader.h:
35244        (WebCore::WorkerThreadableLoader::create):
35245        (WebCore::WorkerThreadableLoader::done):
35246
35247        * workers/WorkerRunLoop.cpp:
35248        (WebCore::WorkerRunLoop::WorkerRunLoop):
35249        * workers/WorkerRunLoop.h:
35250        (WebCore::WorkerRunLoop::createUniqueId):
35251        Simple method to create a uniqueId on demand with respect to the run loop.
35252
35253        * workers/WorkerThread.h:
35254
352552009-02-25  David Levin  <levin@chromium.org>
35256
35257        Reviewed by Alexey Proskuryakov.
35258
35259        Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
35260        <https://bugs.webkit.org/show_bug.cgi?id=24089>
35261
35262        Make threadable loader callbacks to happen during the sync load call.
35263
35264        Changes the behavior of sync xhr for insecure redirects in two ways:
35265        + Sends an error event instead of an abort event (which is the same as async xhr's behavior).
35266        + Throws a network exception which is what other browsers do and what the spec
35267        says to do (http://www.w3.org/TR/XMLHttpRequest/).
35268
35269        * loader/DocumentThreadableLoader.cpp:
35270        (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
35271        * loader/DocumentThreadableLoader.h:
35272        * loader/ThreadableLoader.cpp:
35273        (WebCore::ThreadableLoader::loadResourceSynchronously):
35274        * loader/ThreadableLoader.h:
35275        * xml/XMLHttpRequest.cpp:
35276        (WebCore::XMLHttpRequest::XMLHttpRequest):
35277        (WebCore::XMLHttpRequest::loadRequestSynchronously):
35278        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
35279        (WebCore::XMLHttpRequest::didFail):
35280        (WebCore::XMLHttpRequest::didFailRedirectCheck):
35281        * xml/XMLHttpRequest.h:
35282
352832009-02-24  Chris Marrin  <cmarrin@apple.com>
35284
35285        Reviewed by David Hyatt.
35286
35287        https://bugs.webkit.org/show_bug.cgi?id=23368
35288
35289        Added logic to correctly hit test accelerated layers.
35290
35291        Tests: animations/animation-hit-test-transform.html
35292               animations/animation-hit-test.html
35293               transitions/transition-hit-test-transform.html
35294               transitions/transition-hit-test.html
35295
35296        * page/animation/KeyframeAnimation.cpp:
35297        (WebCore::KeyframeAnimation::animate):
35298        * rendering/RenderLayer.cpp:
35299        (WebCore::RenderLayer::hitTestLayer):
35300        (WebCore::RenderLayer::updateClipRects):
35301        * rendering/RenderLayerBacking.cpp:
35302        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
35303
353042009-02-25  Alexey Proskuryakov  <ap@webkit.org>
35305
35306        Reviewed by Darin Adler.
35307
35308        https://bugs.webkit.org/show_bug.cgi?id=24067
35309        REGRESSION: Crash in WebCore::Document::initSecurityContext
35310
35311        The crash started to happen when we removed a check for frame->document() being null.
35312        However, the original document shouldn't be null here, because it is needed to alias
35313        security origins. So, this patch fixes the crash by correcting security origin behavior.
35314
35315        Test: http/tests/security/aboutBlank/window-open-self-about-blank.html
35316        This tests for not crashing, and for inheriting the domain from the document being replaced.
35317        Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial
35318        domain to remove a prefix from.
35319
35320        * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before
35321        clearing the frame, so that Document::initSecurityContext() could access the old one.
35322
353232009-02-25  Jay Campan  <jcampan@google.com>
35324
35325        Reviewed by Darin Fisher.
35326
35327        https://bugs.webkit.org/show_bug.cgi?id=24066
35328
35329        Items in drop-downs were not painted correctly.  Makes sure the
35330        PopupListBox invalidates in the coordinates of the window as this is
35331        FramelessScrollView::invalidateRect paints to.
35332
35333        * platform/chromium/PopupMenuChromium.cpp:
35334        (WebCore::PopupListBox::invalidateRow):
35335
353362009-02-24  Simon Fraser  <simon.fraser@apple.com>
35337
35338        Reviewed by Anders Carlsson
35339
35340        https://bugs.webkit.org/show_bug.cgi?id=15081
35341        
35342        Make display:none work for applet, emebed and object elements
35343        by calling rendererIsNeeded() on superclasses.
35344
35345        Tests: fast/replaced/applet-display-none.html
35346               fast/replaced/embed-display-none.html
35347               fast/replaced/object-display-none.html
35348
35349        * html/HTMLAppletElement.cpp:
35350        (WebCore::HTMLAppletElement::rendererIsNeeded):
35351        * html/HTMLElement.cpp:
35352        (WebCore::HTMLElement::rendererIsNeeded):
35353        * html/HTMLEmbedElement.cpp:
35354        (WebCore::HTMLEmbedElement::rendererIsNeeded):
35355        * html/HTMLObjectElement.cpp:
35356        (WebCore::HTMLObjectElement::rendererIsNeeded):
35357
353582009-02-24  Simon Fraser  <simon.fraser@apple.com>
35359
35360        Reviewed by Dave Hyatt
35361
35362        https://bugs.webkit.org/show_bug.cgi?id=24137
35363        
35364        Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms,
35365        taking perspective and transform-style: preserve-3d into account.
35366        
35367        In order to support transform-style: preserve-3d, which keeps elements in a
35368        3d space, we have to carry along an accumulated matrix in TransformState.
35369        We also need to apply the perspective from the parent, if any, with the
35370        appropriate origin.
35371
35372        * GNUmakefile.am:
35373        * WebCore.base.exp:
35374        * WebCore.pro:
35375        * WebCore.scons:
35376        * WebCore.vcproj/WebCore.vcproj:
35377        * WebCore.xcodeproj/project.pbxproj:
35378        * WebCoreSources.bkl:
35379        * css/CSSComputedStyleDeclaration.cpp:
35380        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
35381        * platform/graphics/transforms/TransformationMatrix.cpp:
35382        (WebCore::TransformationMatrix::translate):
35383        (WebCore::TransformationMatrix::translate3d):
35384        (WebCore::TransformationMatrix::translateRight3d):
35385        * platform/graphics/transforms/TransformationMatrix.h:
35386        * rendering/RenderBox.cpp:
35387        (WebCore::RenderBox::mapLocalToAbsolutePoint):
35388        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
35389        * rendering/RenderBox.h:
35390        * rendering/RenderLayer.cpp:
35391        (WebCore::RenderLayer::updateTransform):
35392        (WebCore::RenderLayer::perspectiveTransform):
35393        (WebCore::RenderLayer::perspectiveOrigin):
35394        * rendering/RenderLayer.h:
35395        * rendering/RenderLayerBacking.cpp:
35396        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
35397        * rendering/RenderLayerCompositor.cpp:
35398        (WebCore::requiresCompositingLayerForTransform):
35399        (WebCore::RenderLayerCompositor::layerHas3DContent):
35400        * rendering/RenderObject.cpp:
35401        (WebCore::RenderObject::localToAbsolute):
35402        (WebCore::RenderObject::absoluteToLocal):
35403        (WebCore::RenderObject::mapLocalToAbsolutePoint):
35404        (WebCore::RenderObject::mapAbsoluteToLocalPoint):
35405        * rendering/RenderObject.h:
35406        * rendering/RenderTableCell.cpp:
35407        (WebCore::RenderTableCell::mapLocalToAbsolutePoint):
35408        (WebCore::RenderTableCell::mapAbsoluteToLocalPoint):
35409        * rendering/RenderTableCell.h:
35410        * rendering/RenderView.cpp:
35411        (WebCore::RenderView::mapLocalToAbsolutePoint):
35412        (WebCore::RenderView::mapAbsoluteToLocalPoint):
35413        * rendering/RenderView.h:
35414        * rendering/TransformState.cpp: Added.
35415        (WebCore::TransformState::move):
35416        (WebCore::TransformState::applyTransform):
35417        (WebCore::TransformState::flatten):
35418        * rendering/TransformState.h: Added.
35419        (WebCore::TransformState::):
35420        (WebCore::TransformState::TransformState):
35421        (WebCore::TransformState::move):
35422        * rendering/style/RenderStyle.h:
35423        (WebCore::InheritedFlags::hasPerspective):
35424
354252009-02-24  Sam Weinig  <sam@webkit.org>
35426
35427        Reviewed by David Hyatt.
35428
35429        Fix for https://bugs.webkit.org/show_bug.cgi?id=23990
35430        Regression (r40837): JavaScript image popup doesn't work
35431
35432        Make the getClientRects and getBoundingClientRect methods return rects
35433        relative to the viewport.
35434
35435        Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html
35436
35437        * dom/Element.cpp:
35438        (WebCore::Element::getClientRects):
35439        (WebCore::Element::getBoundingClientRect):
35440
354412009-02-24  Ojan Vafai  <ojan@chromium.org>
35442
35443        Reviewed by Eric Seidel.
35444
35445        SVG pages don't have a body or an html element! 
35446        Don't return early if there is no body.
35447
35448        * editing/VisiblePosition.cpp:
35449        (WebCore::VisiblePosition::canonicalPosition):
35450
354512009-02-23  David Hyatt  <hyatt@apple.com>
35452
35453        Reviewed by Eric Seidel
35454
35455        https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
35456        
35457        This patch reworks the painting of overflow.  There is now the concept of a "self-painting layer."  All
35458        layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
35459        reflections or masks).
35460        
35461        If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
35462        The only difference is that the clip has to be pushed and popped when painting the object's children.
35463        
35464        The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case.  With
35465        the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
35466        use the new functions.
35467        
35468        Hit testing has also been patched to check the overflow clip rect first before recurring into children.
35469        
35470        Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
35471        yet, and scrollbar hit testing was already there anyway.  Now the two code paths are more symmetrical.
35472        
35473        Masks are now treated like normal flow layers (just like reflections).
35474
35475        A couple of test cases have been added to fast/overflow to test the stacking order. 
35476
35477        * rendering/InlineFlowBox.cpp:
35478        (WebCore::InlineFlowBox::nodeAtPoint):
35479        (WebCore::InlineFlowBox::paint):
35480        * rendering/RenderBlock.cpp:
35481        (WebCore::RenderBlock::repaintOverhangingFloats):
35482        (WebCore::RenderBlock::paint):
35483        (WebCore::RenderBlock::paintChildren):
35484        (WebCore::RenderBlock::paintObject):
35485        (WebCore::RenderBlock::paintFloats):
35486        (WebCore::RenderBlock::insertFloatingObject):
35487        (WebCore::RenderBlock::floatRect):
35488        (WebCore::RenderBlock::lowestPosition):
35489        (WebCore::RenderBlock::rightmostPosition):
35490        (WebCore::RenderBlock::leftmostPosition):
35491        (WebCore::RenderBlock::addOverhangingFloats):
35492        (WebCore::RenderBlock::nodeAtPoint):
35493        (WebCore::RenderBlock::hitTestContents):
35494        * rendering/RenderBox.cpp:
35495        (WebCore::RenderBox::nodeAtPoint):
35496        (WebCore::RenderBox::pushContentsClip):
35497        (WebCore::RenderBox::popContentsClip):
35498        * rendering/RenderBox.h:
35499        (WebCore::RenderBox::paintObject):
35500        * rendering/RenderBoxModelObject.cpp:
35501        (WebCore::RenderBoxModelObject::hasSelfPaintingLayer):
35502        * rendering/RenderBoxModelObject.h:
35503        * rendering/RenderLayer.cpp:
35504        (WebCore::RenderLayer::paintLayer):
35505        (WebCore::RenderLayer::hitTestLayer):
35506        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
35507        (WebCore::RenderLayer::isSelfPaintingLayer):
35508        * rendering/RenderLayer.h:
35509        * rendering/RenderTable.cpp:
35510        (WebCore::RenderTable::paint):
35511        (WebCore::RenderTable::paintObject):
35512        (WebCore::RenderTable::nodeAtPoint):
35513        * rendering/RenderTable.h:
35514        * rendering/RenderTableCell.cpp:
35515        (WebCore::RenderTableCell::paint):
35516        * rendering/RenderTableRow.cpp:
35517        (WebCore::RenderTableRow::nodeAtPoint):
35518        (WebCore::RenderTableRow::paint):
35519        * rendering/RenderTableRow.h:
35520        * rendering/RenderTableSection.cpp:
35521        (WebCore::RenderTableSection::paint):
35522        (WebCore::RenderTableSection::paintObject):
35523        (WebCore::RenderTableSection::nodeAtPoint):
35524        * rendering/RenderTableSection.h:
35525        * rendering/RenderTreeAsText.cpp:
35526        (WebCore::write):
35527        (WebCore::writeLayers):
35528
355292009-02-24  David Levin  <levin@chromium.org>
35530
35531        Reviewed by NOBODY (build fix).
35532
35533        Attempted build fix for wx-mac.
35534
35535        * WebCoreSources.bkl:
35536
355372009-02-24  David Levin  <levin@chromium.org>
35538
35539        Reviewed by NOBODY (build fix).
35540
35541        Attempted build fixes for qt-linux and wx-mac.
35542
35543        * WebCore.pro:
35544        * webcore-base.bkl:
35545
355462009-02-24  Ojan Vafai  <ojan@dhcp-172-31-134-214.sfo.corp.google.com>
35547
35548        Reviewed by Sam Weinig.
35549
35550        Fix null pointer error. If the node is the Document, then ownerDocument() 
35551        returns null, document() does not.
35552
35553        * editing/VisiblePosition.cpp:
35554        (WebCore::VisiblePosition::canonicalPosition):
35555
355562009-02-24  Jian Li  <jianli@chromium.org>
35557
35558        Reviewed by NOBODY (attempted build fixes).
35559
35560        Fix build break for Windows and Linux.
35561
35562        * GNUmakefile.am:
35563        * WebCore.vcproj/WebCore.vcproj:
35564
355652009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
35566
35567        Reviewed by Eric Seidel.
35568
35569        https://bugs.webkit.org/show_bug.cgi?id=24131
35570        Fix-up COM/RefCounted dichotomy in Chromium port.
35571
35572        * page/chromium/AccessibilityObjectWrapper.h:
35573        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added
35574        explicit setting of recount.
35575
355762009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
35577
35578        Reviewed by Eric Seidel.
35579
35580        https://bugs.webkit.org/show_bug.cgi?id=24141
35581        Add clarity to V8 interceptor helper function.
35582
35583        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
35584        (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor.
35585        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
35586        (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
35587        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
35588
355892009-02-24  Simon Fraser  <simon.fraser@apple.com>
35590
35591        Reviewed by Eric Seidel
35592
35593        Minor numeric cleanup: convert float literals to doubles.
35594        
35595        * platform/graphics/transforms/RotateTransformOperation.cpp:
35596        (WebCore::RotateTransformOperation::blend):
35597
355982009-02-24  Mark Mentovai  <mark@chromium.org>
35599
35600        Reviewed by Eric Seidel.
35601
35602        https://bugs.webkit.org/show_bug.cgi?id=24139
35603        Add missing include.
35604
35605        * bindings/v8/ScriptInstance.h:
35606
356072009-02-24  Jian Li  <jianli@chromium.org>
35608
35609        Reviewed by Alexey Proskuryakov.
35610
35611        Move worker related files from dom directory to worker directory under WebCore.
35612        https://bugs.webkit.org/show_bug.cgi?id=24123
35613
35614        * DerivedSources.make:
35615        * GNUmakefile.am:
35616        * WebCore.pro:
35617        * WebCore.scons:
35618        * WebCore.vcproj/MigrateIDLAndScripts:
35619        * WebCore.vcproj/WebCore.vcproj:
35620        * WebCore.xcodeproj/project.pbxproj:
35621        * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp.
35622        * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h.
35623        * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h.
35624        * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp.
35625        * workers/Worker.h: Renamed from WebCore/dom/Worker.h.
35626        * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl.
35627        * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp.
35628        * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h.
35629        * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl.
35630        * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h.
35631        * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp.
35632        * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h.
35633        * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl.
35634        * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp.
35635        * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h.
35636        * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h.
35637        * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp.
35638        * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h.
35639        * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp.
35640        * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h.
35641
356422009-02-05  Ojan Vafai  <ojan@chromium.org> and Eric Seidel <eric@webkit.org>
35643
35644        Reviewed by Dave Hyatt.
35645
35646        Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
35647        around divs inside editable regions.
35648        https://bugs.webkit.org/show_bug.cgi?id=23605
35649
35650        Fix clicks outside editable regions from focusing the editable region.
35651        https://bugs.webkit.org/show_bug.cgi?id=23607
35652
35653        Removed editing/selection/contenteditable-click-outside.html as it's
35654        not as useful as our new tests.
35655
35656        Clean up RenderBlock::positionForCoordinates to remove dead code,
35657        duplicate code, and generally make it more readable.
35658
35659        Tests: editing/selection/click-in-margins-inside-editable-div.html
35660               editing/selection/click-in-padding-with-multiple-line-boxes.html
35661               editing/selection/click-outside-editable-div.html
35662
35663        * editing/VisiblePosition.cpp:
35664        (WebCore::VisiblePosition::canonicalPosition):
35665        * rendering/RenderBlock.cpp:
35666        (WebCore::positionForPointRespectingEditingBoundaries):
35667        (WebCore::positionForPointWithInlineChildren):
35668        (WebCore::RenderBlock::positionForCoordinates):
35669        (WebCore::RenderBlock::updateFirstLetter):
35670
356712009-02-24  Sam Weinig  <sam@webkit.org>
35672
35673        Reviewed by Geoffrey Garen.
35674
35675        Related to <rdar://problem/6590295>
35676        Allow disabling javascript: urls.
35677
35678        * WebCore.base.exp:
35679        * html/HTMLAnchorElement.cpp:
35680        (WebCore::HTMLAnchorElement::parseMappedAttribute):
35681        * loader/FrameLoader.cpp:
35682        (WebCore::FrameLoader::executeIfJavaScriptURL):
35683        * page/Page.cpp:
35684        (WebCore::Page::Page):
35685        (WebCore::Page::setJavaScriptURLsAreAllowed):
35686        (WebCore::Page::javaScriptURLsAreAllowed):
35687        * page/Page.h:
35688
356892009-02-24  Simon Fraser  <simon.fraser@apple.com>
35690
35691        Fix build when ACCELERATED_COMPOSITING is turned on
35692        (overflowList() -> normalFlowList()).
35693    
35694        * rendering/RenderLayerBacking.cpp:
35695        (WebCore::RenderLayerBacking::hasNonCompositingContent):
35696        (WebCore::RenderLayerBacking::paintIntoLayer):
35697        * rendering/RenderLayerCompositor.cpp:
35698        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
35699        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
35700        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
35701        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
35702        (WebCore::RenderLayerCompositor::layerHas3DContent):
35703
357042009-02-24  Simon Fraser  <simon.fraser@apple.com>
35705
35706        Reviewed by Darin Adler
35707        
35708        https://bugs.webkit.org/show_bug.cgi?id=24135
35709        
35710        Round the FloatPoint returned by absoluteToLocal(), rather than
35711        truncating it.
35712
35713        * dom/MouseRelatedEvent.cpp:
35714        (WebCore::MouseRelatedEvent::receivedTarget):
35715
357162009-02-24  Beth Dakin  <bdakin@apple.com>
35717
35718        Reviewed by Sam Weinig.
35719
35720        Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 
35721        Ordered list item marker misaligned when line height is not 1.2 
35722        -and corresponding <rdar://problem/6602506>
35723
35724        This is a regression from http://trac.webkit.org/changeset/40880 
35725        where createInlineBox was taken off of RenderObject and moved to 
35726        RenderBox. The problem was that the RenderBox version still needs 
35727        to be virtual because there is still an existing implementation in 
35728        RenderListMarker. 
35729
35730        * rendering/RenderBox.h:
35731        * rendering/RenderListMarker.cpp:
35732        (WebCore::RenderListMarker::createInlineBox):
35733        * rendering/RenderListMarker.h:
35734
357352009-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
35736
35737        Reviewed by Eric Seidel.
35738
35739        https://bugs.webkit.org/show_bug.cgi?id=24128
35740        Upstream more V8 custom bindings: constructors, XSLTProcessor.
35741
35742        * bindings/v8/custom/V8DOMParserConstructor.cpp: Added.
35743        (WebCore::CALLBACK_FUNC_DECL):
35744        * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added.
35745        (WebCore::CALLBACK_FUNC_DECL):
35746        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added.
35747        (WebCore::CALLBACK_FUNC_DECL):
35748        * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added.
35749        (WebCore::CALLBACK_FUNC_DECL):
35750        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added.
35751        (WebCore::CALLBACK_FUNC_DECL):
35752        * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added.
35753        (WebCore::CALLBACK_FUNC_DECL):
35754
357552009-02-24  David Levin  <levin@chromium.org>
35756
35757        Reviewed by Alexey Proskuryakov.
35758
35759        Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode.
35760        <https://bugs.webkit.org/show_bug.cgi?id=24090>
35761
35762        No observable change in behavior, so no test.
35763
35764        * dom/WorkerMessagingProxy.cpp:
35765        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
35766        (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
35767        Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks.
35768
35769        (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
35770
35771        * dom/WorkerMessagingProxy.h:
35772        * loader/ThreadableLoader.cpp:
35773        (WebCore::ThreadableLoader::create):
35774        * loader/WorkerThreadableLoader.cpp:
35775        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
35776        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
35777        (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
35778        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
35779        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
35780        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
35781        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
35782        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
35783        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
35784        Changed these methods to post task using a mode.
35785
35786        * loader/WorkerThreadableLoader.h:
35787        (WebCore::WorkerThreadableLoader::create):
35788
357892009-02-24  Alexey Proskuryakov  <ap@webkit.org>
35790
35791        Reviewed by Darin Adler.
35792
35793        https://bugs.webkit.org/show_bug.cgi?id=24091
35794        <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache
35795
35796        Test: http/tests/appcache/access-via-redirect.php
35797
35798        * loader/appcache/ApplicationCacheGroup.cpp:
35799        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with,
35800        not the original one.
35801
358022009-02-24  Jian Li  <jianli@chromium.org>
35803
35804        Reviewed by Alexey Proskuryakov.
35805
35806        Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp.
35807        https://bugs.webkit.org/show_bug.cgi?id=24112
35808
35809        * bindings/js/WorkerScriptController.cpp:
35810        * dom/WorkerContext.cpp:
35811
358122009-02-23  Antti Koivisto  <antti@apple.com>
35813
35814        Reviewed by Oliver Hunt.
35815
35816        <rdar://problem/6613796> Extended text codecs registered on webview creation
35817
35818        Comparing a text encoding with string "GBK" ended up constructing
35819        TextEncoding("GBK") which in turn initialized all extended
35820        text codecs.
35821
35822        * platform/text/TextCodecICU.cpp:
35823        (WebCore::TextCodecICU::decode):
35824
358252009-02-23  Sam Weinig  <sam@webkit.org>
35826
35827        Fix Qt build.
35828
35829        * bridge/qt/qt_runtime.cpp:
35830        (JSC::Bindings::valueRealType):
35831
358322009-02-23  Julien Chaffraix  <jchaffraix@webkit.org>
35833
35834        Reviewed by Darin Adler.
35835
35836        Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)
35837
35838        The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately
35839        element created with createElement could have a wrong nodeName (createElement sets the string as the
35840        localName without checking for a prefix).
35841
35842        The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName
35843        and will always succeed.
35844        Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT
35845        to ensure that).
35846
35847        Test: fast/dom/cloneNode.html
35848
35849        * dom/Element.cpp:
35850        (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will
35851        always return an element.
35852
35853        * html/HTMLElement.cpp:
35854        * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done.
35855
358562009-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
35857
35858        Reviewed by Eric Seidel.
35859
35860        https://bugs.webkit.org/show_bug.cgi?id=24109
35861        Upstream V8 Script abstractions, all except ScriptController.
35862
35863        * bindings/v8/ScriptCachedFrameData.h: Added.
35864        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
35865        (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
35866        (WebCore::ScriptCachedFrameData::restore):
35867        (WebCore::ScriptCachedFrameData::clear):
35868        (WebCore::ScriptCachedFrameData::domWindow):
35869        * bindings/v8/ScriptCallFrame.cpp: Added.
35870        (WebCore::ScriptCallFrame::ScriptCallFrame):
35871        (WebCore::ScriptCallFrame::~ScriptCallFrame):
35872        (WebCore::ScriptCallFrame::argumentAt):
35873        * bindings/v8/ScriptCallFrame.h: Added.
35874        (WebCore::ScriptCallFrame::functionName):
35875        (WebCore::ScriptCallFrame::sourceURL):
35876        (WebCore::ScriptCallFrame::lineNumber):
35877        (WebCore::ScriptCallFrame::argumentCount):
35878        * bindings/v8/ScriptCallStack.cpp: Added.
35879        (WebCore::ScriptCallStack::ScriptCallStack):
35880        (WebCore::ScriptCallStack::~ScriptCallStack):
35881        (WebCore::ScriptCallStack::at):
35882        * bindings/v8/ScriptCallStack.h: Added.
35883        (WebCore::ScriptCallStack::size):
35884        * bindings/v8/ScriptInstance.cpp: Added.
35885        (WebCore::V8ScriptInstance::V8ScriptInstance):
35886        (WebCore::V8ScriptInstance::~V8ScriptInstance):
35887        (WebCore::V8ScriptInstance::instance):
35888        (WebCore::V8ScriptInstance::clear):
35889        (WebCore::V8ScriptInstance::set):
35890        * bindings/v8/ScriptInstance.h: Added.
35891        (WebCore::V8ScriptInstance::create):
35892        * bindings/v8/ScriptSourceCode.h: Added.
35893        (WebCore::ScriptSourceCode::ScriptSourceCode):
35894        (WebCore::ScriptSourceCode::isEmpty):
35895        (WebCore::ScriptSourceCode::source):
35896        (WebCore::ScriptSourceCode::url):
35897        (WebCore::ScriptSourceCode::startLine):
35898        * bindings/v8/ScriptState.h: Added.
35899        (WebCore::ScriptState::hadException):
35900        (WebCore::ScriptState::setException):
35901        (WebCore::ScriptState::exception):
35902        * bindings/v8/ScriptString.h: Added.
35903        (WebCore::ScriptString::ScriptString):
35904        (WebCore::ScriptString::operator String):
35905        (WebCore::ScriptString::isNull):
35906        (WebCore::ScriptString::size):
35907        (WebCore::ScriptString::operator=):
35908        (WebCore::ScriptString::operator+=):
35909        * bindings/v8/ScriptValue.cpp: Added.
35910        (WebCore::ScriptValue::getString):
35911        * bindings/v8/ScriptValue.h: Added.
35912        (WebCore::ScriptValue::ScriptValue):
35913        (WebCore::ScriptValue::operator=):
35914        (WebCore::ScriptValue::operator==):
35915        (WebCore::ScriptValue::operator!=):
35916        (WebCore::ScriptValue::isNull):
35917        (WebCore::ScriptValue::isUndefined):
35918        (WebCore::ScriptValue::clear):
35919        (WebCore::ScriptValue::~ScriptValue):
35920        (WebCore::ScriptValue::v8Value):
35921
359222009-02-23  Adam Treat  <adam.treat@torchmobile.com>
35923
35924        Reviewed by Timothy Hatcher.
35925
35926        https://bugs.webkit.org/show_bug.cgi?id=24106
35927        The Qt port is crashing on exit because the tear down procedure involves
35928        the WebCore::InspectorController trying to access the JS execution context
35929        for a page that is being deleted.  This patch amends the inspector so
35930        that it does not try and access the execution context of the WebCore::Page
35931        in the midst of deletion.
35932
35933        * inspector/InspectorController.cpp:
35934        (WebCore::InspectorController::inspectedPageDestroyed):
35935        (WebCore::InspectorController::stopUserInitiatedProfiling):
35936
359372009-02-23  David Levin  <levin@chromium.org>
35938
35939        Reviewed by Alexey Proskuryakov.
35940
35941        Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name.
35942        <https://bugs.webkit.org/show_bug.cgi?id=24088>
35943
35944        No observable change in behavior, so no test.
35945
35946        * loader/DocumentThreadableLoader.cpp:
35947        (WebCore::DocumentThreadableLoader::create):
35948        * loader/ThreadableLoaderClient.h:
35949        (WebCore::ThreadableLoaderClient::didFailRedirectCheck):
35950        * loader/ThreadableLoaderClientWrapper.h:
35951        (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
35952        * loader/WorkerThreadableLoader.cpp:
35953        (WebCore::workerContextDidFailRedirectCheck):
35954        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
35955        * loader/WorkerThreadableLoader.h:
35956        * xml/XMLHttpRequest.cpp:
35957        (WebCore::XMLHttpRequest::didFinishLoading):
35958        * xml/XMLHttpRequest.h:
35959
359602009-02-23  David Levin  <levin@chromium.org>
35961
35962        Reviewed by Alexey Proskuryakov.
35963
35964        Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode
35965        <https://bugs.webkit.org/show_bug.cgi?id=24047>
35966
35967        Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by
35968        using only MessageQueue::waitForMessageFilteredWithTimeout instead
35969        of three different MessageQueue methods.
35970
35971        No observable change in behavior, so no test.
35972
35973        * dom/WorkerRunLoop.cpp:
35974        (WebCore::ModePredicate::operator()):
35975        Minor clean-up to able to pass a const ref point for ModePredicate into runInMode.
35976        (WebCore::WorkerRunLoop::runInMode):
35977        * dom/WorkerRunLoop.h:
35978
359792009-02-23  David Hyatt  <hyatt@apple.com>
35980
35981        In preparation for making layers for multicol objects (so that they can properly split child layers
35982        into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions
35983        of RenderLayer to use the term "normal flow" instead.
35984
35985        Reviewed by Cameron Zwarich
35986
35987        * rendering/RenderLayer.cpp:
35988        (WebCore::RenderLayer::RenderLayer):
35989        (WebCore::RenderLayer::~RenderLayer):
35990        (WebCore::RenderLayer::setHasVisibleContent):
35991        (WebCore::RenderLayer::enclosingCompositingLayer):
35992        (WebCore::RenderLayer::addChild):
35993        (WebCore::RenderLayer::removeChild):
35994        (WebCore::RenderLayer::paintLayer):
35995        (WebCore::RenderLayer::hitTestLayer):
35996        (WebCore::RenderLayer::dirtyNormalFlowList):
35997        (WebCore::RenderLayer::updateNormalFlowList):
35998        (WebCore::RenderLayer::collectLayers):
35999        (WebCore::RenderLayer::updateLayerListsIfNeeded):
36000        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
36001        (WebCore::RenderLayer::styleChanged):
36002        * rendering/RenderLayer.h:
36003        (WebCore::RenderLayer::isNormalFlowOnly):
36004        (WebCore::RenderLayer::normalFlowList):
36005        * rendering/RenderTreeAsText.cpp:
36006        (WebCore::writeLayers):
36007
360082009-02-23  David Hyatt  <hyatt@apple.com>
36009
36010        Fix the stacking order for column rules in multi-column layout.  Column rules should paint as part of the background of an element, just
36011        after all other components of the background have been painted.  This allows negative z-index children to still paint on top of the
36012        column rules (rather than ending up above the background of the box but behind the column rules).
36013
36014        Reviewed by Eric Seidel
36015
36016        Added fast/multicol/column-rules-stacking.html
36017
36018        * rendering/RenderBlock.cpp:
36019        (WebCore::RenderBlock::paintColumnRules):
36020        (WebCore::RenderBlock::paintColumnContents):
36021        (WebCore::RenderBlock::paintObject):
36022        * rendering/RenderBlock.h:
36023
360242009-02-23  Adam Treat  <adam.treat@torchmobile.com>
36025
36026        Reviewed by David Hyatt.
36027
36028        No testcases have been added or modified since this patch should not result in
36029        a behavior change for ports that have layout tests enabled.
36030
36031        Currently, the implementation of GraphicsContext::drawLineForText amongst
36032        the various ports differ in that some of them are honoring the context's
36033        strokeStyle when drawing a text-decoration and some of them are not.
36034        For instance, Apple's Mac port *does not* honor the context's strokeStyle(),
36035        but the Cairo implementation does and has an explicit workaround that
36036        sets the strokeStyle() temporarily.
36037
36038        This patch fixes so that all ports are consistent by explicitly making sure
36039        to set the GraphicsContext strokeStyle to SolidStroke whenever
36040        painting the text-decoration of an InlineFlowBox or InlineTextBox as these
36041        should always use a solid stroke.
36042
36043        This patch addresses these bugs:
36044        https://bugs.webkit.org/show_bug.cgi?id=19364
36045        https://bugs.webkit.org/show_bug.cgi?id=15659
36046
36047        * rendering/InlineFlowBox.cpp:
36048        (WebCore::InlineFlowBox::paintTextDecorations):
36049        * rendering/InlineTextBox.cpp:
36050        (WebCore::InlineTextBox::paintDecoration):
36051
360522009-02-23  Scott Violet  <sky@google.com>
36053
36054        Reviewed by Eric Seidel.
36055
36056        https://bugs.webkit.org/show_bug.cgi?id=24098
36057        Bugs in ClipboardChromium
36058
36059        Fixes the following bugs in ClipboardChromium:
36060        * It's possible for the extension to be empty, resulting in a bad file
36061          name, for example, 'foo.' or just '.'.
36062        * We weren't restricting the size of the file to MAX_PATH.
36063        * We weren't removing characters that are invalid for file system names.
36064
36065        * platform/chromium/ClipboardChromium.cpp:
36066        (WebCore::writeImageToDataObject):
36067        * platform/chromium/ClipboardChromium.h:
36068        * platform/chromium/ClipboardChromiumLinux.cpp: Added.
36069        (WebCore::ClipboardChromium::validateFileName):
36070        * platform/chromium/ClipboardChromiumMac.cpp: Added.
36071        (WebCore::ClipboardChromium::validateFileName):
36072        * platform/chromium/ClipboardChromiumWin.cpp: Added.
36073        (WebCore::isInvalidFileCharacter):
36074        (WebCore::ClipboardChromium::validateFileName):
36075
360762009-02-23  Thiago Macieira  <thiago.macieira@nokia.com>
36077
36078        Reviewed by Simon Hausmann.
36079
36080        Fix the Copyright notices in a few files
36081
36082        * platform/qt/RenderThemeQt.h:
36083
360842009-02-23  Xan Lopez  <xan@gnome.org>
36085
36086        Reviewed by Alexey Proskuryakov.
36087
36088        https://bugs.webkit.org/show_bug.cgi?id=22624
36089        [SOUP][GTK] Need API to get SoupSession from WebKit.
36090
36091        Allow to retrieve the Soup session and modify the code to take
36092        into account users changing features on it.
36093
36094        * platform/network/ResourceHandle.h:
36095        * platform/network/soup/CookieJarSoup.cpp:
36096        (WebCore::defaultCookieJar):
36097        (WebCore::setDefaultCookieJar):
36098        * platform/network/soup/CookieJarSoup.h:
36099        * platform/network/soup/ResourceHandleSoup.cpp:
36100        (WebCore::createSoupSession):
36101        (WebCore::ensureSessionIsInitialized):
36102        (WebCore::ResourceHandle::startHttp):
36103        (WebCore::ResourceHandle::cancel):
36104        (WebCore::ResourceHandle::defaultSession):
36105
361062009-02-23  Xan Lopez  <xan@gnome.org>
36107
36108        Reviewed by Alexey Proskuryakov.
36109
36110        https://bugs.webkit.org/show_bug.cgi?id=22624
36111        [SOUP][GTK] Need API to get SoupSession from WebKit.
36112
36113        Remove CURL support.
36114
36115        * GNUmakefile.am:
36116
361172009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36118
36119        Reviewed by Mark Rowe.
36120
36121        Test: fast/dom/empty-hash-and-search.html
36122
36123        https://bugs.webkit.org/show_bug.cgi?id=21147
36124        hash property returns incorrect value for links w/o hash
36125
36126        Make hash() and search() behavior for empty and missing parts match IE and Firefox.
36127
36128        * platform/KURL.cpp:
36129        (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref().
36130        (WebCore::KURL::prettyURL): Append the query with the question mark.
36131
36132        * page/Location.cpp:
36133        (WebCore::Location::search): Return an empty string if query is empty or missing.
36134        (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones.
36135
36136        * dom/WorkerLocation.cpp:
36137        (WebCore::WorkerLocation::search):
36138        (WebCore::WorkerLocation::hash):
36139        Match document.location fixes above.
36140
36141        * html/HTMLAnchorElement.cpp:
36142        (WebCore::HTMLAnchorElement::hash):
36143        (WebCore::HTMLAnchorElement::search):
36144        Return an empty string for empty and missing parts.
36145
361462009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36147
36148        Reviewed by Darin Adler.
36149
36150        https://bugs.webkit.org/show_bug.cgi?id=20184
36151        SELECT with no name generates invalid query string
36152
36153        Test: fast/forms/select-no-name.html
36154
36155        * html/HTMLSelectElement.cpp:
36156        (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name.
36157
361582009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36159
36160        Apply review comments for the previous check-in (forgot to save the file, oops).
36161
36162        * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren):
36163
361642009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36165
36166        Reviewed by Darin Adler.
36167
36168        https://bugs.webkit.org/show_bug.cgi?id=15707
36169        Crash when manipulating document from within an iframe onload function
36170
36171        Test: fast/dom/onload-open.html
36172
36173        * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and
36174        the current node, because anything can happen when dispatching events.
36175
361762009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36177
36178        Reviewed by Darin Adler.
36179
36180        https://bugs.webkit.org/show_bug.cgi?id=18970
36181        Numerically named input fields cause document.forms loop problems
36182
36183        Test: fast/forms/numeric-input-name.html
36184
36185        * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the
36186        latter overrides properties.
36187
361882009-02-23  Alexey Proskuryakov  <ap@webkit.org>
36189
36190        Reviewed by Sam Weinig.
36191
36192        https://bugs.webkit.org/show_bug.cgi?id=24059
36193        Tokenizer::write() return value is never used
36194
36195        * dom/Tokenizer.h:
36196        * dom/XMLTokenizer.cpp:
36197        (WebCore::XMLTokenizer::write):
36198        * dom/XMLTokenizer.h:
36199        * html/HTMLTokenizer.cpp:
36200        (WebCore::HTMLTokenizer::write):
36201        * html/HTMLTokenizer.h:
36202        * loader/FTPDirectoryDocument.cpp:
36203        (WebCore::FTPDirectoryTokenizer::write):
36204        * loader/ImageDocument.cpp:
36205        (WebCore::ImageTokenizer::write):
36206        * loader/MediaDocument.cpp:
36207        (WebCore::MediaTokenizer::write):
36208        * loader/PluginDocument.cpp:
36209        (WebCore::PluginTokenizer::write):
36210        * loader/TextDocument.cpp:
36211        (WebCore::TextTokenizer::write):
36212        Made write() return void, not bool.
36213
362142009-02-20  Geoffrey Garen  <ggaren@apple.com>
36215
36216        Reviewed by Sam Weinig.
36217
36218        Updated for JavaScriptCore changes to timeout checking.
36219
36220        * bindings/js/JSCustomPositionCallback.cpp:
36221        (WebCore::JSCustomPositionCallback::handleEvent):
36222        * bindings/js/JSCustomPositionErrorCallback.cpp:
36223        (WebCore::JSCustomPositionErrorCallback::handleEvent):
36224        * bindings/js/JSCustomSQLStatementCallback.cpp:
36225        (WebCore::JSCustomSQLStatementCallback::handleEvent):
36226        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
36227        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
36228        * bindings/js/JSCustomSQLTransactionCallback.cpp:
36229        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
36230        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
36231        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
36232        * bindings/js/JSCustomVoidCallback.cpp:
36233        (WebCore::JSCustomVoidCallback::handleEvent):
36234        * bindings/js/JSCustomXPathNSResolver.cpp:
36235        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
36236        * bindings/js/JSDOMWindowBase.cpp:
36237        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
36238        (WebCore::JSDOMWindowBase::commonJSGlobalData):
36239        * bindings/js/JSEventListener.cpp:
36240        (WebCore::JSAbstractEventListener::handleEvent):
36241        * bindings/js/ScheduledAction.cpp:
36242        (WebCore::ScheduledAction::executeFunctionInContext):
36243        * bindings/js/ScriptController.cpp:
36244        (WebCore::ScriptController::evaluate):
36245        * bindings/js/WorkerScriptController.cpp:
36246        (WebCore::WorkerScriptController::evaluate):
36247        (WebCore::WorkerScriptController::forbidExecution):
36248        * bindings/objc/WebScriptObject.mm:
36249        (-[WebScriptObject callWebScriptMethod:withArguments:]):
36250        (-[WebScriptObject evaluateWebScript:]):
36251        * bridge/NP_jsobject.cpp:
36252        (_NPN_InvokeDefault):
36253        (_NPN_Invoke):
36254        (_NPN_Evaluate):
36255        (_NPN_Construct):
36256        * bridge/jni/jni_jsobject.mm:
36257        (JavaJSObject::call):
36258        (JavaJSObject::eval):
36259
362602009-02-21  Hironori Bono  <hbono@chromium.org>
36261
36262        Reviewed by Alexey Proskuryakov.
36263
36264        https://bugs.webkit.org/show_bug.cgi?id=23786
36265        [Chromium] line-break characters in a complex text are treated as zero-width spaces
36266
36267        This change prevents the UniscribeHelper class from treating the line-break characters
36268        as whitespaces.
36269
36270        Tests: fast/text/international/bidi-linebreak-001.html
36271               fast/text/international/bidi-linebreak-002.html
36272               fast/text/international/bidi-linebreak-003.html
36273
36274        * platform/graphics/chromium/UniscribeHelper.cpp:
36275        (WebCore::UniscribeHelper::adjustSpaceAdvances):
36276        Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in
36277        the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces,
36278        so does when Chromium renders a simple text.
36279
362802009-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
36281
36282        Reviewed by Alexey Proskuryakov.
36283
36284        Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore
36285
36286        Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString
36287        or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is
36288        unneeded.
36289
36290        It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it
36291        enables us to use some generated QualifiedName.
36292
36293        * bindings/js/JSOptionConstructor.cpp:
36294        (WebCore::constructHTMLOptionElement):
36295        * dom/Document.cpp:
36296        (WebCore::Document::setTitle):
36297        * dom/XMLTokenizer.cpp:
36298        (WebCore::createXHTMLParserErrorHeader):
36299        (WebCore::XMLTokenizer::insertErrorMessageBlock):
36300        * editing/CompositeEditCommand.cpp:
36301        (WebCore::createBlockPlaceholderElement):
36302        * editing/htmlediting.cpp:
36303        (WebCore::createTabSpanElement):
36304        * html/HTMLSelectElement.cpp:
36305        (WebCore::HTMLSelectElement::setLength):
36306        * loader/FTPDirectoryDocument.cpp:
36307        (WebCore::FTPDirectoryTokenizer::appendEntry):
36308        (WebCore::FTPDirectoryTokenizer::createTDForFilename):
36309        (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
36310        (WebCore::FTPDirectoryTokenizer::createBasicDocument):
36311        * loader/ImageDocument.cpp:
36312        (WebCore::ImageDocument::createDocumentStructure):
36313        * loader/MediaDocument.cpp:
36314        (WebCore::MediaTokenizer::createDocumentStructure):
36315        * loader/PluginDocument.cpp:
36316        (WebCore::PluginTokenizer::createDocumentStructure):
36317        * loader/TextDocument.cpp:
36318        (WebCore::TextTokenizer::write):
36319        * page/Frame.cpp:
36320        (WebCore::Frame::selectionComputedStyle):
36321        (WebCore::Frame::styleForSelectionStart):
36322        Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch.
36323
36324        * xml/XPathFunctions.cpp:
36325        (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute.
36326        * page/DragController.cpp:
36327        (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast.
36328
363292009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
36330
36331        Reviewed by Eric Seidel.
36332
36333        https://bugs.webkit.org/show_bug.cgi?id=24060
36334        Fix up to accommodate for CanvasPixelArray return.
36335
36336        * platform/graphics/skia/ImageBufferSkia.cpp:
36337        (WebCore::ImageBuffer::getImageData): Added an extra data() to call.
36338        (WebCore::ImageBuffer::putImageData): Ditto.
36339
363402009-02-20  Eric Carlson  <eric.carlson@apple.com>
36341
36342        Simon Fraser
36343
36344        https://bugs.webkit.org/show_bug.cgi?id=24042
36345        Bug 24042: MediaPlayer should cache plug-in proxy
36346
36347        The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that
36348        MediaPlayer will always have created the private media player object before
36349        the plug-in is instantiated and calls back with the proxy object. This is not
36350        true on all platforms because of threading latency, so MediaPlayer should
36351        cache the plug-in proxy so it can pass it to the media engine at a later time.
36352
36353        * platform/graphics/MediaPlayer.cpp:
36354        (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods.
36355        (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto.
36356        (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto.
36357        (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy.
36358        (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine.
36359        (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy.
36360        * platform/graphics/MediaPlayer.h: Declare m_playerProxy.
36361
363622009-02-20  Eric Carlson  <eric.carlson@apple.com>
36363
36364        Simon Fraser.
36365
36366        https://bugs.webkit.org/show_bug.cgi?id=24063
36367        Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element
36368
36369        * html/HTMLMediaElement.cpp:
36370        (WebCore::HTMLMediaElement::HTMLMediaElement):  Rename m_loadRestrictions to m_Restrictions.
36371        Initialize m_internalCall.
36372        (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load().
36373        (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out.
36374        (WebCore::HTMLMediaElement::loadInternal): New, guts of old load()
36375        (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943
36376        (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out.
36377        (WebCore::HTMLMediaElement::playInternal): New, guts of old play()
36378        (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out.
36379        (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause()
36380        (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal
36381        (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space.
36382        * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall,
36383        add RequireUserGestureRateChangeRestriction.
36384
363852009-02-20  Darin Fisher  <darin@chromium.org>
36386
36387        Fix build bustage in FileSystemWin.cpp.
36388
36389        Need to return CString() instead of 0 since there are now two CString
36390        constructors that take a pointer type.
36391
36392        * platform/win/FileSystemWin.cpp:
36393        (WebCore::openTemporaryFile):
36394
363952009-02-20  Dimitri Glazkov  <dglazkov@chromium.org>
36396
36397        Reviewed by Sam Weinig.
36398
36399        https://bugs.webkit.org/show_bug.cgi?id=23999
36400        Change license headers to accurately reflect code history.
36401
36402        * platform/ContentType.cpp:
36403        * platform/ContentType.h:
36404
364052009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
36406
36407        Reviewed by Antti Koivisto.
36408
36409        https://bugs.webkit.org/show_bug.cgi?id=23999
36410        Split off MIME type parsing into its own class.
36411
36412        * GNUmakefile.am: Added ContentType sources.
36413        * WebCore.pro: Ditto.
36414        * WebCore.scons: Ditto.
36415        * WebCore.vcproj/WebCore.vcproj: Ditto.
36416        * WebCore.xcodeproj/project.pbxproj: Ditto.
36417        * WebCoreSources.bkl: Ditto.
36418        * html/HTMLMediaElement.cpp: Changed to use ContentType.
36419        (WebCore::HTMLMediaElement::selectMediaURL):
36420        * platform/ContentType.cpp: Added.
36421        (WebCore::ContentType::ContentType):
36422        (WebCore::ContentType::parameter):
36423        (WebCore::ContentType::type):
36424        * platform/ContentType.h: Added.
36425        (WebCore::ContentType::raw):
36426        * platform/MIMETypeRegistry.cpp:
36427        * platform/MIMETypeRegistry.h:
36428        * platform/graphics/MediaPlayer.cpp:
36429        (WebCore::MediaPlayer::load):
36430        * rendering/style/ContentData.h: Renamed ContentType to StyleContentType.
36431        * rendering/style/RenderStyleConstants.h: Ditto.
36432        (WebCore::):
36433
364342009-02-20  Holger Hans Peter Freyther  <zecke@selfish.org>
36435
36436        Unreviewed build fix.
36437
36438        Use CString() instead of 0.
36439
36440        * platform/gtk/FileSystemGtk.cpp:
36441        (WebCore::openTemporaryFile):
36442        * platform/qt/FileSystemQt.cpp:
36443        (WebCore::openTemporaryFile):
36444
364452009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
36446
36447        Reviewed by Holger Freyther.
36448
36449        When dealing with local files, use a path instead of an URI. GFile
36450        has problems decoding URIs with percent signs on them.
36451
36452        * platform/network/soup/ResourceHandleSoup.cpp:
36453        (WebCore::ResourceHandle::startGio):
36454
364552009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
36456
36457        Reviewed by Holger Freyther.
36458
36459        Protect the ResourceHandle instance from being destroyed by
36460        didReceiveData inside the GIO readCallback call, so that
36461        cancelling caused by scripts is handled correctly.
36462
36463        * platform/network/soup/ResourceHandleSoup.cpp:
36464        (WebCore::readCallback):
36465
364662009-02-20  David Kilzer  <ddkilzer@apple.com>
36467
36468        Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors
36469
36470        Reviewed by Sam Weinig.
36471
36472        * loader/icon/IconDatabaseNone.cpp:
36473        (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL().
36474        (WebCore::IconDatabase::open): Commented out unused parameter.
36475        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto.
36476        (WebCore::IconDatabase::iconForPageURL): Ditto.
36477        (WebCore::IconDatabase::iconURLForPageURL): Ditto.
36478        (WebCore::IconDatabase::defaultIcon): Ditto.
36479        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
36480        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
36481        (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
36482        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
36483        (WebCore::IconDatabase::setEnabled): Ditto.
36484        (WebCore::IconDatabase::pageURLMappingCount): Added stub.
36485        (WebCore::IconDatabase::retainedPageURLCount): Ditto.
36486        (WebCore::IconDatabase::iconRecordCount): Ditto.
36487        (WebCore::IconDatabase::iconRecordCountWithData): Ditto.
36488
364892009-02-20  David Kilzer  <ddkilzer@apple.com>
36490
36491        Add comment to generated code when shadowing a built-in object
36492
36493        Reviewed by Sam Weinig.
36494
36495        * bindings/scripts/CodeGeneratorJS.pm: Added comment to
36496        generated code output.
36497
364982009-02-20  Avi Drissman  <avi@chromium.org>
36499
36500        Reviewed by Eric Seidel.
36501
36502        https://bugs.webkit.org/show_bug.cgi?id=24036
36503        Keyboard events need disambiguation on the Linux platform too.
36504
36505        * platform/chromium/PlatformKeyboardEventChromium.cpp:
36506        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
36507
365082009-02-19  Darin Fisher  <darin@chromium.org>
36509
36510        Reviewed by Eric Seidel.
36511
36512        https://bugs.webkit.org/show_bug.cgi?id=24046
36513
36514        Several improvements to CString:
36515        1- Make it possible to initialize a CString from a CStringBuffer
36516        2- Make it possible to get a CStringBuffer from a CString
36517        3- Change CStringBuffer::data() to return a const pointer to ward off mutation
36518        4- Remove unused releaseBuffer() methods.
36519        5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString.
36520
36521        * platform/text/CString.cpp:
36522        (WebCore::CString::init):
36523        (WebCore::CString::mutableData):
36524        (WebCore::CString::newUninitialized):
36525        (WebCore::CString::copyBufferIfNeeded):
36526        * platform/text/CString.h:
36527        (WebCore::CStringBuffer::data):
36528        (WebCore::CStringBuffer::length):
36529        (WebCore::CStringBuffer::create):
36530        (WebCore::CStringBuffer::mutableData):
36531        (WebCore::CString::CString):
36532        (WebCore::CString::buffer):
36533
365342009-02-19  Dmitry Titov  <dimich@chromium.org>
36535
36536        Reviewed by Alexey Proskuryakov.
36537
36538        https://bugs.webkit.org/show_bug.cgi?id=24017
36539        Remove some usage of Document in Worker.
36540
36541        * dom/WorkerContext.h:
36542        (WebCore::WorkerContext::userAgent):
36543        * dom/Document.cpp:
36544        (WebCore::Document::userAgent):
36545        * dom/Document.h:
36546        * dom/ScriptExecutionContext.h:
36547        Added virtual ScriptExecutionContext::userAgent(const KURL&).
36548        Document implementation uses FrameLoader::userAgent and
36549        WorkerContext receives the string on creation and stores it in a member.
36550
36551        * dom/Worker.cpp:
36552        (WebCore::Worker::Worker):
36553        (WebCore::Worker::notifyFinished):
36554        * dom/Worker.h:
36555        (WebCore::Worker::create):
36556        Instead of Document the Worker constructor now gets a ScriptExecutionContext.
36557        Start using some methods on SEC (like completeURL() and userAgent()).
36558        For others, explicitly case to Document and add a FIXME.
36559        Remove Worker::document() too.
36560
365612009-02-20  Gustavo Noronha Silva  <gns@gnome.org>
36562
36563        Rubber-stamped by Holger Freyther.
36564
36565        Do not set httpStatus to SOUP_STATUS_OK when serving local files
36566        to match other ports' behavior, fixing xmlhttprequest test
36567        regressions.
36568
36569        * platform/network/soup/ResourceHandleSoup.cpp:
36570        (WebCore::queryInfoCallback):
36571
365722009-02-19  Dan Bernstein  <mitz@apple.com>
36573
36574        Reviewed by Sam Weinig.
36575
36576        - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
36577          Do not send loader callbacks during CSS styling
36578
36579        Undo the iChat-specific quirk added in
36580        <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory
36581        cache client callbacks during attach() and recalcStyle().
36582
36583        * WebCore.base.exp: Removed
36584        Settings::setNeedsIChatMemoryCacheCallsQuirk().
36585        * dom/ContainerNode.cpp:
36586        (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory
36587        cache client callbacks and remember to enable them afterwards if needed.
36588        (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory
36589        cache client callbacks if they were disabled in
36590        suspendPostAttachCallbacks().
36591        (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and
36592        resumePostAttachCallbacks().
36593        * dom/ContainerNode.h: Made suspendPostAttachCallbacks()
36594        and resumePostAttachCallbacks() non-static.
36595        * dom/Document.cpp:
36596        (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific
36597        workaround.
36598        * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and
36599        related code.
36600        (WebCore::Settings::Settings):
36601        * page/Settings.h:
36602
366032009-02-19  Holger Hans Peter Freyther  <zecke@selfish.org>
36604
36605        Unreviewed build fix.
36606
36607        Build fix after r41092. Make the memoryUsage method
36608        public. It will be shadowed by cf/mac and for curl/soup/qt
36609        the implementation from ResourceResponseBase will be used.
36610
36611        * platform/network/ResourceResponseBase.h:
36612        (WebCore::ResourceResponseBase::memoryUsage):
36613
366142009-02-19  Beth Dakin  <bdakin@apple.com>
36615
36616        Reviewed by Dave Hyatt.
36617
36618        Fix for <rdar://problem/6077775> Should be able to specify
36619        inactive ::selection color
36620
36621        This patch makes the ::selction pseudo-element work with
36622        the :window-inactive pseudo type. This was, a user can specify a
36623        different ::selection style when a window is inactive.
36624
36625        * css/CSSStyleSelector.cpp:
36626        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
36627        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
36628        * rendering/RenderObject.cpp:
36629        (WebCore::RenderObject::selectionBackgroundColor):
36630        (WebCore::RenderObject::selectionForegroundColor):
36631
366322009-02-19  Sam Weinig  <sam@webkit.org>
36633
36634        Reviewed by Beth Dakin.
36635
36636        Patch for https://bugs.webkit.org/show_bug.cgi?id=24044
36637        Update querySelector/querySelectorAll to match the latest spec
36638
36639        Update querySelector and querySelectorAll to match the latest version
36640        of the Selectors API spec.  We now stringify null and undefined to "null"
36641        and "undefined" respectively instead of to "".
36642
36643        Test: fast/dom/SelectorAPI/undefined-null-stringify.html
36644
36645        * dom/Document.idl:
36646        * dom/DocumentFragment.idl:
36647        * dom/Element.idl:
36648
366492009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
36650
36651        Reviewed by Geoffrey Garen.
36652
36653        https://bugs.webkit.org/show_bug.cgi?id=23732
36654        Rework CachedResource overhead accounting to allow platforms to diverge
36655        in numbers.
36656
36657        * loader/CachedResource.cpp:
36658        (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse
36659        for its size and to use actual URL size.
36660        * platform/network/ResourceResponseBase.h:
36661        (WebCore::ResourceResponseBase::size): Added default size method.
36662        * platform/network/cf/ResourceResponse.h:
36663        (WebCore::ResourceResponse::size): Added Win/CF size method
36664        * platform/network/mac/ResourceResponse.h:
36665        (WebCore::ResourceResponse::size): Added Mac size method.
36666
366672009-02-19  Anders Carlsson  <andersca@apple.com>
36668
36669        Reviewed by Kevin Decker.
36670
36671        - Fix for <rdar://problem/6604968>
36672
36673        On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
36674        after the call to -[NSView displayRectIgnoringOpacity:inContext:].
36675
36676        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
36677        (WebCore::MediaPlayerPrivate::paint):
36678
366792009-02-19  David Hyatt  <hyatt@apple.com>
36680
36681        Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
36682        also consider reflections to be part of their visual overflow.  This had already been done for blocks
36683        and lines, but it wasn't being done yet for replaced elements.
36684
36685        Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
36686        transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
36687        layer it pushed until we're done painting the real object (rather than the reflection).
36688
36689        Reviewed by Dan Bernstein
36690
36691        Added fast/reflections/reflection-masks-opacity.html
36692
36693        * rendering/RenderLayer.cpp:
36694        (WebCore::RenderLayer::paintLayer):
36695        * rendering/RenderPartObject.cpp:
36696        (WebCore::RenderPartObject::layout):
36697        * rendering/RenderReplaced.cpp:
36698        (WebCore::RenderReplaced::layout):
36699        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect):
36700        * rendering/RenderReplaced.h:
36701
367022009-02-19  David Levin  <levin@chromium.org>
36703
36704        Reviewed by Alexey Proskuryakov.
36705
36706        Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode.
36707        <https://bugs.webkit.org/show_bug.cgi?id=23980>
36708
36709        WorkerRunLoop has the ability to run in a mode which filters the tasks to be run.
36710        * When WorkerRunLoop::runInMode is called, only task for that mode will run.
36711        * When WorkerRunLoop::run is called (or the default mode is used), then all tasks
36712          will run regardless of their posted mode.
36713
36714        Here's a demonstration of the api:
36715
36716            RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop);
36717
36718            //  Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode")
36719            //  for any tasks that need to be run during this loop.
36720            nameResolution->setTaskMode("MyCoolMode");
36721
36722            nameResolution->start();
36723            while (!nameResolution->done()) {
36724                // Only tasks which are posted for "MyCoolMode" will run.
36725                workerRunLoop.runInMode(context, "MyCoolMode");
36726            }
36727
36728        No observable change in behavior, so no test.
36729
36730        * dom/WorkerRunLoop.cpp:
36731        (WebCore::ModePredicate::ModePredicate):
36732        (WebCore::ModePredicate::operator()):
36733        (WebCore::WorkerRunLoop::WorkerRunLoop):
36734        (WebCore::WorkerRunLoop::~WorkerRunLoop):
36735        (WebCore::WorkerRunLoop::setSharedTimer):
36736        (WebCore::WorkerRunLoop::resetSharedTimer):
36737        (WebCore::WorkerRunLoop::run):
36738        (WebCore::WorkerRunLoop::runInMode):
36739        (WebCore::WorkerRunLoop::postTask):
36740        (WebCore::WorkerRunLoop::postTaskForMode):
36741        * dom/WorkerRunLoop.h:
36742        (WebCore::WorkerRunLoop::Task::create):
36743        (WebCore::WorkerRunLoop::Task::mode):
36744        (WebCore::WorkerRunLoop::Task::performTask):
36745        (WebCore::WorkerRunLoop::Task::Task):
36746
367472009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
36748
36749        Reviewed by Eric Seidel.
36750
36751        https://bugs.webkit.org/show_bug.cgi?id=24034
36752        Fix up Selection->VisibleSelection change.
36753
36754        * page/chromium/EventHandlerChromium.cpp:
36755        (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection
36756        to VisibleSelection.
36757
367582009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
36759
36760        Reviewed by Eric Seidel.
36761
36762        https://bugs.webkit.org/show_bug.cgi?id=24041
36763        Correct Skia type conversion issues, fix Chromium Linux build.
36764
36765        * platform/graphics/chromium/FontLinux.cpp:
36766        (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color.
36767
367682009-02-19  Jungshik Shin <jshin@chromium.org>
36769
36770        Reviewed by Eric Seidel.
36771
36772        https://bugs.webkit.org/show_bug.cgi?id=20531
36773        Chromium-part follow-up to the patch landed in r40636
36774        for bug 20531.
36775        Remove a static member function alternateFamilyName
36776        from Chromium's Win/Linux ports of FontCache. In r40636,
36777        alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS).
36778        So, there's no more need for the static member function per
36779        platform.
36780
36781        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
36782        * platform/graphics/chromium/FontCacheLinux.cpp:
36783
367842009-02-19  Simon Fraser  <simon.fraser@apple.com>
36785
36786        Reviewed by Adele Peterson.
36787
36788        Call documentWillBecomeInactive() from Document::detach to ensure that
36789        media elements are shut down, because they may be kept alive by references
36790        from JS past document teardown.
36791
36792        documentWillBecomeInactive() calls  renderView()->willMoveOffscreen(), so no
36793        need to do that in detach() as well.
36794
36795        We no longer need to call documentWillBecomeInactive() from ~Page() (which
36796        was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this
36797        supersedes that change.
36798
36799        * dom/Document.cpp:
36800        (WebCore::Document::detach):
36801        * page/Page.cpp:
36802        (WebCore::Page::~Page):
36803
368042009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>
36805
36806        Reviewed by Eric Seidel.
36807
36808        https://bugs.webkit.org/show_bug.cgi?id=24028
36809        Fix up Skia path changes.
36810
36811        * platform/graphics/skia/GraphicsContextSkia.cpp:
36812        (WebCore::GraphicsContext::strokePath): Removed illegal indirection.
36813        * platform/graphics/skia/PathSkia.cpp:
36814        (WebCore::boundingBoxForCurrentStroke): Changed call name.
36815
368162009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
36817
36818        Reviewed by Alexey Proskuryakov.
36819
36820        Ignore ports on local URLs. This fixes a regression in
36821        fast/loader/file-URL-with-port-number.html
36822
36823        * platform/network/soup/ResourceHandleSoup.cpp:
36824        (WebCore::ResourceHandle::startGio):
36825
368262009-02-19  Gustavo Noronha Silva  <gns@gnome.org>
36827
36828        Reviewed by Alexey Proskuryakov.
36829
36830        https://bugs.webkit.org/show_bug.cgi?id=24011
36831        KURL's setPort doesn't unset port if 0 is given
36832
36833        Make setPort remove port if 0 is given to it, as promised by the
36834        comment in KURL's header.
36835
36836        * platform/KURL.cpp:
36837        (WebCore::KURL::setPort):
36838
368392009-02-18  Dan Bernstein  <mitz@apple.com>
36840
36841        Reviewed by Brady Eidson.
36842
36843        - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
36844
36845        The crash results from re-entry into
36846        CSSMutableStyleDeclaration::setCssText, which in turn is caused by
36847        the first style change causing a cached image to load from the memory
36848        cache, causing load delegate dispatch, and iChat's delegate method
36849        calling back into WebKit.
36850
36851        The workaround is to use defer delegate callbacks for memory cache. In
36852        this case, deferring callbacks during image load event dispatch was
36853        found to be sufficient.
36854
36855        The crash is a regression. See also the discussion in
36856        <https://bugs.webkit.org/show_bug.cgi?id=22521>.
36857
36858        * WebCore.base.exp: Added
36859        Settings::setNeedsIChatMemoryCacheCallsQuirk().
36860        * dom/Document.cpp:
36861        (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is
36862        enabled, defer memory cache callbacks during image load event dispatch.
36863        * page/Settings.cpp:
36864        (WebCore::Settings::Settings): Initialize
36865        m_needsIChatMemoryCacheCallsQuirk.
36866        (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this
36867        setter.
36868        * page/Settings.h:
36869        (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter.
36870
368712009-02-18  Adam Roben  <aroben@apple.com>
36872
36873        Export WebCore::handCursor and Cursor.h
36874
36875        Reviewed by John Sullivan.
36876
36877        * WebCore.base.exp: Added WebCore::handCursor.
36878        * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private.
36879
368802009-02-18  Ojan Vafai  <ojan@chromium.org>
36881
36882        Reviewed by Alexey Proskuryakov.
36883
36884        https://bugs.webkit.org/show_bug.cgi?id=23992
36885        REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do
36886
36887        Unable to reduce to a layout test.
36888
36889        * page/Frame.cpp:
36890        (WebCore::Frame::contentRenderer):
36891
368922009-02-18  Evan Stade  <estade@chromium.org>
36893
36894        Reviewed by Eric Seidel.
36895
36896        https://bugs.webkit.org/show_bug.cgi?id=23861
36897        Stroke font outlines on chromium linux
36898
36899        TEST=LayoutTests/svg/custom/pointer-events-text.svg
36900
36901        * platform/graphics/chromium/FontLinux.cpp:
36902        (WebCore::Font::drawGlyphs):
36903
369042009-02-18  Evan Stade  <estade@chromium.org>
36905
36906        Reviewed by Eric Seidel.
36907
36908        https://bugs.webkit.org/show_bug.cgi?id=23860
36909        Resync some graphics/skia files with their chromium counterparts
36910
36911        This comes from chromium patches <http://codereview.chromium.org/17633>
36912        and <http://codereview.chromium.org/17454>
36913
36914        * platform/graphics/skia/GraphicsContextSkia.cpp:
36915        (WebCore::GraphicsContext::clipPath):
36916        (WebCore::GraphicsContext::fillPath):
36917        * platform/graphics/skia/PlatformContextSkia.cpp:
36918        (PlatformContextSkia::addPath):
36919        (PlatformContextSkia::currentPath):
36920        * platform/graphics/skia/PlatformContextSkia.h:
36921
369222009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
36923
36924        Unreviewed.
36925
36926        Build fix after r41060.
36927
36928        * GNUmakefile.am:
36929
369302009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>
36931
36932        Reviewed by Eric Seidel.
36933
36934        https://bugs.webkit.org/show_bug.cgi?id=24005
36935        Add an include to fix Chromium build.
36936
36937        * page/animation/AnimationController.cpp: Add UnusedParam.h include.
36938
369392009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
36940
36941        Reviewed by Holger Freyther.
36942
36943        Fix symbols.filter location, and add other missing files to the
36944        autotools build, so that make dist works.
36945
36946        * GNUmakefile.am:
36947
369482009-02-18  Zan Dobersek  <zandobersek@gmail.com>
36949
36950        Rubber-stamped by Holger Hans Peter Freyther.
36951
36952        Allow POST method for local requests.
36953
36954        * platform/network/soup/ResourceHandleSoup.cpp:
36955        (WebCore::ResourceHandle::startGio):
36956
369572009-02-18  Gustavo Noronha Silva  <gns@gnome.org>
36958
36959        Reviewed by Holger Hans Peter Freyther.
36960
36961        Use KURL in startGio instead of passing a string with the URL, so
36962        that we can handle removing refs and queries more elegantly. This
36963        is fixing more regressions that came from the curl->soup switch.
36964
36965        Original work by Zan Dobersek.
36966
36967        * platform/network/ResourceHandle.h:
36968        * platform/network/soup/ResourceHandleSoup.cpp:
36969        (WebCore::ResourceHandle::start):
36970        (WebCore::ResourceHandle::startGio):
36971
369722009-02-18  Holger Hans Peter Freyther  <zecke@selfish.org>
36973
36974        Reviewed by Alexey Proskuryakov.
36975
36976        Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp
36977
36978        The implementation is needed to have synchronous loading, e.g. for
36979        JavaScript interaction. This is fixing various regressions that
36980        came from the curl->soup switch.
36981
36982        * platform/network/soup/ResourceHandleSoup.cpp:
36983        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
36984        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
36985        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
36986        (WebCore::WebCoreSynchronousLoader::didReceiveData):
36987        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
36988        (WebCore::WebCoreSynchronousLoader::didFail):
36989        (WebCore::WebCoreSynchronousLoader::run):
36990        (WebCore::ResourceHandle::loadResourceSynchronously):
36991
369922009-02-18  Xan Lopez  <xan@gnome.org>
36993
36994        Reviewed by Mark Rowe.
36995
36996        https://bugs.webkit.org/show_bug.cgi?id=23989
36997
36998        Based on a patch by Bo Yang  <techrazy.yang@gmail.com>
36999
37000        Make the cursor cache global, that's all we really need and
37001        otherwise we can miss cursor transitions in some situations (see
37002        the bug for one testcase). Also remove some now useless code.
37003
37004        * platform/Widget.h:
37005        * platform/gtk/WidgetGtk.cpp:
37006        (WebCore::Widget::Widget):
37007        (WebCore::Widget::~Widget):
37008        (WebCore::Widget::setCursor):
37009
370102009-02-17  Adam Roben  <aroben@apple.com>
37011
37012        Windows build fix
37013
37014        * loader/FrameLoader.cpp:
37015        (WebCore::toPlugInElement): Don't rely on #if being processed before
37016        ASSERT.
37017
370182009-02-17  David Levin  <levin@chromium.org>
37019
37020        Reviewed by Alexey Proskuryakov.
37021
37022        Bug 23977: Unnecessary timer related headers in files.
37023        <https://bugs.webkit.org/show_bug.cgi?id=23977>
37024
37025        No observable change in behavior, so no test.
37026
37027        * dom/Document.cpp:
37028        * dom/WorkerRunLoop.cpp:
37029        * dom/WorkerRunLoop.h:
37030
370312009-02-17  Peter Abrahamsen  <rainhead@gmail.com>
37032
37033        Reviewed by Sam Weinig.
37034
37035        https://bugs.webkit.org/show_bug.cgi?id=23958
37036        <rdar://problem/6587815>
37037
37038        Updated XMLHttpRequest with new header names from the latest Access
37039        Control draft: http://www.w3.org/TR/access-control/
37040        - Access-Control-Origin becomes Access-Control-Allow-Origin
37041        - Access-Control-Credentials becomes Access-Control-Allow-Credentials
37042
37043        * xml/XMLHttpRequest.cpp:
37044        (WebCore::XMLHttpRequest::accessControlCheck):
37045
370462009-02-17  Kevin Ollivier  <kevino@theolliviers.com>
37047
37048        wx build fix. Add missing constructor used for empty values.
37049
37050        * platform/graphics/wx/FontPlatformData.h:
37051        (WebCore::FontPlatformData::FontPlatformData):
37052
370532009-02-17  Antti Koivisto  <antti@apple.com>
37054
37055        Reviewed by Dave Kilzer.
37056
37057        <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated
37058
37059        Need update after callback.
37060
37061        * bindings/js/JSCustomPositionCallback.cpp:
37062        (WebCore::JSCustomPositionCallback::handleEvent):
37063        * bindings/js/JSCustomPositionErrorCallback.cpp:
37064        (WebCore::JSCustomPositionErrorCallback::handleEvent):
37065
370662009-02-17  Eric Carlson  <eric.carlson@apple.com>
37067
37068        Reviewed by Antti Koivisto.
37069
37070        https://bugs.webkit.org/show_bug.cgi?id=23917
37071        Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
37072        element.
37073
37074        * DerivedSources.make: add media element proxy exports to .exp file when feature is defined.
37075
37076        * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy.
37077
37078        * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h.
37079
37080        * html/HTMLMediaElement.cpp:
37081        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate.
37082        (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the
37083        proxy plug-in handles the poster frame.
37084        (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO.
37085        (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO.
37086        (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO
37087        (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the
37088        same plug-in for the life of the element.
37089        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player
37090        network state changes to EMPTY, otherwise we can get out of sync with engine.
37091        (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO
37092        (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to
37093        media player.
37094        (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player.
37095        (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate
37096        <source> element to be used as the initial url for the proxy.
37097        (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget.
37098        * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate.
37099        (WebCore::HTMLMediaElement::setNeedWidgetUpdate):
37100
37101        * html/HTMLVideoElement.cpp:
37102        (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO.
37103        (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
37104        * html/HTMLVideoElement.h:
37105
37106        * loader/FrameLoader.cpp:
37107        (WebCore::toPlugInElement): Allow cast if element is <video> or <audio>
37108
37109        * platform/graphics/MediaPlayer.cpp:
37110        (WebCore::MediaPlayer::MediaPlayer): Remove white space.
37111        (WebCore::MediaPlayer::setPoster): New, forward call to private player.
37112        (WebCore::MediaPlayer::deliverNotification): Ditto.
37113        (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto.
37114        * platform/graphics/MediaPlayer.h:
37115        (WebCore::MediaPlayer::mediaPlayerClient):
37116
37117        * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface.
37118
37119        * rendering/RenderPart.cpp:
37120        (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a
37121        non-element node doesn't need a renderer
37122        * rendering/RenderPart.h: Ditto.
37123
37124        * rendering/RenderPartObject.cpp:
37125        (WebCore::RenderPartObject::RenderPartObject): Ditto.
37126        (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is
37127        <video> or <audio>.
37128        * rendering/RenderPartObject.h:
37129
371302009-02-17  David Hyatt  <hyatt@apple.com>
37131
37132        Reviewed by Eric Seidel
37133
37134        Fix for https://bugs.webkit.org/show_bug.cgi?id=23985
37135
37136        Don't allow legends to be anything but display:block.
37137
37138        Added fast/forms/inline-ignored-on-legend.html
37139
37140        * GNUmakefile.am:
37141        * WebCore.pro:
37142        * WebCore.vcproj/WebCore.vcproj:
37143        * WebCore.xcodeproj/project.pbxproj:
37144        * WebCoreSources.bkl:
37145        * css/html4.css:
37146        * html/HTMLLegendElement.cpp:
37147        * html/HTMLLegendElement.h:
37148        * rendering/RenderLegend.cpp: Removed.
37149        * rendering/RenderLegend.h: Removed.
37150        * wml/WMLInsertedLegendElement.cpp:
37151        * wml/WMLInsertedLegendElement.h:
37152
371532009-02-13  Brett Wilson  <brettw@dhcp-172-22-71-167.mtv.corp.google.com>
37154
37155        Reviewed by Simon Fraser.
37156
37157        https://bugs.webkit.org/attachment.cgi?id=27666
37158        Fix Chromium build build: forgotten include in RenderObject, sync
37159        RenderTheme to the recent changes in RenderObject.
37160
37161        * rendering/RenderObject.cpp:
37162        * rendering/RenderThemeChromiumMac.mm:
37163        (WebCore::RenderThemeChromiumMac::updatePressedState):
37164
371652009-02-17  Gustavo Noronha Silva  <gns@gnome.org>
37166
37167        Reviewed by Darin Adler.
37168
37169        https://bugs.webkit.org/show_bug.cgi?id=22966
37170        crash when destroying a webview that opened a page containing <script>
37171        tags
37172
37173        Fix m_group being set to 0 instead of to m_singlePageGroup when
37174        GroupName is set to empty
37175
37176        * page/Page.cpp:
37177        (WebCore::Page::setGroupName):
37178
371792009-02-16  Beth Dakin  <bdakin@apple.com>
37180
37181        Reviewed by Sam Weinig.
37182
37183        Fix for <rdar://problem/6386623>
37184
37185        I made m_numParsedProperties and m_maxParsedProperties unsigned
37186        instead of int, and then added an early return from addPropery() if
37187        m_maxParsedProperties exceeds the max value.
37188
37189        * css/CSSParser.cpp:
37190        (WebCore::CSSParser::addProperty):
37191        (WebCore::CSSParser::rollbackLastProperties):
37192        (WebCore::CSSParser::clearProperties):
37193        (WebCore::CSSParser::createFontFaceRule):
37194        (WebCore::CSSParser::deleteFontFaceOnlyValues):
37195        * css/CSSParser.h:
37196
371972009-02-16  Justin Garcia  <justin.garcia@apple.com>
37198
37199        Reviewed by Mark Rowe.
37200
37201        https://bugs.webkit.org/show_bug.cgi?id=16309
37202        HTML5: The third execCommand argument for insert{un}orderedlist should be ignored
37203
37204        When we originally implemented this command, MSDN documentation said that IE set the
37205        id attribute of inserted lists to the third argument to execCommand, but IE doesn't
37206        do this nor do any other browsers.
37207
37208        * editing/EditorCommand.cpp:
37209        (WebCore::executeInsertOrderedList):
37210        (WebCore::executeInsertUnorderedList):
37211        * editing/IndentOutdentCommand.cpp:
37212        (WebCore::IndentOutdentCommand::outdentParagraph):
37213        * editing/InsertListCommand.cpp:
37214        (WebCore::InsertListCommand::insertList):
37215        (WebCore::InsertListCommand::InsertListCommand):
37216        (WebCore::InsertListCommand::doApply):
37217        * editing/InsertListCommand.h:
37218        (WebCore::InsertListCommand::create):
37219
372202009-02-16  Dan Bernstein  <mitz@apple.com>
37221
37222        Reviewed by Geoffrey Garen.
37223
37224        - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse
37225
37226        Test: platform/mac/fast/events/pointer-events-dashboard.html
37227
37228        * css/CSSStyleSelector.cpp:
37229        (WebCore::CSSStyleSelector::applyProperty): Do not apply the
37230        pointer-events property in Dashboard backwards compatibility mode,
37231        in order to work around misuse of that property by the Stocks widget.
37232
372332009-02-16  Justin Garcia  <justin.garcia@apple.com>
37234
37235        Reviewed by Eric Seidel.
37236
37237        https://bugs.webkit.org/show_bug.cgi?id=15381
37238        execCommand justify modifies the contentEditable node
37239
37240        * editing/CompositeEditCommand.cpp:
37241        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just
37242        the body element, but any root editable element.
37243
372442009-02-16  Chris Fleizach  <cfleizach@apple.com>
37245
37246        Reviewed by Adele Peterson.
37247
37248        Bug 23979: AX: alt tag not returned for <input type="image">
37249        https://bugs.webkit.org/show_bug.cgi?id=23979
37250
37251        Test: accessibility/input-image-alt.html
37252
37253        * page/AccessibilityRenderObject.cpp:
37254        (WebCore::AccessibilityRenderObject::accessibilityDescription):
37255
372562009-02-16  Kevin Watters  <kevinwatters@gmail.com>
37257
37258        Reviewed by Kevin Ollivier.
37259
37260        The ref data is not properly set unless we use the CreateMatrix function.
37261
37262        https://bugs.webkit.org/show_bug.cgi?id=23978
37263
37264        * platform/graphics/wx/TransformationMatrixWx.cpp:
37265        (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
37266
372672009-02-16  Dan Bernstein  <mitz@apple.com>
37268
37269        Reviewed by John Sullivan.
37270
37271        - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont
37272
37273        * platform/graphics/FontCache.cpp:
37274        (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the
37275        FontPlatformData(float, bool, bool) constructor.
37276        * platform/graphics/mac/FontCacheMac.mm:
37277        (WebCore::FontCache::createFontPlatformData): Changed to pass a valid
37278        NSFont to the FontPlatformData constructor, instead of implicitly
37279        passing 0 and then calling setFont().
37280        * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter
37281        of the constructor mandatory.
37282
372832009-02-15  David Kilzer  <ddkilzer@apple.com>
37284
37285        Move duplicate caretWidth constants to RenderObject.h
37286
37287        Reviewed by Dan Bernstein.
37288
37289        No test since no change in behavior.
37290
37291        * rendering/RenderBlock.cpp:
37292        (WebCore::RenderBlock::localCaretRect): Removed caretWidth.
37293        * rendering/RenderBox.cpp:
37294        (WebCore::RenderBox::localCaretRect): Ditto.
37295        * rendering/RenderObject.h: Added caretWidth definition.
37296        * rendering/RenderText.cpp:
37297        (WebCore::RenderText::localCaretRect): Removed caretWidth.
37298
372992009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
37300
37301        Reviewed by Eric Seidel.
37302
37303        https://bugs.webkit.org/show_bug.cgi?id=23955
37304        V8HTMLPlugInCustom returns undefined, which fools interceptors.
37305
37306        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
37307        (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value.
37308        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
37309        (WebCore::INDEXED_PROPERTY_GETTER): Ditto.
37310        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
37311
373122009-02-13  Dimitri Glazkov  <dglazkov@chromium.org>
37313
37314        Reviewed by Eric Seidel.
37315
37316        https://bugs.webkit.org/show_bug.cgi?id=23954
37317        Add V8 custom bindings for CanvasRenderingContext2D.
37318
37319        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added.
37320        (WebCore::toV8):
37321        (WebCore::toCanvasStyle):
37322        (WebCore::ACCESSOR_GETTER):
37323        (WebCore::ACCESSOR_SETTER):
37324
373252009-02-13  Anders Carlsson  <andersca@apple.com>
37326
37327        Reviewed by Darin Adler and Dan Bernstein.
37328
37329        <rdar://problem/6583187>
37330
37331        * page/NavigatorBase.cpp:
37332        Handle PPC64 and X86_64 as well.
37333
373342009-02-13  Darin Adler  <darin@apple.com>
37335
37336        Reviewed by Mark Rowe.
37337
37338        Fix broken tokenizer regression test that reflected a lifetime bug
37339        in the document.write optimization. The test failure was trivial to
37340        reproduce in COLLECT_ON_EVERY_ALLOCATION mode.
37341
37342        * bindings/js/JSHTMLDocumentCustom.cpp:
37343        (WebCore::documentWrite): Convert strings to String rather than passing
37344        the pointer and length to SegmentedString. The optimization is thus
37345        mostly gone. However, there are two ways to bring it back: 1) Apply
37346        the patch that makes UString and String share the same buffers.
37347        2) Add a UString feature to SegmentedString; simple to do but might
37348        risk slowing down normal document parsing.
37349
373502009-02-13  Adam Treat  <adam.treat@torchmobile.com>
37351
37352        Caught by Darin Adler.
37353
37354        No reason to check m_tokenizer twice for 0 in a row.
37355
37356        * dom/Document.cpp:
37357        (WebCore::Document::write):
37358
373592009-02-13  Lyon Chen  <lyon.chen@torchmobile.com>
37360
37361        Reviewed by Dave Hyatt.
37362
37363        Take into account y() + height() when calculating getLowerRightCorner.
37364
37365        * dom/ContainerNode.cpp:
37366        (WebCore::ContainerNode::getLowerRightCorner):
37367
373682009-02-13  Antti Koivisto  <antti@apple.com>
37369
37370        Reviewed by Dave Hyatt.
37371
37372        Most of this code was in RenderBox, restore the copyright lines.
37373
37374        * rendering/RenderBoxModelObject.cpp:
37375        * rendering/RenderBoxModelObject.h:
37376
373772009-02-13  David Hyatt  <hyatt@apple.com>
37378
37379        Get rid of printBoxDecorations, since it is dead code.
37380
37381        Reviewed by Dan Bernstein
37382
37383        * rendering/RenderObject.h:
37384
373852009-02-13  Adam Treat  <adam.treat@torchmobile.com>
37386
37387        Reviewed by Darin Adler.
37388
37389        https://bugs.webkit.org/show_bug.cgi?id=23952
37390        Add Document::write overload which takes a SegmentedString since this
37391        is what the tokenizer expects anyway.  Modified JSHTMLDocument so it once
37392        again calls Document::write instead of injecting the string directly into
37393        the tokenizer.  This ensures that all document.write's are funneled through
37394        one method again, but should still be just as fast for JSHTMLDocumentCustom.
37395
37396        * bindings/js/JSHTMLDocumentCustom.cpp:
37397        (WebCore::documentWrite):
37398        * dom/Document.cpp:
37399        (WebCore::Document::write):
37400        * dom/Document.h:
37401
374022009-02-13  David Hyatt  <hyatt@apple.com>
37403
37404        Reviewed by Simon Fraser
37405
37406        Remove updateWidgetPosition on RenderObject.  Change RenderView's set of widgets
37407        to have a tighter type: RenderWidget instead of RenderObject.  Devirtualize
37408        updateWidgetPosition, since all RenderWidgets (except for applets) are now
37409        RenderParts also.
37410
37411        * rendering/RenderObject.cpp:
37412        * rendering/RenderObject.h:
37413        * rendering/RenderPart.cpp:
37414        * rendering/RenderPart.h:
37415        * rendering/RenderView.cpp:
37416        (WebCore::RenderView::updateWidgetPositions):
37417        (WebCore::RenderView::addWidget):
37418        (WebCore::RenderView::removeWidget):
37419        * rendering/RenderView.h:
37420        * rendering/RenderWidget.cpp:
37421        (WebCore::RenderWidget::updateWidgetPosition):
37422        * rendering/RenderWidget.h:
37423
374242009-02-13  David Hyatt  <hyatt@apple.com>
37425
37426        Reviewed by Eric Seidel
37427
37428        Remove isEditable() on RenderObject.  It is dead code.
37429
37430        * rendering/RenderObject.cpp:
37431        * rendering/RenderObject.h:
37432
374332009-02-13  David Hyatt  <hyatt@apple.com>
37434
37435        Reviewed by Eric Seidel
37436
37437        Add isTextControl() to RenderObject.  Patch call sites thats asked isTextField() || isTextArea() to just use
37438        isTextControl() instead.
37439
37440        Add a toRenderTextControl converter for doing checked casting to RenderTextControls.
37441
37442        * dom/Document.cpp:
37443        (WebCore::Document::setFocusedNode):
37444        * dom/InputElement.cpp:
37445        (WebCore::InputElement::updateSelectionRange):
37446        * editing/ReplaceSelectionCommand.cpp:
37447        (WebCore::ReplacementFragment::ReplacementFragment):
37448        * editing/TextIterator.cpp:
37449        (WebCore::TextIterator::handleReplacedElement):
37450        * html/HTMLInputElement.cpp:
37451        (WebCore::HTMLInputElement::selectionStart):
37452        (WebCore::HTMLInputElement::selectionEnd):
37453        (WebCore::HTMLInputElement::setSelectionStart):
37454        (WebCore::HTMLInputElement::setSelectionEnd):
37455        (WebCore::HTMLInputElement::select):
37456        (WebCore::HTMLInputElement::defaultEventHandler):
37457        (WebCore::HTMLInputElement::selection):
37458        * html/HTMLTextAreaElement.cpp:
37459        (WebCore::HTMLTextAreaElement::selectionStart):
37460        (WebCore::HTMLTextAreaElement::selectionEnd):
37461        (WebCore::HTMLTextAreaElement::setSelectionStart):
37462        (WebCore::HTMLTextAreaElement::setSelectionEnd):
37463        (WebCore::HTMLTextAreaElement::select):
37464        (WebCore::HTMLTextAreaElement::setSelectionRange):
37465        (WebCore::HTMLTextAreaElement::appendFormData):
37466        (WebCore::HTMLTextAreaElement::updateValue):
37467        (WebCore::HTMLTextAreaElement::selection):
37468        * page/AccessibilityRenderObject.cpp:
37469        (WebCore::AccessibilityRenderObject::isNativeTextControl):
37470        (WebCore::AccessibilityRenderObject::text):
37471        (WebCore::AccessibilityRenderObject::selectedText):
37472        (WebCore::AccessibilityRenderObject::selectedTextRange):
37473        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
37474        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
37475        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
37476        (WebCore::AccessibilityRenderObject::observableObject):
37477        * page/Frame.cpp:
37478        (WebCore::Frame::notifyRendererOfSelectionChange):
37479        * rendering/RenderObject.h:
37480        (WebCore::RenderObject::isTextControl):
37481        (WebCore::objectIsRelayoutBoundary):
37482        * rendering/RenderTextControl.h:
37483        (WebCore::RenderTextControl::isTextControl):
37484        (WebCore::toRenderTextControl):
37485        * rendering/TextControlInnerElements.cpp:
37486        (WebCore::TextControlInnerTextElement::defaultEventHandler):
37487        * wml/WMLInputElement.cpp:
37488        (WebCore::WMLInputElement::select):
37489        (WebCore::WMLInputElement::defaultEventHandler):
37490        (WebCore::WMLInputElement::isConformedToInputMask):
37491
374922009-02-13  David Hyatt  <hyatt@apple.com>
37493
37494        Get rid of isEdited/setEdited on RenderObject.  Devirtualize isEdited/setEdited on RenderTextControl.
37495        Callers were already asking if the renderer was a text field (or a text area), so it was especially
37496        pointless to waste a second virtual function call after making one just to determine the object type.
37497
37498        Reviewed by Simon Fraser
37499
37500        * dom/Document.cpp:
37501        (WebCore::Document::setFocusedNode):
37502        * html/HTMLInputElement.cpp:
37503        (WebCore::HTMLInputElement::defaultEventHandler):
37504        * rendering/RenderObject.h:
37505        * rendering/RenderTextControl.h:
37506        (WebCore::RenderTextControl::isEdited):
37507        (WebCore::RenderTextControl::setEdited):
37508
375092009-02-13  Scott Violet  <sky@google.com>
37510
37511        Reviewed by Eric Seidel.
37512
37513        https://bugs.webkit.org/show_bug.cgi?id=23934
37514        Skia platform doesn't render text decoration shadows.
37515
37516        Makes Skia render text decoration shadows correctly. We weren't
37517        preparing the SkPaint correctly and didn't have a couple of checks
37518        CG has. Additionally makes the fillColor/strokeColor methods
37519        consistent.
37520
37521        This behavior is covered by existing layout tests (see bug for list).
37522
37523        * platform/graphics/chromium/FontChromiumWin.cpp:
37524        (WebCore::Font::drawGlyphs):
37525        (WebCore::Font::drawComplexText):
37526        * platform/graphics/skia/GraphicsContextSkia.cpp:
37527        (WebCore::GraphicsContext::drawLineForText):
37528        * platform/graphics/skia/PlatformContextSkia.cpp:
37529        (PlatformContextSkia::effectiveFillColor):
37530        (PlatformContextSkia::effectiveStrokeColor):
37531        * platform/graphics/skia/PlatformContextSkia.h:
37532
375332009-02-12  Darin Fisher  <darin@chromium.org>
37534
37535        Reviewed by Eric Seidel.
37536
37537        https://bugs.webkit.org/show_bug.cgi?id=23944
37538        KURLGoogle's pre-parsed canonicalSpec constructor should take a CString
37539
37540        * platform/KURL.h:
37541        * platform/KURLGoogle.cpp:
37542        (WebCore::KURLGooglePrivate::setUtf8):
37543        (WebCore::KURLGooglePrivate::setAscii):
37544        (WebCore::KURLGooglePrivate::init):
37545        (WebCore::KURLGooglePrivate::replaceComponents):
37546        (WebCore::KURL::KURL):
37547        * platform/KURLGooglePrivate.h:
37548
375492009-02-13  David Hyatt  <hyatt@apple.com>
37550
37551        Remove leftmost/rightmost/lowestPosition from RenderObject.  They only need to be called on boxes.
37552
37553        Reviewed by Dan Bernstein
37554
37555        * rendering/RenderBlock.cpp:
37556        (WebCore::RenderBlock::lowestPosition):
37557        (WebCore::RenderBlock::rightmostPosition):
37558        (WebCore::RenderBlock::leftmostPosition):
37559        * rendering/RenderLayer.cpp:
37560        (WebCore::RenderLayer::computeScrollDimensions):
37561        * rendering/RenderMedia.cpp:
37562        (WebCore::RenderMedia::lowestPosition):
37563        (WebCore::RenderMedia::rightmostPosition):
37564        (WebCore::RenderMedia::leftmostPosition):
37565        * rendering/RenderObject.h:
37566        * rendering/RenderTableSection.cpp:
37567        (WebCore::RenderTableSection::lowestPosition):
37568        (WebCore::RenderTableSection::rightmostPosition):
37569        (WebCore::RenderTableSection::leftmostPosition):
37570
375712009-02-12  Simon Fraser  <simon.fraser@apple.com>
37572
37573        Fix build with ACCELERATED_COMPOSITING turned on.
37574
37575        toRenderBox()->x() asserts for a layer on an inline; use
37576        m_owningLayer->renderBoxX() instead.
37577
37578        * rendering/RenderLayerBacking.cpp:
37579        (WebCore::RenderLayerBacking::paintIntoLayer):
37580
375812009-02-12  Darin Adler  <darin@apple.com>
37582
37583        Reviewed by Oliver Hunt.
37584
37585        Speed up document.write a bit.
37586
37587        * bindings/js/JSHTMLDocumentCustom.cpp:
37588        (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from
37589        UString to String and to avoid appending strings. Also added code to handle
37590        newlines efficiently.
37591        (WebCore::JSHTMLDocument::write): Changed to use documentWrite.
37592        (WebCore::JSHTMLDocument::writeln): Ditto.
37593
37594        * dom/Document.cpp:
37595        (WebCore::Document::prepareToWrite): Added. Refactored the initialization part
37596        of write into a separate function for use in the JavaScript binding.
37597        (WebCore::Document::write): Changed to call prepareToWrite.
37598
37599        * dom/Document.h: Added declaration for prepareToWrite.
37600
376012009-02-13  Prasanth Ullattil  <pullatti@trolltech.com>
37602
37603        Reviewed by Simon Hausmann.
37604
37605        Fixes crash in the Qt port on Windows with comboboxes
37606
37607        The focusWidget in the input context is not reset properly.
37608        The QApplication::setFocusWidget() wont reset the IC if the reason is
37609        PopupFocusReason, this is not ideal. For the time being we are going
37610        to do this from webkit itself.
37611
37612        * platform/qt/QWebPopup.cpp:
37613        (WebCore::QWebPopup::hidePopup):
37614
376152009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
37616
37617        wx build fix, typo while tweaking last patch for commit.
37618
37619        * platform/wx/wxcode/gtk/fontprops.cpp:
37620        (GetTextExtent):
37621
376222009-02-12  miggilin  <mr.diggilin@gmail.com>
37623
37624        Reviewed by Kevin Ollivier.
37625
37626        Use Cairo/PANGO to fix text measurements and implement proper
37627        non-kerned text drawing on wxGTK.
37628
37629        https://bugs.webkit.org/show_bug.cgi?id=17727
37630
37631        * platform/graphics/GlyphBuffer.h:
37632        * platform/graphics/wx/FontPlatformDataWx.cpp:
37633        (WebCore::fontWeightToWxFontWeight):
37634        * platform/graphics/wx/SimpleFontDataWx.cpp:
37635        (WebCore::SimpleFontData::platformWidthForGlyph):
37636        * platform/wx/wxcode/fontprops.h:
37637        * platform/wx/wxcode/gtk/fontprops.cpp:
37638        (wxFontProperties::wxFontProperties):
37639        (GetTextExtent):
37640        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
37641        (WebCore::pangoFontMap):
37642        (WebCore::createPangoFontForFont):
37643        (WebCore::createScaledFontForFont):
37644        (WebCore::pango_font_get_glyph):
37645        (WebCore::drawTextWithSpacing):
37646        * platform/wx/wxcode/non-kerned-drawing.h:
37647
376482009-02-12  Chris Marrin  <cmarrin@apple.com>
37649
37650        Reviewed by Simon Fraser
37651
37652        https://bugs.webkit.org/show_bug.cgi?id=23942
37653
37654        Hook up 3D CSS transforms to the accelerated compositor backend.
37655        Not enabled by default.
37656
37657        * page/animation/AnimationBase.cpp:
37658        (WebCore::blendFunc):
37659        (WebCore::ensurePropertyMap):
37660        * page/animation/CompositeAnimation.cpp:
37661        (WebCore::CompositeAnimationPrivate::updateTransitions):
37662        * page/animation/ImplicitAnimation.cpp:
37663        (WebCore::ImplicitAnimation::willNeedService):
37664        * page/animation/KeyframeAnimation.cpp:
37665        (WebCore::KeyframeAnimation::willNeedService):
37666        * platform/graphics/GraphicsLayer.cpp:
37667        (WebCore::GraphicsLayer::TransformValueList::makeFunctionList):
37668        (WebCore::GraphicsLayer::dumpProperties):
37669        * platform/graphics/mac/GraphicsLayerCA.mm:
37670        (WebCore::copyTransform):
37671        (WebCore::getValueFunctionNameForTransformOperation):
37672        (WebCore::GraphicsLayerCA::animateTransform):
37673        * rendering/RenderBox.cpp:
37674        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
37675        * rendering/RenderLayer.cpp:
37676        (WebCore::RenderLayer::updateTransform):
37677        (WebCore::RenderLayer::hasTransformStyle3D):
37678        (WebCore::RenderLayer::hasPerspective):
37679        (WebCore::RenderLayer::perspectiveTransform):
37680        * rendering/RenderLayer.h:
37681        * rendering/RenderLayerBacking.cpp:
37682        (WebCore::RenderLayerBacking::updateGraphicsLayers):
37683        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
37684        (WebCore::RenderLayerBacking::computeTransformOrigin):
37685        (WebCore::RenderLayerBacking::computePerspectiveOrigin):
37686        * rendering/RenderLayerBacking.h:
37687        * rendering/RenderLayerCompositor.cpp:
37688        (WebCore::RenderLayerCompositor::has3DContent):
37689        (WebCore::requiresCompositingLayerForTransform):
37690        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
37691        (WebCore::RenderLayerCompositor::layerHas3DContent):
37692        * rendering/RenderLayerCompositor.h:
37693
376942009-02-12  David Hyatt  <hyatt@apple.com>
37695
37696        Reviewed by Eric Seidel
37697
37698        Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned
37699        containingBlock()->availableHeight().  The latter reads better anyway.  Rename containingBlockWidth() to
37700        containingBlockWidthForContent() and move it to RenderBoxModelObject.
37701
37702        * rendering/RenderBlock.cpp:
37703        (WebCore::RenderBlock::localCaretRect):
37704        * rendering/RenderBox.cpp:
37705        (WebCore::RenderBox::containingBlockWidthForContent):
37706        (WebCore::RenderBox::calcWidth):
37707        (WebCore::RenderBox::calcReplacedWidthUsing):
37708        * rendering/RenderBox.h:
37709        * rendering/RenderBoxModelObject.cpp:
37710        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
37711        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
37712        (WebCore::RenderBoxModelObject::containingBlockWidthForContent):
37713        * rendering/RenderBoxModelObject.h:
37714        * rendering/RenderInline.cpp:
37715        (WebCore::RenderInline::marginLeft):
37716        (WebCore::RenderInline::marginRight):
37717        * rendering/RenderObject.cpp:
37718        * rendering/RenderObject.h:
37719        * rendering/RenderSVGContainer.cpp:
37720        (WebCore::RenderSVGContainer::calcReplacedWidth):
37721
377222009-02-12  Simon Fraser  <simon.fraser@apple.com>
37723
37724        Fix non-Mac builds by adding Matrix3DTransformOperation.* and
37725        PerspectiveTransformOperation.*. Cleaned out some cruft in
37726        the WebCore.vcproj fle.
37727
37728        * GNUmakefile.am:
37729        * WebCore.pro:
37730        * WebCore.scons:
37731        * WebCore.vcproj/WebCore.vcproj:
37732
377332009-02-12  David Smith  <catfish.man@gmail.com>
37734
37735        Reviewed by Dave Hyatt.
37736
37737        Fix https://bugs.webkit.org/show_bug.cgi?id=23935
37738        Nested :not() and non-simple selectors in :not() should be invalid
37739
37740        * css/CSSGrammar.y: Reject nested :not()
37741        * css/CSSStyleSelector.cpp:
37742        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now
37743
377442009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
37745
37746        wx build fixes.
37747
37748        * WebCoreSources.bkl:
37749
377502009-02-12  Simon Fraser  <simon.fraser@apple.com>
37751
37752        Fix build with ACCELERATED_COMPOSITING turned on.
37753
37754        Need to cast toRenderBox() in order to call overflowClipRect().
37755
37756        * rendering/RenderLayerBacking.cpp:
37757        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
37758
377592009-02-12  Oliver Hunt  <oliver@apple.com>
37760
37761        Reviewed by NOBODY (Build fix).
37762
37763        Fix windows build.
37764
37765        * css/CSSParser.h:
37766
377672009-02-12  David Hyatt  <hyatt@apple.com>
37768
37769        Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect.  Move them to RenderBox, since these methods
37770        only apply to boxes.  Devirtualize clipRect, since it was not subclassed.  Move controlClip stuff to RenderBox also.
37771
37772        Reviewed by Simon Fraser
37773
37774        * editing/Editor.cpp:
37775        (WebCore::Editor::insideVisibleArea):
37776        * rendering/RenderBox.cpp:
37777        (WebCore::RenderBox::overflowClipRect):
37778        (WebCore::RenderBox::clipRect):
37779        * rendering/RenderBox.h:
37780        (WebCore::RenderBox::hasControlClip):
37781        (WebCore::RenderBox::controlClipRect):
37782        * rendering/RenderForeignObject.cpp:
37783        (WebCore::RenderForeignObject::paint):
37784        * rendering/RenderLayer.cpp:
37785        (WebCore::RenderLayer::calculateClipRects):
37786        (WebCore::RenderLayer::calculateRects):
37787        * rendering/RenderLayerBacking.cpp:
37788        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
37789        * rendering/RenderObject.h:
37790        (WebCore::RenderObject::hasClip):
37791        (WebCore::RenderObject::hasOverflowClip):
37792        * rendering/RenderTable.cpp:
37793        (WebCore::RenderTable::overflowClipRect):
37794        * rendering/RenderTable.h:
37795
377962009-02-12  Simon Fraser  <simon.fraser@apple.com>
37797
37798        Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error)
37799
37800        * platform/graphics/mac/GraphicsLayerCA.mm:
37801        (WebCore::GraphicsLayerCA::setBasicAnimation):
37802
378032009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
37804
37805        Not reviewed.
37806
37807        Release build fix when VIDEO is disabled (it should also
37808        help the builds with WORKERS or XSLT disabled).
37809
37810        * bindings/js/JSDOMWindowBase.cpp:
37811        (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when
37812        VIDEO is disabled.
37813        (jsDOMWindowBaseWorker): Ditto for WORKERS.
37814        (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT.
37815
378162009-02-12  Eric Carlson  <eric.carlson@apple.com>
37817
37818        Reviewed by Simon Fraser.
37819
37820        https://bugs.webkit.org/show_bug.cgi?id=23923
37821        Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes.
37822        Supporting this requires that we know when we are processing a media engine callback so
37823        we don't turn around and tell the media player to change the volume when it is reporting
37824        a volume change.
37825
37826        * html/HTMLMediaElement.cpp:
37827        (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback
37828        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback
37829        (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged
37830        to make it easier to maintain m_processingMediaPlayerCallback.
37831        (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback
37832        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
37833        (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto.
37834        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New
37835        (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing
37836        a callback from the engine.
37837        * html/HTMLMediaElement.h:
37838        (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0)
37839        (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback
37840        (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback
37841
378422009-02-12  Eric Carlson  <eric.carlson@apple.com>
37843
37844        Reviewed by Simon Fraser.
37845
37846        Support MPEG content on Mac and Windows.
37847        <rdar://problem/5917509>
37848        https://bugs.webkit.org/show_bug.cgi?id=23495
37849
37850        Test: media/audio-mpeg-supported.html
37851
37852        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
37853        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
37854
37855        * platform/graphics/win/QTMovieWin.cpp:
37856        (QTMovieWin::disableUnsupportedTracks):
37857
37858        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925
37859
378602009-02-12  David Hyatt  <hyatt@apple.com>
37861
37862        Reviewed by Sam Weinig
37863
37864        Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to
37865        RenderBox, since these methods only apply to boxes.
37866
37867        * rendering/RenderBlock.cpp:
37868        (WebCore::RenderBlock::collapseMargins):
37869        (WebCore::RenderBlock::clearFloatsIfNeeded):
37870        (WebCore::RenderBlock::layoutBlockChildren):
37871        (WebCore::RenderBlock::clearFloats):
37872        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
37873        (WebCore::RenderBlock::calcBlockPrefWidths):
37874        * rendering/RenderBlock.h:
37875        (WebCore::RenderBlock::containsFloats):
37876        (WebCore::RenderBlock::hasOverhangingFloats):
37877        * rendering/RenderBox.cpp:
37878        (WebCore::RenderBox::shrinkToAvoidFloats):
37879        (WebCore::RenderBox::avoidsFloats):
37880        * rendering/RenderBox.h:
37881        * rendering/RenderObject.cpp:
37882        * rendering/RenderObject.h:
37883        (WebCore::RenderObject::isFloatingOrPositioned):
37884        * rendering/RenderView.h:
37885
378862009-02-12  Chris Marrin  <cmarrin@apple.com>
37887
37888        Reviewed by Dave Hyatt
37889
37890        https://bugs.webkit.org/show_bug.cgi?id=23908
37891
37892        Added parsing of 3d transform functions and properties
37893        (perspective, perspective-origin, transform-style-3d,
37894        and backface-visibility).
37895
37896        Test: transforms/3d/cssmatrix-3d-interface.xhtml
37897
37898        * css/CSSComputedStyleDeclaration.cpp:
37899        (WebCore::):
37900        (WebCore::computedTransform):
37901        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
37902        * css/CSSMutableStyleDeclaration.cpp:
37903        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
37904        * css/CSSParser.cpp:
37905        (WebCore::CSSParser::parseValue):
37906        (WebCore::CSSParser::parseFillProperty):
37907        (WebCore::CSSParser::parseTransformOriginShorthand):
37908        (WebCore::TransformOperationInfo::TransformOperationInfo):
37909        (WebCore::CSSParser::parseTransform):
37910        (WebCore::CSSParser::parseTransformOrigin):
37911        (WebCore::CSSParser::parsePerspectiveOrigin):
37912        * css/CSSParser.h:
37913        * css/CSSPrimitiveValue.h:
37914        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
37915        * css/CSSPropertyNames.in:
37916        * css/CSSStyleSelector.cpp:
37917        (WebCore::CSSStyleSelector::adjustRenderStyle):
37918        (WebCore::convertToLength):
37919        (WebCore::CSSStyleSelector::applyProperty):
37920        (WebCore::CSSStyleSelector::mapFillSize):
37921        (WebCore::CSSStyleSelector::mapFillXPosition):
37922        (WebCore::CSSStyleSelector::mapFillYPosition):
37923        (WebCore::getTransformOperationType):
37924        (WebCore::CSSStyleSelector::createTransformOperations):
37925        * css/CSSValueKeywords.in:
37926        * css/WebKitCSSTransformValue.cpp:
37927        (WebCore::WebKitCSSTransformValue::cssText):
37928        * css/WebKitCSSTransformValue.h:
37929        (WebCore::WebKitCSSTransformValue::):
37930        * css/WebKitCSSTransformValue.idl:
37931        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
37932        * platform/graphics/transforms/Matrix3DTransformOperation.h:
37933        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
37934        * platform/graphics/transforms/PerspectiveTransformOperation.h:
37935        * platform/graphics/transforms/RotateTransformOperation.cpp:
37936        (WebCore::RotateTransformOperation::blend):
37937        * platform/graphics/transforms/RotateTransformOperation.h:
37938        (WebCore::RotateTransformOperation::RotateTransformOperation):
37939        * platform/graphics/transforms/ScaleTransformOperation.h:
37940        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
37941        * platform/graphics/transforms/TransformOperation.h:
37942        (WebCore::TransformOperation::is3DOperation):
37943        * platform/graphics/transforms/TransformOperations.h:
37944        (WebCore::TransformOperations::has3DOperation):
37945        * platform/graphics/transforms/TranslateTransformOperation.h:
37946        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
37947
379482009-02-12  Kevin Ollivier  <kevino@theolliviers.com>
37949
37950        wx build fix.
37951
37952        * webcore-base.bkl:
37953
379542009-02-12  Brady Eidson  <beidson@apple.com>
37955
37956        Reviewed by Darin Adler
37957
37958        Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
37959
37960        * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref().
37961        (-[WebCoreSharedBufferData dealloc]):
37962        (-[WebCoreSharedBufferData finalize]):
37963        (-[WebCoreSharedBufferData initWithSharedBuffer:]):
37964
379652009-02-12  David Hyatt  <hyatt@apple.com>
37966
37967        Remove calcWidth from RenderObject.  Nobody ever called it on RenderObjects.
37968
37969        Reviewed by Sam Weinig
37970
37971        * rendering/RenderObject.h:
37972
379732009-02-12  David Hyatt  <hyatt@apple.com>
37974
37975        Reviewed by Mark Rowe
37976
37977        Fix for regression where form controls would paint yellow highlights.  The containsComposition check needs to
37978        null check node() now.
37979
37980        * rendering/InlineTextBox.cpp:
37981        (WebCore::InlineTextBox::paint):
37982
379832009-02-12  Simon Fraser  <simon.fraser@apple.com>
37984
37985        Build fix
37986
37987        Change Animation::setDirection() to take the new enum value, and fix
37988        the single caller.
37989
37990        Fix build error in MediaPlayerPrivateQTKit.h.
37991
37992        * css/CSSStyleSelector.cpp:
37993        (WebCore::CSSStyleSelector::mapAnimationDirection):
37994        * platform/animation/Animation.h:
37995        (WebCore::Animation::setDirection):
37996        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
37997
379982009-02-12  David Hyatt  <hyatt@apple.com>
37999
38000        Reviewed by Simon Fraser
38001
38002        Remove the overrideSize methods from RenderObject.  Devirtualize all of the accessors on RenderBox.
38003
38004        * rendering/RenderBox.h:
38005        * rendering/RenderObject.h:
38006
380072009-02-12  Eric Carlson  <eric.carlson@apple.com>
38008
38009        Darin Adler, Antti Koivisto, Holger Hans Peter Freyther
38010
38011        Bug 23797: A platform should be able to use more than one media engine for <video> and <audio>
38012        https://bugs.webkit.org/show_bug.cgi?id=23797
38013
38014        * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h
38015
38016        * html/HTMLMediaElement.cpp:
38017        (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to
38018        MediaPlayer::load so it can choose the right media engine
38019        (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry
38020        functions to strip params from the url and extract the codecs parameter. call
38021        MediaPlayer::supportsType to see if we can open the file since only a media engine can
38022        answer questions about supported type+codecs.
38023        * html/HTMLMediaElement.h:
38024
38025        * platform/MIMETypeRegistry.cpp:
38026        (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter
38027        (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type
38028        * platform/MIMETypeRegistry.h:
38029
38030        * platform/graphics/MediaPlayer.cpp:
38031        (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
38032        (WebCore::NullMediaPlayerPrivate::load):
38033        (WebCore::NullMediaPlayerPrivate::cancelLoad):
38034        (WebCore::NullMediaPlayerPrivate::play):
38035        (WebCore::NullMediaPlayerPrivate::pause):
38036        (WebCore::NullMediaPlayerPrivate::naturalSize):
38037        (WebCore::NullMediaPlayerPrivate::hasVideo):
38038        (WebCore::NullMediaPlayerPrivate::setVisible):
38039        (WebCore::NullMediaPlayerPrivate::duration):
38040        (WebCore::NullMediaPlayerPrivate::currentTime):
38041        (WebCore::NullMediaPlayerPrivate::seek):
38042        (WebCore::NullMediaPlayerPrivate::seeking):
38043        (WebCore::NullMediaPlayerPrivate::setEndTime):
38044        (WebCore::NullMediaPlayerPrivate::setRate):
38045        (WebCore::NullMediaPlayerPrivate::paused):
38046        (WebCore::NullMediaPlayerPrivate::setVolume):
38047        (WebCore::NullMediaPlayerPrivate::networkState):
38048        (WebCore::NullMediaPlayerPrivate::readyState):
38049        (WebCore::NullMediaPlayerPrivate::maxTimeSeekable):
38050        (WebCore::NullMediaPlayerPrivate::maxTimeBuffered):
38051        (WebCore::NullMediaPlayerPrivate::dataRate):
38052        (WebCore::NullMediaPlayerPrivate::totalBytesKnown):
38053        (WebCore::NullMediaPlayerPrivate::totalBytes):
38054        (WebCore::NullMediaPlayerPrivate::bytesLoaded):
38055        (WebCore::NullMediaPlayerPrivate::setRect):
38056        (WebCore::NullMediaPlayerPrivate::paint):
38057        (WebCore::createNullMediaPlayer):
38058        Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine.
38059
38060        (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor.
38061        (WebCore::installedMediaEngines): New, returns vector of all installed engines.
38062        (WebCore::addMediaEngine): New, add a media engine to the cache.
38063        (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type.
38064        (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine.
38065        (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr.
38066        (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right
38067          media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine
38068          based on the MIME type and codecs parameter.
38069        (WebCore::MediaPlayer::currentTime): Remove excess white space.
38070        (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can
38071        indicate "maybe" condition.
38072        (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines.
38073        (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed.
38074
38075        * platform/graphics/MediaPlayer.h:
38076        (WebCore::MediaPlayer::):
38077        (WebCore::MediaPlayer::frameView): accessor function.
38078
38079        * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines.
38080        (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface):
38081        (WebCore::MediaPlayerPrivateInterface::totalBytesKnown):
38082
38083        * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory
38084
38085        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38086        (WebCore::MediaPlayerPrivate::create): New, media engine factory function
38087        (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory
38088        (WebCore::MediaPlayerPrivate::load): URL is a const String.
38089        (WebCore::MediaPlayerPrivate::duration): Declare const.
38090        (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
38091        (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
38092        (WebCore::MediaPlayerPrivate::networkState): Ditto.
38093        (WebCore::MediaPlayerPrivate::readyState): Ditto.
38094        (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto.
38095        (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
38096        (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
38097        (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto.
38098        (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto.
38099        (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
38100        (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool.
38101        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
38102        (WebCore::MediaPlayerPrivate::isAvailable):
38103
38104        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
38105        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
38106        (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function
38107        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory
38108        (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly,
38109        use accessor function.
38110        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto.
38111        (WebCore::MediaPlayerPrivate::paint): Ditto.
38112        (WebCore::mimeTypeCache): New.
38113        (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function.
38114        (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool
38115        (-[WebCoreMovieObserver initWithCallback:]): fix formatting
38116
38117        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
38118        (WebCore::MediaPlayerPrivate::create):
38119        (WebCore::MediaPlayerPrivate::registerMediaEngine):
38120        (WebCore::MediaPlayerPrivate::supportsType):
38121        (WebCore::MediaPlayerPrivate::load): URL is a const String.
38122        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
38123        (WebCore::MediaPlayerPrivate::isAvailable):
38124
38125        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
38126        (WebCore::MediaPlayerPrivate::create): New, media engine factory function
38127        (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory
38128        (WebCore::MediaPlayerPrivate::load): URL is a const String.
38129        (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly,
38130        use accessor function.
38131        (WebCore::mimeTypeCache): New.
38132        (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function.
38133        (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool
38134        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
38135
381362009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
38137
38138        Reviewed by Darin Adler.
38139
38140        Test: fast/dom/prefixed-image-tag.xhtml
38141
38142        Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)
38143
38144        Instead we now directly propage the QualifiedName inside the generated Factory.
38145
38146        Test: fast/dom/prefixed-image-tag.xhtml
38147
38148        * dom/Document.cpp:
38149        (WebCore::Document::createElement): Removed the setPrefix work-around
38150        and replaced it with an ASSERT to catch mistakes inside the Factory code.
38151        Remove the unneeded ExceptionCode argument.
38152
38153        (WebCore::Document::createElementNS): Removed ExceptionCode argument.
38154        * dom/Document.h: Updated the signature.
38155        * dom/XMLTokenizerLibxml2.cpp:
38156        (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument.
38157        * dom/XMLTokenizerQt.cpp: Ditto.
38158        (WebCore::XMLTokenizer::parseStartElement): Ditto.
38159
38160        * dom/make_names.pl: Implemented the QualifiedName propogation logic
38161        in the Factory.
38162
381632009-02-12  Simon Fraser  <simon.fraser@apple.com>
38164
38165        Reviewed by Dave Hyatt
38166
38167        https://bugs.webkit.org/show_bug.cgi?id=23188
38168
38169        Define enum values for Animation::direction(), and one for
38170        IterationCountInfinite to make the code more self-documenting.
38171
38172        Order the member vars of Animation to optimize packing.
38173
38174        * css/CSSComputedStyleDeclaration.cpp:
38175        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
38176        * platform/animation/Animation.cpp:
38177        (WebCore::Animation::Animation):
38178        (WebCore::Animation::operator=):
38179        (WebCore::Animation::animationsMatch):
38180        * platform/animation/Animation.h:
38181        (WebCore::Animation::):
38182        (WebCore::Animation::direction):
38183        (WebCore::Animation::initialAnimationDirection):
38184        * platform/graphics/mac/GraphicsLayerCA.mm:
38185        (WebCore::GraphicsLayerCA::setBasicAnimation):
38186        (WebCore::GraphicsLayerCA::setKeyframeAnimation):
38187
381882009-02-12  Christian Dywan  <christian@twotoasts.de>
38189
38190        Reviewed by Holger Freyther.
38191
38192        * platform/network/soup/ResourceHandleSoup.cpp:
38193        (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now.
38194
381952009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>
38196
38197        Reviewed by Darin Adler.
38198
38199        Bug 23826: Potential bug with before/after rule while moving element from one document to another
38200
38201        Moved the document before/after toggle from the constructor to insertedIntoDocument.
38202
38203        Test: fast/css-generated-content/beforeAfter-interdocument.html
38204
38205        * html/HTMLQuoteElement.cpp:
38206        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
38207        (WebCore::HTMLQuoteElement::insertedIntoDocument):
38208        * html/HTMLQuoteElement.h:
38209
382102009-02-12  David Hyatt  <hyatt@apple.com>
38211
38212        Reviewed by Simon Fraser
38213
38214        Fix for https://bugs.webkit.org/show_bug.cgi?id=23912
38215
38216        I have no idea why this broke.  As far as I can tell the old code never should have worked in
38217        the first place.  Add code to handleWheelEvent that will find an enclosing renderer for a node
38218        in order to attempt a wheel scroll.
38219
38220        * page/EventHandler.cpp:
38221        (WebCore::EventHandler::handleWheelEvent):
38222
382232009-02-12  David Hyatt  <hyatt@apple.com>
38224
38225        Move the functions that paint borders, box shadows and border images into RenderBoxModelObject.  drawBorder and drawBorderArc, because they are used
38226        for outlines as well as borders, need to stay in RenderObject.  Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their
38227        more generic use.  Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept.
38228
38229        Reviewed by Simon Fraser
38230
38231        * rendering/InlineFlowBox.cpp:
38232        (WebCore::InlineFlowBox::paintFillLayer):
38233        (WebCore::InlineFlowBox::paintBoxShadow):
38234        (WebCore::InlineFlowBox::paintBoxDecorations):
38235        (WebCore::InlineFlowBox::paintMask):
38236        * rendering/RenderBlock.cpp:
38237        (WebCore::RenderBlock::paintColumns):
38238        * rendering/RenderBoxModelObject.cpp:
38239        (WebCore::RenderBoxModelObject::paintNinePieceImage):
38240        (WebCore::RenderBoxModelObject::paintBorder):
38241        (WebCore::RenderBoxModelObject::paintBoxShadow):
38242        * rendering/RenderBoxModelObject.h:
38243        * rendering/RenderFieldset.cpp:
38244        (WebCore::RenderFieldset::paintBorderMinusLegend):
38245        * rendering/RenderInline.cpp:
38246        (WebCore::RenderInline::paintOutlineForLine):
38247        * rendering/RenderObject.cpp:
38248        (WebCore::RenderObject::drawLineForBoxSide):
38249        (WebCore::RenderObject::drawArcForBoxSide):
38250        (WebCore::RenderObject::paintOutline):
38251        * rendering/RenderObject.h:
38252        (WebCore::):
38253        (WebCore::RenderObject::hasBoxDecorations):
38254        * rendering/RenderTableCell.cpp:
38255        (WebCore::CollapsedBorders::addBorder):
38256        (WebCore::RenderTableCell::paintCollapsedBorder):
38257
382582009-02-12  Eric Carlson  <eric.carlson@apple.com>
38259
38260        Reviewed by Simon Fraser
38261
38262        Bug 18322: video element should have ui when scripting is disabled
38263        https://bugs.webkit.org/show_bug.cgi?id=18322
38264
38265        * html/HTMLMediaElement.cpp:
38266        (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled.
38267        * manual-tests/media-controls-when-javascript-disabled.html: Added.
38268
382692009-02-12  Dimitri Glazkov  <dglazkov@chromium.org>
38270
38271        Reviewed by Eric Seidel.
38272
38273        https://bugs.webkit.org/show_bug.cgi?id=23906
38274        Add custom V8 bindings for HTMLPlugInElement.
38275
38276        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added.
38277        (WebCore::NAMED_PROPERTY_GETTER):
38278        (WebCore::NAMED_PROPERTY_SETTER):
38279        (WebCore::CALLBACK_FUNC_DECL):
38280        (WebCore::INDEXED_PROPERTY_GETTER):
38281        (WebCore::INDEXED_PROPERTY_SETTER):
38282
382832009-02-12  Gustavo Noronha Silva  <gns@gnome.org>
38284
38285        Reviewed by Mark Rowe.
38286
38287        [GTK] Soup backend must handle upload of multiple files
38288        https://bugs.webkit.org/show_bug.cgi?id=18343
38289
38290        * platform/network/soup/ResourceHandleSoup.cpp:
38291        (WebCore::):
38292        (WebCore::freeFileMapping):
38293        (WebCore::ResourceHandle::startHttp): Support multipart request bodies
38294        mmap'ing files to be uploaded.
38295
382962009-02-12  Adam Treat  <adam.treat@torchmobile.com>
38297
38298        Fix the Qt build following r40871 which changed RenderObject::element()
38299        into RenderObject::node().
38300
38301        * platform/qt/RenderThemeQt.cpp:
38302        (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
38303        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
38304
383052009-02-12  Alexey Proskuryakov  <ap@webkit.org>
38306
38307        Build fix.
38308
38309        * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>.
38310
383112009-02-12  Jian Li  <jianli@chromium.org>
38312
38313        Reviewed by Alexey Proskuryakov.
38314
38315        Change worker code to use different proxy class pointers.
38316        https://bugs.webkit.org/show_bug.cgi?id=23859
38317
38318        This is a step towards using separate proxies in multi-process implementation.
38319
38320        * bindings/js/WorkerScriptController.cpp:
38321        (WebCore::WorkerScriptController::evaluate):
38322        * dom/Worker.cpp:
38323        (WebCore::Worker::Worker):
38324        (WebCore::Worker::~Worker):
38325        (WebCore::Worker::postMessage):
38326        (WebCore::Worker::terminate):
38327        (WebCore::Worker::hasPendingActivity):
38328        (WebCore::Worker::notifyFinished):
38329        (WebCore::Worker::dispatchMessage):
38330        * dom/Worker.h:
38331        * dom/WorkerContext.cpp:
38332        (WebCore::WorkerContext::~WorkerContext):
38333        (WebCore::WorkerContext::reportException):
38334        (WebCore::WorkerContext::addMessage):
38335        (WebCore::WorkerContext::postMessage):
38336        (WebCore::WorkerContext::dispatchMessage):
38337        * dom/WorkerContext.h:
38338        * dom/WorkerContextProxy.h:
38339        * dom/WorkerMessagingProxy.cpp:
38340        (WebCore::MessageWorkerContextTask::performTask):
38341        (WebCore::MessageWorkerTask::performTask):
38342        (WebCore::WorkerContextProxy::create):
38343        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
38344        (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
38345        (WebCore::WorkerMessagingProxy::startWorkerContext):
38346        (WebCore::postConsoleMessageTask):
38347        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
38348        (WebCore::WorkerMessagingProxy::workerThreadCreated):
38349        * dom/WorkerMessagingProxy.h:
38350        * dom/WorkerObjectProxy.h:
38351        * dom/WorkerThread.cpp:
38352        (WebCore::WorkerThread::create):
38353        (WebCore::WorkerThread::WorkerThread):
38354        (WebCore::WorkerThread::workerThread):
38355        * dom/WorkerThread.h:
38356        (WebCore::WorkerThread::workerObjectProxy):
38357        * loader/WorkerThreadableLoader.cpp:
38358        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
38359
383602009-02-12  David Levin  <levin@chromium.org>
38361
38362        Reviewed by Alexey Proskuryakov.
38363
38364        Bug 23688: ThreadableLoader needs a sync implementation for Workers.
38365        <https://bugs.webkit.org/show_bug.cgi?id=23688>
38366
38367        Add ResourceError to ThreadableLoaderClient.
38368
38369        No observable change in behavior, so no test.
38370
38371        * loader/DocumentThreadableLoader.cpp:
38372        (WebCore::DocumentThreadableLoader::create):
38373        (WebCore::DocumentThreadableLoader::willSendRequest):
38374        (WebCore::DocumentThreadableLoader::didFail):
38375        * loader/ThreadableLoaderClient.h:
38376        (WebCore::ThreadableLoaderClient::didFail):
38377        (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck):
38378        * loader/ThreadableLoaderClientWrapper.h:
38379        (WebCore::ThreadableLoaderClientWrapper::didFail):
38380        * loader/WorkerThreadableLoader.cpp:
38381        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
38382        (WebCore::workerContextDidFail):
38383        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
38384        * loader/WorkerThreadableLoader.h:
38385        * xml/XMLHttpRequest.cpp:
38386        (WebCore::XMLHttpRequest::didFail):
38387        (WebCore::XMLHttpRequest::didFailWillSendRequestCheck):
38388        * xml/XMLHttpRequest.h:
38389
383902009-02-11  Simon Fraser  <simon.fraser@apple.com>
38391
38392        Reviewed by Dave Hyatt
38393
38394        Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.
38395
38396        * WebCore.xcodeproj/project.pbxproj:
38397        FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
38398        * platform/graphics/mac/GraphicsLayerCA.mm:
38399        (WebCore::getTransformFunctionValue):
38400        (WebCore::caValueFunctionSupported):
38401        (WebCore::GraphicsLayerCA::setAnchorPoint):
38402        (WebCore::GraphicsLayerCA::setPreserves3D):
38403        (WebCore::GraphicsLayerCA::setContentsToImage):
38404        (WebCore::GraphicsLayerCA::setBasicAnimation):
38405        (WebCore::GraphicsLayerCA::setKeyframeAnimation):
38406        * rendering/RenderLayer.h:
38407        (WebCore::RenderLayer::isRootLayer):
38408        Fix isRootLayer to return true for the renderView's layer, not the root
38409        renderer's layer.
38410
384112009-02-11  Adele Peterson  <adele@apple.com>
38412
38413        Reviewed by Oliver Hunt.
38414
38415        Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
38416        <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing
38417
38418        * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent):
38419        When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
38420
384212009-02-11  David Hyatt  <hyatt@apple.com>
38422
38423        Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox.  Devirtualize the functions.
38424        Patch all of the call sites to convert to a RenderBox.
38425
38426        Reviewed by Simon Fraser
38427
38428        * dom/Position.cpp:
38429        (WebCore::nextRenderedEditable):
38430        (WebCore::previousRenderedEditable):
38431        (WebCore::Position::getInlineBoxAndOffset):
38432        * rendering/InlineBox.cpp:
38433        (WebCore::InlineBox::deleteLine):
38434        (WebCore::InlineBox::extractLine):
38435        (WebCore::InlineBox::attachLine):
38436        * rendering/RenderLineBoxList.cpp:
38437        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
38438        * rendering/RenderObject.cpp:
38439        * rendering/RenderObject.h:
38440        * rendering/RenderObjectChildList.cpp:
38441        (WebCore::RenderObjectChildList::removeChildNode):
38442        * rendering/RenderTextControl.cpp:
38443        (WebCore::RenderTextControl::textWithHardLineBreaks):
38444
384452009-02-11  David Hyatt  <hyatt@apple.com>
38446
38447        Eliminate createInlineBox and dirtyLineBoxes from RenderObject.  These functions have been devirtualized.
38448        The single call site now calls a helper function that just bit checks and casts before calling the correct
38449        type.  RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
38450        just been removed.
38451
38452        Reviewed by Eric Seidel
38453
38454        * rendering/RenderBR.cpp:
38455        * rendering/RenderBR.h:
38456        * rendering/RenderBlock.cpp:
38457        (WebCore::RenderBlock::createRootInlineBox):
38458        * rendering/RenderBlock.h:
38459        * rendering/RenderBox.cpp:
38460        (WebCore::RenderBox::createInlineBox):
38461        * rendering/RenderBox.h:
38462        * rendering/RenderCounter.cpp:
38463        * rendering/RenderCounter.h:
38464        * rendering/RenderInline.cpp:
38465        (WebCore::RenderInline::createInlineFlowBox):
38466        * rendering/RenderInline.h:
38467        * rendering/RenderObject.cpp:
38468        * rendering/RenderObject.h:
38469        * rendering/RenderSVGInlineText.cpp:
38470        (WebCore::RenderSVGInlineText::createTextBox):
38471        * rendering/RenderSVGInlineText.h:
38472        (WebCore::RenderSVGInlineText::isSVGText):
38473        * rendering/RenderText.cpp:
38474        (WebCore::RenderText::createTextBox):
38475        (WebCore::RenderText::createInlineTextBox):
38476        * rendering/RenderText.h:
38477        * rendering/bidi.cpp:
38478        (WebCore::createInlineBoxForRenderer):
38479        (WebCore::RenderBlock::createLineBoxes):
38480        (WebCore::RenderBlock::constructLine):
38481        (WebCore::RenderBlock::layoutInlineChildren):
38482
384832009-02-11  Chris Marrin  <cmarrin@apple.com>
38484
38485        Reviewed by Dave Hyatt.
38486
38487        https://bugs.webkit.org/show_bug.cgi?id=23905
38488
38489        Adds support for 3D CSS properties (transform-style-3d, perspective,
38490        perspective-origin, and backface-visibility) to RenderStyle and friends
38491
38492        * platform/graphics/transforms/TransformOperation.h
38493        * rendering/style/RenderStyle.cpp:
38494        (WebCore::RenderStyle::diff):
38495        (WebCore::RenderStyle::applyTransform):
38496        * rendering/style/RenderStyle.h:
38497        (WebCore::InheritedFlags::transformOriginZ):
38498        (WebCore::InheritedFlags::hasTransformRelatedProperty):
38499        (WebCore::InheritedFlags::transformStyle3D):
38500        (WebCore::InheritedFlags::backfaceVisibility):
38501        (WebCore::InheritedFlags::perspective):
38502        (WebCore::InheritedFlags::perspectiveOriginX):
38503        (WebCore::InheritedFlags::perspectiveOriginY):
38504        (WebCore::InheritedFlags::setTransformOriginZ):
38505        (WebCore::InheritedFlags::setTransformStyle3D):
38506        (WebCore::InheritedFlags::setBackfaceVisibility):
38507        (WebCore::InheritedFlags::setPerspective):
38508        (WebCore::InheritedFlags::setPerspectiveOriginX):
38509        (WebCore::InheritedFlags::setPerspectiveOriginY):
38510        (WebCore::InheritedFlags::initialTransformOriginZ):
38511        (WebCore::InheritedFlags::initialTransformStyle3D):
38512        (WebCore::InheritedFlags::initialBackfaceVisibility):
38513        (WebCore::InheritedFlags::initialPerspective):
38514        (WebCore::InheritedFlags::initialPerspectiveOriginX):
38515        (WebCore::InheritedFlags::initialPerspectiveOriginY):
38516        * rendering/style/RenderStyleConstants.h:
38517        (WebCore::):
38518        * rendering/style/StyleRareNonInheritedData.cpp:
38519        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
38520        (WebCore::StyleRareNonInheritedData::operator==):
38521        * rendering/style/StyleRareNonInheritedData.h:
38522        * rendering/style/StyleTransformData.cpp:
38523        (WebCore::StyleTransformData::StyleTransformData):
38524        (WebCore::StyleTransformData::operator==):
38525        * rendering/style/StyleTransformData.h:
38526
385272009-02-11  Simon Fraser  <simon.fraser@apple.com>
38528
38529        No review.
38530
38531        Fix ACCELERATED_COMPOSITING build.
38532
38533        * rendering/RenderLayerBacking.cpp:
38534        (WebCore::RenderLayerBacking::createGraphicsLayer):
38535        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
38536        * rendering/RenderLayerCompositor.cpp:
38537        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
38538
385392009-02-11  Simon Fraser  <simon.fraser@apple.com>
38540
38541        Reviewed by Dave Hyatt
38542
38543        https://bugs.webkit.org/show_bug.cgi?id=23862
38544
38545        Add a bit on RenderStyle that gets set when running accelerated
38546        transitions of transform or opacity. These ensure that styles
38547        compare as different during the transition, so that interruption
38548        can be detected reliably.
38549
38550        * page/animation/ImplicitAnimation.cpp:
38551        (WebCore::ImplicitAnimation::animate):
38552        * rendering/style/RenderStyle.h:
38553        (WebCore::InheritedFlags::isRunningAcceleratedAnimation):
38554        (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation):
38555        * rendering/style/StyleRareNonInheritedData.cpp:
38556        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
38557        (WebCore::StyleRareNonInheritedData::operator==):
38558        * rendering/style/StyleRareNonInheritedData.h:
38559
385602009-02-11  David Hyatt  <hyatt@apple.com>
38561
38562        Eliminate the virtual position() function from RenderObject.  Rename the position() overrides
38563        in RenderText and RenderBox to positionLineBox and devirtualize them.
38564
38565        Patch the one call site to just check for isText() and isBox() and call the methods directly.
38566
38567        Remove some unnecessary overrides of position() on table sections and rows.
38568
38569        Reviewed by Simon Fraser
38570
38571        * rendering/RenderBox.cpp:
38572        (WebCore::RenderBox::positionLineBox):
38573        * rendering/RenderBox.h:
38574        * rendering/RenderObject.h:
38575        * rendering/RenderSVGRoot.cpp:
38576        * rendering/RenderSVGRoot.h:
38577        * rendering/RenderTableRow.h:
38578        (WebCore::RenderTableRow::lineHeight):
38579        * rendering/RenderTableSection.h:
38580        (WebCore::RenderTableSection::lineHeight):
38581        * rendering/RenderText.cpp:
38582        (WebCore::RenderText::positionLineBox):
38583        * rendering/RenderText.h:
38584        * rendering/bidi.cpp:
38585        (WebCore::RenderBlock::computeVerticalPositionsForLine):
38586
385872009-02-11  Dimitri Glazkov  <dglazkov@chromium.org>
38588
38589        Reviewed by Eric Seidel.
38590
38591        https://bugs.webkit.org/show_bug.cgi?id=23901
38592        Add HTML options/collections V8 custom bindings.
38593
38594        * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added.
38595        (WebCore::getNamedItems):
38596        (WebCore::getItem):
38597        (WebCore::NAMED_PROPERTY_GETTER):
38598        (WebCore::CALLBACK_FUNC_DECL):
38599        * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added.
38600        (WebCore::NAMED_PROPERTY_GETTER):
38601        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
38602        (WebCore::ACCESSOR_GETTER):
38603        (WebCore::ACCESSOR_SETTER):
38604        (WebCore::CALLBACK_FUNC_DECL):
38605        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
38606        (WebCore::CALLBACK_FUNC_DECL):
38607        (WebCore::ACCESSOR_SETTER):
38608        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added.
38609        (WebCore::CALLBACK_FUNC_DECL):
38610        (WebCore::removeElement):
38611        * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
38612        * bindings/v8/custom/V8NamedNodesCollection.cpp: Added.
38613        (WebCore::V8NamedNodesCollection::item):
38614        (WebCore::V8NamedNodesCollection::itemWithName):
38615        * bindings/v8/custom/V8NamedNodesCollection.h: Added.
38616        (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
38617        (WebCore::V8NamedNodesCollection::length):
38618
386192009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
38620
38621        Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
38622        This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
38623
38624        Reviewed by Timothy Hatcher.
38625
38626        * inspector/InspectorClient.h:
38627        * inspector/InspectorController.cpp:
38628        (WebCore::hiddenPanels):
38629        (WebCore::InspectorController::hiddenPanels):
38630        (WebCore::InspectorController::windowScriptObjectAvailable):
38631        * inspector/InspectorController.h:
38632        * inspector/front-end/inspector.js:
38633        (WebInspector.loaded):
38634        * loader/EmptyClients.h:
38635        (WebCore::EmptyInspectorClient::hiddenPanels):
38636
386372009-02-11  David Hyatt  <hyatt@apple.com>
38638
38639        Combine RenderObject::element() and RenderObject::node() into a single function.
38640        node() now has the "anonymous bit" checking behavior of element() and will
38641        return 0 for anonymous content.  This patch switches all callers of element()
38642        to node() and patches old callers of node() to deal with situations where they
38643        did not expect node() to be 0.  A bunch of node() calls were calling stuff on
38644        Document that they clearly didn't intend, so overall this is a nice improvement.
38645
38646        Reviewed by Sam Weinig
38647
38648        * dom/ContainerNode.cpp:
38649        (WebCore::ContainerNode::getUpperLeftCorner):
38650        * dom/Element.cpp:
38651        (WebCore::Element::offsetParent):
38652        * dom/Position.cpp:
38653        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
38654        * editing/ModifySelectionListLevel.cpp:
38655        (WebCore::getStartEndListChildren):
38656        (WebCore::IncreaseSelectionListLevelCommand::doApply):
38657        (WebCore::DecreaseSelectionListLevelCommand::doApply):
38658        * editing/TextIterator.cpp:
38659        (WebCore::TextIterator::advance):
38660        * editing/VisiblePosition.cpp:
38661        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
38662        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
38663        * editing/visible_units.cpp:
38664        (WebCore::startPositionForLine):
38665        (WebCore::endPositionForLine):
38666        * page/AXObjectCache.cpp:
38667        (WebCore::AXObjectCache::get):
38668        * page/AccessibilityList.cpp:
38669        (WebCore::AccessibilityList::isUnorderedList):
38670        (WebCore::AccessibilityList::isOrderedList):
38671        (WebCore::AccessibilityList::isDefinitionList):
38672        * page/AccessibilityListBox.cpp:
38673        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
38674        * page/AccessibilityRenderObject.cpp:
38675        (WebCore::AccessibilityRenderObject::isPasswordField):
38676        (WebCore::AccessibilityRenderObject::isFileUploadButton):
38677        (WebCore::AccessibilityRenderObject::isInputImage):
38678        (WebCore::AccessibilityRenderObject::isMultiSelect):
38679        (WebCore::AccessibilityRenderObject::isControl):
38680        (WebCore::AccessibilityRenderObject::getAttribute):
38681        (WebCore::AccessibilityRenderObject::anchorElement):
38682        (WebCore::AccessibilityRenderObject::actionElement):
38683        (WebCore::AccessibilityRenderObject::mouseButtonListener):
38684        (WebCore::AccessibilityRenderObject::helpText):
38685        (WebCore::AccessibilityRenderObject::textUnderElement):
38686        (WebCore::AccessibilityRenderObject::hasIntValue):
38687        (WebCore::AccessibilityRenderObject::intValue):
38688        (WebCore::AccessibilityRenderObject::labelElementContainer):
38689        (WebCore::AccessibilityRenderObject::title):
38690        (WebCore::AccessibilityRenderObject::accessibilityDescription):
38691        (WebCore::AccessibilityRenderObject::boundingBoxRect):
38692        (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
38693        (WebCore::AccessibilityRenderObject::titleUIElement):
38694        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
38695        (WebCore::AccessibilityRenderObject::text):
38696        (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
38697        (WebCore::AccessibilityRenderObject::accessKey):
38698        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
38699        (WebCore::AccessibilityRenderObject::url):
38700        (WebCore::AccessibilityRenderObject::isFocused):
38701        (WebCore::AccessibilityRenderObject::setFocused):
38702        (WebCore::AccessibilityRenderObject::setValue):
38703        (WebCore::AccessibilityRenderObject::isEnabled):
38704        (WebCore::AccessibilityRenderObject::visiblePositionRange):
38705        (WebCore::AccessibilityRenderObject::index):
38706        (WebCore::AccessibilityRenderObject::activeDescendant):
38707        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
38708        (WebCore::AccessibilityRenderObject::observableObject):
38709        (WebCore::AccessibilityRenderObject::roleValue):
38710        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
38711        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
38712        * page/AccessibilityTable.cpp:
38713        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
38714        (WebCore::AccessibilityTable::title):
38715        * page/AccessibilityTableCell.cpp:
38716        (WebCore::AccessibilityTableCell::titleUIElement):
38717        * page/AccessibilityTableColumn.cpp:
38718        (WebCore::AccessibilityTableColumn::headerObjectForSection):
38719        * page/AccessibilityTableRow.cpp:
38720        (WebCore::AccessibilityTableRow::headerObject):
38721        * page/EventHandler.cpp:
38722        (WebCore::EventHandler::dispatchMouseEvent):
38723        (WebCore::EventHandler::canMouseDownStartSelect):
38724        (WebCore::EventHandler::canMouseDragExtendSelect):
38725        (WebCore::EventHandler::shouldDragAutoNode):
38726        * page/Frame.cpp:
38727        (WebCore::Frame::searchForLabelsAboveCell):
38728        (WebCore::Frame::setFocusedNodeIfNeeded):
38729        * page/FrameView.cpp:
38730        (WebCore::FrameView::updateOverflowStatus):
38731        * page/animation/AnimationBase.cpp:
38732        (WebCore::AnimationBase::updateStateMachine):
38733        * page/animation/AnimationController.cpp:
38734        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
38735        (WebCore::AnimationController::cancelAnimations):
38736        (WebCore::AnimationController::updateAnimations):
38737        * page/animation/KeyframeAnimation.cpp:
38738        (WebCore::KeyframeAnimation::KeyframeAnimation):
38739        (WebCore::KeyframeAnimation::endAnimation):
38740        * page/mac/AccessibilityObjectWrapper.mm:
38741        (blockquoteLevel):
38742        (AXAttributeStringSetHeadingLevel):
38743        * page/mac/FrameMac.mm:
38744        (WebCore::Frame::searchForNSLabelsAboveCell):
38745        * rendering/InlineFlowBox.cpp:
38746        (WebCore::InlineFlowBox::verticallyAlignBoxes):
38747        (WebCore::InlineFlowBox::paint):
38748        (WebCore::shouldDrawTextDecoration):
38749        * rendering/InlineTextBox.cpp:
38750        (WebCore::InlineTextBox::paintDocumentMarkers):
38751        * rendering/RenderBR.cpp:
38752        (WebCore::RenderBR::positionForCoordinates):
38753        * rendering/RenderBlock.cpp:
38754        (WebCore::RenderBlock::layoutBlock):
38755        (WebCore::RenderBlock::handleRunInChild):
38756        (WebCore::RenderBlock::paintObject):
38757        (WebCore::RenderBlock::isSelectionRoot):
38758        (WebCore::RenderBlock::rightmostPosition):
38759        (WebCore::RenderBlock::positionForBox):
38760        (WebCore::RenderBlock::positionForRenderer):
38761        (WebCore::RenderBlock::positionForCoordinates):
38762        (WebCore::RenderBlock::hasLineIfEmpty):
38763        (WebCore::RenderBlock::updateFirstLetter):
38764        (WebCore::RenderBlock::updateHitTestResult):
38765        (WebCore::RenderBlock::addFocusRingRects):
38766        * rendering/RenderBox.cpp:
38767        (WebCore::RenderBox::styleWillChange):
38768        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
38769        (WebCore::RenderBox::paintRootBoxDecorations):
38770        (WebCore::RenderBox::positionForCoordinates):
38771        * rendering/RenderButton.cpp:
38772        (WebCore::RenderButton::updateFromElement):
38773        (WebCore::RenderButton::canHaveChildren):
38774        * rendering/RenderCounter.cpp:
38775        (WebCore::planCounter):
38776        * rendering/RenderFieldset.cpp:
38777        (WebCore::RenderFieldset::findLegend):
38778        * rendering/RenderFlexibleBox.cpp:
38779        (WebCore::RenderFlexibleBox::layoutVerticalBox):
38780        * rendering/RenderForeignObject.cpp:
38781        (WebCore::RenderForeignObject::translationForAttributes):
38782        (WebCore::RenderForeignObject::calculateLocalTransform):
38783        * rendering/RenderFrame.h:
38784        (WebCore::RenderFrame::element):
38785        * rendering/RenderImage.cpp:
38786        (WebCore::RenderImage::paintReplaced):
38787        (WebCore::RenderImage::imageMap):
38788        (WebCore::RenderImage::nodeAtPoint):
38789        (WebCore::RenderImage::updateAltText):
38790        * rendering/RenderInline.cpp:
38791        (WebCore::RenderInline::cloneInline):
38792        (WebCore::RenderInline::updateHitTestResult):
38793        * rendering/RenderLayer.cpp:
38794        (WebCore::RenderLayer::isTransparent):
38795        (WebCore::RenderLayer::scrollToOffset):
38796        (WebCore::RenderLayer::resize):
38797        (WebCore::RenderLayer::createScrollbar):
38798        (WebCore::RenderLayer::updateOverflowStatus):
38799        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
38800        (WebCore::RenderLayer::enclosingElement):
38801        (WebCore::RenderLayer::updateHoverActiveState):
38802        (WebCore::RenderLayer::updateScrollCornerStyle):
38803        (WebCore::RenderLayer::updateResizerStyle):
38804        * rendering/RenderLayer.h:
38805        (WebCore::RenderLayer::isRootLayer):
38806        * rendering/RenderListItem.cpp:
38807        (WebCore::getParentOfFirstLineBox):
38808        * rendering/RenderMarquee.cpp:
38809        (WebCore::RenderMarquee::marqueeSpeed):
38810        * rendering/RenderObject.cpp:
38811        (WebCore::RenderObject::RenderObject):
38812        (WebCore::RenderObject::isBody):
38813        (WebCore::RenderObject::isHR):
38814        (WebCore::RenderObject::isHTMLMarquee):
38815        (WebCore::RenderObject::isEditable):
38816        (WebCore::RenderObject::addPDFURLRect):
38817        (WebCore::RenderObject::showTreeForThis):
38818        (WebCore::RenderObject::draggableNode):
38819        (WebCore::RenderObject::hasOutlineAnnotation):
38820        (WebCore::RenderObject::positionForCoordinates):
38821        (WebCore::RenderObject::updateDragState):
38822        (WebCore::RenderObject::updateHitTestResult):
38823        (WebCore::RenderObject::getUncachedPseudoStyle):
38824        (WebCore::RenderObject::getTextDecorationColors):
38825        (WebCore::RenderObject::caretMaxOffset):
38826        (WebCore::RenderObject::offsetParent):
38827        * rendering/RenderObject.h:
38828        (WebCore::RenderObject::isRoot):
38829        (WebCore::RenderObject::isInlineContinuation):
38830        (WebCore::RenderObject::node):
38831        (WebCore::RenderObject::setNode):
38832        * rendering/RenderObjectChildList.cpp:
38833        (WebCore::RenderObjectChildList::destroyLeftoverChildren):
38834        * rendering/RenderPart.cpp:
38835        (WebCore::RenderPart::updateWidgetPosition):
38836        * rendering/RenderPartObject.cpp:
38837        (WebCore::RenderPartObject::updateWidget):
38838        (WebCore::RenderPartObject::viewCleared):
38839        * rendering/RenderPath.cpp:
38840        (WebCore::RenderPath::calculateLocalTransform):
38841        (WebCore::RenderPath::layout):
38842        (WebCore::RenderPath::paint):
38843        (WebCore::RenderPath::drawMarkersIfNeeded):
38844        * rendering/RenderReplaced.cpp:
38845        (WebCore::RenderReplaced::positionForCoordinates):
38846        (WebCore::RenderReplaced::isSelected):
38847        * rendering/RenderSVGGradientStop.cpp:
38848        (WebCore::RenderSVGGradientStop::gradientElement):
38849        * rendering/RenderSVGImage.cpp:
38850        (WebCore::RenderSVGImage::calculateLocalTransform):
38851        * rendering/RenderSVGInlineText.cpp:
38852        (WebCore::RenderSVGInlineText::positionForCoordinates):
38853        * rendering/RenderSVGRoot.cpp:
38854        (WebCore::RenderSVGRoot::layout):
38855        (WebCore::RenderSVGRoot::applyContentTransforms):
38856        (WebCore::RenderSVGRoot::paint):
38857        (WebCore::RenderSVGRoot::calcViewport):
38858        (WebCore::RenderSVGRoot::absoluteTransform):
38859        * rendering/RenderSVGText.cpp:
38860        (WebCore::RenderSVGText::calculateLocalTransform):
38861        (WebCore::RenderSVGText::layout):
38862        * rendering/RenderSVGTextPath.cpp:
38863        (WebCore::RenderSVGTextPath::layoutPath):
38864        (WebCore::RenderSVGTextPath::startOffset):
38865        (WebCore::RenderSVGTextPath::exactAlignment):
38866        (WebCore::RenderSVGTextPath::stretchMethod):
38867        * rendering/RenderSVGTransformableContainer.cpp:
38868        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
38869        * rendering/RenderSVGViewportContainer.cpp:
38870        (WebCore::RenderSVGViewportContainer::calcViewport):
38871        (WebCore::RenderSVGViewportContainer::viewportTransform):
38872        (WebCore::RenderSVGViewportContainer::nodeAtPoint):
38873        * rendering/RenderTable.cpp:
38874        (WebCore::RenderTable::addChild):
38875        * rendering/RenderTableCell.cpp:
38876        (WebCore::RenderTableCell::updateFromElement):
38877        (WebCore::RenderTableCell::calcPrefWidths):
38878        * rendering/RenderTableCol.cpp:
38879        (WebCore::RenderTableCol::updateFromElement):
38880        * rendering/RenderTableRow.cpp:
38881        (WebCore::RenderTableRow::addChild):
38882        * rendering/RenderTableSection.cpp:
38883        (WebCore::RenderTableSection::addChild):
38884        * rendering/RenderText.cpp:
38885        (WebCore::RenderText::originalText):
38886        (WebCore::RenderText::positionForCoordinates):
38887        * rendering/RenderTextControlMultiLine.cpp:
38888        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
38889        * rendering/RenderTextControlSingleLine.cpp:
38890        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
38891        * rendering/RenderTextFragment.cpp:
38892        (WebCore::RenderTextFragment::originalText):
38893        (WebCore::RenderTextFragment::previousCharacter):
38894        * rendering/RenderTheme.cpp:
38895        (WebCore::RenderTheme::isActive):
38896        (WebCore::RenderTheme::isChecked):
38897        (WebCore::RenderTheme::isIndeterminate):
38898        (WebCore::RenderTheme::isEnabled):
38899        (WebCore::RenderTheme::isFocused):
38900        (WebCore::RenderTheme::isPressed):
38901        (WebCore::RenderTheme::isReadOnlyControl):
38902        (WebCore::RenderTheme::isHovered):
38903        * rendering/RenderThemeMac.mm:
38904        (WebCore::RenderThemeMac::updatePressedState):
38905        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
38906        (WebCore::RenderThemeMac::paintMediaMuteButton):
38907        (WebCore::RenderThemeMac::paintMediaPlayButton):
38908        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
38909        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
38910        (WebCore::RenderThemeMac::paintMediaSliderTrack):
38911        (WebCore::RenderThemeMac::paintMediaSliderThumb):
38912        (WebCore::RenderThemeMac::paintMediaTimelineContainer):
38913        (WebCore::RenderThemeMac::paintMediaCurrentTime):
38914        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
38915        * rendering/RenderThemeSafari.cpp:
38916        (WebCore::RenderThemeSafari::paintMediaMuteButton):
38917        (WebCore::RenderThemeSafari::paintMediaPlayButton):
38918        (WebCore::RenderThemeSafari::paintMediaSliderTrack):
38919        * rendering/RenderTreeAsText.cpp:
38920        (WebCore::operator<<):
38921        (WebCore::writeSelection):
38922        * rendering/RenderWidget.cpp:
38923        (WebCore::RenderWidget::setWidgetGeometry):
38924        (WebCore::RenderWidget::updateWidgetPosition):
38925        (WebCore::RenderWidget::nodeAtPoint):
38926        * rendering/RootInlineBox.cpp:
38927        (WebCore::isEditableLeaf):
38928        * rendering/SVGRenderSupport.cpp:
38929        (WebCore::prepareToRenderSVGContent):
38930        * rendering/SVGRenderTreeAsText.cpp:
38931        (WebCore::write):
38932        * rendering/SVGRootInlineBox.cpp:
38933        (WebCore::SVGRootInlineBox::buildLayoutInformation):
38934        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
38935        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
38936        (WebCore::SVGRootInlineBox::buildTextChunks):
38937        * rendering/style/SVGRenderStyle.cpp:
38938        (WebCore::SVGRenderStyle::cssPrimitiveToLength):
38939        * svg/SVGFont.cpp:
38940        (WebCore::SVGTextRunWalker::walk):
38941        (WebCore::floatWidthOfSubStringUsingSVGFont):
38942        (WebCore::Font::drawTextUsingSVGFont):
38943        * svg/SVGTextContentElement.cpp:
38944        (WebCore::findInlineTextBoxInTextChunks):
38945        * svg/graphics/SVGPaintServer.cpp:
38946        (WebCore::SVGPaintServer::fillPaintServer):
38947        (WebCore::SVGPaintServer::strokePaintServer):
38948
389492009-02-11  Brady Eidson  <beidson@apple.com>
38950
38951        Reviewed by Darin Adler
38952
38953        <rdar://problem/3541409> - Further FrameLoader and page cache cleanup
38954
38955        * history/CachedFrame.cpp:
38956        (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
38957
38958        * loader/FrameLoader.cpp:
38959        (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method.  This method was
38960          the only caller and - in the future - will benefit from doing parts of opened()'s work differently.
38961        (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method.
38962        (WebCore::FrameLoader::closeAndRemoveChild): Added.  Do the non-tree related cleanup that
38963          FrameTree::removeChild() used to do.
38964        (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead.
38965        (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
38966        * loader/FrameLoader.h:
38967
38968        * page/FrameTree.cpp:
38969        (WebCore::FrameTree::removeChild): Just remove the Frame from the tree.  Closing it and other
38970          cleanup is the responsibility of the FrameLoader.
38971        * page/FrameTree.h:
38972        (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
38973
389742009-02-11  Scott Violet  <sky@google.com>
38975
38976        Reviewed by Eric Seidel.
38977
38978        https://bugs.webkit.org/show_bug.cgi?id=23882
38979        GraphicsContextSkia draws round rects as solid rects
38980
38981        Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
38982        . fillRoundedRect had an extra call to fillRect, resulting in always
38983          drawing a solid rectangle.
38984        . if the total radius along a given axis is greater than the size of
38985          the axis to draw, a solid rect should be drawn.
38986
38987        The layout tests LayoutTests/fast/css/shadow-multiple.html and
38988        LayoutTests/fast/box-shadow/basic-shadows.html cover this.
38989
38990        * platform/graphics/skia/GraphicsContextSkia.cpp:
38991        (WebCore::GraphicsContext::fillRoundedRect):
38992
389932009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
38994
38995        Reviewed by Eric Seidel.
38996
38997        Bug 23536: Auto-generate HTMLElementFactory
38998
38999        Remove the HTMLElementFactory files. Farewell.
39000
39001        * html/HTMLElementFactory.cpp: Removed.
39002        * html/HTMLElementFactory.h: Removed.
39003
390042009-02-11  Julien Chaffraix  <jchaffraix@webkit.org>
39005
39006        Reviewed by Eric Seidel.
39007
39008        Bug 23536: Auto-generate HTMLElementFactory
39009
39010        Make the platform auto-generate the HTMLElementFactory.
39011
39012        * DerivedSources.make:
39013        * GNUmakefile.am:
39014        * WebCore.pro:
39015        * WebCore.scons:
39016        * WebCore.vcproj/WebCore.vcproj:
39017        * WebCore.xcodeproj/project.pbxproj:
39018        * WebCoreSources.bkl:
39019        * webcore-base.bkl:
39020
390212009-02-11  Sam Weinig  <sam@webkit.org>
39022
39023        Reviewed by David Hyatt.
39024
39025        Remove unneeded ASSERTS.
39026
39027        * rendering/RenderBox.h:
39028        (WebCore::RenderBox::width):
39029        (WebCore::RenderBox::height):
39030        (WebCore::RenderBox::size):
39031        (WebCore::RenderBox::frameRect):
39032
390332009-02-11  Simon Fraser  <simon.fraser@apple.com>
39034
39035        Reviewed by Dave Hyatt
39036
39037        Add function to RenderStyle to ask whether a background image has been specified.
39038
39039        * rendering/style/RenderStyle.h:
39040        (WebCore::InheritedFlags::hasBackgroundImage):
39041
390422009-02-11  Simon Fraser  <simon.fraser@apple.com>
39043
39044        Reviewed by Dave Hyatt
39045
39046        https://bugs.webkit.org/show_bug.cgi?id=23548
39047
39048        When opacity or transform change on an object which has a compositing layer,
39049        avoid repainting the layer.
39050
39051        Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
39052        that the only thing styleChanged() has to do is to update composited properties of
39053        the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
39054        properties, currently for opacity and transform. When one of these changes, we need
39055        to see if we have a compositing layer before we decide whether to layout/repaint,
39056        or just update the composited layer, via adjustStyleDifference().
39057
39058        * rendering/RenderObject.cpp:
39059        (WebCore::RenderObject::adjustStyleDifference):
39060        (WebCore::RenderObject::setStyle):
39061        (WebCore::RenderObject::styleDidChange):
39062        * rendering/RenderObject.h:
39063        * rendering/style/RenderStyle.cpp:
39064        (WebCore::RenderStyle::diff):
39065        * rendering/style/RenderStyle.h:
39066        * rendering/style/RenderStyleConstants.h:
39067        (WebCore::):
39068
390692009-02-11  Alexey Proskuryakov  <ap@webkit.org>
39070
39071        Reviewed by Darin Adler.
39072
39073        <rdar://problem/6562920> Pasted text should be normalized to NFC
39074
39075        Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.
39076
39077        * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through
39078        -[NSString precomposedStringWithCanonicalMapping].
39079
390802009-02-10  Chris Marrin  <cmarrin@apple.com>
39081
39082        Reviewed by Simon Fraser.
39083
39084        https://bugs.webkit.org/show_bug.cgi?id=23883
39085
39086        Added new TransformOperation subclasses and methods to existing ones
39087        to support 3D.
39088
39089        * WebCore.xcodeproj/project.pbxproj:
39090        * platform/graphics/transforms/IdentityTransformOperation.h:
39091        (WebCore::IdentityTransformOperation::isAffine):
39092        * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added.
39093        (WebCore::Matrix3DTransformOperation::blend):
39094        * platform/graphics/transforms/Matrix3DTransformOperation.h: Added.
39095        (WebCore::Matrix3DTransformOperation::create):
39096        (WebCore::Matrix3DTransformOperation::isIdentity):
39097        (WebCore::Matrix3DTransformOperation::isAffine):
39098        (WebCore::Matrix3DTransformOperation::getOperationType):
39099        (WebCore::Matrix3DTransformOperation::isSameType):
39100        (WebCore::Matrix3DTransformOperation::operator==):
39101        (WebCore::Matrix3DTransformOperation::apply):
39102        (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation):
39103        * platform/graphics/transforms/MatrixTransformOperation.h:
39104        (WebCore::MatrixTransformOperation::isAffine):
39105        (WebCore::MatrixTransformOperation::apply):
39106        * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added.
39107        (WebCore::PerspectiveTransformOperation::blend):
39108        * platform/graphics/transforms/PerspectiveTransformOperation.h: Added.
39109        (WebCore::PerspectiveTransformOperation::create):
39110        (WebCore::PerspectiveTransformOperation::isIdentity):
39111        (WebCore::PerspectiveTransformOperation::isAffine):
39112        (WebCore::PerspectiveTransformOperation::getOperationType):
39113        (WebCore::PerspectiveTransformOperation::isSameType):
39114        (WebCore::PerspectiveTransformOperation::operator==):
39115        (WebCore::PerspectiveTransformOperation::apply):
39116        (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation):
39117        * platform/graphics/transforms/RotateTransformOperation.cpp:
39118        (WebCore::RotateTransformOperation::blend):
39119        * platform/graphics/transforms/RotateTransformOperation.h:
39120        (WebCore::RotateTransformOperation::create):
39121        (WebCore::RotateTransformOperation::angle):
39122        (WebCore::RotateTransformOperation::isAffine):
39123        (WebCore::RotateTransformOperation::operator==):
39124        (WebCore::RotateTransformOperation::apply):
39125        (WebCore::RotateTransformOperation::RotateTransformOperation):
39126        * platform/graphics/transforms/ScaleTransformOperation.cpp:
39127        (WebCore::ScaleTransformOperation::blend):
39128        * platform/graphics/transforms/ScaleTransformOperation.h:
39129        (WebCore::ScaleTransformOperation::create):
39130        (WebCore::ScaleTransformOperation::z):
39131        (WebCore::ScaleTransformOperation::isIdentity):
39132        (WebCore::ScaleTransformOperation::isAffine):
39133        (WebCore::ScaleTransformOperation::operator==):
39134        (WebCore::ScaleTransformOperation::apply):
39135        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
39136        * platform/graphics/transforms/SkewTransformOperation.h:
39137        (WebCore::SkewTransformOperation::isAffine):
39138        * platform/graphics/transforms/TransformOperation.h:
39139        (WebCore::TransformOperation::):
39140        (WebCore::TransformOperation::is3DOperation):
39141        * platform/graphics/transforms/TransformOperations.h:
39142        (WebCore::TransformOperations::isAffine):
39143        (WebCore::TransformOperations::has3DOperation):
39144        * platform/graphics/transforms/TranslateTransformOperation.cpp:
39145        (WebCore::TranslateTransformOperation::blend):
39146        * platform/graphics/transforms/TranslateTransformOperation.h:
39147        (WebCore::TranslateTransformOperation::create):
39148        (WebCore::TranslateTransformOperation::z):
39149        (WebCore::TranslateTransformOperation::isIdentity):
39150        (WebCore::TranslateTransformOperation::isAffine):
39151        (WebCore::TranslateTransformOperation::operator==):
39152        (WebCore::TranslateTransformOperation::apply):
39153        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
39154
391552009-02-11  David Hyatt  <hyatt@apple.com>
39156
39157        Move createAnonymousBlock() to RenderBlock.  Since anonymous blocks are always parented to some other block,
39158        we can move this function to RenderBlock.  Fix a couple of call sites as a result of this restriction.
39159
39160        Reviewed by Simon Fraser
39161
39162        * rendering/RenderBlock.cpp:
39163        (WebCore::RenderBlock::createAnonymousBlock):
39164        * rendering/RenderBlock.h:
39165        * rendering/RenderInline.cpp:
39166        (WebCore::RenderInline::childBecameNonInline):
39167        * rendering/RenderObject.cpp:
39168        (WebCore::RenderObject::handleDynamicFloatPositionChange):
39169        * rendering/RenderObject.h:
39170
391712009-02-11  David Hyatt  <hyatt@apple.com>
39172
39173        https://bugs.webkit.org/show_bug.cgi?id=23895
39174
39175        Remove two complete nonsense lines that I accidentally added from a cut and paste error.  This
39176        restores the original logic.
39177
39178        Reviewed by Simon Fraser
39179
39180        * rendering/RenderBox.cpp:
39181        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
39182
391832009-02-11  David Hyatt  <hyatt@apple.com>
39184
39185        Rename getBaselineOfFirstLineBox to firstLineBoxBaseline.  Rename getBaselineOfLastLineBox to
39186        lastLineBoxBaseline.  Remove the functions from RenderObject and add them to RenderBox instead.
39187
39188        Reviewed by Eric Seidel
39189
39190        * rendering/RenderBlock.cpp:
39191        (WebCore::RenderBlock::baselinePosition):
39192        (WebCore::RenderBlock::firstLineBoxBaseline):
39193        (WebCore::RenderBlock::lastLineBoxBaseline):
39194        * rendering/RenderBlock.h:
39195        * rendering/RenderBox.h:
39196        (WebCore::RenderBox::firstLineBoxBaseline):
39197        (WebCore::RenderBox::lastLineBoxBaseline):
39198        * rendering/RenderFlexibleBox.cpp:
39199        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
39200        * rendering/RenderObject.h:
39201        * rendering/RenderTable.cpp:
39202        (WebCore::RenderTable::firstLineBoxBaseline):
39203        * rendering/RenderTable.h:
39204        * rendering/RenderTableCell.cpp:
39205        (WebCore::RenderTableCell::baselinePosition):
39206        * rendering/RenderTableSection.cpp:
39207        (WebCore::RenderTableSection::firstLineBoxBaseline):
39208        * rendering/RenderTableSection.h:
39209
392102009-02-11  Eric Carlson  <eric.carlson@apple.com>
39211
39212        Reviewed by Simon Fraser
39213
39214        https://bugs.webkit.org/show_bug.cgi?id=23877
39215        Allow port to disable progress events from <video> and <audio> elements
39216
39217        * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents.
39218        (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false.
39219        (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto.
39220        (WebCore::HTMLMediaElement::load): Ditto.
39221        * html/HTMLMediaElement.h: Add m_sendProgressEvents
39222
392232009-02-11  Adam Roben  <aroben@apple.com>
39224
39225        Windows build fix
39226
39227        * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including
39228        it leads to ambiguities for symbols like "aTag", which exist in both
39229        the HTMLNames and SVGNames namespaces.
39230
39231        * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the
39232        project directly. VS also decided to reformat this file a little bit.
39233
392342009-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
39235
39236        Reviewed by Eric Seidel.
39237
39238        Bug 23536: Auto-generate HTMLElementFactory
39239
39240        Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:
39241
39242        - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image>
39243          uses imgTag for example) and wired the code generation to be consistent with the current factory.
39244
39245        - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
39246
39247        - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as
39248          close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
39249
39250        * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory
39251          as closely as possible.
39252
39253        * html/HTMLElementFactory.cpp:
39254        (WebCore::quoteConstructor):
39255        * html/HTMLQuoteElement.cpp:
39256        (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some
39257        part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
39258
39259        * html/HTMLTagNames.in: Corrected <image> parameters.
39260
392612009-02-10  David Hyatt  <hyatt@apple.com>
39262
39263        Fix for pixel test regression in fast/text.  Make sure not to add in
39264        the borderTop and paddingTop of the block to the baseline when painting
39265        strict mode text decorations.
39266
39267        Reviewed by Mark Rowe
39268
39269        * rendering/InlineFlowBox.cpp:
39270        (WebCore::InlineFlowBox::paintTextDecorations):
39271        * rendering/InlineFlowBox.h:
39272
392732009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
39274
39275        Windows build fix after r40837.
39276
39277        Not reviewed.
39278
39279        * DerivedSources.cpp:
39280
392812009-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
39282
39283        <rdar://6349412> REGRESSION(r37204): Page is not repainted during and
39284        after pan scrolling
39285
39286        Reviewed by Steve Falkenburg.
39287
39288        * platform/ScrollView.cpp:
39289        (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll
39290        icon rect immediately; we will paint after the view has been scrolled.
39291
392922009-02-10  Oliver Hunt  <oliver@apple.com>
39293
39294        Reviewed by Adele Peterson.
39295
39296        <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop
39297
39298        This problem was caused by incorrectly ignoring whether or not the
39299        default behaviour of the mousedown event was suppressed.  If a
39300        mousedown handler in a frame prevents default handling then the
39301        subsequent mousemove events fired for the drag should not be
39302        captured by that frame, should the mouse move out of its bounds.
39303
39304        Test: fast/events/mouse-drag-from-frame.html
39305
39306        * page/EventHandler.cpp:
39307        (WebCore::EventHandler::EventHandler):
39308        (WebCore::EventHandler::clear):
39309        (WebCore::EventHandler::handleMouseReleaseEvent):
39310            Reset new m_capturesDragging flag
39311
39312        (WebCore::EventHandler::handleMousePressEvent):
39313            Respect the m_capturesDragging flag when we propagate
39314            a mousedown event to a subframe.
39315
39316        * page/EventHandler.h:
39317        (WebCore::EventHandler::capturesDragging):
39318
393192009-02-10  Kevin Ollivier  <kevino@theolliviers.com>
39320
39321        wx build fixes for recent changes to TransformationMatrix and DOMElement.
39322
39323        * WebCoreSources.bkl:
39324        * dom/Element.cpp:
39325        * platform/graphics/transforms/TransformationMatrix.h:
39326        * platform/graphics/wx/TransformationMatrixWx.cpp:
39327        (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
39328
393292009-02-10  David Hyatt  <hyatt@apple.com>
39330
39331        Some renames on line boxes.  xPos()/yPos() -> x()/y().  setXPos()/setYPos() -> setX()/setY().  m_object/object() -> m_renderer/renderer().  textObject() -> textRenderer().
39332
39333        Reviewed by Sam Weinig
39334
39335        * dom/Position.cpp:
39336        (WebCore::Position::upstream):
39337        (WebCore::Position::downstream):
39338        * editing/VisiblePosition.cpp:
39339        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
39340        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
39341        (WebCore::VisiblePosition::localCaretRect):
39342        * editing/visible_units.cpp:
39343        (WebCore::startPositionForLine):
39344        (WebCore::endPositionForLine):
39345        (WebCore::previousLinePosition):
39346        (WebCore::nextLinePosition):
39347        * rendering/EllipsisBox.cpp:
39348        (WebCore::EllipsisBox::paint):
39349        (WebCore::EllipsisBox::nodeAtPoint):
39350        * rendering/InlineBox.cpp:
39351        (WebCore::InlineBox::showTreeForThis):
39352        (WebCore::InlineBox::height):
39353        (WebCore::InlineBox::caretMinOffset):
39354        (WebCore::InlineBox::caretMaxOffset):
39355        (WebCore::InlineBox::deleteLine):
39356        (WebCore::InlineBox::extractLine):
39357        (WebCore::InlineBox::attachLine):
39358        (WebCore::InlineBox::adjustPosition):
39359        (WebCore::InlineBox::paint):
39360        (WebCore::InlineBox::nodeAtPoint):
39361        (WebCore::InlineBox::selectionState):
39362        (WebCore::InlineBox::canAccommodateEllipsis):
39363        * rendering/InlineBox.h:
39364        (WebCore::InlineBox::InlineBox):
39365        (WebCore::InlineBox::renderer):
39366        (WebCore::InlineBox::setX):
39367        (WebCore::InlineBox::x):
39368        (WebCore::InlineBox::setY):
39369        (WebCore::InlineBox::y):
39370        (WebCore::InlineBox::topOverflow):
39371        (WebCore::InlineBox::bottomOverflow):
39372        (WebCore::InlineBox::leftOverflow):
39373        (WebCore::InlineBox::rightOverflow):
39374        (WebCore::InlineBox::visibleToHitTesting):
39375        (WebCore::InlineBox::boxModelObject):
39376        * rendering/InlineFlowBox.cpp:
39377        (WebCore::InlineFlowBox::height):
39378        (WebCore::InlineFlowBox::addToLine):
39379        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
39380        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
39381        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
39382        (WebCore::InlineFlowBox::rendererLineBoxes):
39383        (WebCore::InlineFlowBox::onEndChain):
39384        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
39385        (WebCore::InlineFlowBox::placeBoxesHorizontally):
39386        (WebCore::InlineFlowBox::verticallyAlignBoxes):
39387        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
39388        (WebCore::verticalPositionForBox):
39389        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
39390        (WebCore::InlineFlowBox::placeBoxesVertically):
39391        (WebCore::InlineFlowBox::nodeAtPoint):
39392        (WebCore::InlineFlowBox::paint):
39393        (WebCore::InlineFlowBox::paintFillLayer):
39394        (WebCore::InlineFlowBox::paintBoxShadow):
39395        (WebCore::InlineFlowBox::paintBoxDecorations):
39396        (WebCore::InlineFlowBox::paintMask):
39397        (WebCore::InlineFlowBox::paintTextDecorations):
39398        * rendering/InlineFlowBox.h:
39399        (WebCore::InlineFlowBox::borderLeft):
39400        (WebCore::InlineFlowBox::borderRight):
39401        (WebCore::InlineFlowBox::borderTop):
39402        (WebCore::InlineFlowBox::borderBottom):
39403        (WebCore::InlineFlowBox::baseline):
39404        * rendering/InlineTextBox.cpp:
39405        (WebCore::InlineTextBox::height):
39406        (WebCore::InlineTextBox::selectionState):
39407        (WebCore::InlineTextBox::selectionRect):
39408        (WebCore::InlineTextBox::deleteLine):
39409        (WebCore::InlineTextBox::extractLine):
39410        (WebCore::InlineTextBox::attachLine):
39411        (WebCore::InlineTextBox::placeEllipsisBox):
39412        (WebCore::InlineTextBox::isLineBreak):
39413        (WebCore::InlineTextBox::nodeAtPoint):
39414        (WebCore::InlineTextBox::paint):
39415        (WebCore::InlineTextBox::selectionStartEnd):
39416        (WebCore::InlineTextBox::paintSelection):
39417        (WebCore::InlineTextBox::paintCompositionBackground):
39418        (WebCore::InlineTextBox::paintCustomHighlight):
39419        (WebCore::InlineTextBox::paintDecoration):
39420        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
39421        (WebCore::InlineTextBox::paintTextMatchMarker):
39422        (WebCore::InlineTextBox::paintDocumentMarkers):
39423        (WebCore::InlineTextBox::paintCompositionUnderline):
39424        (WebCore::InlineTextBox::textPos):
39425        (WebCore::InlineTextBox::offsetForPosition):
39426        (WebCore::InlineTextBox::positionForOffset):
39427        * rendering/InlineTextBox.h:
39428        (WebCore::InlineTextBox::textRenderer):
39429        * rendering/ListMarkerBox.cpp:
39430        (WebCore::ListMarkerBox::isText):
39431        * rendering/RenderBlock.cpp:
39432        (WebCore::RenderBlock::paintEllipsisBoxes):
39433        (WebCore::RenderBlock::lowestPosition):
39434        (WebCore::RenderBlock::rightmostPosition):
39435        (WebCore::RenderBlock::leftmostPosition):
39436        (WebCore::RenderBlock::positionForBox):
39437        (WebCore::RenderBlock::positionForCoordinates):
39438        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
39439        (WebCore::RenderBlock::getBaselineOfLastLineBox):
39440        (WebCore::RenderBlock::adjustForBorderFit):
39441        (WebCore::RenderBlock::addFocusRingRects):
39442        * rendering/RenderBox.cpp:
39443        (WebCore::RenderBox::paintCustomHighlight):
39444        (WebCore::RenderBox::position):
39445        (WebCore::RenderBox::containingBlockWidthForPositioned):
39446        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
39447        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
39448        * rendering/RenderBoxModelObject.cpp:
39449        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
39450        * rendering/RenderFlexibleBox.cpp:
39451        (WebCore::RenderFlexibleBox::layoutVerticalBox):
39452        * rendering/RenderInline.cpp:
39453        (WebCore::RenderInline::absoluteRects):
39454        (WebCore::RenderInline::absoluteQuads):
39455        (WebCore::RenderInline::offsetLeft):
39456        (WebCore::RenderInline::offsetTop):
39457        (WebCore::RenderInline::linesBoundingBox):
39458        (WebCore::RenderInline::relativePositionedInlineOffset):
39459        (WebCore::RenderInline::addFocusRingRects):
39460        (WebCore::RenderInline::paintOutline):
39461        * rendering/RenderLayer.cpp:
39462        (WebCore::RenderLayer::localBoundingBox):
39463        * rendering/RenderSVGTSpan.cpp:
39464        (WebCore::RenderSVGTSpan::absoluteRects):
39465        (WebCore::RenderSVGTSpan::absoluteQuads):
39466        * rendering/RenderSVGText.cpp:
39467        (WebCore::RenderSVGText::absoluteRects):
39468        (WebCore::RenderSVGText::absoluteQuads):
39469        (WebCore::RenderSVGText::relativeBBox):
39470        * rendering/RenderSVGTextPath.cpp:
39471        (WebCore::RenderSVGTextPath::absoluteRects):
39472        (WebCore::RenderSVGTextPath::absoluteQuads):
39473        * rendering/RenderText.cpp:
39474        (WebCore::RenderText::absoluteRects):
39475        (WebCore::RenderText::absoluteRectsForRange):
39476        (WebCore::RenderText::absoluteQuads):
39477        (WebCore::RenderText::absoluteQuadsForRange):
39478        (WebCore::RenderText::localCaretRect):
39479        (WebCore::RenderText::linesBoundingBox):
39480        * rendering/RootInlineBox.cpp:
39481        (WebCore::RootInlineBox::height):
39482        (WebCore::RootInlineBox::clearTruncation):
39483        (WebCore::RootInlineBox::placeEllipsis):
39484        (WebCore::RootInlineBox::paintEllipsisBox):
39485        (WebCore::RootInlineBox::addHighlightOverflow):
39486        (WebCore::RootInlineBox::paintCustomHighlight):
39487        (WebCore::RootInlineBox::paint):
39488        (WebCore::RootInlineBox::nodeAtPoint):
39489        (WebCore::RootInlineBox::childRemoved):
39490        (WebCore::RootInlineBox::fillLineSelectionGap):
39491        (WebCore::RootInlineBox::block):
39492        (WebCore::isEditableLeaf):
39493        (WebCore::RootInlineBox::closestLeafChildForXPos):
39494        (WebCore::RootInlineBox::setVerticalOverflowPositions):
39495        * rendering/RootInlineBox.h:
39496        (WebCore::RootInlineBox::bottomOverflow):
39497        (WebCore::RootInlineBox::floats):
39498        (WebCore::RootInlineBox::setHorizontalOverflowPositions):
39499        (WebCore::RootInlineBox::setVerticalSelectionPositions):
39500        * rendering/SVGCharacterLayoutInfo.cpp:
39501        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
39502        * rendering/SVGInlineTextBox.cpp:
39503        (WebCore::SVGInlineTextBox::calculateGlyphWidth):
39504        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
39505        (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
39506        (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
39507        (WebCore::SVGInlineTextBox::nodeAtPoint):
39508        (WebCore::SVGInlineTextBox::paintCharacters):
39509        (WebCore::SVGInlineTextBox::paintSelection):
39510        (WebCore::SVGInlineTextBox::paintDecoration):
39511        * rendering/SVGRenderTreeAsText.cpp:
39512        (WebCore::writeSVGInlineTextBox):
39513        * rendering/SVGRootInlineBox.cpp:
39514        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
39515        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
39516        (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
39517        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
39518        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
39519        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
39520        (WebCore::SVGRootInlineBox::paint):
39521        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
39522        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
39523        (WebCore::svgTextRunForInlineTextBox):
39524        (WebCore::cummulatedWidthOrHeightOfTextChunk):
39525        (WebCore::applyTextAnchorToTextChunk):
39526        (WebCore::SVGRootInlineBox::buildLayoutInformation):
39527        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
39528        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
39529        (WebCore::SVGRootInlineBox::buildTextChunks):
39530        * rendering/bidi.cpp:
39531        (WebCore::RenderBlock::constructLine):
39532        (WebCore::RenderBlock::computeVerticalPositionsForLine):
39533        (WebCore::RenderBlock::layoutInlineChildren):
39534        (WebCore::RenderBlock::checkLinesForTextOverflow):
39535        * svg/SVGTextContentElement.cpp:
39536        (WebCore::cumulativeCharacterRangeLength):
39537        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
39538        (WebCore::findInlineTextBoxInTextChunks):
39539
395402009-02-10  Simon Fraser  <simon.fraser@apple.com>
39541
39542        Reviewed by Dave Hyatt
39543
39544        Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
39545        that animation of an accelerated property must run in software for some reason.
39546
39547        Also remove use of private headers in GraphicsLayerCA related to a case
39548        where we may have to fall back on software animation of transform.
39549
39550        * page/animation/AnimationBase.cpp:
39551        (WebCore::AnimationBase::blendProperties):
39552        * page/animation/AnimationBase.h:
39553        * page/animation/ImplicitAnimation.cpp:
39554        (WebCore::ImplicitAnimation::animate):
39555        * page/animation/KeyframeAnimation.cpp:
39556        (WebCore::KeyframeAnimation::animate):
39557        * platform/graphics/mac/GraphicsLayerCA.h:
39558        * platform/graphics/mac/GraphicsLayerCA.mm:
39559        (WebCore::getValueFunctionNameForTransformOperation):
39560        (WebCore::caValueFunctionSupported):
39561        (WebCore::GraphicsLayerCA::setBackgroundColor):
39562        (WebCore::GraphicsLayerCA::setOpacity):
39563        (WebCore::GraphicsLayerCA::animateTransform):
39564        (WebCore::GraphicsLayerCA::animateFloat):
39565        (WebCore::GraphicsLayerCA::setBasicAnimation):
39566        (WebCore::GraphicsLayerCA::setKeyframeAnimation):
39567
395682009-02-10  Simon Fraser  <simon.fraser@apple.com>
39569
39570        Reviewed by Dave Hyatt
39571
39572        Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
39573        relates to the RenderLayer z-order/overflow structure, rather than the render tree
39574        parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
39575        the enclosing layer excluding self.
39576
39577        Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
39578        lists.
39579
39580        Check for documentBeingDestroyed() in a few places to avoid work on document
39581        teardown.
39582
39583        * rendering/RenderLayer.cpp:
39584        (WebCore::RenderLayer::enclosingCompositingLayer):
39585        (WebCore::RenderLayer::setParent):
39586        (WebCore::RenderLayer::dirtyZOrderLists):
39587        (WebCore::RenderLayer::dirtyOverflowList):
39588        * rendering/RenderLayer.h:
39589        (WebCore::RenderLayer::ancestorCompositingLayer):
39590        * rendering/RenderLayerBacking.cpp:
39591        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
39592        * rendering/RenderLayerCompositor.cpp:
39593        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
39594        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
39595        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
39596        (WebCore::RenderLayerCompositor::clippedByAncestor):
39597        * rendering/RenderLayerCompositor.h:
39598        * rendering/RenderObject.cpp:
39599        (WebCore::RenderObject::containerForRepaint):
39600        * rendering/RenderObject.h:
39601
396022009-02-10  David Hyatt  <hyatt@apple.com>
39603
39604        Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox.  Rename setPos to setLocation.
39605
39606        Reviewed by Simon Fraser
39607
39608        * dom/MouseRelatedEvent.cpp:
39609        (WebCore::MouseRelatedEvent::receivedTarget):
39610        * rendering/RenderLayer.cpp:
39611        (WebCore::RenderLayer::updateLayerPosition):
39612        (WebCore::RenderLayer::convertToLayerCoords):
39613        * rendering/RenderLayer.h:
39614        (WebCore::RenderLayer::x):
39615        (WebCore::RenderLayer::y):
39616        (WebCore::RenderLayer::setLocation):
39617        * rendering/RenderTreeAsText.cpp:
39618        (WebCore::write):
39619        (WebCore::externalRepresentation):
39620
396212009-02-10  Darin Fisher  <darin@chromium.org>
39622
39623        Reviewed by Eric Seidel.
39624
39625        https://bugs.webkit.org/show_bug.cgi?id=23879
39626        Add missing PLATFORM(SKIA) changes to TransformationMatrix.h
39627
39628        * platform/graphics/transforms/TransformationMatrix.h:
39629
396302009-02-10  Sam Weinig  <sam@webkit.org>
39631
39632        Reviewed by David Hyatt.
39633
39634        Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
39635        Please implement getBoundingClientRect and getClientRects
39636        <rdar://problem/6139669>
39637
39638        Cursory implementation of Element.getBoundingClientRect and
39639        Element.getClientRects. Adds necessary infrastructure classes
39640        ClientRect and ClientRectList.
39641
39642        Tests: fast/dom/getBoundingClientRect.html
39643               fast/dom/getClientRects.html
39644
39645        * DerivedSources.make:
39646        * GNUmakefile.am:
39647        * WebCore.pro:
39648        * WebCore.vcproj/WebCore.vcproj:
39649        * WebCore.xcodeproj/project.pbxproj:
39650        * WebCoreSources.bkl:
39651        * dom/ClientRect.cpp: Added.
39652        (WebCore::ClientRect::ClientRect):
39653        * dom/ClientRect.h: Added.
39654        (WebCore::ClientRect::create):
39655        (WebCore::ClientRect::top):
39656        (WebCore::ClientRect::right):
39657        (WebCore::ClientRect::bottom):
39658        (WebCore::ClientRect::left):
39659        (WebCore::ClientRect::width):
39660        (WebCore::ClientRect::height):
39661        * dom/ClientRect.idl: Added.
39662        * dom/ClientRectList.cpp: Added.
39663        (WebCore::ClientRectList::ClientRectList):
39664        (WebCore::ClientRectList::~ClientRectList):
39665        (WebCore::ClientRectList::length):
39666        (WebCore::ClientRectList::item):
39667        * dom/ClientRectList.h: Added.
39668        (WebCore::ClientRectList::create):
39669        * dom/ClientRectList.idl: Added.
39670        * dom/Element.cpp:
39671        (WebCore::Element::getClientRects):
39672        (WebCore::Element::getBoundingClientRect):
39673        * dom/Element.h:
39674        * dom/Element.idl:
39675        * page/DOMWindow.idl:
39676        * rendering/RenderInline.cpp:
39677        (WebCore::RenderInline::absoluteRects):
39678        (WebCore::RenderInline::absoluteQuads):
39679
396802009-02-10  David Hyatt  <hyatt@apple.com>
39681
39682        Get rid of capsLockStateMayHaveChanged on RenderObject.  It is only implemented by one class (text fields),
39683        so devirtualize and just query at the single call site.
39684
39685        Reviewed by Eric Seidel
39686
39687        * page/EventHandler.cpp:
39688        (WebCore::EventHandler::capsLockStateMayHaveChanged):
39689        * rendering/RenderObject.h:
39690        * rendering/RenderTextControlSingleLine.h:
39691
396922009-02-10  David Hyatt  <hyatt@apple.com>
39693
39694        Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes.  This patch moves the cached vertical position member to RenderInlines,
39695        since they were the only objects being queried across multiple lines.
39696
39697        Reviewed by Sam Weinig
39698
39699        * rendering/InlineFlowBox.cpp:
39700        (WebCore::verticalPositionForBox):
39701        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
39702        * rendering/RenderBoxModelObject.cpp:
39703        (WebCore::RenderBoxModelObject::verticalPosition):
39704        * rendering/RenderBoxModelObject.h:
39705        * rendering/RenderInline.cpp:
39706        (WebCore::RenderInline::RenderInline):
39707        (WebCore::RenderInline::verticalPositionFromCache):
39708        * rendering/RenderInline.h:
39709        (WebCore::RenderInline::invalidateVerticalPosition):
39710        * rendering/RenderObject.cpp:
39711        (WebCore::RenderObject::RenderObject):
39712        * rendering/RenderObject.h:
39713        * rendering/RenderText.cpp:
39714        * rendering/RenderText.h:
39715        * rendering/bidi.cpp:
39716        (WebCore::RenderBlock::layoutInlineChildren):
39717
397182009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
39719
39720        Reviewed by Mark Rowe.
39721
39722        https://bugs.webkit.org/show_bug.cgi?id=23868
39723        Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.
39724
39725        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
39726        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
39727
397282009-02-10  Dimitri Glazkov  <dglazkov@chromium.org>
39729
39730        Reviewed by Eric Seidel.
39731
39732        https://bugs.webkit.org/show_bug.cgi?id=23868
39733        Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.
39734
39735        * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added.
39736        (WebCore::ACCESSOR_GETTER):
39737        (WebCore::ACCESSOR_SETTER):
39738        (WebCore::CALLBACK_FUNC_DECL):
39739        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added.
39740        (WebCore::ACCESSOR_GETTER):
39741        (WebCore::ACCESSOR_SETTER):
39742
397432009-02-10  Adam Roben  <aroben@apple.com>
39744
39745        Fix Bug 23871: Assertion failure beneath WebCore::openFunc when
39746        running http/tests/security/xss-DENIED-xsl-document-redirect.xml
39747
39748        <https://bugs.webkit.org/show_bug.cgi?id=23871>
39749
39750        Reviewed by Alexey Proskuryakov.
39751
39752        Covered by existing tests.
39753
39754        * dom/XMLTokenizerLibxml2.cpp:
39755        (WebCore::openFunc): Use the two-parameter KURL constructor so that
39756        the string will be parsed. libxml2 gives us a UTF-8-encoded string
39757        that needs to be parsed.
39758
397592009-02-10  David Hyatt  <hyatt@apple.com>
39760
39761        Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
39762        overflow boolean into the RenderObject base class.
39763
39764        Reviewed by Sam Weinig
39765
39766        * rendering/RenderObject.cpp:
39767        (WebCore::RenderObject::RenderObject):
39768        * rendering/RenderObject.h:
39769        (WebCore::RenderObject::replacedHasOverflow):
39770        (WebCore::RenderObject::setReplacedHasOverflow):
39771        * rendering/RenderReplaced.cpp:
39772        (WebCore::RenderReplaced::RenderReplaced):
39773        (WebCore::RenderReplaced::~RenderReplaced):
39774        (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
39775        (WebCore::RenderReplaced::overflowHeight):
39776        (WebCore::RenderReplaced::overflowWidth):
39777        (WebCore::RenderReplaced::overflowLeft):
39778        (WebCore::RenderReplaced::overflowTop):
39779        (WebCore::RenderReplaced::overflowRect):
39780        * rendering/RenderReplaced.h:
39781
397822009-02-10  Eric Carlson  <eric.carlson@apple.com>
39783
39784        Reviewed by Simon Fraser.
39785
39786        https://bugs.webkit.org/show_bug.cgi?id=23870
39787        Make it possible for a port to require a user gesture for an <audio> or <video> element
39788        to load a url.
39789
39790        * html/HTMLMediaElement.cpp:
39791        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions.
39792        (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests.
39793        (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set
39794        and we are not preocessing a user gesture.
39795        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space.
39796        (WebCore::HTMLMediaElement::play): Ditto.
39797        (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789.
39798        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it
39799        multiple times.
39800        (WebCore::HTMLMediaElement::processingUserGesture): New.
39801        * html/HTMLMediaElement.h:
39802        (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
39803
398042009-02-10  Holger Hans Peter Freyther  <zecke@selfish.org>
39805
39806        Reviewed by Sam Weinig.
39807
39808        Remove the SVG checks from FloatPoint3D as it is used
39809        by TransformationMatrix.
39810
39811        * platform/graphics/FloatPoint3D.cpp:
39812        * platform/graphics/FloatPoint3D.h:
39813
398142009-02-10  David Hyatt  <hyatt@apple.com>
39815
39816        Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached.
39817
39818        Reviewed by Sam Weinig
39819
39820        * rendering/EllipsisBox.cpp:
39821        (WebCore::EllipsisBox::paint):
39822        (WebCore::EllipsisBox::nodeAtPoint):
39823        * rendering/EllipsisBox.h:
39824        (WebCore::EllipsisBox::EllipsisBox):
39825        * rendering/InlineBox.h:
39826        (WebCore::InlineBox::InlineBox):
39827        * rendering/InlineFlowBox.cpp:
39828        (WebCore::InlineFlowBox::verticallyAlignBoxes):
39829        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
39830        (WebCore::InlineFlowBox::placeBoxesVertically):
39831        (WebCore::InlineFlowBox::paintTextDecorations):
39832        * rendering/InlineFlowBox.h:
39833        (WebCore::InlineFlowBox::marginBorderPaddingLeft):
39834        (WebCore::InlineFlowBox::marginBorderPaddingRight):
39835        (WebCore::InlineFlowBox::marginLeft):
39836        (WebCore::InlineFlowBox::marginRight):
39837        (WebCore::InlineFlowBox::borderLeft):
39838        (WebCore::InlineFlowBox::borderRight):
39839        (WebCore::InlineFlowBox::borderTop):
39840        (WebCore::InlineFlowBox::borderBottom):
39841        (WebCore::InlineFlowBox::paddingLeft):
39842        (WebCore::InlineFlowBox::paddingRight):
39843        (WebCore::InlineFlowBox::paddingTop):
39844        (WebCore::InlineFlowBox::paddingBottom):
39845        (WebCore::InlineFlowBox::includeLeftEdge):
39846        (WebCore::InlineFlowBox::includeRightEdge):
39847        (WebCore::InlineFlowBox::baseline):
39848        * rendering/InlineTextBox.cpp:
39849        (WebCore::InlineTextBox::paint):
39850        (WebCore::InlineTextBox::paintDecoration):
39851        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
39852        (WebCore::InlineTextBox::paintCompositionUnderline):
39853        * rendering/RenderBlock.cpp:
39854        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
39855        (WebCore::RenderBlock::getBaselineOfLastLineBox):
39856        * rendering/RenderTableCell.cpp:
39857        (WebCore::RenderTableCell::baselinePosition):
39858        * rendering/RootInlineBox.cpp:
39859        (WebCore::RootInlineBox::placeEllipsis):
39860        * rendering/SVGInlineTextBox.cpp:
39861        (WebCore::SVGInlineTextBox::paintDecoration):
39862        * rendering/SVGRootInlineBox.cpp:
39863        (WebCore::applyTextAnchorToTextChunk):
39864        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
39865
398662009-02-10  Alexey Proskuryakov  <ap@webkit.org>
39867
39868        Reviewed by Darin Adler.
39869
39870        https://bugs.webkit.org/show_bug.cgi?id=23867
39871        Eliminate obsolete frame->document() checks
39872
39873        * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo
39874        (document vs. !document), fillWithRed was always set to false, and other branches were
39875        never taken. Removing the check for document restores debug-only red color filling.
39876
39877        * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable()
39878        after a document is created. A client can do anything in its delegate method, so we'd need
39879        to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its
39880        custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
39881
39882        * bindings/js/JSDOMWindowBase.cpp:
39883        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
39884        * bindings/js/JSDOMWindowCustom.cpp:
39885        (WebCore::JSDOMWindow::addEventListener):
39886        (WebCore::JSDOMWindow::removeEventListener):
39887        * bindings/js/JSNavigatorCustom.cpp:
39888        (WebCore::needsYouTubeQuirk):
39889        * bindings/js/ScheduledAction.cpp:
39890        (WebCore::ScheduledAction::execute):
39891        * bindings/js/ScriptControllerMac.mm:
39892        (WebCore::updateRenderingForBindings):
39893        * dom/Document.cpp:
39894        (WebCore::Document::initSecurityContext):
39895        * editing/Editor.cpp:
39896        (WebCore::Editor::deleteWithDirection):
39897        (WebCore::Editor::dispatchCPPEvent):
39898        (WebCore::Editor::applyStyle):
39899        (WebCore::Editor::applyParagraphStyle):
39900        * editing/EditorCommand.cpp:
39901        (WebCore::Editor::Command::execute):
39902        (WebCore::Editor::Command::isEnabled):
39903        (WebCore::Editor::Command::state):
39904        (WebCore::Editor::Command::value):
39905        * editing/SelectionController.cpp:
39906        (WebCore::SelectionController::recomputeCaretRect):
39907        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
39908        (WebCore::SelectionController::selectAll):
39909        (WebCore::SelectionController::setFocused):
39910        * inspector/InspectorController.cpp:
39911        (WebCore::getResourceDocumentNode):
39912        * inspector/JavaScriptDebugServer.cpp:
39913        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
39914        * loader/DocumentLoader.cpp:
39915        (WebCore::canonicalizedTitle):
39916        (WebCore::DocumentLoader::stopLoading):
39917        (WebCore::DocumentLoader::isLoadingInAPISense):
39918        (WebCore::DocumentLoader::subresource):
39919        (WebCore::DocumentLoader::getSubresources):
39920        * loader/FrameLoader.cpp:
39921        (WebCore::FrameLoader::urlSelected):
39922        (WebCore::FrameLoader::stop):
39923        (WebCore::FrameLoader::iconURL):
39924        (WebCore::FrameLoader::executeIfJavaScriptURL):
39925        (WebCore::FrameLoader::clear):
39926        (WebCore::FrameLoader::endIfNotLoadingMainResource):
39927        (WebCore::FrameLoader::restoreDocumentState):
39928        (WebCore::FrameLoader::gotoAnchor):
39929        (WebCore::FrameLoader::loadDone):
39930        (WebCore::FrameLoader::checkCompleted):
39931        (WebCore::FrameLoader::checkCallImplicitClose):
39932        (WebCore::FrameLoader::scheduleRefresh):
39933        (WebCore::FrameLoader::outgoingOrigin):
39934        (WebCore::FrameLoader::canCachePageContainingThisFrame):
39935        (WebCore::FrameLoader::logCanCacheFrameDecision):
39936        (WebCore::FrameLoader::updatePolicyBaseURL):
39937        (WebCore::FrameLoader::setPolicyBaseURL):
39938        (WebCore::FrameLoader::frameDetached):
39939        (WebCore::FrameLoader::shouldScrollToAnchor):
39940        (WebCore::FrameLoader::saveDocumentState):
39941        * loader/archive/cf/LegacyWebArchive.cpp:
39942        (WebCore::LegacyWebArchive::create):
39943        * loader/icon/IconFetcher.cpp:
39944        (WebCore::IconFetcher::create):
39945        * loader/icon/IconLoader.cpp:
39946        (WebCore::IconLoader::startLoading):
39947        * page/AccessibilityRenderObject.cpp:
39948        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
39949        * page/Chrome.cpp:
39950        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
39951        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
39952        * page/DOMWindow.cpp:
39953        (WebCore::DOMWindow::sessionStorage):
39954        (WebCore::DOMWindow::alert):
39955        (WebCore::DOMWindow::confirm):
39956        (WebCore::DOMWindow::prompt):
39957        (WebCore::DOMWindow::scrollX):
39958        (WebCore::DOMWindow::scrollY):
39959        (WebCore::DOMWindow::getMatchedCSSRules):
39960        (WebCore::DOMWindow::openDatabase):
39961        (WebCore::DOMWindow::scrollBy):
39962        (WebCore::DOMWindow::scrollTo):
39963        * page/EventHandler.cpp:
39964        (WebCore::EventHandler::allowDHTMLDrag):
39965        (WebCore::EventHandler::scrollOverflow):
39966        (WebCore::EventHandler::handleMousePressEvent):
39967        (WebCore::EventHandler::handleMouseDoubleClickEvent):
39968        (WebCore::EventHandler::handleMouseMoveEvent):
39969        (WebCore::EventHandler::handleMouseReleaseEvent):
39970        (WebCore::EventHandler::updateDragAndDrop):
39971        (WebCore::EventHandler::handleWheelEvent):
39972        (WebCore::EventHandler::sendContextMenuEvent):
39973        (WebCore::EventHandler::capsLockStateMayHaveChanged):
39974        (WebCore::EventHandler::sendResizeEvent):
39975        (WebCore::EventHandler::sendScrollEvent):
39976        * page/FocusController.cpp:
39977        (WebCore::deepFocusableNode):
39978        (WebCore::FocusController::advanceFocus):
39979        * page/Frame.cpp:
39980        (WebCore::Frame::setFocusedNodeIfNeeded):
39981        (WebCore::Frame::shouldApplyTextZoom):
39982        (WebCore::Frame::shouldApplyPageZoom):
39983        (WebCore::Frame::setZoomFactor):
39984        (WebCore::Frame::setPrinting):
39985        (WebCore::Frame::reapplyStyles):
39986        (WebCore::Frame::isContentEditable):
39987        (WebCore::Frame::computeAndSetTypingStyle):
39988        (WebCore::Frame::selectionComputedStyle):
39989        (WebCore::Frame::applyEditingStyleToBodyElement):
39990        (WebCore::Frame::removeEditingStyleFromBodyElement):
39991        (WebCore::Frame::contentRenderer):
39992        (WebCore::Frame::styleForSelectionStart):
39993        (WebCore::Frame::setSelectionFromNone):
39994        (WebCore::Frame::findString):
39995        (WebCore::Frame::markAllMatchesForText):
39996        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
39997        (WebCore::Frame::documentTypeString):
39998        (WebCore::Frame::shouldClose):
39999        (WebCore::Frame::respondToChangedSelection):
40000        * page/FrameView.cpp:
40001        (WebCore::FrameView::~FrameView):
40002        (WebCore::FrameView::createScrollbar):
40003        (WebCore::FrameView::layout):
40004        (WebCore::FrameView::layoutTimerFired):
40005        (WebCore::FrameView::scheduleRelayout):
40006        (WebCore::FrameView::needsLayout):
40007        (WebCore::FrameView::unscheduleRelayout):
40008        (WebCore::FrameView::windowClipRect):
40009        * page/Geolocation.cpp:
40010        (WebCore::Geolocation::disconnectFrame):
40011        * page/Page.cpp:
40012        (WebCore::networkStateChanged):
40013        (WebCore::Page::~Page):
40014        (WebCore::Page::unmarkAllTextMatches):
40015        (WebCore::Page::setMediaVolume):
40016        * page/animation/AnimationController.cpp:
40017        (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
40018        * page/mac/EventHandlerMac.mm:
40019        (WebCore::EventHandler::currentKeyboardEvent):
40020        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
40021        * page/mac/FrameMac.mm:
40022        (WebCore::Frame::dashboardRegionsDictionary):
40023        (WebCore::Frame::setUserStyleSheetLocation):
40024        (WebCore::Frame::setUserStyleSheet):
40025        * storage/LocalStorageArea.cpp:
40026        (WebCore::LocalStorageArea::dispatchStorageEvent):
40027        * storage/SessionStorageArea.cpp:
40028        (WebCore::SessionStorageArea::dispatchStorageEvent):
40029        * svg/graphics/SVGImage.cpp:
40030        (WebCore::SVGImage::setContainerSize):
40031        (WebCore::SVGImage::usesContainerSize):
40032        (WebCore::SVGImage::size):
40033        (WebCore::SVGImage::hasRelativeWidth):
40034        (WebCore::SVGImage::hasRelativeHeight):
40035        Removed frame->document() checks.
40036
400372009-02-10  Adam Treat  <adam.treat@torchmobile.com>
40038
40039        Reviewed by George Staikos.
40040
40041        Attempt to fix the Qt build after r40791.
40042
40043        * rendering/RenderSVGRoot.cpp:
40044
400452009-02-10  Adam Treat  <adam.treat@torchmobile.com>
40046
40047        Reviewed by George Staikos.
40048
40049        Minor code cleanup.
40050
40051        * dom/ContainerNode.cpp:
40052        (WebCore::ContainerNode::replaceChild):
40053
400542009-02-10  Adam Treat  <adam.treat@torchmobile.com>
40055
40056        Fix Qt build following r40793.
40057
40058        * editing/qt/EditorQt.cpp:
40059
400602009-02-10  Feng Qian <feng@chromium.org>
40061
40062        Reviewed by Alexey Proskuryakov.
40063
40064        Fix crashes when accessing navigator object of a deleted frame.
40065        https://bugs.webkit.org/show_bug.cgi?id=23626
40066        A layout test is added: fast/dom/navigator-detached-no-crash.html
40067
40068        * page/Navigator.cpp:
40069        (WebCore::Navigator::cookieEnabled):
40070        (WebCore::Navigator::javaEnabled):
40071
400722009-02-10  Sverrir Berg  <sverrir@chromium.org>
40073
40074        Reviewed by Eric Seidel.
40075
40076        https://bugs.webkit.org/show_bug.cgi?id=23630
40077        Add complex font rendering using Skia instead of Windows ScriptTextOut.
40078        This adds support for enhanced webkit styles when drawing complex
40079        glyphs.
40080
40081        * platform/graphics/chromium/FontChromiumWin.cpp:
40082        (WebCore::Font::drawGlyphs):
40083        (WebCore::Font::drawComplexText):
40084        * platform/graphics/chromium/UniscribeHelper.cpp:
40085        (WebCore::containsMissingGlyphs):
40086        (WebCore::UniscribeHelper::draw):
40087        (WebCore::UniscribeHelper::shape):
40088        * platform/graphics/chromium/UniscribeHelper.h:
40089        * platform/graphics/skia/SkiaFontWin.cpp:
40090        (WebCore::windowsCanHandleTextDrawing):
40091        (WebCore::skiaDrawText):
40092        (WebCore::paintSkiaText):
40093        * platform/graphics/skia/SkiaFontWin.h:
40094
400952009-02-10  Darin Fisher  <darin@chromium.org>
40096
40097        Revert r40797 as requested by Sam Weinig.
40098
40099        https://bugs.webkit.org/show_bug.cgi?id=23809
40100
40101        * bindings/scripts/CodeGeneratorJS.pm:
40102        * dom/Document.idl:
40103        * html/HTMLCanvasElement.idl:
40104
401052009-02-09  Darin Fisher  <darin@chromium.org>
40106
40107        Reviewed by Eric Seidel.
40108
40109        https://bugs.webkit.org/show_bug.cgi?id=23855
40110        Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage
40111
40112        * platform/graphics/skia/GraphicsContextSkia.cpp:
40113        (WebCore::GraphicsContext::getCTM):
40114        * platform/graphics/skia/TransformationMatrixSkia.cpp:
40115        (WebCore::TransformationMatrix::operator SkMatrix):
40116
401172009-02-09  Dan Bernstein  <mitz@apple.com>
40118
40119        Reviewed by Dave Hyatt.
40120
40121        - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
40122
40123        * platform/graphics/win/SimpleFontDataWin.cpp:
40124        (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is
40125        in the advanced graphics mode before calling GetCharWidthI(), because
40126        otherwise that function returns incorrect results for the default UI
40127        font at a certain size.
40128
401292009-02-09  Chris Marrin  <cmarrin@apple.com>
40130
40131        Reviewed by Simon Fraser
40132
40133        https://bugs.webkit.org/show_bug.cgi?id=23689
40134
40135        Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
40136        added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868
40137
40138        Test: transforms/3d/cssmatrix-3d-interface.xhtml
40139
40140        * css/WebKitCSSMatrix.cpp:
40141        * css/WebKitCSSMatrix.h:
40142        * css/WebKitCSSMatrix.idl:
40143
401442009-02-09  Mark Rowe  <mrowe@apple.com>
40145
40146        Reviewed by Darin Adler.
40147
40148        Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
40149        Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler
40150
40151        * html/HTMLSelectElement.cpp:
40152        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
40153        as it can be invalidated by any of the calls to focus() within the function.  Instead, retrieve it and
40154        null-check it when it is needed.
40155
401562009-02-09  David Hyatt  <hyatt@apple.com>
40157
40158        Remove the m_height member from InlineBox.  This shaves 4 bytes off of all inline boxes.  Unfortunately SVG
40159        sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
40160        member variables.
40161
40162        height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
40163        with no text children).  For SVG boxes there is also a non-virtual setHeight function for updating the
40164        m_height member variable like before.
40165
40166        Reviewed by Darin Adler
40167
40168        * rendering/EllipsisBox.cpp:
40169        (WebCore::EllipsisBox::nodeAtPoint):
40170        * rendering/EllipsisBox.h:
40171        (WebCore::EllipsisBox::EllipsisBox):
40172        * rendering/InlineBox.cpp:
40173        (WebCore::InlineBox::height):
40174        (WebCore::InlineBox::root):
40175        * rendering/InlineBox.h:
40176        (WebCore::InlineBox::InlineBox):
40177        (WebCore::InlineBox::isInlineFlowBox):
40178        (WebCore::InlineBox::isRootInlineBox):
40179        (WebCore::InlineBox::topOverflow):
40180        (WebCore::InlineBox::bottomOverflow):
40181        (WebCore::InlineBox::leftOverflow):
40182        (WebCore::InlineBox::rightOverflow):
40183        * rendering/InlineFlowBox.cpp:
40184        (WebCore::InlineFlowBox::height):
40185        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
40186        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
40187        (WebCore::InlineFlowBox::placeBoxesVertically):
40188        (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
40189        (WebCore::InlineFlowBox::nodeAtPoint):
40190        * rendering/InlineFlowBox.h:
40191        (WebCore::InlineFlowBox::isInlineFlowBox):
40192        * rendering/InlineTextBox.cpp:
40193        (WebCore::InlineTextBox::height):
40194        (WebCore::InlineTextBox::nodeAtPoint):
40195        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
40196        (WebCore::InlineTextBox::paintCompositionUnderline):
40197        * rendering/InlineTextBox.h:
40198        * rendering/RootInlineBox.cpp:
40199        (WebCore::RootInlineBox::height):
40200        (WebCore::RootInlineBox::placeEllipsis):
40201        (WebCore::RootInlineBox::setVerticalOverflowPositions):
40202        * rendering/RootInlineBox.h:
40203        (WebCore::RootInlineBox::isRootInlineBox):
40204        (WebCore::RootInlineBox::topOverflow):
40205        (WebCore::RootInlineBox::bottomOverflow):
40206        (WebCore::RootInlineBox::leftOverflow):
40207        (WebCore::RootInlineBox::rightOverflow):
40208        (WebCore::RootInlineBox::selectionBottom):
40209        (WebCore::RootInlineBox::Overflow::Overflow):
40210        (WebCore::RootInlineBox::setVerticalSelectionPositions):
40211        * rendering/SVGInlineFlowBox.h:
40212        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
40213        (WebCore::SVGInlineFlowBox::height):
40214        (WebCore::SVGInlineFlowBox::setHeight):
40215        * rendering/SVGInlineTextBox.cpp:
40216        (WebCore::SVGInlineTextBox::SVGInlineTextBox):
40217        * rendering/SVGInlineTextBox.h:
40218        (WebCore::SVGInlineTextBox::height):
40219        (WebCore::SVGInlineTextBox::setHeight):
40220        * rendering/SVGRootInlineBox.cpp:
40221        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
40222        * rendering/SVGRootInlineBox.h:
40223        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
40224        (WebCore::SVGRootInlineBox::height):
40225        (WebCore::SVGRootInlineBox::setHeight):
40226
402272009-02-09  Eric Seidel  <eric@webkit.org>
40228
40229        Reviewed by Sam Weinig.
40230
40231        Document our Selection DOM extensions
40232        (in preparation for re-writing Selection to work with ranges)
40233
40234        * page/DOMSelection.cpp:
40235        (WebCore::DOMSelection::type):
40236        * page/DOMSelection.h:
40237        * page/DOMSelection.idl:
40238
402392009-02-09  Eric Seidel  <eric@webkit.org>
40240
40241        Attempt to fix wx build
40242
40243        * WebCoreSources.bkl: change Selection to VisibleSelection
40244
402452009-02-06  Darin Fisher  <darin@chromium.org>
40246
40247        Reviewed by Eric Seidel.
40248
40249        https://bugs.webkit.org/show_bug.cgi?id=23809
40250        Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs
40251
40252        * bindings/scripts/CodeGeneratorJS.pm:
40253        * dom/Document.idl:
40254        * html/HTMLCanvasElement.idl:
40255
402562009-02-09  Dirk Schulze  <krit@webkit.org>
40257
40258        Reviewed by Eric Seidel.
40259
40260        Transform the gradient instead of the context for most platforms and
40261        transform the context after CGContextReplacePathWithStrokedPath for CG.
40262
40263        REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
40264        https://bugs.webkit.org/show_bug.cgi?id=23547
40265
40266        * platform/graphics/Gradient.h:
40267        (WebCore::Gradient::setGradientSpaceTransform):
40268        (WebCore::Gradient::gradientSpaceTransform):
40269        * platform/graphics/cairo/GradientCairo.cpp:
40270        (WebCore::Gradient::platformGradient):
40271        * platform/graphics/cg/GraphicsContextCG.cpp:
40272        (WebCore::GraphicsContext::fillPath):
40273        (WebCore::GraphicsContext::strokePath):
40274        (WebCore::GraphicsContext::fillRect):
40275        * platform/graphics/qt/GraphicsContextQt.cpp:
40276        (WebCore::GraphicsContext::fillPath):
40277        (WebCore::GraphicsContext::strokePath):
40278        (WebCore::GraphicsContext::fillRect):
40279        * platform/graphics/skia/GradientSkia.cpp:
40280        (WebCore::Gradient::platformGradient):
40281        * svg/graphics/SVGPaintServerGradient.cpp:
40282        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
40283        (WebCore::clipToTextMask):
40284        (WebCore::SVGPaintServerGradient::setup):
40285        (WebCore::SVGPaintServerGradient::teardown):
40286
402872009-02-09  Sam Weinig  <sam@webkit.org>
40288
40289        Reviewed by David Hyatt.
40290
40291        Fix the highlight when inspecting inline elements.
40292
40293        * inspector/InspectorController.cpp:
40294        (WebCore::drawHighlightForBox):
40295        (WebCore::drawHighlightForLineBoxes):
40296        (WebCore::InspectorController::drawNodeHighlight):
40297
402982009-02-09  Eric Seidel  <eric@webkit.org>
40299
40300        Fix the gtk build by adding VisibleSelection and removing Selection.
40301
40302        * GNUmakefile.am:
40303
403042009-02-09  Eric Seidel  <eric@webkit.org>
40305
40306        Reviewed by Dave Hyatt.
40307
40308        Rename Selection to VisibleSelection to allow us to separate
40309        the selections the user works with from the ones used by
40310        the JS editing APIs.
40311        https://bugs.webkit.org/show_bug.cgi?id=23852
40312
40313        No functional changes, thus no tests.
40314
40315        * WebCore.base.exp:
40316        * WebCore.pro:
40317        * WebCore.scons:
40318        * WebCore.vcproj/WebCore.vcproj:
40319        * WebCore.xcodeproj/project.pbxproj:
40320        * dom/Element.cpp:
40321        (WebCore::Element::updateFocusAppearance):
40322        * editing/ApplyStyleCommand.cpp:
40323        (WebCore::ApplyStyleCommand::updateStartEnd):
40324        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
40325        * editing/BreakBlockquoteCommand.cpp:
40326        (WebCore::BreakBlockquoteCommand::doApply):
40327        * editing/CompositeEditCommand.cpp:
40328        (WebCore::CompositeEditCommand::inputText):
40329        (WebCore::CompositeEditCommand::deleteSelection):
40330        (WebCore::CompositeEditCommand::rebalanceWhitespace):
40331        (WebCore::CompositeEditCommand::pushAnchorElementDown):
40332        (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
40333        (WebCore::CompositeEditCommand::moveParagraphs):
40334        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
40335        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
40336        * editing/CompositeEditCommand.h:
40337        * editing/CreateLinkCommand.cpp:
40338        (WebCore::CreateLinkCommand::doApply):
40339        * editing/DeleteButtonController.cpp:
40340        (WebCore::enclosingDeletableElement):
40341        (WebCore::DeleteButtonController::respondToChangedSelection):
40342        * editing/DeleteButtonController.h:
40343        * editing/DeleteSelectionCommand.cpp:
40344        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
40345        (WebCore::DeleteSelectionCommand::clearTransientState):
40346        (WebCore::DeleteSelectionCommand::doApply):
40347        * editing/DeleteSelectionCommand.h:
40348        (WebCore::DeleteSelectionCommand::create):
40349        * editing/EditCommand.cpp:
40350        (WebCore::EditCommand::setStartingSelection):
40351        (WebCore::EditCommand::setEndingSelection):
40352        * editing/EditCommand.h:
40353        (WebCore::EditCommand::startingSelection):
40354        (WebCore::EditCommand::endingSelection):
40355        * editing/Editor.cpp:
40356        (WebCore::Editor::selectionForCommand):
40357        (WebCore::Editor::respondToChangedSelection):
40358        (WebCore::Editor::respondToChangedContents):
40359        (WebCore::Editor::applyStyle):
40360        (WebCore::Editor::applyParagraphStyle):
40361        (WebCore::Editor::appliedEditing):
40362        (WebCore::Editor::unappliedEditing):
40363        (WebCore::Editor::reappliedEditing):
40364        (WebCore::Editor::insertTextWithoutSendingTextEvent):
40365        (WebCore::Editor::selectComposition):
40366        (WebCore::Editor::confirmComposition):
40367        (WebCore::Editor::advanceToNextMisspelling):
40368        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
40369        (WebCore::markMisspellingsOrBadGrammar):
40370        (WebCore::Editor::markMisspellings):
40371        (WebCore::Editor::markBadGrammar):
40372        (WebCore::Editor::rangeForPoint):
40373        (WebCore::Editor::transpose):
40374        * editing/Editor.h:
40375        * editing/EditorCommand.cpp:
40376        (WebCore::expandSelectionToGranularity):
40377        (WebCore::executeSwapWithMark):
40378        (WebCore::enabledVisibleSelection):
40379        (WebCore::enabledVisibleSelectionAndMark):
40380        (WebCore::enableCaretInEditableText):
40381        * editing/FormatBlockCommand.cpp:
40382        (WebCore::FormatBlockCommand::modifyRange):
40383        (WebCore::FormatBlockCommand::doApply):
40384        * editing/IndentOutdentCommand.cpp:
40385        (WebCore::IndentOutdentCommand::indentRegion):
40386        (WebCore::IndentOutdentCommand::outdentRegion):
40387        (WebCore::IndentOutdentCommand::doApply):
40388        * editing/InsertLineBreakCommand.cpp:
40389        (WebCore::InsertLineBreakCommand::doApply):
40390        * editing/InsertListCommand.cpp:
40391        (WebCore::InsertListCommand::modifyRange):
40392        (WebCore::InsertListCommand::doApply):
40393        * editing/InsertParagraphSeparatorCommand.cpp:
40394        (WebCore::InsertParagraphSeparatorCommand::doApply):
40395        * editing/InsertTextCommand.cpp:
40396        (WebCore::InsertTextCommand::performTrivialReplace):
40397        (WebCore::InsertTextCommand::input):
40398        * editing/ModifySelectionListLevel.cpp:
40399        (WebCore::getStartEndListChildren):
40400        (WebCore::canIncreaseListLevel):
40401        (WebCore::canDecreaseListLevel):
40402        * editing/MoveSelectionCommand.cpp:
40403        (WebCore::MoveSelectionCommand::doApply):
40404        * editing/RemoveFormatCommand.cpp:
40405        * editing/ReplaceSelectionCommand.cpp:
40406        (WebCore::ReplacementFragment::ReplacementFragment):
40407        (WebCore::ReplaceSelectionCommand::doApply):
40408        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
40409        * editing/Selection.cpp: Removed.
40410        * editing/Selection.h: Removed.
40411        * editing/SelectionController.cpp:
40412        (WebCore::SelectionController::moveTo):
40413        (WebCore::SelectionController::setSelection):
40414        (WebCore::SelectionController::nodeWillBeRemoved):
40415        (WebCore::SelectionController::clear):
40416        (WebCore::SelectionController::setBase):
40417        (WebCore::SelectionController::setExtent):
40418        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
40419        (WebCore::SelectionController::selectAll):
40420        (WebCore::SelectionController::setSelectedRange):
40421        * editing/SelectionController.h:
40422        (WebCore::SelectionController::selection):
40423        (WebCore::SelectionController::selectionType):
40424        * editing/TypingCommand.cpp:
40425        (WebCore::TypingCommand::insertText):
40426        (WebCore::TypingCommand::deleteKeyPressed):
40427        (WebCore::TypingCommand::forwardDeleteKeyPressed):
40428        * editing/TypingCommand.h:
40429        * editing/VisiblePosition.cpp:
40430        (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore):
40431        (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter):
40432        * editing/VisibleSelection.cpp: Added.
40433        (WebCore::VisibleSelection::VisibleSelection):
40434        (WebCore::VisibleSelection::selectionFromContentsOfNode):
40435        (WebCore::VisibleSelection::setBase):
40436        (WebCore::VisibleSelection::setExtent):
40437        (WebCore::VisibleSelection::firstRange):
40438        (WebCore::VisibleSelection::toNormalizedRange):
40439        (WebCore::VisibleSelection::expandUsingGranularity):
40440        (WebCore::makeSearchRange):
40441        (WebCore::VisibleSelection::appendTrailingWhitespace):
40442        (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents):
40443        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
40444        (WebCore::VisibleSelection::updateSelectionType):
40445        (WebCore::VisibleSelection::validate):
40446        (WebCore::VisibleSelection::setWithoutValidation):
40447        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
40448        (WebCore::VisibleSelection::isContentEditable):
40449        (WebCore::VisibleSelection::isContentRichlyEditable):
40450        (WebCore::VisibleSelection::rootEditableElement):
40451        (WebCore::VisibleSelection::shadowTreeRootNode):
40452        (WebCore::VisibleSelection::debugPosition):
40453        (WebCore::VisibleSelection::formatForDebugger):
40454        (WebCore::VisibleSelection::showTreeForThis):
40455        (showTree):
40456        * editing/VisibleSelection.h: Added.
40457        (WebCore::VisibleSelection::):
40458        (WebCore::VisibleSelection::selectionType):
40459        (WebCore::VisibleSelection::setAffinity):
40460        (WebCore::VisibleSelection::affinity):
40461        (WebCore::VisibleSelection::base):
40462        (WebCore::VisibleSelection::extent):
40463        (WebCore::VisibleSelection::start):
40464        (WebCore::VisibleSelection::end):
40465        (WebCore::VisibleSelection::visibleStart):
40466        (WebCore::VisibleSelection::visibleEnd):
40467        (WebCore::VisibleSelection::isNone):
40468        (WebCore::VisibleSelection::isCaret):
40469        (WebCore::VisibleSelection::isRange):
40470        (WebCore::VisibleSelection::isCaretOrRange):
40471        (WebCore::VisibleSelection::isBaseFirst):
40472        (WebCore::VisibleSelection::granularity):
40473        (WebCore::operator==):
40474        (WebCore::operator!=):
40475        * editing/htmlediting.cpp:
40476        (WebCore::selectionForParagraphIteration):
40477        (WebCore::avoidIntersectionWithNode):
40478        * editing/htmlediting.h:
40479        * editing/markup.cpp:
40480        (WebCore::createMarkup):
40481        * html/HTMLInputElement.cpp:
40482        (WebCore::HTMLInputElement::selection):
40483        * html/HTMLInputElement.h:
40484        * html/HTMLTextAreaElement.cpp:
40485        (WebCore::HTMLTextAreaElement::selection):
40486        * html/HTMLTextAreaElement.h:
40487        * page/AccessibilityObject.cpp:
40488        (WebCore::AccessibilityObject::selection):
40489        (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
40490        * page/AccessibilityObject.h:
40491        * page/AccessibilityRenderObject.cpp:
40492        (WebCore::AccessibilityRenderObject::selection):
40493        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
40494        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
40495        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
40496        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
40497        * page/AccessibilityRenderObject.h:
40498        * page/DOMSelection.cpp:
40499        (WebCore::DOMSelection::anchorNode):
40500        (WebCore::DOMSelection::anchorOffset):
40501        (WebCore::DOMSelection::focusNode):
40502        (WebCore::DOMSelection::focusOffset):
40503        (WebCore::DOMSelection::collapseToEnd):
40504        (WebCore::DOMSelection::collapseToStart):
40505        (WebCore::DOMSelection::getRangeAt):
40506        (WebCore::DOMSelection::addRange):
40507        * page/DOMSelection.h:
40508        * page/DragController.cpp:
40509        (WebCore::DragController::tryDocumentDrag):
40510        (WebCore::setSelectionToDragCaret):
40511        (WebCore::DragController::concludeEditDrag):
40512        (WebCore::prepareClipboardForImageDrag):
40513        (WebCore::DragController::startDrag):
40514        (WebCore::DragController::placeDragCaret):
40515        * page/EditorClient.h:
40516        * page/EventHandler.cpp:
40517        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
40518        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
40519        (WebCore::EventHandler::handleMousePressEventTripleClick):
40520        (WebCore::EventHandler::handleMousePressEventSingleClick):
40521        (WebCore::EventHandler::updateSelectionForMouseDrag):
40522        (WebCore::EventHandler::handleMouseReleaseEvent):
40523        * page/Frame.cpp:
40524        (WebCore::Frame::mark):
40525        (WebCore::Frame::setMark):
40526        (WebCore::Frame::selectionLayoutChanged):
40527        (WebCore::Frame::shouldChangeSelection):
40528        (WebCore::Frame::shouldDeleteSelection):
40529        (WebCore::Frame::revealSelection):
40530        (WebCore::Frame::setSelectionFromNone):
40531        (WebCore::Frame::findString):
40532        (WebCore::Frame::respondToChangedSelection):
40533        * page/Frame.h:
40534        * page/Page.cpp:
40535        (WebCore::Page::selection):
40536        * page/Page.h:
40537        * page/mac/AccessibilityObjectWrapper.mm:
40538        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
40539        * rendering/RenderBlock.cpp:
40540        (WebCore::RenderBlock::fillInlineSelectionGaps):
40541        * rendering/RenderTextControl.cpp:
40542        (WebCore::RenderTextControl::setSelectionRange):
40543        (WebCore::RenderTextControl::selection):
40544        * rendering/RenderTextControl.h:
40545        * rendering/RenderTreeAsText.cpp:
40546        (WebCore::writeSelection):
40547        * rendering/RootInlineBox.cpp:
40548        (WebCore::RootInlineBox::fillLineSelectionGap):
40549        * svg/SVGTextContentElement.cpp:
40550        (WebCore::SVGTextContentElement::selectSubString):
40551
405522009-02-09  Dimitri Glazkov  <dglazkov@chromium.org>
40553
40554        Reviewed by Dave Hyatt.
40555
40556        https://bugs.webkit.org/show_bug.cgi?id=23806
40557        Fix a regression crash where an empty src value and a "text/html" type
40558        on an EMBED element did not finish ResourceRequest initialization due to
40559        an early return.
40560
40561        Test: fast/loader/empty-embed-src-attribute.html
40562
40563        * loader/FrameLoader.cpp:
40564        (WebCore::FrameLoader::addExtraFieldsToRequest):
40565
405662009-02-09  Rob Buis  <rwlbuis@gmail.com>
40567
40568        Reviewed by Eric Seidel.
40569
40570        https://bugs.webkit.org/show_bug.cgi?id=23816
40571        Clean up RenderSVGRoot.cpp
40572
40573        Clean up RenderSVGRoot.cpp.
40574
40575        * rendering/RenderSVGRoot.cpp:
40576        (WebCore::RenderSVGRoot::paint):
40577        (WebCore::RenderSVGRoot::calcViewport):
40578
405792009-02-09  Eric Carlson  <eric.carlson@apple.com>
40580
40581        Reviewed by Antti Koivisto
40582
40583        https://bugs.webkit.org/show_bug.cgi?id=23737
40584        Make it possible to control media element playback without knowing so many
40585        internal implementation details.
40586
40587        * html/HTMLMediaElement.cpp:
40588        (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state.
40589        (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode.
40590        (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode.
40591        * html/HTMLMediaElement.h:
40592
40593        (WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly.
40594        * html/HTMLVideoElement.h:
40595
40596        (WebCore::HTMLVideoElement::hasVideo): New.
40597
40598        * rendering/MediaControlElements.cpp:
40599        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element
40600        togglePlayState method.
40601        (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing
40602        begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time
40603        will change.
40604
40605        * rendering/RenderMedia.cpp:
40606        (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including
40607        internal logic here.
40608        (WebCore::RenderMedia::updateControlVisibility): Ditto.
40609
406102009-02-09  Eric Carlson  <eric.carlson@apple.com>
40611
40612        Reviewed by Antti Koivisto
40613
40614        Change RenderPart and RenderPartObject constructors to take a Node*
40615        instead of a HTMLFrameOwnerElement* since that is all then need.
40616
40617        * rendering/RenderPart.cpp:
40618        (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement*
40619        * rendering/RenderPart.h:
40620        * rendering/RenderPartObject.cpp:
40621        (WebCore::RenderPartObject::RenderPartObject):  take Node* instead of HTMLFrameOwnerElement*
40622        * rendering/RenderPartObject.h:
40623
406242009-02-09  Dan Bernstein  <mitz@apple.com>
40625
40626        - fix -Wmissing-prototypes builds
40627
40628        * editing/ReplaceSelectionCommand.cpp:
40629        (WebCore::isHeaderElement): Marked this function static.
40630        (WebCore::haveSameTagName): Ditto.
40631        * editing/markup.cpp:
40632        (WebCore::isSpecialAncestorBlock): Ditto.
40633        * platform/graphics/transforms/TransformationMatrix.cpp:
40634        (WebCore::makeMapBetweenRects): Removed unused function.
40635        * platform/graphics/transforms/TransformationMatrix.h: Removed unused
40636        declaration of private member makeMapBetweenRects().
40637
406382009-02-09  Adam Treat  <adam.treat@torchmobile.com>
40639
40640        Reviewed by Sam Weinig.
40641
40642        https://bugs.webkit.org/show_bug.cgi?id=23850
40643        Code cleanup of HTMLParser class which was using a mix of m_* and bare
40644        class member variable names which helps to obfuscate the code.  Also
40645        changed a few of the static helper functions to take a const pointer type
40646        as they should not be modifying the node.
40647
40648        * html/HTMLParser.cpp:
40649        (WebCore::HTMLParser::HTMLParser):
40650        (WebCore::HTMLParser::~HTMLParser):
40651        (WebCore::HTMLParser::reset):
40652        (WebCore::HTMLParser::setCurrent):
40653        (WebCore::HTMLParser::parseToken):
40654        (WebCore::HTMLParser::parseDoctypeToken):
40655        (WebCore::isTableSection):
40656        (WebCore::isTablePart):
40657        (WebCore::isTableRelated):
40658        (WebCore::HTMLParser::insertNode):
40659        (WebCore::HTMLParser::handleError):
40660        (WebCore::HTMLParser::textCreateErrorCheck):
40661        (WebCore::HTMLParser::commentCreateErrorCheck):
40662        (WebCore::HTMLParser::headCreateErrorCheck):
40663        (WebCore::HTMLParser::bodyCreateErrorCheck):
40664        (WebCore::HTMLParser::framesetCreateErrorCheck):
40665        (WebCore::HTMLParser::formCreateErrorCheck):
40666        (WebCore::HTMLParser::isindexCreateErrorCheck):
40667        (WebCore::HTMLParser::noscriptCreateErrorCheck):
40668        (WebCore::HTMLParser::pCloserStrictCreateErrorCheck):
40669        (WebCore::HTMLParser::mapCreateErrorCheck):
40670        (WebCore::HTMLParser::getNode):
40671        (WebCore::HTMLParser::allowNestedRedundantTag):
40672        (WebCore::HTMLParser::processCloseTag):
40673        (WebCore::HTMLParser::isInline):
40674        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
40675        (WebCore::HTMLParser::reopenResidualStyleTags):
40676        (WebCore::HTMLParser::pushBlock):
40677        (WebCore::HTMLParser::popBlock):
40678        (WebCore::HTMLParser::popOneBlockCommon):
40679        (WebCore::HTMLParser::popOneBlock):
40680        (WebCore::HTMLParser::moveOneBlockToStack):
40681        (WebCore::HTMLParser::checkIfHasPElementInScope):
40682        (WebCore::HTMLParser::popInlineBlocks):
40683        (WebCore::HTMLParser::freeBlock):
40684        (WebCore::HTMLParser::createHead):
40685        (WebCore::HTMLParser::handleIsindex):
40686        (WebCore::HTMLParser::startBody):
40687        (WebCore::HTMLParser::finished):
40688        (WebCore::HTMLParser::reportErrorToConsole):
40689        * html/HTMLParser.h:
40690
406912009-02-09  Alexey Proskuryakov  <ap@webkit.org>
40692
40693        Applying review comment on a second location.
40694
40695        * rendering/RenderText.cpp: (WebCore::RenderText::nextOffset):
40696        Use "ifdef BUILDING_ON_TIGER".
40697
406982009-02-09  Alexey Proskuryakov  <ap@webkit.org>
40699
40700        Reviewed by Darin Adler.
40701
40702        https://bugs.webkit.org/show_bug.cgi?id=23845
40703        editing/deleting/backward-deletion.html fails on Tiger
40704
40705        * rendering/RenderText.cpp:
40706        (WebCore::RenderText::previousOffset):
40707        (WebCore::RenderText::nextOffset):
40708        Work around a bug in older ICU versions by hardcoding narrow voiced marks.
40709
407102009-02-09  Adam Roben  <aroben@apple.com>
40711
40712        Windows build fix
40713
40714        * WebCore.vcproj/WebCore.vcproj: Fix the XML syntax.
40715
407162009-02-09  Jian Li  <jianli@chromium.org>
40717
40718        Reviewed by Alexey Proskuryakov.
40719
40720        Make WorkerMessagingProxy derive from two base proxy classes.
40721        https://bugs.webkit.org/show_bug.cgi?id=23777
40722
40723        * bindings/js/WorkerScriptController.cpp:
40724        (WebCore::WorkerScriptController::evaluate):
40725        * dom/Worker.cpp:
40726        (WebCore::Worker::terminate):
40727        (WebCore::Worker::hasPendingActivity):
40728        * dom/WorkerContext.cpp:
40729        (WebCore::WorkerContext::reportException):
40730        * dom/WorkerMessagingProxy.cpp:
40731        (WebCore::WorkerThreadActivityReportTask::performTask):
40732        (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
40733        (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
40734        (WebCore::WorkerMessagingProxy::terminateWorkerContext):
40735        (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
40736        (WebCore::WorkerMessagingProxy::reportPendingActivity):
40737        (WebCore::WorkerMessagingProxy::reportPendingActivityInternal):
40738        (WebCore::WorkerMessagingProxy::hasPendingActivity):
40739        * dom/WorkerMessagingProxy.h:
40740
407412009-02-09  Jian Li  <jianli@chromium.org>
40742
40743        Reviewed by Alexey Proskuryakov.
40744
40745        Introduce 2 base classes to split WorkerMessagingProxy.
40746        https://bugs.webkit.org/show_bug.cgi?id=23776
40747
40748        * GNUmakefile.am:
40749        * WebCore.vcproj/WebCore.vcproj:
40750        * WebCore.xcodeproj/project.pbxproj:
40751        * dom/WorkerContextProxy.h: Added.
40752        (WebCore::WorkerContextProxy::~WorkerContextProxy):
40753        * dom/WorkerObjectProxy.h: Added.
40754        (WebCore::WorkerObjectProxy::~WorkerObjectProxy):
40755
407562009-02-08  David Hyatt  <hyatt@apple.com>
40757
40758        Fix for https://bugs.webkit.org/show_bug.cgi?id=23839
40759
40760        Make sure that generated content is properly handled when content is moved from a block run-in
40761        to an inline run-in.
40762
40763        Reviewed by Sam Weinig
40764
40765        Added fast/runin/002.html
40766
40767        * rendering/RenderBlock.cpp:
40768        (WebCore::RenderBlock::handleRunInChild):
40769
407702009-02-08  David Hyatt  <hyatt@apple.com>
40771
40772        Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the
40773        Web inspector.
40774
40775        Reviewed by Mark Rowe
40776
40777        * rendering/RenderObject.cpp:
40778        (WebCore::RenderObject::absoluteRectsForRange):
40779        (WebCore::RenderObject::absoluteQuadsForRange):
40780
407812009-02-08  Dirk Schulze  <krit@webkit.org>
40782
40783        Unreviewed Qt build fix.
40784
40785        TransformationMatrix changes in r40761 broke QT build.
40786
40787        * platform/graphics/qt/GraphicsContextQt.cpp:
40788        (WebCore::GraphicsContext::getCTM):
40789        (WebCore::GraphicsContext::scale):
40790
407912009-02-08  Dirk Schulze  <krit@webkit.org>
40792
40793        Reviewed by Holger Freyther.
40794
40795        This is a follow up of the last commit. It cleans up TransformationMatrix.h
40796        and convert to a series of #elif.
40797
40798        * platform/graphics/transforms/TransformationMatrix.h:
40799
408002009-02-08  Gustavo Noronha Silva  <gns@gnome.org>
40801
40802        Reviewed by Simon Fraser.
40803
40804        [CAIRO] build broken by TransformationMatrix rework
40805        https://bugs.webkit.org/show_bug.cgi?id=23831
40806
40807        Fixed cairo build after the TransformationMatrix rework done in
40808        revision 40761.
40809
40810        * platform/graphics/cairo/GraphicsContextCairo.cpp:
40811        (WebCore::GraphicsContext::getCTM):
40812        (WebCore::GraphicsContext::concatCTM):
40813        * platform/graphics/cairo/TransformationMatrixCairo.cpp:
40814        (WebCore::TransformationMatrix::operator cairo_matrix_t):
40815        * platform/graphics/transforms/TransformationMatrix.h:
40816
408172009-02-07  David Hyatt  <hyatt@apple.com>
40818
40819        Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes.
40820        Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the
40821        base InlineBox class.  Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes
40822        back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text
40823        boxes and image boxes shrink by 4 bytes.
40824
40825        Reviewed by Anders
40826
40827        * rendering/InlineBox.h:
40828        (WebCore::InlineBox::InlineBox):
40829        * rendering/InlineFlowBox.cpp:
40830        (WebCore::InlineFlowBox::placeBoxesHorizontally):
40831        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
40832        (WebCore::InlineFlowBox::placeBoxesVertically):
40833        * rendering/InlineFlowBox.h:
40834        (WebCore::InlineFlowBox::InlineFlowBox):
40835        (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
40836        (WebCore::InlineFlowBox::hasTextChildren):
40837
408382009-02-07  Dean Jackson  <dino@apple.com>
40839
40840        Attempted build fix for Qt. Not reviewed.
40841
40842        TransformationMatrix changes in r40761 broke non-Apple builds.
40843
40844        * platform/graphics/qt/TransformationMatrixQt.cpp:
40845        (WebCore::TransformationMatrix::operator QMatrix):
40846        * platform/graphics/transforms/TransformationMatrix.h:
40847
408482009-02-07  David Hyatt  <hyatt@apple.com>
40849
40850        This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject.  This shift
40851        in base class knocks 32 bytes off the size of every RenderInline.  All of the necessary functions
40852        for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing
40853        or split into two functions (one in each derived class).
40854
40855        Reviewed by Anders and Antti
40856
40857        * dom/Element.cpp:
40858        (WebCore::Element::offsetLeft):
40859        (WebCore::Element::offsetTop):
40860        (WebCore::Element::offsetWidth):
40861        (WebCore::Element::offsetHeight):
40862        (WebCore::Element::offsetParent):
40863        (WebCore::Element::clientWidth):
40864        (WebCore::Element::clientHeight):
40865        (WebCore::Element::scrollWidth):
40866        (WebCore::Element::scrollHeight):
40867        * dom/Node.cpp:
40868        (WebCore::Node::renderBox):
40869        (WebCore::Node::renderBoxModelObject):
40870        * dom/Node.h:
40871        * html/HTMLAnchorElement.cpp:
40872        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
40873        * rendering/InlineBox.h:
40874        (WebCore::InlineBox::boxModelObject):
40875        * rendering/InlineFlowBox.cpp:
40876        (WebCore::InlineFlowBox::marginLeft):
40877        (WebCore::InlineFlowBox::marginRight):
40878        (WebCore::InlineFlowBox::placeBoxesHorizontally):
40879        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
40880        (WebCore::InlineFlowBox::placeBoxesVertically):
40881        (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
40882        * rendering/InlineFlowBox.h:
40883        (WebCore::InlineFlowBox::borderLeft):
40884        (WebCore::InlineFlowBox::borderRight):
40885        (WebCore::InlineFlowBox::paddingLeft):
40886        (WebCore::InlineFlowBox::paddingRight):
40887        * rendering/RenderBlock.cpp:
40888        (WebCore::getBorderPaddingMargin):
40889        (WebCore::RenderBlock::calcInlinePrefWidths):
40890        * rendering/RenderBox.cpp:
40891        (WebCore::RenderBox::imageChanged):
40892        (WebCore::RenderBox::calcReplacedWidthUsing):
40893        (WebCore::RenderBox::calcReplacedHeightUsing):
40894        (WebCore::RenderBox::containingBlockWidthForPositioned):
40895        (WebCore::RenderBox::containingBlockHeightForPositioned):
40896        (WebCore::RenderBox::calcAbsoluteHorizontal):
40897        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
40898        (WebCore::RenderBox::calcAbsoluteVertical):
40899        (WebCore::RenderBox::calcAbsoluteVerticalValues):
40900        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
40901        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
40902        (WebCore::RenderBox::positionForCoordinates):
40903        * rendering/RenderBox.h:
40904        (WebCore::RenderBox::borderBoundingBox):
40905        (WebCore::RenderBox::offsetHeight):
40906        (WebCore::RenderBox::marginTop):
40907        (WebCore::RenderBox::marginBottom):
40908        (WebCore::RenderBox::marginLeft):
40909        (WebCore::RenderBox::marginRight):
40910        * rendering/RenderBoxModelObject.cpp:
40911        (WebCore::RenderBoxModelObject::offsetLeft):
40912        (WebCore::RenderBoxModelObject::offsetTop):
40913        (WebCore::RenderBoxModelObject::paddingTop):
40914        (WebCore::RenderBoxModelObject::paddingBottom):
40915        (WebCore::RenderBoxModelObject::paddingLeft):
40916        (WebCore::RenderBoxModelObject::paddingRight):
40917        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
40918        (WebCore::RenderBoxModelObject::calculateBackgroundSize):
40919        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
40920        * rendering/RenderBoxModelObject.h:
40921        (WebCore::RenderBoxModelObject::borderTop):
40922        (WebCore::RenderBoxModelObject::borderBottom):
40923        (WebCore::RenderBoxModelObject::borderLeft):
40924        (WebCore::RenderBoxModelObject::borderRight):
40925        (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin):
40926        (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding):
40927        (WebCore::RenderBoxModelObject::childBecameNonInline):
40928        (WebCore::RenderBoxModelObject::isBoxModelObject):
40929        * rendering/RenderInline.cpp:
40930        (WebCore::RenderInline::RenderInline):
40931        (WebCore::RenderInline::destroy):
40932        (WebCore::RenderInline::styleDidChange):
40933        (WebCore::nextContinuation):
40934        (WebCore::RenderInline::continuationBefore):
40935        (WebCore::RenderInline::addChildIgnoringContinuation):
40936        (WebCore::RenderInline::splitInlines):
40937        (WebCore::RenderInline::splitFlow):
40938        (WebCore::RenderInline::addChildToContinuation):
40939        (WebCore::RenderInline::absoluteRects):
40940        (WebCore::RenderInline::offsetLeft):
40941        (WebCore::RenderInline::offsetTop):
40942        (WebCore::RenderInline::marginLeft):
40943        (WebCore::RenderInline::marginRight):
40944        (WebCore::RenderInline::positionForCoordinates):
40945        (WebCore::RenderInline::clippedOverflowRectForRepaint):
40946        (WebCore::RenderInline::rectWithOutlineForRepaint):
40947        (WebCore::RenderInline::computeRectForRepaint):
40948        (WebCore::RenderInline::updateDragState):
40949        (WebCore::RenderInline::childBecameNonInline):
40950        (WebCore::RenderInline::updateHitTestResult):
40951        (WebCore::RenderInline::imageChanged):
40952        (WebCore::RenderInline::addFocusRingRects):
40953        * rendering/RenderInline.h:
40954        (WebCore::RenderInline::marginTop):
40955        (WebCore::RenderInline::marginBottom):
40956        (WebCore::RenderInline::continuation):
40957        (WebCore::RenderInline::setContinuation):
40958        * rendering/RenderLineBoxList.cpp:
40959        (WebCore::RenderLineBoxList::paint):
40960        (WebCore::RenderLineBoxList::hitTest):
40961        * rendering/RenderLineBoxList.h:
40962        * rendering/RenderObject.cpp:
40963        (WebCore::addLayers):
40964        (WebCore::RenderObject::removeLayers):
40965        (WebCore::RenderObject::moveLayers):
40966        (WebCore::RenderObject::findNextLayer):
40967        (WebCore::RenderObject::enclosingLayer):
40968        (WebCore::RenderObject::enclosingCompositingLayer):
40969        (WebCore::RenderObject::setLayerNeedsFullRepaint):
40970        (WebCore::RenderObject::handleDynamicFloatPositionChange):
40971        (WebCore::RenderObject::destroy):
40972        (WebCore::RenderObject::offsetParent):
40973        * rendering/RenderObject.h:
40974        (WebCore::RenderObject::isInlineContinuation):
40975        * rendering/RenderSVGTSpan.cpp:
40976        (WebCore::RenderSVGTSpan::absoluteRects):
40977        (WebCore::RenderSVGTSpan::absoluteQuads):
40978        * rendering/RenderSVGTextPath.cpp:
40979        (WebCore::RenderSVGTextPath::absoluteRects):
40980        (WebCore::RenderSVGTextPath::absoluteQuads):
40981        * rendering/RenderTreeAsText.cpp:
40982        (WebCore::operator<<):
40983        * rendering/RenderView.cpp:
40984        (WebCore::RenderView::setBestTruncatedAt):
40985        * rendering/RenderView.h:
40986        * rendering/bidi.cpp:
40987        (WebCore::getBorderPaddingMargin):
40988        (WebCore::inlineWidth):
40989        (WebCore::RenderBlock::layoutInlineChildren):
40990        (WebCore::inlineFlowRequiresLineBox):
40991        (WebCore::requiresLineBox):
40992        (WebCore::RenderBlock::findNextLineBreak):
40993        * wml/WMLAElement.cpp:
40994        (WebCore::WMLAElement::isKeyboardFocusable):
40995
409962009-02-07  Yael Aharon <yael.aharon@nokia.com>
40997
40998        Reviewed by Timothy Hatcher <timothy@hatcher.name>
40999
41000        Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051>
41001        Include localStorage and sessionStorage in DatabasesPanel.
41002
41003        * WebCore.vcproj/WebCore.vcproj:
41004        * inspector/InspectorController.cpp:
41005        (WebCore::InspectorDOMStorageResource::create):
41006        (WebCore::InspectorDOMStorageResource::setScriptObject):
41007        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
41008        (WebCore::InspectorController::populateScriptObjects):
41009        (WebCore::InspectorController::addDOMStorageScriptResource):
41010        (WebCore::InspectorController::removeDOMStorageScriptResource):
41011        (WebCore::InspectorController::resetScriptObjects):
41012        (WebCore::InspectorController::didCommitLoad):
41013        (WebCore::InspectorController::didUseDOMStorage):
41014        * inspector/InspectorController.h:
41015        * inspector/front-end/DOMStorage.js: Added.
41016        (WebInspector.DOMStorage):
41017        (WebInspector.DOMStorage.prototype.get domStorage):
41018        (WebInspector.DOMStorage.prototype.set domStorage):
41019        (WebInspector.DOMStorage.prototype.get domain):
41020        (WebInspector.DOMStorage.prototype.set domain):
41021        (WebInspector.DOMStorage.prototype.get isLocalStorage):
41022        (WebInspector.DOMStorage.prototype.set isLocalStorage):
41023        * inspector/front-end/DOMStorageItemsView.js: Added.
41024        (WebInspector.DOMStorageItemsView):
41025        (WebInspector.DOMStorageItemsView.prototype.show):
41026        (WebInspector.DOMStorageItemsView.prototype.update):
41027        * inspector/front-end/DatabaseQueryView.js:
41028        (WebInspector.DatabaseQueryView):
41029        * inspector/front-end/DatabaseTableView.js:
41030        (WebInspector.DatabaseTableView):
41031        (WebInspector.DatabaseTableView.prototype._queryFinished):
41032        (WebInspector.DatabaseTableView.prototype._queryError):
41033        * inspector/front-end/DatabasesPanel.js:
41034        (WebInspector.DatabasesPanel):
41035        (WebInspector.DatabasesPanel.prototype.reset):
41036        (WebInspector.DatabasesPanel.prototype.addDatabase):
41037        (WebInspector.DatabasesPanel.prototype.addDOMStorage):
41038        (WebInspector.DatabasesPanel.prototype.showDatabase):
41039        (WebInspector.DatabasesPanel.prototype.showDOMStorage):
41040        (WebInspector.DatabasesPanel.prototype.closeVisibleView):
41041        (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
41042        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
41043        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
41044        (WebInspector.DOMStorageSidebarTreeElement):
41045        (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect):
41046        (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
41047        (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle):
41048        (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle):
41049        (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle):
41050        * inspector/front-end/Images/domStorage.png: Added.
41051        * inspector/front-end/WebKit.qrc:
41052        * inspector/front-end/inspector.css:
41053        * inspector/front-end/inspector.html:
41054        * inspector/front-end/inspector.js:
41055        (WebInspector.addDOMStorage):
41056        * page/DOMWindow.cpp:
41057        (WebCore::DOMWindow::sessionStorage):
41058        (WebCore::DOMWindow::localStorage):
41059
410602009-02-07  Feng Qian <feng@chromium.org>
41061
41062        Reviewed by Eric Seidel <eric@webkit.org>
41063
41064        Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor.
41065        https://bugs.webkit.org/show_bug.cgi?id=23574
41066
41067        * page/EventHandler.cpp:
41068        * page/EventHandler.h:
41069
410702009-02-07  Zalan Bujtas  <zbujtas@gmail.com>
41071
41072        Reviewed by Rob Buis <rwlbuis@gmail.com>
41073
41074        https://bugs.webkit.org/show_bug.cgi?id=23788
41075        call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject.
41076
41077        * rendering/bidi.cpp:
41078        (WebCore::RenderBlock::skipLeadingWhitespace):
41079
410802009-02-07  Rob Buis  <rwlbuis@gmail.com>
41081
41082        Reviewed by Darin.
41083
41084        https://bugs.webkit.org/show_bug.cgi?id=3248
41085        Bug 3248: Mouse events on OPTION element seem to be ignored
41086
41087        Support mouse events on options in a select when it forms a list box.
41088
41089        Test: fast/forms/option-mouseevents.html
41090
41091        * html/HTMLSelectElement.cpp: Convert to coords relative to the list box.
41092        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
41093        * rendering/RenderListBox.cpp: Handle hit testing for option elements.
41094        (WebCore::RenderListBox::nodeAtPoint):
41095        * rendering/RenderListBox.h:
41096
410972009-02-07  Adam Treat  <adam.treat@torchmobile.com>
41098
41099        Prospective build fix for all non-Apple platforms.
41100
41101        * platform/graphics/transforms/TransformationMatrix.h:
41102
411032009-02-06  Chris Marrin  <cmarrin@apple.com>
41104
41105        Reviewed by Simon Fraser.
41106
41107        https://bugs.webkit.org/show_bug.cgi?id=6868
41108
41109        I have not only made TransformationMatrix platform independent
41110        but I've also added 3D methods, which will be used when I update
41111        WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
41112        I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
41113        the math as doubles rather than floats. This makes a TransformationMatrix
41114        go from 24 bytes to 128 bytes, but I don't think this class is used enough to
41115        make this overhead will be significant.
41116
41117        The change from floats to doubles has caused some differences in rounding and
41118        display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
41119        so I've had to change some LayoutTest results in the SVG tests.
41120
41121        * platform/graphics/FloatPoint.cpp:
41122        (WebCore::FloatPoint::matrixTransform):
41123        * platform/graphics/cg/GraphicsContextCG.cpp:
41124        (WebCore::GraphicsContext::getCTM):
41125        * platform/graphics/cg/TransformationMatrixCG.cpp:
41126        (WebCore::TransformationMatrix::operator CGAffineTransform):
41127        * platform/graphics/transforms/TransformationMatrix.cpp:
41128        (WebCore::determinant2x2):
41129        (WebCore::determinant3x3):
41130        (WebCore::determinant4x4):
41131        (WebCore::adjoint):
41132        (WebCore::inverse):
41133        (WebCore::transposeMatrix4):
41134        (WebCore::v4MulPointByMatrix):
41135        (WebCore::v3Length):
41136        (WebCore::v3Scale):
41137        (WebCore::v3Dot):
41138        (WebCore::v3Combine):
41139        (WebCore::v3Cross):
41140        (WebCore::decompose):
41141        (WebCore::slerp):
41142        (WebCore::TransformationMatrix::scale):
41143        (WebCore::TransformationMatrix::rotateFromVector):
41144        (WebCore::TransformationMatrix::flipX):
41145        (WebCore::TransformationMatrix::flipY):
41146        (WebCore::makeMapBetweenRects):
41147        (WebCore::TransformationMatrix::projectPoint):
41148        (WebCore::TransformationMatrix::mapPoint):
41149        (WebCore::TransformationMatrix::mapRect):
41150        (WebCore::TransformationMatrix::mapQuad):
41151        (WebCore::TransformationMatrix::scale3d):
41152        (WebCore::TransformationMatrix::rotate3d):
41153        (WebCore::TransformationMatrix::translate):
41154        (WebCore::TransformationMatrix::translate3d):
41155        (WebCore::TransformationMatrix::skew):
41156        (WebCore::TransformationMatrix::applyPerspective):
41157        (WebCore::TransformationMatrix::multLeft):
41158        (WebCore::TransformationMatrix::multVecMatrix):
41159        (WebCore::TransformationMatrix::isInvertible):
41160        (WebCore::TransformationMatrix::inverse):
41161        (WebCore::blendFloat):
41162        (WebCore::TransformationMatrix::blend):
41163        (WebCore::TransformationMatrix::decompose):
41164        (WebCore::TransformationMatrix::recompose):
41165        * platform/graphics/transforms/TransformationMatrix.h:
41166        (WebCore::TransformationMatrix::TransformationMatrix):
41167        (WebCore::TransformationMatrix::setMatrix):
41168        (WebCore::TransformationMatrix::operator =):
41169        (WebCore::TransformationMatrix::makeIdentity):
41170        (WebCore::TransformationMatrix::isIdentity):
41171        (WebCore::TransformationMatrix::map):
41172        (WebCore::TransformationMatrix::m11):
41173        (WebCore::TransformationMatrix::setM11):
41174        (WebCore::TransformationMatrix::m12):
41175        (WebCore::TransformationMatrix::setM12):
41176        (WebCore::TransformationMatrix::m13):
41177        (WebCore::TransformationMatrix::setM13):
41178        (WebCore::TransformationMatrix::m14):
41179        (WebCore::TransformationMatrix::setM14):
41180        (WebCore::TransformationMatrix::m21):
41181        (WebCore::TransformationMatrix::setM21):
41182        (WebCore::TransformationMatrix::m22):
41183        (WebCore::TransformationMatrix::setM22):
41184        (WebCore::TransformationMatrix::m23):
41185        (WebCore::TransformationMatrix::setM23):
41186        (WebCore::TransformationMatrix::m24):
41187        (WebCore::TransformationMatrix::setM24):
41188        (WebCore::TransformationMatrix::m31):
41189        (WebCore::TransformationMatrix::setM31):
41190        (WebCore::TransformationMatrix::m32):
41191        (WebCore::TransformationMatrix::setM32):
41192        (WebCore::TransformationMatrix::m33):
41193        (WebCore::TransformationMatrix::setM33):
41194        (WebCore::TransformationMatrix::m34):
41195        (WebCore::TransformationMatrix::setM34):
41196        (WebCore::TransformationMatrix::m41):
41197        (WebCore::TransformationMatrix::setM41):
41198        (WebCore::TransformationMatrix::m42):
41199        (WebCore::TransformationMatrix::setM42):
41200        (WebCore::TransformationMatrix::m43):
41201        (WebCore::TransformationMatrix::setM43):
41202        (WebCore::TransformationMatrix::m44):
41203        (WebCore::TransformationMatrix::setM44):
41204        (WebCore::TransformationMatrix::a):
41205        (WebCore::TransformationMatrix::setA):
41206        (WebCore::TransformationMatrix::b):
41207        (WebCore::TransformationMatrix::setB):
41208        (WebCore::TransformationMatrix::c):
41209        (WebCore::TransformationMatrix::setC):
41210        (WebCore::TransformationMatrix::d):
41211        (WebCore::TransformationMatrix::setD):
41212        (WebCore::TransformationMatrix::e):
41213        (WebCore::TransformationMatrix::setE):
41214        (WebCore::TransformationMatrix::f):
41215        (WebCore::TransformationMatrix::setF):
41216        (WebCore::TransformationMatrix::multiply):
41217        (WebCore::TransformationMatrix::rotate):
41218        (WebCore::TransformationMatrix::skewX):
41219        (WebCore::TransformationMatrix::skewY):
41220        (WebCore::TransformationMatrix::hasPerspective):
41221        (WebCore::TransformationMatrix::):
41222        (WebCore::TransformationMatrix::isAffine):
41223        (WebCore::TransformationMatrix::operator==):
41224        (WebCore::TransformationMatrix::operator*=):
41225        (WebCore::TransformationMatrix::operator*):
41226        * rendering/RenderForeignObject.cpp:
41227        (WebCore::RenderForeignObject::nodeAtPoint):
41228        * rendering/RenderLayer.cpp:
41229        (WebCore::RenderLayer::updateTransform):
41230        * rendering/RenderPath.cpp:
41231        (WebCore::RenderPath::mapAbsolutePointToLocal):
41232        * rendering/RenderSVGImage.cpp:
41233        (WebCore::RenderSVGImage::nodeAtPoint):
41234        * rendering/RenderSVGRoot.cpp:
41235        (WebCore::RenderSVGRoot::nodeAtPoint):
41236        * rendering/RenderSVGText.cpp:
41237        (WebCore::RenderSVGText::nodeAtPoint):
41238        * rendering/RenderSVGViewportContainer.cpp:
41239        (WebCore::RenderSVGViewportContainer::nodeAtPoint):
41240        * svg/SVGAnimateMotionElement.cpp:
41241        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
41242        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
41243        * svg/SVGSVGElement.cpp:
41244        (WebCore::SVGSVGElement::viewport):
41245        * svg/SVGTransform.cpp:
41246        (SVGTransform::setTranslate):
41247        (SVGTransform::setScale):
41248        (SVGTransform::setRotate):
41249        (SVGTransform::setSkewX):
41250        (SVGTransform::setSkewY):
41251        * svg/graphics/SVGResourceMarker.cpp:
41252        (WebCore::SVGResourceMarker::draw):
41253
412542009-02-07  Simon Hausmann  <simon.hausmann@nokia.com>
41255
41256        Reviewed by Tor Arne Vestbø.
41257
41258        For the Qt port implement Image::drawPattern via
41259        BitmapImage::drawPatterns' implementation and implement
41260        Gradient::fill.
41261
41262        This partially fixes rendering of generated gradient content.
41263
41264        * platform/graphics/BitmapImage.h: Remove the drawPattern
41265        implementation for the Qt port in BitmapImage, it's been moved to
41266        Image::drawPattern.
41267        * platform/graphics/qt/GradientQt.cpp:
41268        (WebCore::Gradient::fill): Implement using a simple fillRect.
41269        * platform/graphics/qt/ImageQt.cpp:
41270        (WebCore::Image::drawPattern): Moved implementation from
41271        BitmapImage::drawPattern.
41272
412732009-02-06  Eric Seidel  <eric@webkit.org>
41274
41275        Reviewed by Justin Garcia.
41276
41277        DOMSelection.getRangeAt() returns a different range than the selection
41278        https://bugs.webkit.org/show_bug.cgi?id=23601
41279
41280        Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
41281
41282        Test: fast/dom/Selection/getRangeAt.html
41283
41284        * WebCore.base.exp:
41285        * dom/InputElement.cpp:
41286        (WebCore::InputElement::handleBeforeTextInsertedEvent):
41287        * editing/DeleteButtonController.cpp:
41288        (WebCore::enclosingDeletableElement):
41289        * editing/Editor.cpp:
41290        (WebCore::Editor::selectedRange):
41291        (WebCore::Editor::fontForSelection):
41292        (WebCore::Editor::applyStyleToSelection):
41293        (WebCore::Editor::applyParagraphStyleToSelection):
41294        (WebCore::Editor::insertTextWithoutSendingTextEvent):
41295        (WebCore::Editor::insertLineBreak):
41296        (WebCore::Editor::insertParagraphSeparator):
41297        (WebCore::Editor::ignoreSpelling):
41298        (WebCore::Editor::isSelectionUngrammatical):
41299        (WebCore::Editor::guessesForUngrammaticalSelection):
41300        (WebCore::markMisspellingsOrBadGrammar):
41301        (WebCore::Editor::rangeForPoint):
41302        * editing/EditorCommand.cpp:
41303        (WebCore::expandSelectionToGranularity):
41304        (WebCore::executeDeleteToMark):
41305        (WebCore::executeSelectToMark):
41306        * editing/RemoveFormatCommand.cpp:
41307        (WebCore::RemoveFormatCommand::doApply):
41308        * editing/ReplaceSelectionCommand.cpp:
41309        (WebCore::ReplacementFragment::ReplacementFragment):
41310        * editing/Selection.cpp:
41311        (WebCore::Selection::firstRange):
41312        (WebCore::Selection::toNormalizedRange):
41313        * editing/Selection.h:
41314        * editing/SelectionController.h:
41315        (WebCore::SelectionController::toNormalizedRange):
41316        * editing/TypingCommand.cpp:
41317        (WebCore::TypingCommand::deleteKeyPressed):
41318        (WebCore::TypingCommand::forwardDeleteKeyPressed):
41319        * editing/markup.cpp:
41320        (WebCore::createMarkup):
41321        * loader/archive/cf/LegacyWebArchive.cpp:
41322        (WebCore::LegacyWebArchive::createFromSelection):
41323        * page/AccessibilityRenderObject.cpp:
41324        (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
41325        * page/ContextMenuController.cpp:
41326        (WebCore::ContextMenuController::contextMenuItemSelected):
41327        * page/DOMSelection.cpp:
41328        (WebCore::DOMSelection::getRangeAt):
41329        (WebCore::DOMSelection::addRange):
41330        (WebCore::DOMSelection::deleteFromDocument):
41331        (WebCore::DOMSelection::containsNode):
41332        (WebCore::DOMSelection::toString):
41333        * page/DragController.cpp:
41334        (WebCore::setSelectionToDragCaret):
41335        (WebCore::DragController::concludeEditDrag):
41336        (WebCore::DragController::startDrag):
41337        * page/EventHandler.cpp:
41338        (WebCore::EventHandler::dispatchMouseEvent):
41339        * page/Frame.cpp:
41340        (WebCore::Frame::selectedText):
41341        (WebCore::Frame::shouldChangeSelection):
41342        (WebCore::Frame::shouldDeleteSelection):
41343        (WebCore::Frame::selectionComputedStyle):
41344        (WebCore::Frame::selectionTextRects):
41345        (WebCore::Frame::findString):
41346        (WebCore::Frame::respondToChangedSelection):
41347        * platform/ContextMenu.cpp:
41348        (WebCore::selectionContainsPossibleWord):
41349
413502009-02-06  Brady Eidson  <beidson@apple.com>
41351
41352        Reviewed by Dan Bernstein
41353
41354        <rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient
41355        before ::didReceiveResponse().
41356
41357        No layout test, as we don't have a concrete way to reproduce these conditions.  To that effect, I've added an ASSERT
41358        to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across
41359        this case and can come up with something more reproducible.
41360
41361        * loader/MainResourceLoader.cpp:
41362        (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response.  This is much
41363          like the FrameLoader::init() response that is used for initial document creation.
41364
413652009-02-06  Geoffrey Garen  <ggaren@apple.com>
41366
41367        Build fix.
41368
41369        * WebCore.base.exp:
41370
413712009-02-06  Xan Lopez  <xan@gnome.org>
41372
41373        Reviewed by Holger Freyther.
41374
41375        https://bugs.webkit.org/show_bug.cgi?id=23621
41376
41377        Do not use m_scrollOffset to check if we are setting the same
41378        value than we already have.
41379
41380        m_scrollOffset starts at 0 for ScrollView, so when opening a new
41381        page and scrolling to 0 (the usual case) the check will fail and
41382        we won't update the adjustment value, resulting in a possibly
41383        mispositioned scrollbar. Use the adjustment value directly
41384        instead, which is what we are updating anyway.
41385
41386        * platform/gtk/ScrollViewGtk.cpp:
41387        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
41388        (WebCore::ScrollView::platformHandleVerticalAdjustment):
41389
413902009-02-06  Justin Garcia  <justin.garcia@apple.com>
41391
41392        Reviewed by Oliver Hunt.
41393
41394        https://bugs.webkit.org/show_bug.cgi?id=23800
41395        Header elements are not always preserved during paste
41396
41397        At paste time, don't merge out of header elements.  At copy time, be sure to include
41398        headers in the list of special common ancestor blocks, so that copying a paragraph or less
41399        of content inside a header will include the header element in the copied markup.
41400
41401        * editing/ReplaceSelectionCommand.cpp:
41402        (WebCore::areSameHeaderElements):
41403        (WebCore::ReplaceSelectionCommand::shouldMerge):
41404        * editing/markup.cpp:
41405        (WebCore::isSpecialAncestorBlock):
41406        (WebCore::createMarkup):
41407
414082009-02-06  Geoffrey Garen  <ggaren@apple.com>
41409
41410        Reviewed by Sam Weinig.
41411
41412        Part III of <rdar://problem/6552272>.
41413
41414        Make redirect data available to WebKit. (I tried having WebKit track this
41415        data for itself, but that went wrong -- it's just too hard to figure
41416        out the weird corners of the WebCore loader from within another framework.)
41417
41418        * loader/DocumentLoader.cpp:
41419        (WebCore::DocumentLoader::DocumentLoader):
41420        * loader/DocumentLoader.h: Store a flag indicating whether we created
41421        a global history entry. If we didn't, then we know that the next redirect
41422        should not link to us, since we're not in history.
41423
41424        (WebCore::DocumentLoader::clientRedirectSourceForHistory):
41425        (WebCore::DocumentLoader::clientRedirectDestinationForHistory):
41426        (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
41427        (WebCore::DocumentLoader::serverRedirectSourceForHistory):
41428        (WebCore::DocumentLoader::serverRedirectDestinationForHistory):
41429        (WebCore::DocumentLoader::didCreateGlobalHistoryEntry):
41430        (WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors
41431        to help WebKit wade through the muck of WebCore history.
41432
41433        * loader/EmptyClients.h:
41434        (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed
41435        this client function to say what it does, instead of when it's called.
41436
41437        * loader/FrameLoader.cpp:
41438        (WebCore::FrameLoader::load):
41439        (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect,
41440        store a link to the previous history URL in the new DocumentLoader, so
41441        it can update WebKit with that link when the load commits.
41442
41443        (WebCore::FrameLoader::updateHistory*): Use our new flags and names,
41444        described above.
41445
41446        * loader/FrameLoader.h:
41447        (WebCore::FrameLoader::documentLoader):
41448        (WebCore::FrameLoader::policyDocumentLoader):
41449        (WebCore::FrameLoader::provisionalDocumentLoader):
41450        (WebCore::FrameLoader::state): Inlined a few trivial functions because
41451        performance mistakes give me the itches.
41452
41453        * loader/FrameLoaderClient.h: Renamed this client function to say what
41454        it does, instead of when it's called.
41455
414562009-02-06  Eric Seidel  <eric@webkit.org>
41457
41458        Reviewed by Justin Garcia.
41459
41460        Minor refactoring and cleanup to Selection code
41461        https://bugs.webkit.org/show_bug.cgi?id=23774
41462
41463        No functional changes, thus no tests.
41464
41465        * editing/Editor.cpp:
41466        (WebCore::Editor::applyStyle):
41467        (WebCore::Editor::applyParagraphStyle):
41468        * editing/Selection.cpp:
41469        (WebCore::Selection::Selection):
41470        (WebCore::Selection::setBaseAndExtentToDeepEquivalents):
41471        (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity):
41472        (WebCore::Selection::updateSelectionType):
41473        (WebCore::Selection::validate):
41474        (WebCore::Selection::setWithoutValidation):
41475        (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries):
41476        * editing/Selection.h:
41477        (WebCore::Selection::):
41478        (WebCore::Selection::selectionType):
41479        (WebCore::Selection::extent):
41480        (WebCore::Selection::isNone):
41481        (WebCore::Selection::isCaret):
41482        (WebCore::Selection::isRange):
41483        (WebCore::Selection::isCaretOrRange):
41484        * editing/SelectionController.h:
41485        (WebCore::SelectionController::selectionType):
41486        * editing/TypingCommand.cpp:
41487        (WebCore::TypingCommand::deleteKeyPressed):
41488        (WebCore::TypingCommand::forwardDeleteKeyPressed):
41489        * page/Frame.cpp:
41490        (WebCore::Frame::revealSelection):
41491
414922009-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
41493
41494        Reviewed by Eric Seidel.
41495
41496        https://bugs.webkit.org/show_bug.cgi?id=23801
41497        Add custom V8 bindings for SVG.
41498
41499        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added.
41500        (WebCore::CALLBACK_FUNC_DECL):
41501        * bindings/v8/custom/V8SVGLengthCustom.cpp: Added.
41502        (WebCore::ACCESSOR_GETTER):
41503        (WebCore::CALLBACK_FUNC_DECL):
41504        * bindings/v8/custom/V8SVGMatrixCustom.cpp: Added.
41505        (WebCore::CALLBACK_FUNC_DECL):
41506
415072009-02-06  David Levin  <levin@chromium.org>
41508
41509        Reviewed by Eric Seidel.
41510
41511        Bug 23792: unused param is used in RenderLayer.cpp but not #include'd
41512        <https://bugs.webkit.org/show_bug.cgi?id=23792>
41513
41514        Add include file for UnusedParam which is used in this file.
41515
41516        * rendering/RenderLayer.cpp:
41517
415182009-02-06  David Levin  <levin@chromium.org>
41519
41520        Reviewed by Eric Seidel.
41521
41522        <https://bugs.webkit.org/show_bug.cgi?id=23741>
41523
41524        Bug 23798: KURLGoogle needs support for protocolInHTTPFamily
41525        <https://bugs.webkit.org/show_bug.cgi?id=23798>
41526
41527        Add protocolInHTTPFamily() to the KURLGoogle implementation.
41528        This is another chromium build fix to mirror r40553.
41529
41530        While in this file, I did some style fixes and consistency fixes:
41531        + fixed many_occurences_of_underscoring_naming
41532        + usages of NULL
41533        + comparisons to 0
41534        + changed the copyright remove an extraneous , and capitalize the (C)
41535          which was suggested for other files that I've submitted.
41536
41537        No observable change in behavior, so no test.
41538
41539        * platform/KURL.h:
41540        (WebCore::KURL::protocolInHTTPFamily):
41541        * platform/KURLGoogle.cpp:
41542        (WebCore::KURLCharsetConverter::ConvertFromUTF16):
41543        (WebCore::lowerCaseEqualsASCII):
41544        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
41545        (WebCore::KURLGooglePrivate::setUtf8):
41546        (WebCore::KURLGooglePrivate::setAscii):
41547        (WebCore::KURLGooglePrivate::init):
41548        (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily):
41549        (WebCore::KURLGooglePrivate::copyTo):
41550        (WebCore::KURLGooglePrivate::replaceComponents):
41551        (WebCore::KURL::KURL):
41552        (WebCore::KURL::createCFURL):
41553        (WebCore::KURL::isEmpty):
41554        (WebCore::KURL::protocolInHTTPFamily):
41555        (WebCore::KURL::query):
41556        (WebCore::decodeURLEscapeSequences):
41557        (WebCore::KURL::protocolIs):
41558        (WebCore::encodeWithURLEscapeSequences):
41559        (WebCore::KURL::invalidate):
41560        (WebCore::equalIgnoringRef):
41561        * platform/KURLGooglePrivate.h:
41562
415632009-02-06  David Kilzer  <ddkilzer@apple.com>
41564
41565        Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer
41566
41567        Reviewed by Darin Adler.
41568
41569        * rendering/style/RenderStyle.cpp:
41570        (WebCore::RenderStyle::contentDataEquivalent): Moved method to
41571        WebCore::StyleRareNonInheritedData class.
41572        * rendering/style/RenderStyle.h:
41573        (WebCore::InheritedFlags::contentDataEquivalent): Replaced declaration
41574        with inline method that calls contentDataEquivalent() on
41575        WebCore::StyleRareNonInheritedData instead.
41576        * rendering/style/StyleRareNonInheritedData.cpp:
41577        (WebCore::StyleRareNonInheritedData::operator==): This is the bug fix!
41578        Replaced pointer comparison of ContentData objects with call to
41579        StyleRareNonInheritedData::contentDataEquivalent().
41580        (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added.
41581        * rendering/style/StyleRareNonInheritedData.h:
41582        (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added
41583        declaration.
41584
415852009-02-06  Simon Fraser  <simon.fraser@apple.com>
41586
41587        Reviewed by Eric Seidel
41588
41589        Factor code that checks whether the object is rooted in
41590        repaint() and repaintRectangle() into a common isRooted()
41591        method.
41592
41593        * rendering/RenderObject.cpp:
41594        (WebCore::RenderObject::repaint):
41595        (WebCore::RenderObject::repaintRectangle):
41596        (WebCore::RenderObject::isRooted):
41597        * rendering/RenderObject.h:
41598
415992009-02-06  Simon Fraser  <simon.fraser@apple.com>
41600
41601        Reviewed by Eric Seidel
41602
41603        Expose an isRootLayer() method on RenderLayer that works whether the
41604        layer is rooted or not, and use that in a few places in the
41605        accelerated compositing code.
41606
41607        * rendering/RenderLayer.h:
41608        (WebCore::RenderLayer::isRootLayer):
41609        * rendering/RenderLayerBacking.cpp:
41610        (WebCore::RenderLayerBacking::paintingGoesToWindow):
41611        * rendering/RenderLayerCompositor.cpp:
41612        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
41613        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
41614
416152009-02-06  Dan Bernstein  <mitz@apple.com>
41616
41617        Reviewed by Darin Adler.
41618
41619        - fix <rdar://problem/6552338> FontCache::releaseFontData() called on a small caps font that is not in the cache
41620
41621        Most platforms do not retrieve the small caps font from the FontCache,
41622        but cross-platform code in ~SimpleFontData() assumes the the small caps
41623        font data did come from the cache and therefore calls releaseFontData()
41624        on it.
41625
41626        * platform/graphics/SimpleFontData.cpp:
41627        (WebCore::SimpleFontData::~SimpleFontData): Reordered to call
41628        platformDestroy() before releasing the small caps font and pruning the
41629        glyph page tree. This allows platformDestroy() to reset
41630        m_smallCapsFontData to 0 if it was not obtained from the cache.
41631        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
41632        (WebCore::SimpleFontData::platformDestroy): Set m_smallCapsFontData to
41633        0 after deleting it.
41634        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
41635        (WebCore::SimpleFontData::platformDestroy): Ditto.
41636        * platform/graphics/gtk/SimpleFontDataPango.cpp:
41637        (WebCore::SimpleFontData::platformDestroy): Ditto.
41638        * platform/graphics/win/SimpleFontDataWin.cpp:
41639        (WebCore::SimpleFontData::platformCommonDestroy): Ditto.
41640        * platform/graphics/wx/SimpleFontDataWx.cpp:
41641        (WebCore::SimpleFontData::platformDestroy): Ditto.
41642
416432009-02-06  Simon Fraser  <simon.fraser@apple.com>
41644
41645        Reviewed by Eric Seidel
41646
41647        Make RenderStyle::transitionForProperty() const.
41648
41649        * rendering/style/RenderStyle.cpp:
41650        (WebCore::RenderStyle::transitionForProperty):
41651        * rendering/style/RenderStyle.h:
41652
416532009-02-06  Simon Fraser  <simon.fraser@apple.com>
41654
41655        Fix build when ACCELERATED_COMPOSITING is turned on.
41656
41657        Remove font smoothing changes that will be committed
41658        separately.
41659
41660        * platform/graphics/mac/WebLayer.mm:
41661        (WebCore::if):
41662
416632009-02-06  Anders Carlsson  <andersca@apple.com>
41664
41665        Build fix.
41666
41667        * bridge/npapi.h:
41668
416692009-02-06  Darin Fisher  <darin@chromium.org>
41670
41671        Reviewed by Eric Seidel.
41672
41673        https://bugs.webkit.org/show_bug.cgi?id=23790
41674        Custom -> JSCCustom in SVGPointList.idl
41675
41676        * svg/SVGPointList.idl:
41677
416782009-02-06  Anantanarayanan Iyengar  <ananta@chromium.org>
41679
41680        Reviewed by Eric Seidel.
41681
41682        https://bugs.webkit.org/show_bug.cgi?id=23309
41683        Fix whitespace indent errors. The rest of the original patch has already
41684        landed.
41685
41686        * platform/graphics/cairo/ImageSourceCairo.cpp:
41687        (WebCore::ImageSource::clear):
41688        * platform/graphics/cg/ImageSourceCG.cpp:
41689        (WebCore::ImageSource::clear):
41690        * platform/graphics/qt/ImageSourceQt.cpp:
41691        (WebCore::ImageSource::clear):
41692        * platform/graphics/wx/ImageSourceWx.cpp:
41693        (WebCore::ImageSource::clear):
41694
416952009-02-06  Dirk Schulze  <krit@webkit.org>
41696
41697        Reviewed by Simon Hausmann.
41698
41699        Fix bug in clearRect(). Use fillRect() instead of eraseRect() to get
41700        the context transparent.
41701
41702        [QT] clearRect fill's a given rect with white
41703        https://bugs.webkit.org/show_bug.cgi?id=23728
41704
41705        * platform/graphics/qt/GraphicsContextQt.cpp:
41706        (WebCore::GraphicsContext::clearRect):
41707
417082009-02-06  Simon Fraser  <simon.fraser@apple.com>
41709
41710        Reviewed by Dave Hyatt
41711
41712        https://bugs.webkit.org/show_bug.cgi?id=23781
41713
41714        When the document is attached and detached, and when it becomes active/inactive
41715        (e.g. coming out or going into the page cache) we need to call
41716        RenderView::didMoveOnscreen()/willMoveOffscreen() to hook and unhook the composited
41717        layers.
41718
41719        Also, if Document::recalcStyle() does not do a layout, it needs to
41720        update the compositing layers.
41721
41722        * dom/Document.cpp:
41723        (WebCore::Document::updateRendering):
41724        (WebCore::Document::updateLayout):
41725        (WebCore::Document::attach):
41726        (WebCore::Document::detach):
41727        (WebCore::Document::documentWillBecomeInactive):
41728        (WebCore::Document::documentDidBecomeActive):
41729
417302009-02-06  Simon Hausmann  <simon.hausmann@nokia.com>
41731
41732        Reviewed by Tor Arne Vestbø.
41733
41734        Added support for different ownership models for wrapped QObjects in
41735        the JavaScript environment.
41736
41737        * bindings/js/ScriptControllerQt.cpp:
41738        (WebCore::ScriptController::createScriptInstanceForWidget): Specify
41739        QtOwnership for scriptable widgets.
41740        * bridge/npruntime_internal.h: Add "NormalState" to the list of
41741        undef'ed macros as an included Qt header uses "NormalState" as value
41742        in an enum.
41743        * bridge/qt/qt_instance.cpp:
41744        (JSC::Bindings::QtInstance::QtInstance): Save and initialize ownership
41745        member.
41746        (JSC::Bindings::QtInstance::~QtInstance): Respect
41747        QScriptEngine::ValueOwnership policy with regards to wrapped m_object.
41748        (JSC::Bindings::QtInstance::getQtInstance): Pass the ownership down to
41749        the instance.
41750        * bridge/qt/qt_instance.h:
41751        (JSC::Bindings::QtInstance::create): Ditto.
41752        * bridge/qt/qt_runtime.cpp:
41753        (JSC::Bindings::convertQVariantToValue): Use QtOwnership for
41754        automatically wrapped QObjects.
41755        (JSC::Bindings::QtConnectionObject::execute): Ditto.
41756
417572009-02-05  Maciej Stachowiak  <mjs@apple.com> and Brady Eidson  <beidson@apple.com>
41758
41759        Reviewed by Dan Bernstein and Geoff Garen.
41760
41761        - WebCore code to track per-day and per-week visit counts in history
41762
41763        The basic idea is as follows: we track daily visits for up to 13
41764        days, and weekly visits for up to 5 weeks past the end of the
41765        current daily visits. As soon as the number of daily counts goes
41766        over 13, we squish them down into weeks, and then prune the excess weeks.
41767
41768        * history/HistoryItem.cpp:
41769        (WebCore::HistoryItem::HistoryItem): Remove bogus whitespace.
41770        (WebCore::timeToDay): Helper function: convert time to days from the epoch.
41771        (WebCore::HistoryItem::padDailyCountsForNewVisit): Insert 0 counts if
41772        a site is visited after a span of days.
41773        (WebCore::HistoryItem::collapseDailyVisitsToWeekly): Core day/week upgrade
41774        algorithm as described above.
41775        (WebCore::HistoryItem::recordVisitAtTime): Use above helpers to record all
41776        info about a visit to this history item.
41777        (WebCore::HistoryItem::setLastVisitedTime): Updated.
41778        (WebCore::HistoryItem::visited): Updated.
41779        (WebCore::HistoryItem::recordInitialVisit): New function to
41780        handle recording data about the very first visit, replacing the
41781        prior practice of explicitly setting visit count to 1.
41782        (WebCore::HistoryItem::adoptVisitCounts): Take ownership of
41783        daily and weekly visit count vectors.
41784        (WebCore::HistoryItem::mergeAutoCompleteHints): Added a comment
41785        noting that this function doesn't work properly now (though
41786        this shouldn't matter much in practice.)
41787        * history/HistoryItem.h:
41788        (WebCore::HistoryItem::dailyVisitCounts): Accessor for daily counts.
41789        (WebCore::HistoryItem::weeklyVisitCounts): Ditto for weekly counts.
41790        * WebCore.base.exp: Add new symbols and sort.
41791
417922009-02-05  Alexey Proskuryakov  <ap@webkit.org>
41793
41794        Reviewed by Darin Adler.
41795
41796        <rdar://problem/6438271> Improve backspace handling of accented characters
41797
41798        Test: platform/mac/editing/deleting/backward-delete.html
41799
41800        This change makes WebKit behave like AppKit on the Mac. Other platforms are not affected,
41801        because the current behavior matches their standards (tested on Windows, assumed elsewhere).
41802
41803        * dom/Position.cpp:
41804        (WebCore::Position::previous):
41805        (WebCore::Position::next):
41806        (WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion):
41807        * dom/Position.h:
41808        Added a new option for previous(), used to move to a next position for backward deletion.
41809        Renamed EUsingComposedCharacters to PositionMoveType.
41810
41811        * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
41812        Use previous(BackwardDeletion) to find a proper range to delete. Also, simplified a check
41813        surrounding this code a little.
41814
41815        * editing/htmlediting.cpp:
41816        (WebCore::nextVisuallyDistinctCandidate):
41817        (WebCore::previousVisuallyDistinctCandidate):
41818        Adjusted for renamed enum values.
41819
41820        * rendering/RenderObject.cpp:
41821        * rendering/RenderObject.h:
41822        * rendering/RenderText.h:
41823        Added previousOffsetForBackwardDeletion().
41824
41825        * rendering/RenderText.cpp: (WebCore::RenderText::previousOffsetForBackwardDeletion):
41826        On PLATFORM(MAC), use an algorithm that matches the one AppKit has for backward deletion.
41827
418282009-02-05  Adam Roben  <aroben@apple.com>
41829
41830        Fix a crash in RenderWidget::destroy when navigating away from a page
41831        with an <iframe>
41832
41833        This was a regression caused by r40679
41834
41835        Reviewed by Dave Hyatt.
41836
41837        Tested by many many tests.
41838
41839        * rendering/RenderWidget.cpp:
41840        (WebCore::RenderWidget::destroy): Only deref the RenderWidget after we
41841        finish accessing its members.
41842
418432009-02-05  Simon Fraser  <simon.fraser@apple.com>
41844
41845        Reviewed by Anders Carlsson
41846
41847        getAnimatedStyleForRenderer() should not create a new
41848        CompositeAnimation if the object isn't already animating, and
41849        it should just fall back to returning renderer->style().
41850
41851        * page/animation/AnimationController.cpp:
41852        (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
41853
418542009-02-05  Simon Fraser  <simon.fraser@apple.com>
41855
41856        Fix build when ACCELERATED_COMPOSITING is turned on.
41857
41858        Give RenderLayerBacking some love after the great
41859        RenderBoxModelObject split.
41860
41861        * rendering/RenderLayerBacking.cpp:
41862        (WebCore::RenderLayerBacking::updateLayerTransform):
41863        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
41864        (WebCore::RenderLayerBacking::contentsBox):
41865        (WebCore::RenderLayerBacking::paintIntoLayer):
41866        (WebCore::RenderLayerBacking::startAnimation):
41867        (WebCore::RenderLayerBacking::startTransition):
41868        * rendering/RenderLayerBacking.h:
41869        (WebCore::RenderLayerBacking::renderer):
41870
418712009-02-05  Simon Fraser  <simon.fraser@apple.com>
41872
41873        Fix build when ACCELERATED_COMPOSITING is turned on.
41874
41875        writeIndent() needs to be static to avoid warnings on some OSes,
41876        and remove unused CAToTransform3D() method.
41877
41878        * platform/graphics/GraphicsLayer.cpp:
41879        (WebCore::writeIndent):
41880        * platform/graphics/mac/GraphicsLayerCA.mm:
41881
418822009-02-05  Simon Fraser  <simon.fraser@apple.com>
41883
41884        Reviewed by Anders Carlsson
41885
41886        Add some methods to the TransformOperation classes that are required
41887        by GraphicsLayer when ACCELERATED_COMPOSITING is turned on.
41888
41889        * platform/graphics/transforms/MatrixTransformOperation.h:
41890        (WebCore::MatrixTransformOperation::create):
41891        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
41892        * platform/graphics/transforms/ScaleTransformOperation.h:
41893        (WebCore::ScaleTransformOperation::x):
41894        (WebCore::ScaleTransformOperation::y):
41895        * platform/graphics/transforms/TranslateTransformOperation.h:
41896        (WebCore::TranslateTransformOperation::x):
41897        (WebCore::TranslateTransformOperation::y):
41898
418992009-02-05  Simon Fraser  <simon.fraser@apple.com>
41900
41901        Minor clenaup: fix brace style in CompositeAnimationPrivate::updateTransitions(),
41902        and correct a usage of UNUSED_PARAM().
41903
41904        * page/animation/CompositeAnimation.cpp:
41905        (WebCore::CompositeAnimationPrivate::updateTransitions):
41906        * page/animation/ImplicitAnimation.cpp:
41907        (WebCore::ImplicitAnimation::startAnimation):
41908
419092009-02-05  Simon Fraser  <simon.fraser@apple.com>
41910
41911        Fix build when ACCELERATED_COMPOSITING is turned on.
41912
41913        animationOfPropertyIsAccelerated() needs to be public because
41914        it is called from AnimationController.
41915
41916        * page/animation/AnimationBase.h:
41917
419182009-02-05  Simon Fraser  <simon.fraser@apple.com>
41919
41920        Reviewed by Anders Carlsson
41921
41922        Fix mis-typed enum value which is hidden inside #ifdefs so didn't break
41923        the build.
41924
41925        * page/FrameView.cpp:
41926        (WebCore::FrameView::updateCompositingLayers):
41927
419282009-02-05  Sam Weinig  <sam@webkit.org>
41929
41930        Reviewed by Geoffrey Garen.
41931
41932        Fix missing checked toRenderBlock casts.
41933
41934        * rendering/RenderBlock.cpp:
41935        (WebCore::RenderBlock::clearFloats):
41936        * rendering/RenderBox.cpp:
41937        (WebCore::RenderBox::availableHeightUsing):
41938
419392009-02-05  Sam Weinig  <sam@webkit.org>
41940
41941        Patch from Darin Adler.
41942        Reviewed by Sam Weinig.
41943
41944        Fix case where we were casting to RenderView.
41945
41946        No test case possible.
41947
41948        * editing/mac/SelectionControllerMac.mm:
41949        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
41950
419512009-02-05  Aaron Boodman  <aa@chromium.org>
41952
41953        Reviewed by Dave Hyatt.
41954
41955        https://bugs.webkit.org/show_bug.cgi?id=23708
41956        Adds documentElementAvailable() callback to FrameLoaderClient.
41957
41958        * dom/XMLTokenizerLibxml2.cpp:
41959        (WebCore::XMLTokenizer::startElementNs):
41960        Add call to dispatchDocumentElementAvailable()
41961        * dom/XMLTokenizerQt.cpp:
41962        (WebCore::XMLTokenizer::parseStartElement):
41963        Ditto.
41964        * html/HTMLParser.cpp:
41965        (WebCore::HTMLParser::insertNode):
41966        Ditto.
41967        * loader/EmptyClients.h:
41968        (WebCore::EmptyFrameLoaderClient::documentElementAvailable):
41969        Stub out documentElementAvailable().
41970        * loader/FrameLoader.cpp:
41971        documentElementAvailable() callback plumbing.
41972        * loader/FrameLoader.h:
41973        Ditto.
41974        * loader/FrameLoaderClient.h:
41975        Add new documentElementAvailable() callback.
41976
419772009-02-05  Scott Violet  <sky@google.com>
41978
41979        Reviewed by Eric Seidel.
41980
41981        https://bugs.webkit.org/show_bug.cgi?id=23766
41982        CanvasRenderingContext2D::setShadow needs else for other platforms.
41983
41984        Implements the CMYK variant of CanvasRenderingContext2D::setShadow for
41985        other platforms using the CMYK color constructor.
41986
41987        * html/CanvasRenderingContext2D.cpp:
41988        (WebCore::CanvasRenderingContext2D::setShadow):
41989
419902009-02-05  Scott Violet  <sky@google.com>
41991
41992        Reviewed by Eric Seidel.
41993
41994        https://bugs.webkit.org/show_bug.cgi?id=23687
41995        Wires up Skia'a ImageBuffer::toDataURL to support pngs.
41996        This helps Chromium pass a couple of layout tests.
41997
41998        * platform/graphics/skia/ImageBufferSkia.cpp:
41999        (WebCore::ImageBuffer::toDataURL):
42000        * platform/image-encoders: Added.
42001        * platform/image-encoders/skia: Added.
42002        * platform/image-encoders/skia/PNGImageEncoder.cpp: Added.
42003        (WebCore::):
42004        (WebCore::PngEncoderState::EncoderWriteCallback):
42005        (WebCore::PngEncoderState::ConvertBGRAtoRGB):
42006        (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer):
42007        (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer):
42008        (WebCore::PNGImageEncoder::encode):
42009        * platform/image-encoders/skia/PNGImageEncoder.h: Added.
42010
420112009-02-05  Sam Weinig  <sam@webkit.org>
42012
42013        Reviewed by Darin Adler.
42014
42015        Fix missing checked cast.
42016
42017        * rendering/RenderObject.cpp:
42018        (WebCore::RenderObject::containingBlock):
42019
420202009-02-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
42021
42022        Not reviewed. Fix WML enabled builds.
42023
42024        FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
42025
42026        * wml/WMLGoElement.cpp:
42027        (WebCore::WMLGoElement::executeTask):
42028
420292009-02-05  Scott Violet  <sky@google.com>
42030
42031        Reviewed by Eric Seidel.
42032
42033        https://bugs.webkit.org/show_bug.cgi?id=23625
42034        Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
42035
42036        Fixes three bugs in PlatformContextSkia:
42037
42038        * When a new layer was started clipped to an image we used the
42039          assignment operator to copy the SkBitmap. If the SkBitmap owns it's
42040          pixels, this is not the right thing to do. Instead we need to create
42041          a copy of the image.
42042        * State holds an SkBitmap by value. State's copy constructor does a
42043          memcpy. This is confusing and subtle, I've converted to use a member
42044          initializer list which I think is clearer and less error prone.
42045        * When creating a new layer there is no need to copy the clip image.
42046
42047        * platform/graphics/skia/PlatformContextSkia.cpp:
42048        (PlatformContextSkia::State::State):
42049        (PlatformContextSkia::save):
42050        (PlatformContextSkia::beginLayerClippedToImage):
42051
420522009-02-05  Scott Violet  <sky@google.com>
42053
42054        Reviewed by George Staikos.
42055
42056        https://bugs.webkit.org/show_bug.cgi?id=23462
42057        Changes call from setFillColor to setStrokeColor.
42058
42059        * html/CanvasStyle.cpp:
42060        (WebCore::CanvasStyle::applyStrokeColor):
42061
420622009-02-05  David Hyatt  <hyatt@apple.com>
42063
42064        Fix crash on svg custom stop test.  A virtual function didn't get patched properly.
42065
42066        Reviewed by Sam Weinig
42067
42068        * rendering/RenderObject.cpp:
42069        (WebCore::RenderObject::clippedOverflowRectForRepaint):
42070        * rendering/RenderSVGGradientStop.h:
42071        (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
42072
420732009-02-05  Simon Fraser  <simon.fraser@apple.com>
42074
42075        Reviewed by Dave Hyatt
42076
42077        https://bugs.webkit.org/show_bug.cgi?id=23765
42078
42079        Add toRenderBoxModelObject() so that we can cast objects that
42080        can have layers.
42081
42082        Fix getComputedStyle to return the current value of style
42083        properties that are undergoing accelerated animations, by
42084        asking the AnimationController if the property has accelerated
42085        animations, and, if so, asking it to generate an appropriate
42086        style.
42087
42088        Tightened up some type safety (CSSPropertyID), and code clarity
42089        (replace bool with enum).
42090
42091        * WebCore.xcodeproj/project.pbxproj:
42092        * css/CSSComputedStyleDeclaration.cpp:
42093        (WebCore::hasCompositedLayer):
42094        (WebCore::computedTransform):
42095        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
42096        * page/animation/AnimationController.cpp:
42097        (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
42098        (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
42099        (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
42100        * page/animation/AnimationController.h:
42101        * page/animation/AnimationControllerPrivate.h:
42102        * page/animation/ImplicitAnimation.cpp:
42103        (WebCore::ImplicitAnimation::startAnimation):
42104        (WebCore::ImplicitAnimation::endAnimation):
42105        * page/animation/KeyframeAnimation.cpp:
42106        (WebCore::KeyframeAnimation::startAnimation):
42107        (WebCore::KeyframeAnimation::endAnimation):
42108        * rendering/RenderBoxModelObject.h:
42109        (WebCore::RenderBoxModelObject::isBoxModelObject):
42110        (WebCore::toRenderBoxModelObject):
42111        * rendering/RenderLayerBacking.cpp:
42112        (WebCore::RenderLayerBacking::updateLayerTransform):
42113        * rendering/RenderObject.h:
42114        (WebCore::RenderObject::isBoxModelObject):
42115        * rendering/style/RenderStyle.cpp:
42116        (WebCore::RenderStyle::applyTransform):
42117        * rendering/style/RenderStyle.h:
42118        (WebCore::InheritedFlags::):
42119
421202009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
42121
42122        Reviewed by Eric Seidel.
42123
42124        https://bugs.webkit.org/show_bug.cgi?id=23767
42125        Add custom V8 bindings for HTML5 database.
42126
42127        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
42128        (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
42129        (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
42130        (WebCore::V8CustomSQLStatementCallback::handleEvent):
42131        * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
42132        (WebCore::V8CustomSQLStatementCallback::create):
42133        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
42134        (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
42135        (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
42136        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
42137        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
42138        (WebCore::V8CustomSQLStatementErrorCallback::create):
42139        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
42140        (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
42141        (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
42142        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
42143        * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
42144        (WebCore::V8CustomSQLTransactionCallback::create):
42145        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
42146        (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
42147        (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
42148        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
42149        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
42150        (WebCore::V8CustomSQLTransactionErrorCallback::create):
42151        * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
42152        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
42153        (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
42154        (WebCore::V8CustomVoidCallback::handleEvent):
42155        (WebCore::invokeCallback):
42156        * bindings/v8/custom/V8CustomVoidCallback.h: Added.
42157        (WebCore::V8CustomVoidCallback::create):
42158        * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
42159        (WebCore::CALLBACK_FUNC_DECL):
42160        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
42161        (WebCore::CALLBACK_FUNC_DECL):
42162        * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
42163        (WebCore::CALLBACK_FUNC_DECL):
42164
421652009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
42166
42167        Reviewed by Eric Seidel.
42168
42169        https://bugs.webkit.org/show_bug.cgi?id=23747
42170        Add Chromium threading-related files.
42171
42172        * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
42173
421742009-02-05  Sam Weinig  <sam@webkit.org>
42175
42176        Reviewed by Adam Roben.
42177
42178        Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
42179        is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
42180        is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
42181
42182        * rendering/RenderButton.h:
42183        (WebCore::RenderButton::isRenderButton):
42184        (WebCore::toRenderButton):
42185        * rendering/RenderFileUploadControl.cpp:
42186        (WebCore::RenderFileUploadControl::paintObject):
42187        * rendering/RenderObject.h:
42188        (WebCore::RenderObject::isRenderButton):
42189
421902009-02-05  David Hyatt  <hyatt@apple.com>
42191
42192        Move the m_layer member variable of RenderBox up into RenderBoxModelObject.  Refactor styleDidChange'
42193        of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.
42194        In order to set the various RenderObject bits properly prior to the test for whether a layer is
42195        required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
42196        for setting all of the bits.
42197
42198        Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree.  Move hasStaticX/Y to
42199        RenderStyle, and just use the corresponding layer() methods for the
42200        staticX/Y getters/setters.
42201
42202        Reviewed by Sam Weinig
42203
42204        * rendering/RenderBlock.cpp:
42205        (WebCore::RenderBlock::layoutBlock):
42206        (WebCore::RenderBlock::adjustPositionedBlock):
42207        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
42208        (WebCore::RenderBlock::layoutPositionedObjects):
42209        (WebCore::RenderBlock::paintObject):
42210        (WebCore::RenderBlock::nodeAtPoint):
42211        (WebCore::RenderBlock::offsetForContents):
42212        (WebCore::RenderBlock::calcPrefWidths):
42213        (WebCore::RenderBlock::baselinePosition):
42214        * rendering/RenderBox.cpp:
42215        (WebCore::RenderBox::RenderBox):
42216        (WebCore::RenderBox::destroy):
42217        (WebCore::RenderBox::styleWillChange):
42218        (WebCore::RenderBox::styleDidChange):
42219        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
42220        (WebCore::RenderBox::scrollWidth):
42221        (WebCore::RenderBox::scrollHeight):
42222        (WebCore::RenderBox::scrollLeft):
42223        (WebCore::RenderBox::scrollTop):
42224        (WebCore::RenderBox::setScrollLeft):
42225        (WebCore::RenderBox::setScrollTop):
42226        (WebCore::RenderBox::getOverflowClipRect):
42227        (WebCore::RenderBox::localToAbsolute):
42228        (WebCore::RenderBox::absoluteToLocal):
42229        (WebCore::RenderBox::localToContainerQuad):
42230        (WebCore::RenderBox::position):
42231        (WebCore::RenderBox::computeRectForRepaint):
42232        (WebCore::RenderBox::calcAbsoluteHorizontal):
42233        (WebCore::RenderBox::calcAbsoluteVertical):
42234        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
42235        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
42236        * rendering/RenderBox.h:
42237        * rendering/RenderBoxModelObject.cpp:
42238        (WebCore::RenderBoxModelObject::RenderBoxModelObject):
42239        (WebCore::RenderBoxModelObject::destroy):
42240        (WebCore::RenderBoxModelObject::styleWillChange):
42241        (WebCore::RenderBoxModelObject::styleDidChange):
42242        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
42243        * rendering/RenderBoxModelObject.h:
42244        (WebCore::RenderBoxModelObject::layer):
42245        (WebCore::RenderBoxModelObject::requiresLayer):
42246        * rendering/RenderFlexibleBox.cpp:
42247        (WebCore::RenderFlexibleBox::layoutBlock):
42248        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
42249        (WebCore::RenderFlexibleBox::layoutVerticalBox):
42250        * rendering/RenderInline.cpp:
42251        (WebCore::RenderInline::updateBoxModelInfoFromStyle):
42252        (WebCore::RenderInline::styleDidChange):
42253        (WebCore::RenderInline::relativePositionedInlineOffset):
42254        * rendering/RenderInline.h:
42255        * rendering/RenderLayer.cpp:
42256        (WebCore::RenderLayer::setStaticY):
42257        (WebCore::RenderLayer::updateLayerPosition):
42258        * rendering/RenderLayer.h:
42259        * rendering/RenderObject.cpp:
42260        (WebCore::RenderObject::setStyle):
42261        (WebCore::RenderObject::styleDidChange):
42262        * rendering/RenderObject.h:
42263        (WebCore::RenderObject::markContainingBlocksForLayout):
42264        * rendering/RenderTableRow.cpp:
42265        (WebCore::RenderTableRow::paint):
42266        * rendering/RenderWidget.cpp:
42267        (WebCore::RenderWidget::destroy):
42268        * rendering/bidi.cpp:
42269        (WebCore::appendRunsForObject):
42270        (WebCore::RenderBlock::layoutInlineChildren):
42271        (WebCore::RenderBlock::skipTrailingWhitespace):
42272        (WebCore::RenderBlock::skipLeadingWhitespace):
42273        (WebCore::RenderBlock::findNextLineBreak):
42274        * rendering/style/RenderStyle.h:
42275        (WebCore::InheritedFlags::hasStaticX):
42276        (WebCore::InheritedFlags::hasStaticY):
42277
422782009-02-05  Sam Weinig  <sam@webkit.org>
42279
42280        Fix the windows build.
42281
42282        * bindings/scripts/CodeGeneratorCOM.pm:
42283        * dom/Node.idl:
42284
422852009-02-05  Anders Carlsson  <andersca@apple.com>
42286
42287        Reviewed by Kevin Decker.
42288
42289        Update to match Gecko.
42290
42291        * bridge/npapi.h:
42292        * plugins/npfunctions.h:
42293
422942009-02-05  Sam Weinig  <sam@webkit.org>
42295
42296        Reviewed by Darin Adler.
42297
42298        Finish merging EventTargetNode up into Node.
42299
42300        This also fixes a small recently introduced issue where EventListeners
42301        would not be removed from the document if they were attached to comment
42302        nodes outside of the documentElement.
42303
42304        * GNUmakefile.am:
42305        * WebCore.pro:
42306        * WebCore.scons:
42307        * WebCore.vcproj/WebCore.vcproj:
42308        * WebCore.xcodeproj/project.pbxproj:
42309        * WebCoreSources.bkl:
42310        * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
42311        * bindings/js/JSNodeCustom.cpp:
42312        (WebCore::JSNode::addEventListener):
42313        (WebCore::JSNode::removeEventListener):
42314        (WebCore::JSNode::pushEventHandlerScope):
42315        * bindings/scripts/CodeGenerator.pm:
42316        * dom/CharacterData.cpp:
42317        (WebCore::CharacterData::CharacterData):
42318        (WebCore::CharacterData::rendererIsNeeded):
42319        * dom/CharacterData.h:
42320        * dom/ContainerNode.cpp:
42321        (WebCore::ContainerNode::willRemove):
42322        (WebCore::ContainerNode::attach):
42323        (WebCore::ContainerNode::detach):
42324        (WebCore::ContainerNode::insertedIntoDocument):
42325        (WebCore::ContainerNode::removedFromDocument):
42326        (WebCore::ContainerNode::setFocus):
42327        (WebCore::ContainerNode::setActive):
42328        (WebCore::ContainerNode::setHovered):
42329        (WebCore::dispatchChildInsertionEvents):
42330        (WebCore::dispatchChildRemovalEvents):
42331        * dom/ContainerNode.h:
42332        (WebCore::ContainerNode::ContainerNode):
42333        * dom/Document.cpp:
42334        (WebCore::Document::removeAllEventListenersFromAllNodes):
42335        (WebCore::Document::removeAllDisconnectedNodeEventListeners):
42336        (WebCore::Document::setFocusedNode):
42337        * dom/EventTargetNode.cpp: Removed.
42338        * dom/EventTargetNode.h: Removed.
42339        * dom/Node.cpp:
42340        (WebCore::Node::scriptExecutionContext):
42341        (WebCore::Node::eventListeners):
42342        (WebCore::Node::insertedIntoDocument):
42343        (WebCore::Node::removedFromDocument):
42344        (WebCore::Node::willMoveToNewOwnerDocument):
42345        (WebCore::Node::didMoveToNewOwnerDocument):
42346        (WebCore::updateSVGElementInstancesAfterEventListenerChange):
42347        (WebCore::Node::addEventListener):
42348        (WebCore::Node::removeEventListener):
42349        (WebCore::Node::removeAllEventListenersSlowCase):
42350        (WebCore::Node::handleLocalEvents):
42351        (WebCore::eventTargetAsSVGElementInstance):
42352        (WebCore::eventTargetRespectingSVGTargetRules):
42353        (WebCore::Node::dispatchEvent):
42354        (WebCore::Node::dispatchGenericEvent):
42355        (WebCore::Node::dispatchSubtreeModifiedEvent):
42356        (WebCore::Node::dispatchWindowEvent):
42357        (WebCore::Node::dispatchUIEvent):
42358        (WebCore::Node::dispatchKeyEvent):
42359        (WebCore::Node::dispatchMouseEvent):
42360        (WebCore::Node::dispatchSimulatedMouseEvent):
42361        (WebCore::Node::dispatchSimulatedClick):
42362        (WebCore::Node::dispatchWheelEvent):
42363        (WebCore::Node::dispatchWebKitAnimationEvent):
42364        (WebCore::Node::dispatchWebKitTransitionEvent):
42365        (WebCore::Node::dispatchFocusEvent):
42366        (WebCore::Node::dispatchBlurEvent):
42367        (WebCore::Node::dispatchEventForType):
42368        (WebCore::Node::dispatchProgressEvent):
42369        (WebCore::Node::dispatchStorageEvent):
42370        (WebCore::Node::removeInlineEventListenerForType):
42371        (WebCore::Node::setInlineEventListenerForType):
42372        (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
42373        (WebCore::Node::inlineEventListenerForType):
42374        (WebCore::Node::disabled):
42375        (WebCore::Node::defaultEventHandler):
42376        (WebCore::Node::onabort):
42377        (WebCore::Node::setOnabort):
42378        (WebCore::Node::onblur):
42379        (WebCore::Node::setOnblur):
42380        (WebCore::Node::onchange):
42381        (WebCore::Node::setOnchange):
42382        (WebCore::Node::onclick):
42383        (WebCore::Node::setOnclick):
42384        (WebCore::Node::oncontextmenu):
42385        (WebCore::Node::setOncontextmenu):
42386        (WebCore::Node::ondblclick):
42387        (WebCore::Node::setOndblclick):
42388        (WebCore::Node::onerror):
42389        (WebCore::Node::setOnerror):
42390        (WebCore::Node::onfocus):
42391        (WebCore::Node::setOnfocus):
42392        (WebCore::Node::oninput):
42393        (WebCore::Node::setOninput):
42394        (WebCore::Node::onkeydown):
42395        (WebCore::Node::setOnkeydown):
42396        (WebCore::Node::onkeypress):
42397        (WebCore::Node::setOnkeypress):
42398        (WebCore::Node::onkeyup):
42399        (WebCore::Node::setOnkeyup):
42400        (WebCore::Node::onload):
42401        (WebCore::Node::setOnload):
42402        (WebCore::Node::onmousedown):
42403        (WebCore::Node::setOnmousedown):
42404        (WebCore::Node::onmousemove):
42405        (WebCore::Node::setOnmousemove):
42406        (WebCore::Node::onmouseout):
42407        (WebCore::Node::setOnmouseout):
42408        (WebCore::Node::onmouseover):
42409        (WebCore::Node::setOnmouseover):
42410        (WebCore::Node::onmouseup):
42411        (WebCore::Node::setOnmouseup):
42412        (WebCore::Node::onmousewheel):
42413        (WebCore::Node::setOnmousewheel):
42414        (WebCore::Node::onbeforecut):
42415        (WebCore::Node::setOnbeforecut):
42416        (WebCore::Node::oncut):
42417        (WebCore::Node::setOncut):
42418        (WebCore::Node::onbeforecopy):
42419        (WebCore::Node::setOnbeforecopy):
42420        (WebCore::Node::oncopy):
42421        (WebCore::Node::setOncopy):
42422        (WebCore::Node::onbeforepaste):
42423        (WebCore::Node::setOnbeforepaste):
42424        (WebCore::Node::onpaste):
42425        (WebCore::Node::setOnpaste):
42426        (WebCore::Node::ondragenter):
42427        (WebCore::Node::setOndragenter):
42428        (WebCore::Node::ondragover):
42429        (WebCore::Node::setOndragover):
42430        (WebCore::Node::ondragleave):
42431        (WebCore::Node::setOndragleave):
42432        (WebCore::Node::ondrop):
42433        (WebCore::Node::setOndrop):
42434        (WebCore::Node::ondragstart):
42435        (WebCore::Node::setOndragstart):
42436        (WebCore::Node::ondrag):
42437        (WebCore::Node::setOndrag):
42438        (WebCore::Node::ondragend):
42439        (WebCore::Node::setOndragend):
42440        (WebCore::Node::onreset):
42441        (WebCore::Node::setOnreset):
42442        (WebCore::Node::onresize):
42443        (WebCore::Node::setOnresize):
42444        (WebCore::Node::onscroll):
42445        (WebCore::Node::setOnscroll):
42446        (WebCore::Node::onsearch):
42447        (WebCore::Node::setOnsearch):
42448        (WebCore::Node::onselect):
42449        (WebCore::Node::setOnselect):
42450        (WebCore::Node::onselectstart):
42451        (WebCore::Node::setOnselectstart):
42452        (WebCore::Node::onsubmit):
42453        (WebCore::Node::setOnsubmit):
42454        (WebCore::Node::onunload):
42455        (WebCore::Node::setOnunload):
42456        * dom/Node.h:
42457        * editing/Editor.cpp:
42458        (WebCore::Editor::dispatchCPPEvent):
42459        * html/HTMLFormElement.cpp:
42460        (WebCore::HTMLFormElement::handleLocalEvents):
42461        * html/HTMLInputElement.cpp:
42462        (WebCore::HTMLInputElement::defaultEventHandler):
42463        * html/HTMLTokenizer.cpp:
42464        (WebCore::HTMLTokenizer::notifyFinished):
42465        * loader/MediaDocument.cpp:
42466        (WebCore::MediaDocument::defaultEventHandler):
42467        * page/AccessibilityRenderObject.cpp:
42468        (WebCore::AccessibilityRenderObject::mouseButtonListener):
42469        * page/EventHandler.cpp:
42470        (WebCore::EventHandler::dispatchDragEvent):
42471        (WebCore::EventHandler::updateMouseEventTargetNode):
42472        (WebCore::EventHandler::dispatchMouseEvent):
42473        (WebCore::EventHandler::handleWheelEvent):
42474        (WebCore::EventHandler::canMouseDownStartSelect):
42475        (WebCore::EventHandler::canMouseDragExtendSelect):
42476        (WebCore::eventTargetNodeForDocument):
42477        (WebCore::EventHandler::keyEvent):
42478        * page/FrameView.cpp:
42479        (WebCore::FrameView::scheduleEvent):
42480        (WebCore::FrameView::updateOverflowStatus):
42481        * page/FrameView.h:
42482        * page/Page.cpp:
42483        (WebCore::networkStateChanged):
42484        * rendering/RenderLayer.cpp:
42485        (WebCore::RenderLayer::scrollToOffset):
42486        (WebCore::RenderLayer::updateOverflowStatus):
42487        * rendering/RenderListBox.cpp:
42488        (WebCore::RenderListBox::valueChanged):
42489        * rendering/RenderMedia.h:
42490        * rendering/RenderTextControl.cpp:
42491        (WebCore::RenderTextControl::selectionChanged):
42492        * svg/SVGElementInstance.h:
42493        (WebCore::SVGElementInstance::toNode):
42494        * xml/XPathExpression.cpp:
42495        (WebCore::XPathExpression::evaluate):
42496        * xml/XPathResult.cpp:
42497        (WebCore::XPathResult::XPathResult):
42498
424992009-02-05  Adam Treat  <adam.treat@torchmobile.com>
42500
42501        Fix the Qt build now that EventTargetNode.idl was removed in r40672.
42502
42503        * WebCore.pro:
42504
425052009-02-05  Scott Violet  <sky@google.com>
42506
42507        Reviewed by Sam Weinig.
42508
42509        Bug 23462: Add RGB -> CMYK conversion algorithm
42510        <https://bugs.webkit.org/show_bug.cgi?id=23462>
42511
42512        Adds an RGB -> CMYK converter. This isn't perfect, but better than
42513        nothing.
42514
42515        * html/CanvasStyle.cpp:
42516        (WebCore::CanvasStyle::applyStrokeColor):
42517        (WebCore::CanvasStyle::applyFillColor):
42518        (WebCore::CanvasStyle::cmykToRGB):
42519        * html/CanvasStyle.h:
42520
425212009-02-04  Sam Weinig  <sam@webkit.org>
42522
42523        Reviewed by Darin Adler.
42524
42525        First stage of merging EventTargetNode up into Node. The intent of this change
42526        is to both simplify the inheritance hierarchy (at the same time making it more
42527        closely match the spec which states that all Nodes are EventTargets) and save
42528        4 bytes per Node that the polymorphic multiple-inheritance was costing us.
42529
42530        This does the bare minimum to get things compiling, the next patch will clean
42531
42532        * DerivedSources.make:
42533        * WebCore.base.exp:
42534        * WebCore.xcodeproj/project.pbxproj:
42535        * bindings/js/JSDocumentCustom.cpp:
42536        (WebCore::JSDocument::mark):
42537        * bindings/js/JSEventListener.cpp:
42538        (WebCore::JSLazyEventListener::parseCode):
42539        * bindings/js/JSEventTarget.cpp:
42540        (WebCore::toEventTarget):
42541        * bindings/js/JSEventTarget.h:
42542        * bindings/js/JSEventTargetNodeCustom.cpp:
42543        (WebCore::JSNode::addEventListener):
42544        (WebCore::JSNode::removeEventListener):
42545        (WebCore::JSNode::pushEventHandlerScope):
42546        * bindings/js/JSStyleSheetCustom.cpp:
42547        * bindings/scripts/CodeGeneratorJS.pm:
42548        * bindings/scripts/CodeGeneratorObjC.pm:
42549        * dom/Attr.idl:
42550        * dom/CharacterData.h:
42551        * dom/CharacterData.idl:
42552        * dom/Document.idl:
42553        * dom/DocumentFragment.idl:
42554        * dom/Element.idl:
42555        * dom/EventTarget.cpp:
42556        (WebCore::EventTarget::toNode):
42557        * dom/EventTarget.h:
42558        * dom/EventTarget.idl:
42559        * dom/EventTargetNode.cpp:
42560        (WebCore::Node::scriptExecutionContext):
42561        (WebCore::Node::eventListeners):
42562        (WebCore::Node::insertedIntoDocument):
42563        (WebCore::Node::removedFromDocument):
42564        (WebCore::Node::willMoveToNewOwnerDocument):
42565        (WebCore::Node::didMoveToNewOwnerDocument):
42566        (WebCore::Node::addEventListener):
42567        (WebCore::Node::removeEventListener):
42568        (WebCore::Node::removeAllEventListenersSlowCase):
42569        (WebCore::Node::handleLocalEvents):
42570        (WebCore::Node::dispatchEvent):
42571        (WebCore::Node::dispatchGenericEvent):
42572        (WebCore::Node::dispatchSubtreeModifiedEvent):
42573        (WebCore::Node::dispatchWindowEvent):
42574        (WebCore::Node::dispatchUIEvent):
42575        (WebCore::Node::dispatchKeyEvent):
42576        (WebCore::Node::dispatchMouseEvent):
42577        (WebCore::Node::dispatchSimulatedMouseEvent):
42578        (WebCore::Node::dispatchSimulatedClick):
42579        (WebCore::Node::dispatchWheelEvent):
42580        (WebCore::Node::dispatchWebKitAnimationEvent):
42581        (WebCore::Node::dispatchWebKitTransitionEvent):
42582        (WebCore::Node::dispatchFocusEvent):
42583        (WebCore::Node::dispatchBlurEvent):
42584        (WebCore::Node::dispatchEventForType):
42585        (WebCore::Node::dispatchProgressEvent):
42586        (WebCore::Node::dispatchStorageEvent):
42587        (WebCore::Node::removeInlineEventListenerForType):
42588        (WebCore::Node::setInlineEventListenerForType):
42589        (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
42590        (WebCore::Node::inlineEventListenerForType):
42591        (WebCore::Node::disabled):
42592        (WebCore::Node::defaultEventHandler):
42593        (WebCore::Node::onabort):
42594        (WebCore::Node::setOnabort):
42595        (WebCore::Node::onblur):
42596        (WebCore::Node::setOnblur):
42597        (WebCore::Node::onchange):
42598        (WebCore::Node::setOnchange):
42599        (WebCore::Node::onclick):
42600        (WebCore::Node::setOnclick):
42601        (WebCore::Node::oncontextmenu):
42602        (WebCore::Node::setOncontextmenu):
42603        (WebCore::Node::ondblclick):
42604        (WebCore::Node::setOndblclick):
42605        (WebCore::Node::onerror):
42606        (WebCore::Node::setOnerror):
42607        (WebCore::Node::onfocus):
42608        (WebCore::Node::setOnfocus):
42609        (WebCore::Node::oninput):
42610        (WebCore::Node::setOninput):
42611        (WebCore::Node::onkeydown):
42612        (WebCore::Node::setOnkeydown):
42613        (WebCore::Node::onkeypress):
42614        (WebCore::Node::setOnkeypress):
42615        (WebCore::Node::onkeyup):
42616        (WebCore::Node::setOnkeyup):
42617        (WebCore::Node::onload):
42618        (WebCore::Node::setOnload):
42619        (WebCore::Node::onmousedown):
42620        (WebCore::Node::setOnmousedown):
42621        (WebCore::Node::onmousemove):
42622        (WebCore::Node::setOnmousemove):
42623        (WebCore::Node::onmouseout):
42624        (WebCore::Node::setOnmouseout):
42625        (WebCore::Node::onmouseover):
42626        (WebCore::Node::setOnmouseover):
42627        (WebCore::Node::onmouseup):
42628        (WebCore::Node::setOnmouseup):
42629        (WebCore::Node::onmousewheel):
42630        (WebCore::Node::setOnmousewheel):
42631        (WebCore::Node::onbeforecut):
42632        (WebCore::Node::setOnbeforecut):
42633        (WebCore::Node::oncut):
42634        (WebCore::Node::setOncut):
42635        (WebCore::Node::onbeforecopy):
42636        (WebCore::Node::setOnbeforecopy):
42637        (WebCore::Node::oncopy):
42638        (WebCore::Node::setOncopy):
42639        (WebCore::Node::onbeforepaste):
42640        (WebCore::Node::setOnbeforepaste):
42641        (WebCore::Node::onpaste):
42642        (WebCore::Node::setOnpaste):
42643        (WebCore::Node::ondragenter):
42644        (WebCore::Node::setOndragenter):
42645        (WebCore::Node::ondragover):
42646        (WebCore::Node::setOndragover):
42647        (WebCore::Node::ondragleave):
42648        (WebCore::Node::setOndragleave):
42649        (WebCore::Node::ondrop):
42650        (WebCore::Node::setOndrop):
42651        (WebCore::Node::ondragstart):
42652        (WebCore::Node::setOndragstart):
42653        (WebCore::Node::ondrag):
42654        (WebCore::Node::setOndrag):
42655        (WebCore::Node::ondragend):
42656        (WebCore::Node::setOndragend):
42657        (WebCore::Node::onreset):
42658        (WebCore::Node::setOnreset):
42659        (WebCore::Node::onresize):
42660        (WebCore::Node::setOnresize):
42661        (WebCore::Node::onscroll):
42662        (WebCore::Node::setOnscroll):
42663        (WebCore::Node::onsearch):
42664        (WebCore::Node::setOnsearch):
42665        (WebCore::Node::onselect):
42666        (WebCore::Node::setOnselect):
42667        (WebCore::Node::onselectstart):
42668        (WebCore::Node::setOnselectstart):
42669        (WebCore::Node::onsubmit):
42670        (WebCore::Node::setOnsubmit):
42671        (WebCore::Node::onunload):
42672        (WebCore::Node::setOnunload):
42673        * dom/EventTargetNode.h:
42674        (WebCore::toEventTargetNode):
42675        (WebCore::EventTargetNodeCast):
42676        * dom/EventTargetNode.idl: Removed.
42677        * dom/MouseEvent.cpp:
42678        (WebCore::MouseEvent::MouseEvent):
42679        (WebCore::MouseEvent::initMouseEvent):
42680        (WebCore::MouseEvent::toElement):
42681        (WebCore::MouseEvent::fromElement):
42682        * dom/MouseEvent.h:
42683        (WebCore::MouseEvent::create):
42684        (WebCore::MouseEvent::relatedTarget):
42685        * dom/Node.cpp:
42686        (WebCore::Node::~Node):
42687        * dom/Node.h:
42688        (WebCore::Node::isEventTargetNode):
42689        (WebCore::Node::toNode):
42690        (WebCore::Node::removeAllEventListeners):
42691        (WebCore::Node::refEventTarget):
42692        (WebCore::Node::derefEventTarget):
42693        * dom/Node.idl:
42694        * page/EventHandler.h:
42695        * page/FrameView.h:
42696        * xml/XPathResult.h:
42697        (WebCore::XPathResult::create):
42698
426992009-02-04  David Hyatt  <hyatt@apple.com>
42700
42701        Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*.  The
42702        container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
42703
42704        All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
42705        or an inline flow.  x()/y()/width()/height() can't be queried on an inline flow, nor can many other
42706        properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
42707        under the right conditions.
42708
42709        There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines.  Since y was always
42710        0, this subtraction wasn't necessary.  It has been removed.
42711
42712        Reviewed by Adam Roben
42713
42714        * page/animation/AnimationBase.cpp:
42715        * rendering/RenderBR.h:
42716        (WebCore::RenderBR::selectionRectForRepaint):
42717        * rendering/RenderBlock.cpp:
42718        (WebCore::RenderBlock::selectionGapRectsForRepaint):
42719        (WebCore::RenderBlock::rectWithOutlineForRepaint):
42720        * rendering/RenderBlock.h:
42721        (WebCore::RenderBlock::selectionRectForRepaint):
42722        * rendering/RenderBox.cpp:
42723        (WebCore::RenderBox::outlineBoundsForRepaint):
42724        (WebCore::RenderBox::localToContainerQuad):
42725        (WebCore::RenderBox::clippedOverflowRectForRepaint):
42726        (WebCore::RenderBox::computeRectForRepaint):
42727        * rendering/RenderBox.h:
42728        * rendering/RenderBoxModelObject.cpp:
42729        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
42730        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
42731        * rendering/RenderBoxModelObject.h:
42732        (WebCore::RenderBoxModelObject::relativePositionOffset):
42733        * rendering/RenderForeignObject.cpp:
42734        (WebCore::RenderForeignObject::computeRectForRepaint):
42735        * rendering/RenderForeignObject.h:
42736        * rendering/RenderInline.cpp:
42737        (WebCore::RenderInline::clippedOverflowRectForRepaint):
42738        (WebCore::RenderInline::rectWithOutlineForRepaint):
42739        * rendering/RenderInline.h:
42740        * rendering/RenderLayer.cpp:
42741        (WebCore::RenderLayer::RenderLayer):
42742        (WebCore::RenderLayer::updateLayerPositions):
42743        (WebCore::RenderLayer::updateTransform):
42744        (WebCore::RenderLayer::setHasVisibleContent):
42745        (WebCore::RenderLayer::updateLayerPosition):
42746        (WebCore::RenderLayer::scrollToOffset):
42747        (WebCore::RenderLayer::scrollRectToVisible):
42748        (WebCore::resizerCornerRect):
42749        (WebCore::RenderLayer::scrollbarCornerPresent):
42750        (WebCore::RenderLayer::invalidateScrollbarRect):
42751        (WebCore::RenderLayer::positionOverflowControls):
42752        (WebCore::RenderLayer::computeScrollDimensions):
42753        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
42754        (WebCore::RenderLayer::paintScrollCorner):
42755        (WebCore::RenderLayer::paintResizer):
42756        (WebCore::RenderLayer::isPointInResizeControl):
42757        (WebCore::RenderLayer::hitTestOverflowControls):
42758        (WebCore::RenderLayer::paintLayer):
42759        (WebCore::RenderLayer::hitTestLayer):
42760        (WebCore::RenderLayer::localBoundingBox):
42761        * rendering/RenderLayer.h:
42762        (WebCore::RenderLayer::renderer):
42763        (WebCore::RenderLayer::renderBox):
42764        (WebCore::RenderLayer::renderBoxX):
42765        (WebCore::RenderLayer::renderBoxY):
42766        * rendering/RenderListMarker.cpp:
42767        (WebCore::RenderListMarker::selectionRectForRepaint):
42768        * rendering/RenderListMarker.h:
42769        * rendering/RenderMarquee.cpp:
42770        (WebCore::RenderMarquee::computePosition):
42771        (WebCore::RenderMarquee::timerFired):
42772        * rendering/RenderObject.cpp:
42773        (WebCore::RenderObject::containerForRepaint):
42774        (WebCore::RenderObject::repaintUsingContainer):
42775        (WebCore::RenderObject::repaint):
42776        (WebCore::RenderObject::repaintRectangle):
42777        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
42778        (WebCore::RenderObject::rectWithOutlineForRepaint):
42779        (WebCore::RenderObject::clippedOverflowRectForRepaint):
42780        (WebCore::RenderObject::computeRectForRepaint):
42781        (WebCore::RenderObject::localToContainerQuad):
42782        * rendering/RenderObject.h:
42783        (WebCore::RenderObject::selectionRectForRepaint):
42784        (WebCore::RenderObject::outlineBoundsForRepaint):
42785        * rendering/RenderPath.cpp:
42786        (WebCore::RenderPath::clippedOverflowRectForRepaint):
42787        (WebCore::RenderPath::outlineBoundsForRepaint):
42788        * rendering/RenderPath.h:
42789        * rendering/RenderReplaced.cpp:
42790        (WebCore::RenderReplaced::selectionRectForRepaint):
42791        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
42792        * rendering/RenderReplaced.h:
42793        * rendering/RenderSVGContainer.cpp:
42794        (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
42795        (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
42796        * rendering/RenderSVGContainer.h:
42797        * rendering/RenderSVGHiddenContainer.cpp:
42798        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
42799        * rendering/RenderSVGHiddenContainer.h:
42800        * rendering/RenderSVGImage.cpp:
42801        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
42802        * rendering/RenderSVGImage.h:
42803        * rendering/RenderSVGInlineText.cpp:
42804        (WebCore::RenderSVGInlineText::selectionRectForRepaint):
42805        (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
42806        * rendering/RenderSVGInlineText.h:
42807        * rendering/RenderSVGRoot.cpp:
42808        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
42809        * rendering/RenderSVGRoot.h:
42810        * rendering/RenderSVGText.cpp:
42811        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
42812        * rendering/RenderSVGText.h:
42813        * rendering/RenderSelectionInfo.h:
42814        (WebCore::RenderSelectionInfoBase::repaintContainer):
42815        * rendering/RenderTableCell.cpp:
42816        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
42817        (WebCore::RenderTableCell::computeRectForRepaint):
42818        (WebCore::RenderTableCell::localToContainerQuad):
42819        * rendering/RenderTableCell.h:
42820        * rendering/RenderTableCol.cpp:
42821        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
42822        * rendering/RenderTableCol.h:
42823        * rendering/RenderTableRow.cpp:
42824        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
42825        * rendering/RenderTableRow.h:
42826        * rendering/RenderText.cpp:
42827        (WebCore::RenderText::clippedOverflowRectForRepaint):
42828        (WebCore::RenderText::selectionRectForRepaint):
42829        * rendering/RenderText.h:
42830        * rendering/RenderTreeAsText.cpp:
42831        (WebCore::write):
42832        * rendering/RenderView.cpp:
42833        (WebCore::RenderView::localToContainerQuad):
42834        (WebCore::RenderView::computeRectForRepaint):
42835        * rendering/RenderView.h:
42836
428372009-02-05  Alexey Proskuryakov  <ap@webkit.org>
42838
42839        Build fix.
42840
42841        * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
42842
428432009-02-05  Yael Aharon  <yael.aharon@nokia.com>
42844
42845        Reviewed by Alexey Proskuryakov.
42846        Landed by Simon Hausmann.
42847
42848        https://bugs.webkit.org/show_bug.cgi?id=23733
42849
42850        Use a 2 arguments constructor for KURL to avoid ASSERT failure.
42851
42852        * page/SecurityOrigin.cpp:
42853        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
42854
428552009-02-04  Feng Qian  <feng@chromium.org>
42856
42857        Reviewed by Darin Adler.
42858
42859        Add Android-specific files to WebCore/editing directory.
42860        https://bugs.webkit.org/show_bug.cgi?id=23294
42861
42862        * editing/android: Added.
42863        * editing/android/EditorAndroid.cpp: Added.
42864        (WebCore::Editor::newGeneralClipboard):
42865
428662009-02-04  Dean Jackson  <dino@apple.com>
42867
42868        Reviewed by Darin Adler.
42869
42870        Remove -webkit-animation-play-state
42871        The AnimationController still has the code to execute the property, but
42872        it is no longer parsed or recorded.
42873        https://bugs.webkit.org/show_bug.cgi?id=22907
42874
42875        * css/CSSComputedStyleDeclaration.cpp:
42876        (WebCore::):
42877        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
42878        * css/CSSParser.cpp:
42879        (WebCore::CSSParser::parseValue):
42880        (WebCore::CSSParser::parseAnimationProperty):
42881        * css/CSSParser.h:
42882        * css/CSSPropertyNames.in:
42883        * css/CSSStyleSelector.cpp:
42884        (WebCore::CSSStyleSelector::applyProperty):
42885        * css/CSSStyleSelector.h:
42886        * platform/animation/Animation.h:
42887        * rendering/style/RenderStyleConstants.h:
42888
428892009-02-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
42890
42891        Reviewed by Darin Adler.
42892
42893        Make sure we don't load on removing the media element from the document
42894        https://bugs.webkit.org/show_bug.cgi?id=22105
42895
42896        Test: media/remove-from-document-no-load.html
42897
42898        * html/HTMLMediaElement.cpp:
42899        (WebCore::HTMLMediaElement::removedFromDocument):
42900
429012009-02-04  David Hyatt  <hyatt@apple.com>
42902
42903        Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines.  For
42904        now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy.  RenderInline remains
42905        derived from RenderBox for now.
42906
42907        Reviewed by Sam Weinig
42908
42909        * WebCore.xcodeproj/project.pbxproj:
42910        * rendering/RenderBox.cpp:
42911        (WebCore::RenderBox::RenderBox):
42912        (WebCore::RenderBox::destroy):
42913        (WebCore::RenderBox::styleWillChange):
42914        (WebCore::RenderBox::styleDidChange):
42915        (WebCore::RenderBox::computeRectForRepaint):
42916        * rendering/RenderBox.h:
42917        * rendering/RenderBoxModelObject.cpp: Added.
42918        (WebCore::RenderBoxModelObject::RenderBoxModelObject):
42919        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
42920        * rendering/RenderBoxModelObject.h: Added.
42921        * rendering/RenderObject.h:
42922
429232009-02-04  Chris Marrin  <cmarrin@apple.com>
42924
42925        Reviewed by Dave Hyatt
42926
42927        Added accelerated animation support to AnimationController and friends. The primary
42928        changes are:
42929        * accelerated animations get their start time from the compositing engine, so we
42930          wait for a callback (notifyAnimationStarted()) in order to get the start time.
42931        * if software and accelerated animations start in the same cycle, they all need
42932          to use the same start time, which is that of the accelerated animations.
42933
42934        Added AnimationControllerPrivate to preserve the encapsulation under
42935        AnimationController.
42936
42937        * GNUmakefile.am:
42938        * WebCore.vcproj/WebCore.vcproj:
42939        * WebCore.xcodeproj/project.pbxproj:
42940        * page/animation/AnimationBase.cpp:
42941        (WebCore::PropertyWrapperBase::animationIsAccelerated):
42942        (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
42943        (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
42944        (WebCore::PropertyWrapperAcceleratedOpacity::blend):
42945        (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
42946        (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
42947        (WebCore::PropertyWrapperAcceleratedTransform::blend):
42948        (WebCore::ensurePropertyMap):
42949        (WebCore::AnimationBase::AnimationBase):
42950        (WebCore::AnimationBase::~AnimationBase):
42951        (WebCore::AnimationBase::blendProperties):
42952        (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
42953        (WebCore::AnimationBase::updateStateMachine):
42954        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
42955        (WebCore::AnimationBase::willNeedService):
42956        (WebCore::AnimationBase::getTimeToNextEvent):
42957        (WebCore::AnimationBase::goIntoEndingOrLoopingState):
42958        (WebCore::AnimationBase::beginAnimationUpdateTime):
42959        * page/animation/AnimationBase.h:
42960        (WebCore::AnimationBase::onAnimationStartResponse):
42961        (WebCore::AnimationBase::getAnimatedStyle):
42962        (WebCore::AnimationBase::isAnimatingProperty):
42963        (WebCore::AnimationBase::endAnimation):
42964        (WebCore::AnimationBase::isFallbackAnimating):
42965        * page/animation/AnimationController.cpp:
42966        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
42967        (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
42968        (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
42969        (WebCore::AnimationControllerPrivate::animationTimerFired):
42970        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
42971        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
42972        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
42973        (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
42974        (WebCore::AnimationControllerPrivate::styleAvailable):
42975        (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
42976        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
42977        (WebCore::AnimationControllerPrivate::startTimeResponse):
42978        (WebCore::AnimationController::getAnimatedStyleForRenderer):
42979        (WebCore::AnimationController::notifyAnimationStarted):
42980        (WebCore::AnimationController::endAnimationUpdate):
42981        * page/animation/AnimationController.h:
42982        * page/animation/AnimationControllerPrivate.h: Added.
42983        (WebCore::AnimationControllerPrivate::hasAnimations):
42984        (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
42985        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
42986        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
42987        * page/animation/CompositeAnimation.cpp:
42988        (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
42989        (WebCore::CompositeAnimationPrivate::animationControllerPriv):
42990        (WebCore::CompositeAnimationPrivate::updateTransitions):
42991        (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
42992        (WebCore::CompositeAnimationPrivate::animate):
42993        (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
42994        (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
42995        (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
42996        (WebCore::CompositeAnimation::CompositeAnimation):
42997        (WebCore::CompositeAnimation::animationControllerPriv):
42998        (WebCore::CompositeAnimation::getAnimatedStyle):
42999        (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
43000        (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
43001        * page/animation/CompositeAnimation.h:
43002        (WebCore::CompositeAnimation::create):
43003        * page/animation/ImplicitAnimation.cpp:
43004        (WebCore::ImplicitAnimation::shouldSendEventForListener):
43005        (WebCore::ImplicitAnimation::animate):
43006        (WebCore::ImplicitAnimation::getAnimatedStyle):
43007        (WebCore::ImplicitAnimation::startAnimation):
43008        (WebCore::ImplicitAnimation::endAnimation):
43009        (WebCore::ImplicitAnimation::sendTransitionEvent):
43010        (WebCore::ImplicitAnimation::willNeedService):
43011        * page/animation/ImplicitAnimation.h:
43012        * page/animation/KeyframeAnimation.cpp:
43013        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
43014        (WebCore::KeyframeAnimation::animate):
43015        (WebCore::KeyframeAnimation::getAnimatedStyle):
43016        (WebCore::KeyframeAnimation::startAnimation):
43017        (WebCore::KeyframeAnimation::endAnimation):
43018        (WebCore::KeyframeAnimation::shouldSendEventForListener):
43019        (WebCore::KeyframeAnimation::sendAnimationEvent):
43020        (WebCore::KeyframeAnimation::willNeedService):
43021        * page/animation/KeyframeAnimation.h:
43022        * platform/graphics/GraphicsLayerClient.h:
43023        * platform/graphics/mac/GraphicsLayerCA.mm:
43024        (-[WebAnimationDelegate animationDidStart:]):
43025        * rendering/RenderLayerBacking.h:
43026
430272009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
43028
43029        Not reviewed, build fix.
43030
43031        Remove duplicate definition of msSans in FontCache::alternateFamilyName.
43032
43033        * platform/graphics/FontCache.cpp:
43034        (WebCore::alternateFamilyName):
43035
430362009-02-04  Eric Seidel  <eric@webkit.org>
43037
43038        Reviewed by George Staikos.
43039
43040        Reverse the meaning of the if check so that Android
43041        (dpad devices) do not scroll on focus and normal platforms do
43042        http://trac.webkit.org/changeset/40647
43043
43044        This was caught by George Staikos, and I wrote the patch.
43045
43046        * dom/Element.cpp:
43047        (WebCore::Element::updateFocusAppearance):
43048
430492009-02-04  David Hyatt  <hyatt@apple.com>
43050
43051        Eliminate RenderContainer.
43052
43053        Reviewed by Sam and Anders
43054
43055        * GNUmakefile.am:
43056        * WebCore.pro:
43057        * WebCore.vcproj/WebCore.vcproj:
43058        * WebCore.xcodeproj/project.pbxproj:
43059        * WebCoreSources.bkl:
43060        * rendering/RenderBlock.cpp:
43061        (WebCore::RenderBlock::RenderBlock):
43062        (WebCore::RenderBlock::destroy):
43063        (WebCore::RenderBlock::styleWillChange):
43064        (WebCore::RenderBlock::styleDidChange):
43065        (WebCore::RenderBlock::addChild):
43066        (WebCore::RenderBlock::dirtyLineBoxes):
43067        (WebCore::RenderBlock::createInlineBox):
43068        (WebCore::RenderBlock::removeChild):
43069        (WebCore::RenderBlock::setSelectionState):
43070        (WebCore::RenderBlock::avoidsFloats):
43071        (WebCore::RenderBlock::positionForCoordinates):
43072        (WebCore::RenderBlock::calcInlinePrefWidths):
43073        (WebCore::RenderBlock::baselinePosition):
43074        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
43075        (WebCore::RenderBlock::getBaselineOfLastLineBox):
43076        (WebCore::RenderBlock::rectWithOutlineForRepaint):
43077        (WebCore::RenderBlock::hoverAncestor):
43078        (WebCore::RenderBlock::updateDragState):
43079        (WebCore::RenderBlock::localCaretRect):
43080        * rendering/RenderBlock.h:
43081        (WebCore::RenderBlock::virtualChildren):
43082        (WebCore::RenderBlock::children):
43083        * rendering/RenderContainer.cpp: Removed.
43084        * rendering/RenderContainer.h: Removed.
43085        * rendering/RenderFrameSet.cpp:
43086        (WebCore::RenderFrameSet::RenderFrameSet):
43087        (WebCore::RenderFrameSet::nodeAtPoint):
43088        (WebCore::RenderFrameSet::layout):
43089        * rendering/RenderFrameSet.h:
43090        (WebCore::RenderFrameSet::virtualChildren):
43091        (WebCore::RenderFrameSet::children):
43092        * rendering/RenderInline.cpp:
43093        (WebCore::RenderInline::RenderInline):
43094        (WebCore::RenderInline::destroy):
43095        (WebCore::RenderInline::styleDidChange):
43096        (WebCore::nextContinuation):
43097        (WebCore::RenderInline::continuationBefore):
43098        (WebCore::RenderInline::addChildIgnoringContinuation):
43099        (WebCore::RenderInline::splitInlines):
43100        (WebCore::RenderInline::splitFlow):
43101        (WebCore::RenderInline::addChildToContinuation):
43102        (WebCore::RenderInline::offsetLeft):
43103        (WebCore::RenderInline::offsetTop):
43104        (WebCore::RenderInline::positionForCoordinates):
43105        (WebCore::RenderInline::clippedOverflowRectForRepaint):
43106        (WebCore::RenderInline::rectWithOutlineForRepaint):
43107        (WebCore::RenderInline::updateDragState):
43108        (WebCore::RenderInline::childBecameNonInline):
43109        * rendering/RenderInline.h:
43110        (WebCore::RenderInline::virtualChildren):
43111        (WebCore::RenderInline::children):
43112        (WebCore::RenderInline::continuation):
43113        (WebCore::RenderInline::setContinuation):
43114        * rendering/RenderLineBoxList.h:
43115        * rendering/RenderObject.h:
43116        * rendering/RenderObjectChildList.h:
43117        * rendering/RenderSVGInlineText.cpp:
43118        (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
43119        * rendering/RenderSVGRoot.cpp:
43120        (WebCore::RenderSVGRoot::RenderSVGRoot):
43121        (WebCore::RenderSVGRoot::applyContentTransforms):
43122        (WebCore::RenderSVGRoot::paint):
43123        (WebCore::RenderSVGRoot::absoluteTransform):
43124        (WebCore::RenderSVGRoot::nodeAtPoint):
43125        (WebCore::RenderSVGRoot::position):
43126        * rendering/RenderSVGRoot.h:
43127        (WebCore::RenderSVGRoot::virtualChildren):
43128        (WebCore::RenderSVGRoot::children):
43129        * rendering/RenderSVGText.cpp:
43130        (WebCore::RenderSVGText::absoluteRects):
43131        (WebCore::RenderSVGText::absoluteQuads):
43132        * rendering/RenderTable.cpp:
43133        (WebCore::RenderTable::addChild):
43134        (WebCore::RenderTable::removeChild):
43135        * rendering/RenderTableCol.cpp:
43136        (WebCore::RenderTableCol::RenderTableCol):
43137        * rendering/RenderTableCol.h:
43138        (WebCore::RenderTableCol::virtualChildren):
43139        (WebCore::RenderTableCol::children):
43140        * rendering/RenderTableRow.cpp:
43141        (WebCore::RenderTableRow::RenderTableRow):
43142        (WebCore::RenderTableRow::destroy):
43143        (WebCore::RenderTableRow::styleWillChange):
43144        (WebCore::RenderTableRow::addChild):
43145        * rendering/RenderTableRow.h:
43146        (WebCore::RenderTableRow::virtualChildren):
43147        (WebCore::RenderTableRow::children):
43148        * rendering/RenderTableSection.cpp:
43149        (WebCore::RenderTableSection::RenderTableSection):
43150        (WebCore::RenderTableSection::destroy):
43151        (WebCore::RenderTableSection::addChild):
43152        (WebCore::RenderTableSection::removeChild):
43153        (WebCore::RenderTableSection::lowestPosition):
43154        (WebCore::RenderTableSection::rightmostPosition):
43155        (WebCore::RenderTableSection::leftmostPosition):
43156        * rendering/RenderTableSection.h:
43157        (WebCore::RenderTableSection::virtualChildren):
43158        (WebCore::RenderTableSection::children):
43159
431602009-02-04  Mads Adger  <mad@chromium.org>
43161
43162        Reviewed by Antti Koivisto.
43163
43164        Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
43165        https://bugs.webkit.org/show_bug.cgi?id=23180
43166
43167        Added a protector for the document potentially holding on the last reference to the loader we are interating with.
43168
43169        * loader/loader.cpp:
43170        (WebCore::Loader::Host::didFinishLoading):
43171        (WebCore::Loader::Host::didFail):
43172
431732009-02-04  Cary Clark  <caryclark@google.com>
43174
43175        Reviewed by Darin Adler.
43176
43177        https://bugs.webkit.org/show_bug.cgi?id=23163
43178        Don't scroll to show current focus on devices that use
43179        directional pads for navigation.
43180
43181        * dom/Element.cpp:
43182        (WebCore::Element::updateFocusAppearance):
43183
431842009-02-04  Cary Clark  <caryclark@google.com>
43185
43186        Reviewed by Darin Adler.
43187
43188        Change RenderBlock::columnGap() access permissions from protected to
43189        public. ANDROID creates an array of focus rectangles for navigation
43190        with a trackball or directional pad, and needs access to the column gap
43191        to implement this logic.
43192
43193        Android has no testing harness @ webkit.org, thus no tests.
43194
43195        * rendering/RenderBlock.h:
43196
431972009-02-04  Cary Clark  <caryclark@google.com>
43198
43199        Reviewed by Darin Adler and Eric Seidel.
43200
43201        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
43202
43203        Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
43204        platform to select all when focusing on a textarea. This matches
43205        the user interface guidelines other applications on the platform.
43206
43207        * html/HTMLTextAreaElement.cpp:
43208        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
43209
432102009-02-04  Beth Dakin  <bdakin@apple.com>
43211
43212        Reviewed by Dave Hyatt.
43213
43214        Fix for <rdar://problem/6386112> Some inline-elements are not
43215        becoming proper dashboard-regions
43216
43217        RenderInline needs its own implementation of addDashboardRegions
43218        because otherwise all of the coordinate calculations are
43219        inaccurate.
43220
43221        * rendering/RenderInline.cpp:
43222        (WebCore::RenderInline::addDashboardRegions):
43223        * rendering/RenderInline.h:
43224        * rendering/RenderObject.h:
43225
432262009-02-04  David Hyatt  <hyatt@apple.com>
43227
43228        Move addChild/removeChild from RenderContainer to RenderObject.
43229
43230        Reviewed by Sam Weinig
43231
43232        * rendering/RenderContainer.cpp:
43233        * rendering/RenderContainer.h:
43234        * rendering/RenderObject.cpp:
43235        (WebCore::updateListMarkerNumbers):
43236        (WebCore::RenderObject::addChild):
43237        (WebCore::RenderObject::removeChild):
43238        * rendering/RenderObject.h:
43239        (WebCore::RenderObject::addChildIgnoringContinuation):
43240        * rendering/RenderSVGContainer.cpp:
43241        * rendering/RenderSVGContainer.h:
43242
432432009-02-04  Brady Eidson  <beidson@apple.com>
43244
43245        Reviewed by Sam Weinig
43246
43247        <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
43248
43249        * history/CachedFrame.cpp:
43250        (WebCore::CachedFrame::CachedFrame):
43251        (WebCore::CachedFrame::restore):
43252        * history/CachedFrame.h:
43253
43254        * history/CachedPage.cpp:
43255        (WebCore::CachedPage::restore):
43256        * history/CachedPage.h:
43257        (WebCore::CachedPage::mainFrameView):
43258
43259        * history/HistoryItem.cpp:
43260        (WebCore::HistoryItem::HistoryItem):
43261        (WebCore::HistoryItem::~HistoryItem):
43262        * history/HistoryItem.h:
43263        (WebCore::HistoryItem::isInPageCache):
43264
43265        * loader/FrameLoader.cpp:
43266        (WebCore::FrameLoader::open):
43267
432682009-02-04  Peter Kasting  <pkasting@google.com>
43269
43270        Reviewed by David Hyatt.
43271
43272        https://bugs.webkit.org/show_bug.cgi?id=23743
43273        Fix memory corruption with open-source GIF decoders.
43274
43275        * platform/image-decoders/ImageDecoder.h:
43276        (WebCore::RGBA32Buffer::clear):
43277        * platform/image-decoders/gif/GIFImageDecoder.cpp:
43278        (WebCore::GIFImageDecoder::clearFrameBufferCache):
43279        * platform/image-decoders/skia/GIFImageDecoder.cpp:
43280        (WebCore::GIFImageDecoder::clearFrameBufferCache):
43281        (WebCore::GIFImageDecoder::initFrameBuffer):
43282        * platform/image-decoders/skia/ImageDecoder.h:
43283        (WebCore::RGBA32Buffer::clear):
43284
432852009-02-04  Simon Fraser  <simon.fraser@apple.com>
43286
43287        Reviewed by Dave Hyatt
43288
43289        https://bugs.webkit.org/show_bug.cgi?id=23360
43290
43291        When using accelerated compositing, make repaints use the correct
43292        repaint container. Hook up the RenderLayerCompositor in RenderView,
43293        and add to RenderView a method that repaints both the view
43294        contents, and any intersecting composited layers.
43295
43296        Make enclosingCompositingLayer() a method on RenderObject, and update
43297        the compositor to use that. Add a helper method on the compositor to
43298        get the non-self compositing ancestor: ancestorCompositingLayer().
43299
43300        Call repaintRectangleInViewAndCompositedLayers() in places that don't do
43301        container-relative repainting: selection redraw on focus change, caret,
43302        and widget updates.
43303
43304        Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
43305        would get cleared for partial updates, thus preventing subsequent full updates.
43306
43307        Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
43308
43309        * WebCore.xcodeproj/project.pbxproj:
43310        * editing/SelectionController.cpp:
43311        (WebCore::SelectionController::recomputeCaretRect):
43312        (WebCore::SelectionController::invalidateCaretRect):
43313        (WebCore::SelectionController::focusedOrActiveStateChanged):
43314        * rendering/RenderInline.cpp:
43315        (WebCore::RenderInline::clippedOverflowRectForRepaint):
43316        * rendering/RenderLayer.cpp:
43317        (WebCore::RenderLayer::RenderLayer):
43318        (WebCore::RenderLayer::compositor):
43319        (WebCore::RenderLayer::updateLayerPositions):
43320        (WebCore::RenderLayer::removeChild):
43321        (WebCore::RenderLayer::ensureBacking):
43322        * rendering/RenderLayer.h:
43323        (WebCore::RenderLayer::backing):
43324        * rendering/RenderLayerBacking.cpp:
43325        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
43326        (WebCore::RenderLayerBacking::paintIntoLayer):
43327        (WebCore::RenderLayerBacking::notifyTransitionStarted):
43328        (WebCore::RenderLayerBacking::notifyAnimationStarted):
43329        * rendering/RenderLayerCompositor.cpp:
43330        (WebCore::RenderLayerCompositor::updateCompositingLayers):
43331        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
43332        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
43333        (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
43334        (WebCore::RenderLayerCompositor::clippedByAncestor):
43335        * rendering/RenderLayerCompositor.h:
43336        * rendering/RenderObject.cpp:
43337        (WebCore::RenderObject::enclosingCompositingLayer):
43338        (WebCore::RenderObject::containingBlockWidth):
43339        (WebCore::RenderObject::containingBlockHeight):
43340        (WebCore::RenderObject::containerForRepaint):
43341        (WebCore::RenderObject::repaintUsingContainer):
43342        * rendering/RenderObject.h:
43343        * rendering/RenderView.cpp:
43344        (WebCore::RenderView::shouldRepaint):
43345        (WebCore::RenderView::repaintViewRectangle):
43346        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
43347        (WebCore::RenderView::setMaximalOutlineSize):
43348        (WebCore::RenderView::usesCompositing):
43349        (WebCore::RenderView::compositor):
43350        (WebCore::RenderView::didMoveOnscreen):
43351        (WebCore::RenderView::willMoveOffscreen):
43352        * rendering/RenderView.h:
43353        * rendering/RenderWidget.cpp:
43354        (WebCore::RenderWidget::updateWidgetPosition):
43355
433562009-02-04  Sam Weinig  <sam@webkit.org>
43357
43358        Reviewed by David Hyatt.
43359
43360        Add toRenderImage methods for casting RenderObjects to RenderImages.  The methods will assert if the object
43361        is not a RenderImage.  Also add a toRenderImage method that takes a RenderImage but returns void and that
43362        is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderImage.
43363
43364        * html/HTMLAnchorElement.cpp:
43365        (WebCore::HTMLAnchorElement::defaultEventHandler):
43366        * html/HTMLEmbedElement.cpp:
43367        (WebCore::HTMLEmbedElement::attach):
43368        * html/HTMLImageElement.cpp:
43369        (WebCore::HTMLImageElement::parseMappedAttribute):
43370        (WebCore::HTMLImageElement::attach):
43371        * html/HTMLInputElement.cpp:
43372        (WebCore::HTMLInputElement::parseMappedAttribute):
43373        (WebCore::HTMLInputElement::attach):
43374        * html/HTMLObjectElement.cpp:
43375        (WebCore::HTMLObjectElement::attach):
43376        * html/HTMLVideoElement.cpp:
43377        (WebCore::HTMLVideoElement::attach):
43378        * loader/ImageLoader.cpp:
43379        (WebCore::ImageLoader::setImage):
43380        (WebCore::ImageLoader::updateFromElement):
43381        (WebCore::ImageLoader::notifyFinished):
43382        * page/AccessibilityRenderObject.cpp:
43383        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
43384        (WebCore::AccessibilityRenderObject::addChildren):
43385        * page/DragController.cpp:
43386        (WebCore::getCachedImage):
43387        (WebCore::getImage):
43388        * platform/mac/PasteboardMac.mm:
43389        (WebCore::Pasteboard::writeImage):
43390        * rendering/RenderImage.h:
43391        (WebCore::toRenderImage):
43392        * wml/WMLImageElement.cpp:
43393        (WebCore::WMLImageElement::parseMappedAttribute):
43394        (WebCore::WMLImageElement::attach):
43395
433962009-02-04  Jungshik Shin  <jshin@chromium.org>
43397
43398        Reviewed by Eric Seidel and Dave Hyatt.
43399
43400        https://bugs.webkit.org/show_bug.cgi?id=20531
43401
43402        Make alternateFamilyName customized for Windows and Chromium.
43403
43404        * platform/graphics/FontCache.cpp:
43405        (WebCore::alternateFamilyName):
43406
434072009-02-04  Jungshik Shin <jshin@chromium.org>
43408
43409        Reviewed by Eric Seidel.
43410
43411        This comes from Chromium patch (http://codereview.chromium.org/17624).
43412
43413        Add m_disableFontFallback to UniscriberHelper class and set it
43414        to true when filling up glyph pages for non-BMP code points.
43415        When it's set true, UniscriberHelper does not do its own font
43416        fallback. Neither does it do glyph placement. Font fallback
43417        will be taken care of in the simple script font path and glyph
43418        placement is not necessary for simple scripts.
43419
43420        Layout test is missing at the moment due to the lack of freely
43421        distributable font covering a non-BMP code page. A test page
43422        is available at http://i18nl10n.com/webkit/nonbmp2.html
43423
43424        See also https://bugs.webkit.org/show_bug.cgi?id=23602
43425
43426        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
43427        (WebCore::fillNonBMPGlyphs):
43428        * platform/graphics/chromium/UniscribeHelper.cpp:
43429        (WebCore::UniscribeHelper::UniscribeHelper):
43430        (WebCore::UniscribeHelper::shape):
43431        (WebCore::UniscribeHelper::fillShapes):
43432        * platform/graphics/chromium/UniscribeHelper.h:
43433        (WebCore::UniscribeHelper::setDisableFontFallback):
43434
434352009-02-04  Sam Weinig  <sam@webkit.org>
43436
43437        Reviewed by David Hyatt.
43438
43439        Remove some unnecessary #includes of RenderStyle.h
43440
43441        * css/CSSPrimitiveValueMappings.h:
43442        * css/SVGCSSComputedStyleDeclaration.cpp:
43443        * dom/Node.h:
43444        * rendering/PointerEventsHitRules.h:
43445        * rendering/RenderImageGeneratedContent.h:
43446        * rendering/RenderMarquee.h:
43447        * rendering/RenderScrollbar.h:
43448
434492009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
43450
43451        Reviewed by Sam Weinig.
43452
43453        https://bugs.webkit.org/show_bug.cgi?id=23657
43454        Clean up WebCore/storage IDLs.
43455
43456        * storage/SQLError.idl: Changed to match spec.
43457        * storage/SQLResultSet.idl: Changed to match spec.
43458        * storage/SQLStatementCallback.idl: Removed.
43459        * storage/SQLStatementErrorCallback.idl: Removed.
43460        * storage/SQLTransactionCallback.idl: Removed.
43461        * storage/SQLTransactionErrorCallback.idl: Removed.
43462
434632009-02-04  David Hyatt  <hyatt@apple.com>
43464
43465        Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
43466
43467        Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
43468        during calcRowHeight or layoutRows.  This should make it possible to discover future bugs where table sections don't
43469        paint.
43470
43471        The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout.  Make
43472        sure to do only a local setNeedsLayout inside that function.
43473
43474        Reviewed by Beth Dakin
43475
43476        * rendering/RenderLayer.cpp:
43477        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
43478        * rendering/RenderObject.cpp:
43479        (WebCore::RenderObject::RenderObject):
43480        * rendering/RenderObject.h:
43481        (WebCore::RenderObject::isSetNeedsLayoutForbidden):
43482        (WebCore::RenderObject::setNeedsLayoutIsForbidden):
43483        (WebCore::RenderObject::setNeedsLayout):
43484        (WebCore::RenderObject::setChildNeedsLayout):
43485        (WebCore::RenderObject::markContainingBlocksForLayout):
43486        * rendering/RenderTable.cpp:
43487        (WebCore::RenderTable::layout):
43488        * rendering/RenderTableSection.cpp:
43489        (WebCore::RenderTableSection::calcRowHeight):
43490        (WebCore::RenderTableSection::layoutRows):
43491
434922009-02-04  Sam Weinig  <sam@webkit.org>
43493
43494        Reviewed by David Hyatt.
43495
43496        Rename RenderStyle::Diff to StyleDifference and move it to
43497        RenderStyleConstants.h.
43498
43499        * rendering/RenderBR.cpp:
43500        (WebCore::RenderBR::styleDidChange):
43501        * rendering/RenderBR.h:
43502        * rendering/RenderBlock.cpp:
43503        (WebCore::RenderBlock::styleWillChange):
43504        (WebCore::RenderBlock::styleDidChange):
43505        * rendering/RenderBlock.h:
43506        * rendering/RenderBox.cpp:
43507        (WebCore::RenderBox::styleWillChange):
43508        (WebCore::RenderBox::styleDidChange):
43509        * rendering/RenderBox.h:
43510        * rendering/RenderButton.cpp:
43511        (WebCore::RenderButton::styleWillChange):
43512        (WebCore::RenderButton::styleDidChange):
43513        * rendering/RenderButton.h:
43514        * rendering/RenderFieldset.cpp:
43515        (WebCore::RenderFieldset::styleDidChange):
43516        * rendering/RenderFieldset.h:
43517        * rendering/RenderFileUploadControl.cpp:
43518        (WebCore::RenderFileUploadControl::styleDidChange):
43519        * rendering/RenderFileUploadControl.h:
43520        * rendering/RenderInline.cpp:
43521        (WebCore::RenderInline::styleDidChange):
43522        * rendering/RenderInline.h:
43523        * rendering/RenderLayer.cpp:
43524        (WebCore::RenderLayer::styleChanged):
43525        * rendering/RenderLayer.h:
43526        * rendering/RenderLayerCompositor.cpp:
43527        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
43528        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
43529        * rendering/RenderLayerCompositor.h:
43530        * rendering/RenderListBox.cpp:
43531        (WebCore::RenderListBox::styleDidChange):
43532        * rendering/RenderListBox.h:
43533        * rendering/RenderListItem.cpp:
43534        (WebCore::RenderListItem::styleDidChange):
43535        * rendering/RenderListItem.h:
43536        * rendering/RenderListMarker.cpp:
43537        (WebCore::RenderListMarker::styleWillChange):
43538        (WebCore::RenderListMarker::styleDidChange):
43539        * rendering/RenderListMarker.h:
43540        * rendering/RenderMenuList.cpp:
43541        (WebCore::RenderMenuList::styleDidChange):
43542        * rendering/RenderMenuList.h:
43543        * rendering/RenderObject.cpp:
43544        (WebCore::RenderObject::setStyle):
43545        (WebCore::RenderObject::styleWillChange):
43546        (WebCore::RenderObject::styleDidChange):
43547        * rendering/RenderObject.h:
43548        * rendering/RenderReplaced.cpp:
43549        (WebCore::RenderReplaced::styleDidChange):
43550        * rendering/RenderReplaced.h:
43551        * rendering/RenderSVGGradientStop.cpp:
43552        (WebCore::RenderSVGGradientStop::styleDidChange):
43553        * rendering/RenderSVGGradientStop.h:
43554        * rendering/RenderSVGInlineText.cpp:
43555        (WebCore::RenderSVGInlineText::styleDidChange):
43556        * rendering/RenderSVGInlineText.h:
43557        * rendering/RenderScrollbarPart.cpp:
43558        (WebCore::RenderScrollbarPart::styleWillChange):
43559        (WebCore::RenderScrollbarPart::styleDidChange):
43560        * rendering/RenderScrollbarPart.h:
43561        * rendering/RenderSlider.cpp:
43562        (WebCore::RenderSlider::styleDidChange):
43563        * rendering/RenderSlider.h:
43564        * rendering/RenderTable.cpp:
43565        (WebCore::RenderTable::styleDidChange):
43566        * rendering/RenderTable.h:
43567        * rendering/RenderTableCell.cpp:
43568        (WebCore::RenderTableCell::styleWillChange):
43569        (WebCore::RenderTableCell::styleDidChange):
43570        * rendering/RenderTableCell.h:
43571        * rendering/RenderTableRow.cpp:
43572        (WebCore::RenderTableRow::styleWillChange):
43573        * rendering/RenderTableRow.h:
43574        * rendering/RenderText.cpp:
43575        (WebCore::RenderText::styleDidChange):
43576        * rendering/RenderText.h:
43577        (WebCore::RenderText::styleWillChange):
43578        * rendering/RenderTextControl.cpp:
43579        (WebCore::RenderTextControl::styleDidChange):
43580        * rendering/RenderTextControl.h:
43581        * rendering/RenderTextControlSingleLine.cpp:
43582        (WebCore::RenderTextControlSingleLine::styleDidChange):
43583        * rendering/RenderTextControlSingleLine.h:
43584        * rendering/RenderWidget.cpp:
43585        (WebCore::RenderWidget::styleDidChange):
43586        * rendering/RenderWidget.h:
43587        * rendering/style/RenderStyle.cpp:
43588        (WebCore::RenderStyle::diff):
43589        (WebCore::RenderStyle::setClip):
43590        * rendering/style/RenderStyle.h:
43591        * rendering/style/RenderStyleConstants.h:
43592        (WebCore::):
43593
435942009-02-03  Sam Weinig  <sam@webkit.org>
43595
43596        Reviewed by David Hyatt.
43597
43598        Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
43599
43600        * css/CSSStyleSelector.cpp:
43601        (WebCore::CSSStyleSelector::matchRulesForList):
43602        (WebCore::CSSStyleSelector::initForStyleResolve):
43603        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
43604        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
43605        (WebCore::CSSStyleSelector::styleForElement):
43606        (WebCore::CSSStyleSelector::pseudoStyleForElement):
43607        (WebCore::CSSStyleSelector::checkSelector):
43608        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
43609        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
43610        (WebCore::CSSStyleSelector::applyProperty):
43611        * css/CSSStyleSelector.h:
43612        * dom/Node.cpp:
43613        (WebCore::Node::diff):
43614        * page/FrameView.cpp:
43615        (WebCore::FrameView::createScrollbar):
43616        * rendering/InlineTextBox.cpp:
43617        (WebCore::InlineTextBox::paint):
43618        * rendering/MediaControlElements.cpp:
43619        (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
43620        (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
43621        (WebCore::MediaControlInputElement::MediaControlInputElement):
43622        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
43623        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
43624        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
43625        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
43626        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
43627        * rendering/MediaControlElements.h:
43628        * rendering/RenderBlock.cpp:
43629        (WebCore::RenderBlock::styleDidChange):
43630        (WebCore::RenderBlock::updateBeforeAfterContent):
43631        (WebCore::RenderBlock::firstLineBlock):
43632        (WebCore::RenderBlock::updateFirstLetter):
43633        * rendering/RenderBlock.h:
43634        * rendering/RenderBox.cpp:
43635        (WebCore::RenderBox::isAfterContent):
43636        * rendering/RenderButton.cpp:
43637        (WebCore::RenderButton::updateBeforeAfterContent):
43638        * rendering/RenderButton.h:
43639        * rendering/RenderFileUploadControl.cpp:
43640        (WebCore::RenderFileUploadControl::createButtonStyle):
43641        * rendering/RenderInline.cpp:
43642        (WebCore::RenderInline::styleDidChange):
43643        (WebCore::isAfterContent):
43644        (WebCore::RenderInline::addChildIgnoringContinuation):
43645        (WebCore::RenderInline::splitInlines):
43646        * rendering/RenderLayer.cpp:
43647        (WebCore::RenderLayer::createScrollbar):
43648        (WebCore::RenderLayer::updateScrollCornerStyle):
43649        (WebCore::RenderLayer::updateResizerStyle):
43650        * rendering/RenderListBox.cpp:
43651        (WebCore::RenderListBox::createScrollbar):
43652        * rendering/RenderMedia.cpp:
43653        (WebCore::RenderMedia::createPanel):
43654        (WebCore::RenderMedia::createTimelineContainer):
43655        * rendering/RenderMenuList.cpp:
43656        (WebCore::RenderMenuList::createScrollbar):
43657        * rendering/RenderObject.cpp:
43658        (WebCore::RenderObject::selectionBackgroundColor):
43659        (WebCore::RenderObject::selectionForegroundColor):
43660        (WebCore::RenderObject::firstLineStyleSlowCase):
43661        (WebCore::RenderObject::getCachedPseudoStyle):
43662        (WebCore::RenderObject::getUncachedPseudoStyle):
43663        * rendering/RenderObject.h:
43664        (WebCore::RenderObject::isAnonymousBlock):
43665        * rendering/RenderObjectChildList.cpp:
43666        (WebCore::RenderObjectChildList::destroyLeftoverChildren):
43667        (WebCore::beforeAfterContainer):
43668        (WebCore::RenderObjectChildList::invalidateCounters):
43669        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
43670        * rendering/RenderObjectChildList.h:
43671        * rendering/RenderScrollbar.cpp:
43672        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
43673        (WebCore::pseudoForScrollbarPart):
43674        * rendering/RenderScrollbar.h:
43675        * rendering/RenderSlider.cpp:
43676        (WebCore::RenderSlider::createThumbStyle):
43677        * rendering/RenderTextControlSingleLine.cpp:
43678        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
43679        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
43680        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
43681        (WebCore::RenderTextControlSingleLine::createScrollbar):
43682        * rendering/style/RenderStyle.cpp:
43683        (WebCore::pseudoBit):
43684        * rendering/style/RenderStyle.h:
43685        (WebCore::):
43686        * rendering/style/RenderStyleConstants.h:
43687        (WebCore::):
43688
436892009-02-04  David Kilzer  <ddkilzer@apple.com>
43690
43691        CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
43692
43693        <rdar://problem/6509514>
43694
43695        Reviewed by Mark Rowe.
43696
43697        * loader/archive/cf/LegacyWebArchive.cpp:
43698        (WebCore::LegacyWebArchive::create): Fix it correctly this time.
43699        Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
43700        not WebCore::Image::data().
43701
437022009-02-04  David Hyatt  <hyatt@apple.com>
43703
43704        Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
43705
43706        Reviewed by Adam Roben
43707
43708        * rendering/RenderBox.cpp:
43709        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
43710        (WebCore::RenderBox::styleWillChange):
43711        * rendering/RenderBox.h:
43712        * rendering/RenderContainer.cpp:
43713        (WebCore::RenderContainer::removeChild):
43714        * rendering/RenderObject.cpp:
43715        (WebCore::RenderObject::styleWillChange):
43716        * rendering/RenderObject.h:
43717        * rendering/RenderSVGContainer.cpp:
43718        (WebCore::RenderSVGContainer::removeChild):
43719
437202009-02-04  Jeremy Moskovich  <jeremy@chromium.org>
43721
43722        Reviewed by Dave Hyatt.
43723
43724        https://bugs.webkit.org/show_bug.cgi?id=23471
43725        Fix text-overflow:ellipsis; for RTL case.
43726
43727        Test: fast/css/text-overflow-ellipses.html
43728
43729        * rendering/InlineTextBox.cpp:
43730        (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
43731        (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
43732        for rtl truncation.
43733
437342009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
43735
43736        Reviewed by Darin Adler.
43737
43738        https://bugs.webkit.org/show_bug.cgi?id=23700
43739        Upstream local changes to due to unforking of SimpleFontData
43740        (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
43741
43742        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
43743        (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
43744
437452009-02-04  David Hyatt  <hyatt@apple.com>
43746
43747        <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
43748
43749        Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
43750        because, like, they point to a lot of stuff... like ... everything...
43751
43752        Reviewed by Darin Adler
43753
43754        * dom/Document.cpp:
43755        (WebCore::Document::removeAllEventListenersFromAllNodes):
43756
437572009-02-04  Darin Fisher  <darin@chromium.org>
43758
43759        Reviewed by Darin Adler.
43760
43761        https://bugs.webkit.org/show_bug.cgi?id=23731
43762        Add JSCCustom and V8Custom as extended IDL attributes
43763
43764        This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
43765
43766        * bindings/scripts/CodeGeneratorJS.pm:
43767        * dom/Document.idl:
43768        * dom/Node.idl:
43769        * svg/SVGPathSegList.idl:
43770        * svg/SVGPointList.idl:
43771        * svg/SVGTransformList.idl:
43772
437732009-02-04  Dan Bernstein  <mitz@apple.com>
43774
43775        - build fix
43776
43777        * rendering/RenderImageGeneratedContent.h:
43778
437792009-02-04  miggilin  <mr.diggilin@gmail.com>
43780
43781        Reviewed by Kevin Ollivier.
43782
43783        Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
43784        with assigning to uninitialized HashTable buckets.
43785
43786        https://bugs.webkit.org/show_bug.cgi?id=23669
43787
43788        * platform/graphics/SimpleFontData.h:
43789        (WebCore::SimpleFontData::getWxFont):
43790        * platform/graphics/wx/FontPlatformData.h:
43791        (WebCore::):
43792        (WebCore::FontPlatformData::FontPlatformData):
43793        (WebCore::FontPlatformData::font):
43794        (WebCore::FontPlatformData::operator==):
43795        * platform/graphics/wx/FontPlatformDataWx.cpp:
43796        (WebCore::FontPlatformData::FontPlatformData):
43797        (WebCore::FontPlatformData::computeHash):
43798        (WebCore::FontPlatformData::~FontPlatformData):
43799        * platform/graphics/wx/SimpleFontDataWx.cpp:
43800        (WebCore::SimpleFontData::platformInit):
43801        (WebCore::SimpleFontData::determinePitch):
43802        (WebCore::SimpleFontData::platformWidthForGlyph):
43803        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
43804        (WebCore::drawTextWithSpacing):
43805
438062009-02-04  David Hyatt  <hyatt@apple.com>
43807
43808        Fix a crash in generated content when a generated image with an already-cached background image gets
43809        created.  It's not completely clear how to reproduce this crash.
43810
43811        Reviewed by Adam Roben
43812
43813        * rendering/RenderImageGeneratedContent.h:
43814        (WebCore::RenderImageGeneratedContent::imagePtr):
43815
438162009-02-04  Simon Hausmann  <simon.hausmann@nokia.com>
43817
43818        Unreviewed Qt build fix.
43819
43820        Changed ASSERT(image) to ASSERT(!image.isNull()).
43821
43822        * platform/graphics/qt/ImageBufferQt.cpp:
43823        (WebCore::ImageBuffer::getImageData):
43824
438252009-02-04  Trenton Schulz <trenton.schulz@nokia.com>
43826
43827        Reviewed by Simon Hausmann.
43828
43829        Fix implementation of PluginViewMac::invalidateRect to update only the
43830        specified rect, not the entire browser window.
43831
43832        * plugins/mac/PluginViewMac.cpp:
43833        (WebCore::PluginView::invalidateRect):
43834
438352009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
43836
43837        Rubber stamped by Mark Rowe.
43838
43839        FramePrivate was removed in r40024 remove the forward
43840        declaration as well.
43841
43842        * page/Frame.h:
43843
438442009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
43845
43846        Reviewed by Sam Weinig.
43847
43848        https://bugs.webkit.org/show_bug.cgi?id=23426
43849
43850        Make isFrameSet virtual and by default return false. Reimplement
43851        it in HTMLDocument.
43852
43853        * dom/Document.cpp:
43854        * dom/Document.h:
43855        (WebCore::Document::isFrameSet):
43856        * html/HTMLDocument.cpp:
43857        (WebCore::HTMLDocument::isFrameSet):
43858        * html/HTMLDocument.h:
43859
438602009-02-03  Oliver Hunt  <oliver@apple.com>
43861
43862        Reviewed by John Sullivan.
43863
43864        <rdar://problem/6554092> Slow script dialog starts coming up over and over again
43865
43866        Work around <rdar://problem/6554067> by consuming any exceptions that are
43867        thrown by _web_localizedDescription
43868
43869        * platform/network/mac/ResourceErrorMac.mm:
43870        (WebCore::ResourceError::platformLazyInit):
43871
438722009-02-03  David Hyatt  <hyatt@apple.com>
43873
43874        Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
43875        versions of the functions.  Since internal render tree usage doesn't ever (incorrectly) call these
43876        functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
43877        availableWidth/Height.
43878
43879        Reviewed by Mark Rowe
43880
43881        * dom/Element.cpp:
43882        (WebCore::Element::clientWidth):
43883        (WebCore::Element::clientHeight):
43884        (WebCore::Element::scrollWidth):
43885        (WebCore::Element::scrollHeight):
43886        * rendering/RenderBox.cpp:
43887        (WebCore::RenderBox::clientWidth):
43888        (WebCore::RenderBox::clientHeight):
43889        (WebCore::RenderBox::scrollWidth):
43890        (WebCore::RenderBox::scrollHeight):
43891
438922009-02-03  Brad Garcia  <bgarcia@google.com>
43893
43894        Reviewed by Eric Seidel.
43895
43896        https://bugs.webkit.org/show_bug.cgi?id=20443
43897        Remove call to canResize when trying to determine if pointer
43898        is within a frame.
43899        Also removed the implementation of canResize as it is no longer used.
43900
43901        Test: fast/frames/frame-dead-region.html
43902
43903        * rendering/RenderFrameSet.cpp:
43904        (WebCore::RenderFrameSet::nodeAtPoint):
43905        * rendering/RenderFrameSet.h:
43906
439072009-02-03  David Hyatt  <hyatt@apple.com>
43908
43909        Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
43910        This is a small gain on the PLT.
43911
43912        Reviewed by Mark Rowe
43913
43914        * rendering/bidi.cpp:
43915        (WebCore::inlineWidth):
43916        (WebCore::bidiNext):
43917
439182009-02-03  Simon Fraser  <simon.fraser@apple.com>
43919
43920        Reviewed by Dave Hyatt
43921
43922        https://bugs.webkit.org/show_bug.cgi?id=23628
43923
43924        Fix selection repainting to do container-relative repaints. RenderView now
43925        repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
43926        selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
43927
43928        Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
43929        of RenderBlock.h and move them into RenderSelectionInfo.h, with some
43930        sharing and refactoring.
43931
43932        RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
43933
43934        * GNUmakefile.am:
43935        * WebCore.vcproj/WebCore.vcproj:
43936        * WebCore.xcodeproj/project.pbxproj:
43937        * rendering/RenderBR.h:
43938        (WebCore::RenderBR::selectionRectForRepaint):
43939        * rendering/RenderBlock.cpp:
43940        (WebCore::RenderBlock::selectionGapRectsForRepaint):
43941        * rendering/RenderBlock.h:
43942        (WebCore::RenderBlock::selectionRectForRepaint):
43943        * rendering/RenderListMarker.cpp:
43944        (WebCore::RenderListMarker::paint):
43945        (WebCore::RenderListMarker::selectionRectForRepaint):
43946        * rendering/RenderListMarker.h:
43947        * rendering/RenderObject.h:
43948        (WebCore::RenderObject::selectionRect):
43949        (WebCore::RenderObject::selectionRectForRepaint):
43950        * rendering/RenderReplaced.cpp:
43951        (WebCore::RenderReplaced::selectionRectForRepaint):
43952        * rendering/RenderReplaced.h:
43953        * rendering/RenderSVGInlineText.cpp:
43954        (WebCore::RenderSVGInlineText::absoluteRects):
43955        (WebCore::RenderSVGInlineText::absoluteQuads):
43956        (WebCore::RenderSVGInlineText::selectionRectForRepaint):
43957        (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
43958        * rendering/RenderSVGInlineText.h:
43959        * rendering/RenderSelectionInfo.h: Added.
43960        (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
43961        (WebCore::RenderSelectionInfoBase::object):
43962        (WebCore::RenderSelectionInfoBase::repaintContainer):
43963        (WebCore::RenderSelectionInfoBase::state):
43964        (WebCore::RenderSelectionInfo::RenderSelectionInfo):
43965        (WebCore::RenderSelectionInfo::repaint):
43966        (WebCore::RenderSelectionInfo::rect):
43967        (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
43968        (WebCore::RenderBlockSelectionInfo::repaint):
43969        (WebCore::RenderBlockSelectionInfo::block):
43970        (WebCore::RenderBlockSelectionInfo::rects):
43971        * rendering/RenderText.cpp:
43972        (WebCore::RenderText::selectionRectForRepaint):
43973        * rendering/RenderText.h:
43974        * rendering/RenderView.cpp:
43975        (WebCore::RenderView::selectionBounds):
43976        (WebCore::RenderView::setSelection):
43977        * rendering/RenderView.h:
43978        * rendering/RenderWidget.cpp:
43979        (WebCore::RenderWidget::paint):
43980
439812009-02-03  David Hyatt  <hyatt@apple.com>
43982
43983        Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
43984
43985        Reviewed by Darin Adler & Sam Weinig
43986
43987        * css/CSSMutableStyleDeclaration.cpp:
43988        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
43989        * css/CSSMutableStyleDeclaration.h:
43990
439912009-02-03  Justin Garcia  <justin.garcia@apple.com>
43992
43993        Reviewed by Darin Adler.
43994
43995        https://bugs.webkit.org/show_bug.cgi?id=13490
43996        Implement execCommand("styleWithCSS", ...)
43997
43998        Determine whether or not to use HTML formatting tags for styling on the new
43999        boolean on Editor instead of whether or not the document is quirks mode.
44000
44001        * editing/ApplyStyleCommand.cpp:
44002        (WebCore::StyleChange::StyleChange):
44003        (WebCore::StyleChange::init):
44004        (WebCore::ApplyStyleCommand::applyBlockStyle):
44005        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
44006        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
44007        * editing/Editor.cpp:
44008        (WebCore::Editor::Editor):
44009        (WebCore::Editor::clear):
44010        * editing/Editor.h:
44011        (WebCore::Editor::setShouldStyleWithCSS):
44012        (WebCore::Editor::shouldStyleWithCSS):
44013        * editing/EditorCommand.cpp:
44014        (WebCore::executeStyleWithCSS):
44015        (WebCore::stateStyleWithCSS):
44016        (WebCore::CommandEntry::):
44017
440182009-02-03  Dirk Schulze  <krit@webkit.org>
44019
44020        Reviewed by Sam Weinig.
44021
44022        This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
44023
44024        * platform/graphics/qt/ImageBufferQt.cpp:
44025        (WebCore::ImageBuffer::getImageData):
44026
440272009-02-03  Anders Carlsson  <andersca@apple.com>
44028
44029        Reviewed by Kevin Decker.
44030
44031        - Fix for <rdar://problem/6549743>
44032
44033        On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
44034        after the call to -[NSView displayRectIgnoringOpacity:inContext:].
44035
44036        * platform/mac/WidgetMac.mm:
44037        (WebCore::Widget::paint):
44038
440392009-02-03  David Hyatt  <hyatt@apple.com>
44040
44041        Back this change out since it is causing layout tests to crash.  There is something subtle going on
44042        here.
44043
44044        Reviewed by Darin Adler
44045
44046        * css/CSSMutableStyleDeclaration.cpp:
44047        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
44048        * css/CSSMutableStyleDeclaration.h:
44049
440502009-02-03  David Hyatt  <hyatt@apple.com>
44051
44052        Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
44053
44054        Reviewed by Sam Weinig
44055
44056        * css/CSSMutableStyleDeclaration.cpp:
44057        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
44058        * css/CSSMutableStyleDeclaration.h:
44059
440602009-02-03  David Hyatt  <hyatt@apple.com>
44061
44062        Avoid creating extra copies of NSURLRequests for non-HTTP URLs.  Only mark platform requests
44063        as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
44064        Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
44065
44066        Reviewed by Darin Adler
44067
44068        * loader/FrameLoader.cpp:
44069        (WebCore::FrameLoader::addExtraFieldsToRequest):
44070        * platform/KURL.cpp:
44071        (WebCore::KURL::invalidate):
44072        (WebCore::KURL::KURL):
44073        * platform/KURL.h:
44074        (WebCore::KURL::isHTTPOrHTTPS):
44075        * platform/network/ResourceRequestBase.cpp:
44076        (WebCore::ResourceRequestBase::setCachePolicy):
44077        (WebCore::ResourceRequestBase::setTimeoutInterval):
44078        (WebCore::ResourceRequestBase::setMainDocumentURL):
44079        (WebCore::ResourceRequestBase::setHTTPMethod):
44080        (WebCore::ResourceRequestBase::setHTTPHeaderField):
44081        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
44082        (WebCore::ResourceRequestBase::setHTTPBody):
44083        (WebCore::ResourceRequestBase::setAllowHTTPCookies):
44084
440852009-02-03  Xan Lopez  <xan@gnome.org>
44086
44087        Reviewed by Holger Freyther.
44088
44089        https://bugs.webkit.org/show_bug.cgi?id=23711
44090
44091        Add manual test for floating divs with scrollbars.
44092
44093        * manual-tests/gtk/floatingdiv.html: Added.
44094
440952009-02-03  Xan Lopez  <xan@gnome.org>
44096
44097        Reviewed by Holger Freyther.
44098
44099        https://bugs.webkit.org/show_bug.cgi?id=23711
44100
44101        There's no need to hold an extra ref to the scrollbar, calling
44102        setPlatformWidget takes ownership of it.
44103
44104        Also do not disconnect the signals when destroying the widget,
44105        it's superfluous.
44106
44107        * platform/gtk/ScrollbarGtk.cpp:
44108        (ScrollbarGtk::ScrollbarGtk):
44109        * platform/gtk/ScrollbarGtk.h:
44110
441112009-02-03  Xan Lopez  <xan@gnome.org>
44112
44113        Reviewed by Holger Freyther.
44114
44115        https://bugs.webkit.org/show_bug.cgi?id=23711
44116
44117        Declare scrollBar as GtkWidget* to avoid needless
44118        casting.
44119
44120        * platform/gtk/ScrollbarGtk.cpp:
44121        (ScrollbarGtk::ScrollbarGtk):
44122        (ScrollbarGtk::~ScrollbarGtk):
44123
441242009-02-03  Xan Lopez  <xan@gnome.org>
44125
44126        Reviewed by Holger Freyther.
44127
44128        https://bugs.webkit.org/show_bug.cgi?id=23711
44129
44130        Properly calculate the scrollbar location for their
44131        usage in RenderLayout.
44132
44133        * platform/gtk/ScrollbarGtk.cpp:
44134        (ScrollbarGtk::frameRectsChanged):
44135
441362009-02-03  David Hyatt  <hyatt@apple.com>
44137
44138        Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods.  Move the RenderContainer implementations
44139        of these methods up to RenderObject.
44140
44141        Reviewed by Beth Dakin
44142
44143        * bindings/objc/DOM.mm:
44144        (-[DOMNode lineBoxRects]):
44145        * dom/Range.cpp:
44146        (WebCore::Range::addLineBoxRects):
44147        * inspector/InspectorController.cpp:
44148        (WebCore::InspectorController::drawNodeHighlight):
44149        * rendering/RenderContainer.cpp:
44150        * rendering/RenderContainer.h:
44151        * rendering/RenderObject.cpp:
44152        (WebCore::RenderObject::absoluteRectsForRange):
44153        (WebCore::RenderObject::absoluteQuadsForRange):
44154        * rendering/RenderObject.h:
44155        * rendering/RenderText.cpp:
44156        (WebCore::RenderText::absoluteRectsForRange):
44157        (WebCore::RenderText::absoluteQuadsForRange):
44158        * rendering/RenderText.h:
44159
441602009-02-03  Dirk Schulze  <krit@webkit.org>
44161
44162        Reviewed by Sam Weinig and Oliver Hunt.
44163
44164        Added getImageData() support for QtWebKit.
44165
44166        [QT] lacks getImageData / putImageData support in Canvas
44167        https://bugs.webkit.org/show_bug.cgi?id=22186
44168
44169        * platform/graphics/qt/ImageBufferQt.cpp:
44170        (WebCore::ImageBuffer::getImageData):
44171
441722009-02-03  Eric Roman  <eroman@chromium.org>
44173
44174        Reviewed by Holger Freyther.
44175
44176        Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
44177
44178        * page/chromium/FrameChromium.cpp:
44179        (WebCore::computePageRectsForFrame):
44180
441812009-02-02  Simon Fraser  <simon.fraser@apple.com>
44182
44183        Reviewed by Dave Hyatt
44184
44185        https://bugs.webkit.org/show_bug.cgi?id=23358
44186
44187        Hook accelerated compositing into RenderLayer.
44188
44189        * rendering/RenderLayer.cpp:
44190        (WebCore::RenderLayer::RenderLayer):
44191        (WebCore::RenderLayer::~RenderLayer):
44192        Init and clean up backing and the hasCompositingDescendant bit.
44193
44194        (WebCore::RenderLayer::compositor):
44195        Shortcut to get to the RenderLayerCompositor.
44196
44197        (WebCore::RenderLayer::updateLayerPositions):
44198        We need to let full repaints propagate to all compositing layers, and
44199        update the backing after layout here.
44200
44201        (WebCore::RenderLayer::transparentAncestor):
44202        (WebCore::transparencyClipBox):
44203        (WebCore::RenderLayer::beginTransparencyLayers):
44204        Account for the fact that opacity may be rendered via the compositing
44205        layer sometimes.
44206
44207        (WebCore::RenderLayer::addChild):
44208        (WebCore::RenderLayer::removeChild):
44209        (WebCore::RenderLayer::removeOnlyThisLayer):
44210        Tell the compositor when the RenderLayer hierarchy changes.
44211
44212        (WebCore::RenderLayer::scrollToOffset):
44213        Update layer geometry after scrolling.
44214
44215        (WebCore::RenderLayer::paintLayer):
44216        We short-circuit painting on composited layers, because these layers
44217        are painted on a callback from the compositing system.
44218
44219        (WebCore::RenderLayer::hitTestLayer):
44220        Only apply transforms if we are rendering them in software.
44221
44222        (WebCore::RenderLayer::localBoundingBox):
44223        (WebCore::RenderLayer::boundingBox):
44224        (WebCore::RenderLayer::absoluteBoundingBox):
44225        Refactor bounding box code that we can compute local, and ancestor-relative
44226        bounding box, as well as absolute.
44227
44228        (WebCore::RenderLayer::ensureBacking):
44229        (WebCore::RenderLayer::clearBacking):
44230        RenderLayerBacking creation and destruction.
44231
44232        (WebCore::RenderLayer::setParent):
44233        Tell the compositor when the RenderLayer hierarchy changes.
44234
44235        (WebCore::RenderLayer::dirtyZOrderLists):
44236        (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
44237        (WebCore::RenderLayer::dirtyOverflowList):
44238        When the z-order and overflow lists change, we need to tell the
44239        compositor that the composited layers need to be rejiggered soon.
44240
44241        (WebCore::RenderLayer::updateZOrderLists):
44242        Whitespace cleanup.
44243
44244        (WebCore::RenderLayer::setBackingNeedsRepaint):
44245        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
44246        Dirty composited layer contents for painting.
44247
44248        (WebCore::RenderLayer::styleChanged):
44249        Update the layer backing after style changes.
44250
44251        * rendering/RenderLayer.h:
44252        (WebCore::RenderLayer::isComposited):
44253        (WebCore::RenderLayer::backing):
44254        Accessors for testing and getting the backing for this RenderLayer.
44255
44256        (WebCore::RenderLayer::paintsWithTransparency):
44257        (WebCore::RenderLayer::paintsWithTransform):
44258        Transform and opacity can be applied via the compositing layer, or rendered
44259        in software. These methods tell us if we need to account for them in the
44260        non-compositing path.
44261
44262        (WebCore::RenderLayer::hasCompositingDescendant):
44263        (WebCore::RenderLayer::setHasCompositingDescendant):
44264        Maintain a bit to tell if this layer has composited descendants.
44265
442662009-02-03  Simon Fraser  <simon.fraser@apple.com>
44267
44268        Reviewed by Dave Hyatt
44269
44270        https://bugs.webkit.org/show_bug.cgi?id=23365
44271
44272        Hook up accelerated compositing layers the native
44273        view system on Mac.
44274
44275        * WebCore.base.exp:
44276        Export new Page methods.
44277
44278        * page/ChromeClient.h:
44279        (WebCore::ChromeClient::attachRootGraphicsLayer):
44280        (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
44281        New methods for attaching/detaching the root GraphicsLayer, and
44282        synchronizing layer changes with window drawing.
44283
44284        * page/FrameView.h:
44285        * page/FrameView.cpp:
44286        (WebCore::FrameView::updateCompositingLayers):
44287        (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
44288        (WebCore::FrameView::didMoveOnscreen):
44289        (WebCore::FrameView::willMoveOffscreen):
44290        New methods to update the compositing layer hierarchy,
44291        and pass-throughs to the RenderLayerCompositor.
44292
44293        (WebCore::FrameView::layout):
44294        Update compositing layers after layout() and updateLayerPositions().
44295
44296        * page/Page.cpp:
44297        (WebCore::Page::didMoveOnscreen):
44298        (WebCore::Page::willMoveOffscreen):
44299        * page/Page.h:
44300        New methods to allow the native view system to tell the Page when it
44301        starts to be presented on-screen, and when it will be hidden.
44302
44303        * rendering/RenderLayerCompositor.h:
44304        * rendering/RenderLayerCompositor.cpp:
44305        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
44306        (WebCore::RenderLayerCompositor::didMoveOnscreen):
44307        (WebCore::RenderLayerCompositor::willMoveOffscreen):
44308        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
44309        Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
44310        the calls through from Page, FrameView.
44311
44312        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
44313        Dont' try to repaint or update layers if the document is being torn
44314        down.
44315
44316        * rendering/RenderView.cpp:
44317        (WebCore::RenderView::didMoveOnscreen):
44318        (WebCore::RenderView::willMoveOffscreen):
44319        * rendering/RenderView.h:
44320        New methods.
44321
443222009-02-03  Dirk Schulze  <krit@webkit.org>
44323
44324        Reviewed by Holger Hans Peter Freyther.
44325
44326        Fixed getImageData and putImageData and respect pre-
44327        multiplied colors.
44328
44329        Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
44330        https://bugs.webkit.org/show_bug.cgi?id=21575
44331
44332        * platform/graphics/cairo/ImageBufferCairo.cpp:
44333        (WebCore::ImageBuffer::getImageData):
44334        (WebCore::ImageBuffer::putImageData):
44335
443362009-02-03  Dan Bernstein  <mitz@apple.com>
44337
44338        Reviewed by Brady Eidson.
44339
44340        - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
44341
44342        Test: fast/history/window-open.html
44343
44344        * bindings/js/JSDOMWindowBase.cpp:
44345        (WebCore::createWindow): Pass the missing lockBackForwardList parameter
44346        to FrameLoader::changeLocation().
44347
443482009-02-03  Adam Treat  <adam.treat@torchmobile.com>
44349
44350        Fix the Qt build after r40536.
44351
44352        * bridge/qt/qt_runtime.cpp:
44353        (JSC::Bindings::convertQVariantToValue):
44354
443552009-02-03  Dan Bernstein  <mitz@apple.com>
44356
44357        - fix -Wmissing-prototypes builds
44358
44359        * loader/WorkerThreadableLoader.cpp:
44360        (WebCore::workerContextDidSendData): Marked this function static.
44361        (WebCore::workerContextDidReceiveResponse): Ditto.
44362        (WebCore::workerContextDidReceiveData): Ditto.
44363        (WebCore::workerContextDidFinishLoading): Ditto.
44364        (WebCore::workerContextDidFail): Ditto.
44365        (WebCore::workerContextDidGetCancelled): Ditto.
44366        (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
44367
443682009-02-03  David Kilzer  <ddkilzer@apple.com>
44369
44370        CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
44371
44372        <rdar://problem/6509514>
44373
44374        Reviewed by Adam Roben.
44375
44376        * loader/archive/cf/LegacyWebArchive.cpp:
44377        (WebCore::LegacyWebArchive::create): Null check the value returned
44378        from WebCore::IconDatabase::iconForPageURL().
44379
443802009-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
44381
44382        Reviewed by Tor Arne Vestbø.
44383
44384        Fix conversion of QByteArray to JavaScript and back. Instead of
44385        converting it to a String (data loss!) we now map it to JSByteArray.
44386
44387        * bridge/qt/qt_runtime.cpp:
44388        (JSC::Bindings::):
44389        (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
44390        (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
44391        QVariant(QByteArray).
44392        (JSC::Bindings::convertQVariantToValue): Convert from
44393        QVariant::ByteArray to jsByteArray.
44394
443952009-02-03  Alexey Proskuryakov  <ap@webkit.org>
44396
44397        Build fix.
44398
44399        * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
44400
444012009-02-03  Dmitry Titov  <dimich@chromium.org>
44402
44403        Reviewed by Alexey Proskuryakov.
44404
44405        https://bugs.webkit.org/show_bug.cgi?id=22718
44406        Implement WindowTimers interface in Workers.
44407
44408        This patch moves timeoutID from Document to ScriptExecutionContext
44409        and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
44410        Also added a test for those methods.
44411
44412        Test: fast/workers/worker-timeout.html
44413
44414        * bindings/js/JSWorkerContextCustom.cpp:
44415        (WebCore::setTimeoutOrInterval):
44416        Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
44417
44418        (WebCore::JSWorkerContext::setTimeout):
44419        (WebCore::JSWorkerContext::clearTimeout):
44420        (WebCore::JSWorkerContext::setInterval):
44421        (WebCore::JSWorkerContext::clearInterval):
44422        Added methods exposed to JS.
44423
44424        * dom/Document.cpp:
44425        * dom/Document.h:
44426        * dom/ScriptExecutionContext.cpp:
44427        (WebCore::ScriptExecutionContext::addTimeout):
44428        (WebCore::ScriptExecutionContext::removeTimeout):
44429        (WebCore::ScriptExecutionContext::findTimeout):
44430        * dom/ScriptExecutionContext.h:
44431        The timerID map moves from Document to ScriptExecutionContext,
44432        to be available to Document and to WorkerContext.
44433
44434        * dom/WorkerContext.cpp:
44435        (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
44436        (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
44437        * dom/WorkerContext.h:
44438
44439        * page/DOMTimer.cpp:
44440        (WebCore::DOMTimer::DOMTimer):
44441        (WebCore::DOMTimer::~DOMTimer):
44442        (WebCore::DOMTimer::removeById):
44443        Code change here reflects move of timeoutID map to the ScriptExecutionContext.
44444        Some checks and casts are no longer needed.
44445
444462009-02-03  Dmitry Titov  <dimich@chromium.org>
44447
44448        Reviewed by Alexey Proskuryakov.
44449
44450        https://bugs.webkit.org/show_bug.cgi?id=23560
44451        Implement SharedTimer for Workers.
44452
44453        * dom/WorkerRunLoop.cpp:
44454        Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
44455        (WebCore::WorkerSharedTimer::WorkerSharedTimer):
44456        (WebCore::WorkerSharedTimer::setFiredFunction):
44457        (WebCore::WorkerSharedTimer::setFireTime):
44458        (WebCore::WorkerSharedTimer::stop):
44459        (WebCore::WorkerSharedTimer::isActive):
44460        (WebCore::WorkerSharedTimer::fireTime):
44461        (WebCore::WorkerSharedTimer::fire):
44462        (WebCore::WorkerRunLoop::WorkerRunLoop):
44463        Initializes a WorkerSharedTimer instance.
44464        (WebCore::WorkerRunLoop::~WorkerRunLoop):
44465        The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
44466        (WebCore::WorkerRunLoop::run):
44467        Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
44468        * dom/WorkerRunLoop.h:
44469        Add member of type OwnPtr<WorkerSharedTimer>
44470
444712009-02-03  Steve Falkenburg  <sfalken@apple.com>
44472
44473        Build fix.
44474
44475        * WebCore.vcproj/WebCore.vcproj:
44476
444772009-02-03  Alexey Proskuryakov  <ap@webkit.org>
44478
44479        Windows build fix.
44480
44481        * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
44482        appropriate.
44483
444842009-02-02  David Levin  <levin@chromium.org>
44485
44486        Reviewed by Alexey Proskuryakov.
44487
44488        Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
44489        <https://bugs.webkit.org/show_bug.cgi?id=23636>
44490
44491        Enable the async portion of ThreadableLoader for workers.
44492
44493        No observable change in behavior, so no test.
44494
44495        * GNUmakefile.am:
44496        * WebCore.pro:
44497        * WebCore.scons:
44498        * WebCore.vcproj/WebCore.vcproj:
44499        * WebCore.xcodeproj/project.pbxproj:
44500        * WebCoreSources.bkl:
44501        * dom/CrossThreadCopier.h:
44502        * dom/GenericWorkerTask.h:
44503        * dom/WorkerThread.cpp:
44504        * loader/ThreadableLoader.cpp:
44505        (WebCore::ThreadableLoader::create):
44506        * loader/ThreadableLoaderClient.h:
44507        (WebCore::ThreadableLoaderClient::didFinishLoading):
44508        * loader/ThreadableLoaderClientWrapper.h: Added.
44509        (WebCore::ThreadableLoaderClientWrapper::create):
44510        (WebCore::ThreadableLoaderClientWrapper::clearClient):
44511        (WebCore::ThreadableLoaderClientWrapper::didSendData):
44512        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
44513        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
44514        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
44515        (WebCore::ThreadableLoaderClientWrapper::didFail):
44516        (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
44517        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
44518        (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
44519        * loader/WorkerThreadableLoader.cpp: Added.
44520        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
44521        (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
44522        (WebCore::WorkerThreadableLoader::cancel):
44523        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
44524        (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
44525        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
44526        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
44527        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
44528        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
44529        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
44530        (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
44531        (WebCore::workerContextDidSendData):
44532        (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
44533        (WebCore::workerContextDidReceiveResponse):
44534        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
44535        (WebCore::workerContextDidReceiveData):
44536        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
44537        (WebCore::workerContextDidFinishLoading):
44538        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
44539        (WebCore::workerContextDidFail):
44540        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
44541        (WebCore::workerContextDidGetCancelled):
44542        (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
44543        (WebCore::workerContextDidReceiveAuthenticationCancellation):
44544        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
44545        * loader/WorkerThreadableLoader.h: Added.
44546        (WebCore::WorkerThreadableLoader::create):
44547        (WebCore::WorkerThreadableLoader::refThreadableLoader):
44548        (WebCore::WorkerThreadableLoader::derefThreadableLoader):
44549
445502009-02-02  David Levin  <levin@chromium.org>
44551
44552        Reviewed by Alexey Proskuryakov.
44553
44554        Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
44555        <https://bugs.webkit.org/show_bug.cgi?id=23636>
44556
44557        No observable change in behavior, so no test.
44558
44559        * WebCore.xcodeproj/project.pbxproj:
44560        * dom/Worker.cpp:
44561        * dom/Worker.h:
44562        * dom/WorkerContext.cpp:
44563        (WebCore::WorkerContext::addMessage):
44564        (WebCore::WorkerContext::postTask):
44565        (WebCore::WorkerContext::postTaskToWorkerObject):
44566        * dom/WorkerContext.h:
44567        * dom/WorkerMessagingProxy.cpp:
44568        (WebCore::MessageWorkerContextTask::performTask):
44569        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
44570        (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
44571        Expose postTaskToWorkerContext for use by the worker object thread.
44572
44573        (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
44574        Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
44575        with postMessageToWorkerObject.
44576
44577        * dom/WorkerMessagingProxy.h:
44578        * dom/WorkerRunLoop.cpp:
44579        (WebCore::WorkerRunLoop::run):
44580        (WebCore::WorkerRunLoop::postTask):
44581        * dom/WorkerRunLoop.h:
44582        * dom/WorkerTask.cpp: Removed.
44583        * dom/WorkerTask.h: Removed.
44584        Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
44585
44586        The resulted in the class going away along with an adapter that made
44587        a ScriptExecutionContext::Task look like a WorkerTask.
44588
44589        * dom/WorkerThread.cpp:
44590        * dom/WorkerThread.h:
44591
445922009-02-02  David Levin  <levin@chromium.org>
44593
44594        Reviewed by Alexey Proskuryakov.
44595
44596        Bug 23618: Templated worker tasks should be more error proof to use.
44597        <https://bugs.webkit.org/show_bug.cgi?id=23618>
44598
44599        Add the generic worker tasks templates needed for the WorkerThreadableLoader.
44600
44601        No observable change in behavior, so no test.
44602
44603        * GNUmakefile.am:
44604        * WebCore.pro:
44605        * WebCore.scons:
44606        * WebCore.vcproj/WebCore.vcproj:
44607        * WebCore.xcodeproj/project.pbxproj:
44608        * WebCoreSources.bkl:
44609        * dom/CrossThreadCopier.cpp: Added.
44610        * dom/CrossThreadCopier.h: Added.
44611        (WebCore::CrossThreadCopierPassThrough::copy):
44612        * dom/GenericWorkerTask.h:
44613        Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
44614        in performTask because was not obvious that it would be done and not always needed.
44615
44616        (WebCore::GenericWorkerTask1::create):
44617        (WebCore::GenericWorkerTask1::GenericWorkerTask1):
44618        (WebCore::GenericWorkerTask1::performTask):
44619        (WebCore::GenericWorkerTask2::create):
44620        (WebCore::GenericWorkerTask2::GenericWorkerTask2):
44621        (WebCore::GenericWorkerTask2::performTask):
44622        (WebCore::GenericWorkerTask3::create):
44623        (WebCore::GenericWorkerTask3::GenericWorkerTask3):
44624        (WebCore::GenericWorkerTask3::performTask):
44625        (WebCore::GenericWorkerTask4::create):
44626        (WebCore::GenericWorkerTask4::GenericWorkerTask4):
44627        (WebCore::GenericWorkerTask4::performTask):
44628        (WebCore::GenericWorkerTask5::create):
44629        (WebCore::GenericWorkerTask5::GenericWorkerTask5):
44630        (WebCore::GenericWorkerTask5::performTask):
44631        (WebCore::GenericWorkerTask6::create):
44632        (WebCore::GenericWorkerTask6::GenericWorkerTask6):
44633        (WebCore::GenericWorkerTask6::performTask):
44634        (WebCore::GenericWorkerTask7::create):
44635        (WebCore::GenericWorkerTask7::GenericWorkerTask7):
44636        (WebCore::GenericWorkerTask7::performTask):
44637        (WebCore::createCallbackTask):
44638        * dom/WorkerContext.cpp:
44639        (WebCore::addMessageTask):
44640        (WebCore::WorkerContext::addMessage):
44641        * dom/WorkerMessagingProxy.h:
44642        (WebCore::WorkerMessagingProxy::askedToTerminate):
44643
446442009-02-02  Sam Weinig  <sam@webkit.org>
44645
44646        Reviewed by David "The Barnabas Jones" Hyatt.
44647
44648        Move removeChildNode, appendChildNode and insertChildNode from
44649        RenderContainer into RenderObjectChildList.  Make moveChildNode
44650        static in RenderBlock, as that was the only user.
44651
44652        * rendering/RenderBlock.cpp:
44653        (WebCore::moveChild):
44654        (WebCore::RenderBlock::makeChildrenNonInline):
44655        (WebCore::RenderBlock::removeChild):
44656        (WebCore::RenderBlock::handleRunInChild):
44657        * rendering/RenderContainer.cpp:
44658        (WebCore::RenderContainer::addChild):
44659        (WebCore::RenderContainer::removeChild):
44660        * rendering/RenderContainer.h:
44661        * rendering/RenderInline.cpp:
44662        (WebCore::RenderInline::splitInlines):
44663        (WebCore::RenderInline::splitFlow):
44664        (WebCore::RenderInline::childBecameNonInline):
44665        * rendering/RenderObject.cpp:
44666        (WebCore::RenderObject::handleDynamicFloatPositionChange):
44667        * rendering/RenderObject.h:
44668        (WebCore::RenderObject::createsAnonymousWrapper):
44669        * rendering/RenderObjectChildList.cpp:
44670        (WebCore::updateListMarkerNumbers):
44671        (WebCore::RenderObjectChildList::removeChildNode):
44672        (WebCore::RenderObjectChildList::appendChildNode):
44673        (WebCore::RenderObjectChildList::insertChildNode):
44674        * rendering/RenderObjectChildList.h:
44675        * rendering/RenderSVGContainer.cpp:
44676        (WebCore::RenderSVGContainer::addChild):
44677        (WebCore::RenderSVGContainer::removeChild):
44678        * rendering/RenderSVGContainer.h:
44679        * rendering/RenderTable.cpp:
44680        (WebCore::RenderTable::removeChild):
44681        * rendering/RenderTable.h:
44682        * rendering/RenderTableSection.cpp:
44683        (WebCore::RenderTableSection::removeChild):
44684        * rendering/RenderTableSection.h:
44685
446862009-02-02  Alexey Proskuryakov  <ap@webkit.org>
44687
44688        Reviewed by Darin Alder.
44689
44690        https://bugs.webkit.org/show_bug.cgi?id=23697
44691        Leaks seen on Worker tests
44692
44693        * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
44694        Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
44695        is called.
44696
446972009-02-02  David Hyatt  <hyatt@apple.com>
44698
44699        Move positionForCoordinates up from RenderContainer into RenderBox.
44700
44701        Reviewed by Sam Weinig
44702
44703        * rendering/RenderBox.cpp:
44704        (WebCore::RenderBox::positionForCoordinates):
44705        * rendering/RenderBox.h:
44706        * rendering/RenderContainer.cpp:
44707        * rendering/RenderContainer.h:
44708
447092009-02-02  Hiroaki Nakamura <hnakamur@gmail.com>
44710
44711        Reviewed by Adam Roben.
44712
44713        Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
44714        Modify pre-build step to properly handle the errorlevel
44715        shell command.
44716
44717        * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
44718        for all targets so prefast is only enabled in builds
44719        where /analyze is available.
44720
447212009-02-02  David Hyatt  <hyatt@apple.com>
44722
44723        Refactor the handling of before/after content and generated content.  Move most of the functions from
44724        RenderContainer into RenderObjectChildList.
44725
44726        Reviewed by Sam Weinig
44727
44728        * rendering/RenderBlock.cpp:
44729        (WebCore::RenderBlock::updateBeforeAfterContent):
44730        * rendering/RenderBlock.h:
44731        * rendering/RenderBox.cpp:
44732        (WebCore::RenderBox::isAfterContent):
44733        * rendering/RenderBox.h:
44734        * rendering/RenderButton.cpp:
44735        (WebCore::RenderButton::updateBeforeAfterContent):
44736        * rendering/RenderContainer.cpp:
44737        * rendering/RenderContainer.h:
44738        * rendering/RenderCounter.cpp:
44739        (WebCore::destroyCounterNodeChildren):
44740        * rendering/RenderInline.cpp:
44741        (WebCore::RenderInline::styleDidChange):
44742        (WebCore::RenderInline::addChildIgnoringContinuation):
44743        (WebCore::RenderInline::splitInlines):
44744        * rendering/RenderObject.h:
44745        * rendering/RenderObjectChildList.cpp:
44746        (WebCore::beforeAfterContainer):
44747        (WebCore::findBeforeAfterParent):
44748        (WebCore::invalidateCountersInContainer):
44749        (WebCore::RenderObjectChildList::invalidateCounters):
44750        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
44751        * rendering/RenderObjectChildList.h:
44752
447532009-02-02  Dmitry Titov  <dimich@chromium.org>
44754
44755        Reviewed by Darin Adler.
44756
44757        https://bugs.webkit.org/show_bug.cgi?id=23661
44758        Fix Chromium build.
44759
44760        * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
44761
44762        * rendering/RenderThemeChromiumMac.mm:
44763        (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
44764
447652009-02-02  Geoffrey Garen  <ggaren@apple.com>
44766
44767        Build fix.
44768
44769        * plugins/PluginView.cpp:
44770        (WebCore::PluginView::performRequest):
44771
447722009-02-02  Geoffrey Garen  <ggaren@apple.com>
44773
44774        Build fix.
44775
44776        * WebCore.base.exp:
44777
447782009-02-02  Geoffrey Garen  <ggaren@apple.com>
44779
44780        Reviewed by Sam Weinig.
44781
44782        Track redirects in global history.
44783
44784        * WebCore.base.exp: Renamed some exports.
44785
44786        * bindings/js/JSDOMWindowBase.cpp:
44787        (WebCore::createWindow):
44788        (windowProtoFuncOpen):
44789        * bindings/js/JSDOMWindowCustom.cpp:
44790        (WebCore::JSDOMWindow::setLocation):
44791        * bindings/js/JSDocumentCustom.cpp:
44792        (WebCore::JSDocument::setLocation):
44793        * bindings/js/JSHTMLFormElementCustom.cpp:
44794        (WebCore::JSHTMLFormElement::submit):
44795        * bindings/js/JSLocationCustom.cpp:
44796        (WebCore::JSLocation::setHref):
44797        (WebCore::JSLocation::setProtocol):
44798        (WebCore::JSLocation::setHost):
44799        (WebCore::JSLocation::setHostname):
44800        (WebCore::JSLocation::setPort):
44801        (WebCore::JSLocation::setPathname):
44802        (WebCore::JSLocation::setSearch):
44803        (WebCore::JSLocation::setHash):
44804        (WebCore::JSLocation::assign): Treat any navigation that is not initiated
44805        by the user as a redirect from the perspective of global history.
44806
44807        * history/HistoryItem.cpp:
44808        (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
44809        chain.
44810
44811        * loader/DocumentLoader.cpp:
44812        (WebCore::DocumentLoader::DocumentLoader):
44813        * loader/DocumentLoader.h:
44814        (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
44815        (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
44816        (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
44817        added yet another way to track redirect state during loading, since none
44818        of the others did what I wanted, and I didn't want to cause behavior
44819        changes in existing code.
44820
44821        * loader/EmptyClients.h:
44822        (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
44823        Stubbed out a client function to keep things building.
44824
44825        * loader/FrameLoader.cpp:
44826        (WebCore::isBackForwardLoadType):
44827        (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
44828        FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
44829        the other meanings of "redirect" in the loading code.
44830
44831        (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
44832        redirect as a redirect from the perspective of global history.
44833
44834        (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
44835        parameter.
44836
44837        (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
44838
44839        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
44840        (WebCore::FrameLoader::loadURL):
44841        (WebCore::FrameLoader::load): Updated for rename and extra parameter.
44842
44843        (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
44844        in the DocumentLoader, so it's accessible to WebKit's global history code.
44845
44846        (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
44847        only has meaning to global history, and m_quickRedirectComing pertains
44848        to other kinds of history.
44849
44850        (WebCore::FrameLoader::loadPostRequest):
44851        (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
44852        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
44853        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
44854        (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
44855
44856        (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
44857        navigations even if they don't create new history items, so we can track
44858        the redirect in the existing history item.
44859
44860        * loader/FrameLoader.h: See above.
44861
44862        * loader/FrameLoaderClient.h: New client interface used by
44863        FrameLoader::updateHistory* to record a redirect even if it doesn't create
44864        a new history item of its own.
44865
44866        * loader/FrameLoaderTypes.h: See above.
44867        (WebCore::):
44868
44869        * page/DragController.cpp:
44870        (WebCore::DragController::performDrag):
44871        * svg/graphics/SVGImage.cpp:
44872        (WebCore::SVGImage::dataChanged): Updated for extra parameter.
44873
448742009-02-02  David Hyatt  <hyatt@apple.com>
44875
44876        Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
44877        Remove RenderSVGContainer's implementation, since it was never called.
44878
44879        Reviewed by Beth Dakin
44880
44881        * rendering/RenderBox.cpp:
44882        (WebCore::RenderBox::minPrefWidth):
44883        * rendering/RenderBox.h:
44884        (WebCore::RenderBox::calcPrefWidths):
44885        * rendering/RenderContainer.h:
44886        (WebCore::RenderContainer::moveChildNode):
44887        * rendering/RenderSVGContainer.h:
44888
448892009-02-02  Anders Carlsson  <andersca@apple.com>
44890
44891        Reviewed by Sam Weinig.
44892
44893        Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
44894
44895        * WebCore.LP64.exp:
44896        * bindings/js/ScriptController.cpp:
44897        (WebCore::ScriptController::createScriptObjectForPluginElement):
44898        (WebCore::ScriptController::jsObjectForPluginElement):
44899        * bindings/js/ScriptController.h:
44900
449012009-02-02  Darin Fisher  <darin@chromium.org>
44902
44903        Reviewed by Eric Seidel (and Ojan Vafai).
44904
44905        https://bugs.webkit.org/show_bug.cgi?id=23696
44906        Select element doesn't show new value when focus is switched in
44907        onchange event.
44908
44909        Fix PopupMenuChromium to hide itself before calling valueChanged.  This
44910        better matches the behavior of the other ports.
44911
44912        * platform/chromium/PopupMenuChromium.cpp:
44913        (WebCore::PopupListBox::create):
44914        (WebCore::PopupContainer::PopupContainer):
44915        (WebCore::PopupContainer::showPopup):
44916        (WebCore::PopupContainer::hidePopup):
44917        (WebCore::PopupListBox::abandon):
44918        (WebCore::PopupListBox::acceptIndex):
44919        (WebCore::PopupMenu::show):
44920        (WebCore::PopupMenu::hide):
44921
449222009-02-02  David Hyatt  <hyatt@apple.com>
44923
44924        Make sure scrollWidth/Height just return 0 for inline flows.
44925
44926        Reviewed by Beth Dakin
44927
44928        * rendering/RenderBox.cpp:
44929        (WebCore::RenderBox::scrollWidth):
44930        (WebCore::RenderBox::scrollHeight):
44931
449322009-02-02  Darin Adler  <darin@apple.com>
44933
44934        Reviewed by Dave Hyatt.
44935
44936        Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
44937        https://bugs.webkit.org/show_bug.cgi?id=23676
44938
44939        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
44940        (WebCore::cssPropertyName):
44941        * css/CSSMutableStyleDeclaration.cpp:
44942        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
44943        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
44944        * css/CSSPrimitiveValue.cpp:
44945        (WebCore::CSSPrimitiveValue::cssText):
44946        * css/CSSStyleDeclaration.cpp:
44947        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
44948        * css/CSSStyleSelector.cpp:
44949        (WebCore::CSSStyleSelector::sortMatchedRules):
44950        * dom/Document.cpp:
44951        (WebCore::Document::formElementsState):
44952        * dom/NamedAttrMap.h:
44953        (WebCore::NamedAttrMap::reserveInitialCapacity):
44954        * editing/TextIterator.cpp:
44955        (WebCore::CharacterIterator::string):
44956        (WebCore::SearchBuffer::SearchBuffer):
44957        (WebCore::plainTextToMallocAllocatedBuffer):
44958        * editing/markup.cpp:
44959        (WebCore::joinMarkups):
44960        * history/HistoryItem.cpp:
44961        (WebCore::HistoryItem::HistoryItem):
44962        * html/HTMLTokenizer.cpp:
44963        (WebCore::Token::addAttribute):
44964        * loader/appcache/DOMApplicationCache.cpp:
44965        (WebCore::DOMApplicationCache::items):
44966        * page/SecurityOrigin.cpp:
44967        (WebCore::SecurityOrigin::toString):
44968        * page/mac/AccessibilityObjectWrapper.mm:
44969        (convertToVector):
44970        * platform/graphics/FontCache.cpp:
44971        (WebCore::FontCache::purgeInactiveFontData):
44972        (WebCore::FontCache::invalidate):
44973        * platform/network/FormData.cpp:
44974        (WebCore::FormData::deepCopy):
44975        * platform/network/HTTPHeaderMap.cpp:
44976        (WebCore::HTTPHeaderMap::copyData):
44977        * platform/network/ResourceRequestBase.cpp:
44978        (WebCore::ResourceRequestBase::copyData):
44979        * platform/network/mac/FormDataStreamMac.mm:
44980        (WebCore::formCreate):
44981        * xml/XPathNodeSet.cpp:
44982        (WebCore::XPath::NodeSet::sort):
44983        Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
44984        which are working on new vectors that are guaranteed not to be empty.
44985
449862009-02-26  Jon Honeycutt  <jhoneycutt@apple.com>
44987
44988        Build fix after r40486.
44989
44990        Rubber-stamped by Ada Chan.
44991
44992        * dom/Document.h: Changed HitTestRequest to a class from a struct.
44993        * page/EventHandler.h: Ditto.
44994        * rendering/EllipsisBox.h: Ditto.
44995        * rendering/InlineBox.h: Ditto.
44996        * rendering/InlineFlowBox.h: Ditto.
44997        * rendering/RenderLayer.h: Ditto.
44998
449992009-02-02  Darin Adler  <darin@apple.com>
45000
45001        Reviewed by Anders Carlsson.
45002
45003        Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
45004        https://bugs.webkit.org/show_bug.cgi?id=23694
45005
45006        * dom/ContainerNode.cpp:
45007        (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
45008        (WebCore::ContainerNode::removedFromDocument): Ditto.
45009        * dom/EventTargetNode.cpp:
45010        (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
45011        (WebCore::EventTargetNode::removedFromDocument): Ditto.
45012        * dom/Node.cpp:
45013        (WebCore::Node::insertedIntoDocument): Updated comment.
45014        (WebCore::Node::removedFromDocument): Ditto.
45015
450162009-02-02  Anders Carlsson  <andersca@apple.com>
45017
45018        Reviewed by Dan Bernstein.
45019
45020        More plug-in cleanup.
45021
45022        * WebCore.NPAPI.exp:
45023        Add new symbols.
45024
45025        * bindings/objc/DOM.mm:
45026        * bindings/objc/DOMPrivate.h:
45027        Remove methods that WebKit doesn't use anymore.
45028
450292009-02-02  Jay Campan  <jcampan@chromium.org>
45030
45031        Reviewed by Eric Seidel.
45032
45033        Clean up PopupMenuChromium a little.
45034        https://bugs.webkit.org/show_bug.cgi?id=23653
45035
45036        No functional changes, only code cleanup, thus no tests.
45037
45038        * platform/chromium/PopupMenuChromium.cpp:
45039        (WebCore::):
45040        (WebCore::PopupListBox::PopupListBox):
45041        (WebCore::PopupContainer::create):
45042        (WebCore::PopupContainer::PopupContainer):
45043        (WebCore::PopupContainer::showPopup):
45044        (WebCore::PopupListBox::handleKeyEvent):
45045        (WebCore::PopupListBox::isSelectableItem):
45046        (WebCore::PopupListBox::selectNextRow):
45047        (WebCore::PopupListBox::selectPreviousRow):
45048        (WebCore::PopupMenu::show):
45049        * platform/chromium/PopupMenuChromium.h:
45050
450512009-02-02  Anders Carlsson  <andersca@apple.com>
45052
45053        Reviewed by Dan Bernstein.
45054
45055        Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
45056
45057        * WebCore.xcodeproj/project.pbxproj:
45058        * loader/EmptyClients.h:
45059        (WebCore::EmptyFrameLoaderClient::createPlugin):
45060        (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
45061        * loader/FrameLoader.cpp:
45062        (WebCore::toPlugInElement):
45063        (WebCore::FrameLoader::loadPlugin):
45064        (WebCore::FrameLoader::loadItem):
45065        * loader/FrameLoader.h:
45066        * loader/FrameLoaderClient.h:
45067
450682009-02-02  Genevieve Mak  <gen@staikos.net>
45069
45070        Reviewed by George Staikos.
45071
45072        https://bugs.webkit.org/show_bug.cgi?id=23508
45073        Returns Blank Page for all "about" protocols
45074
45075        * loader/MainResourceLoader.cpp:
45076        Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
45077        url or about:blank only (for now, exclusively for Torch Mobile platform).
45078
450792009-02-02  Brent Fulgham  <bfulgham@webkit.org>
45080
45081        Reviewed by George Staikos.
45082
45083        Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
45084        Correct build break caused by @r40366 by moving the
45085        common code implmentations from GraphicsContextCGWin.cpp
45086        into the base Windows class (GraphicsContextWin.cpp).  Also
45087        move inTransparencyLayer since it is identical in both
45088        children.
45089
45090        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
45091          Added member m_shouldIncludeChildWindows to Windows version,
45092          similar to GraphicsContextPlatformPrivateCG.h.
45093        * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
45094          implementations of shouldIncludeChildWindows,
45095          setShouldIncludeChildWindows, and inTransparencyLayer.
45096        * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
45097          the implementation of inTransparencyLayer.
45098        * platform/graphics/win/GraphicsContextWin.cpp: Move common code
45099          from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
45100        (WebCore::GraphicsContext::inTransparencyLayer):
45101        (WebCore::GraphicsContext::setShouldIncludeChildWindows):
45102        (WebCore::GraphicsContext::shouldIncludeChildWindows):
45103
451042009-02-02  Darin Adler  <darin@apple.com>
45105
45106        Try to fix Wx build, and maybe Chromium build too.
45107
45108        * WebCore.scons: Added IdentifierRep.cpp.
45109        * WebCoreSources.bkl: Ditto.
45110
451112009-02-02  Darin Adler  <darin@apple.com>
45112
45113        Try to fix Wx build.
45114
45115        * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
45116
451172009-02-02  Adam Treat  <adam.treat@torchmobile.com>
45118
45119        Reviewed by Nikolas Zimmermann.
45120
45121        https://bugs.webkit.org/show_bug.cgi?id=23587
45122        Refactor HitTestRequest to eliminate all the ugly boolean arguments and
45123        use an enum bitflag instead.  Cleanup all the code that constructs the
45124        various HitTestRequests to make the code more readable.
45125
45126        * dom/Document.cpp:
45127        (WebCore::Document::elementFromPoint):
45128        (WebCore::Document::prepareMouseEvent):
45129        * editing/SelectionController.cpp:
45130        (WebCore::SelectionController::contains):
45131        * page/AccessibilityRenderObject.cpp:
45132        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
45133        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
45134        * page/EventHandler.cpp:
45135        (WebCore::EventHandler::eventMayStartDrag):
45136        (WebCore::EventHandler::updateSelectionForMouseDrag):
45137        (WebCore::EventHandler::hitTestResultAtPoint):
45138        (WebCore::EventHandler::handleMousePressEvent):
45139        (WebCore::EventHandler::handleMouseDoubleClickEvent):
45140        (WebCore::EventHandler::handleMouseMoveEvent):
45141        (WebCore::EventHandler::handleMouseReleaseEvent):
45142        (WebCore::EventHandler::updateDragAndDrop):
45143        (WebCore::EventHandler::handleWheelEvent):
45144        (WebCore::EventHandler::sendContextMenuEvent):
45145        (WebCore::EventHandler::hoverTimerFired):
45146        (WebCore::EventHandler::handleDrag):
45147        * page/EventHandler.h:
45148        * rendering/HitTestRequest.h:
45149        (WebCore::HitTestRequest::):
45150        (WebCore::HitTestRequest::HitTestRequest):
45151        (WebCore::HitTestRequest::readOnly):
45152        (WebCore::HitTestRequest::active):
45153        (WebCore::HitTestRequest::mouseMove):
45154        (WebCore::HitTestRequest::mouseUp):
45155        (WebCore::HitTestRequest::ignoreClipping):
45156        * rendering/RenderFrameSet.cpp:
45157        (WebCore::RenderFrameSet::nodeAtPoint):
45158        * rendering/RenderLayer.cpp:
45159        (WebCore::RenderLayer::hitTest):
45160        (WebCore::RenderLayer::hitTestLayer):
45161        (WebCore::RenderLayer::updateHoverActiveState):
45162
451632009-02-02  George Staikos  <george.staikos@torchmobile.com>
45164
45165        Reviewed by Niko Zimmermann.
45166
45167        Fix WML build by including the inlined renderStyle().
45168
45169        * wml/WMLOptGroupElement.cpp:
45170        * wml/WMLOptionElement.cpp:
45171
451722009-02-02  Darin Adler  <darin@apple.com>
45173
45174        Reviewed by Niko Zimmermann.
45175
45176        Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
45177        https://bugs.webkit.org/show_bug.cgi?id=23686
45178        rdar://problem/6547971
45179
45180        Also fix other XPath tests that are crashing.
45181
45182        * xml/XPathFunctions.cpp:
45183        (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
45184        * xml/XPathStep.cpp:
45185        (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
45186        need to make Attr nodes here. Yuck!
45187
451882009-02-02  Yichao Yin  <yichao.yin@torchmobile.com.cn>
45189
45190        Reviewed by Niko Zimmermann.
45191
45192        Test: wml/input-format.html
45193
45194        * wml/WMLInputElement.cpp:
45195        (WebCore::WMLInputElement::WMLInputElement):
45196        (WebCore::formatCodes):
45197        (WebCore::WMLInputElement::dispatchBlurEvent):
45198        (WebCore::WMLInputElement::parseMappedAttribute):
45199        (WebCore::WMLInputElement::attach):
45200        (WebCore::WMLInputElement::defaultEventHandler):
45201        (WebCore::WMLInputElement::init):
45202        (WebCore::WMLInputElement::validateInputMask):
45203        (WebCore::WMLInputElement::isConformedToInputMask):
45204        (WebCore::WMLInputElement::cursorPositionToMaskIndex):
45205        * wml/WMLInputElement.h:
45206
452072009-02-02  Brent Fulgham  <bfulgham@webkit.org>
45208
45209        Build fix only, no review.
45210
45211        Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
45212        Correct build break caused by @r40473.
45213
45214        * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
45215        (WebCore::computePageRectsForFrame):
45216
452172009-02-02  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
45218
45219        Not reviewed. Fix WML enabled builds.
45220        FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
45221
45222        * wml/WMLAElement.cpp:
45223        (WebCore::WMLAElement::defaultEventHandler):
45224
452252009-02-02  Alexey Proskuryakov  <ap@webkit.org>
45226
45227        Reviewed by Darin Adler.
45228
45229        <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
45230
45231        Not easily testable.
45232
45233        * loader/appcache/ApplicationCacheGroup.cpp:
45234        (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
45235        handle in a manner that is closer to what CachedResource does. We now make conditional
45236        requests for better performance, and set max-age to ensure that stale responses are not used.
45237        (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
45238        (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
45239        is 304, take it from the newest cache.
45240        (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
45241        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
45242        the manifest if the response code was 304 - it won't be needed.
45243        (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
45244        m_manifestResource is not null with a check.
45245        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
45246        an indication that the response was 304.
45247        (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
45248
45249        * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
45250
452512009-02-01  Darin Adler  <darin@apple.com>
45252
45253        Reviewed by Dave Hyatt.
45254
45255        Bug 23674: Speed up some things based on profiling the page load test
45256        https://bugs.webkit.org/show_bug.cgi?id=23674
45257
45258        * css/CSSStyleSelector.cpp:
45259        (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
45260        of the old name, getCSSTarget.
45261        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
45262
45263        * dom/ContainerNode.cpp:
45264        (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
45265        calling through to EventTargetNode::insertedIntoDocument.
45266        (WebCore::ContainerNode::removedFromDocument): Ditto.
45267        (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
45268        (WebCore::ContainerNode::removedFromTree): Ditto.
45269
45270        * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
45271
45272        * dom/Document.cpp:
45273        (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
45274        its contents only to avoid the document type node. This allows us to remove the virtual
45275        function call to isEventTargetNode from the loop.
45276        (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
45277
45278        * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
45279        getCSSTarget to cssTarget.
45280
45281        * dom/EventTargetNode.cpp:
45282        (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
45283        rare data check into an assertion.
45284
45285        * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
45286        Also moved the constructor definition here and made it inline. And added toEventTargetNode,
45287        matching the design of the render tree checked casts. Later we can migrate all callers
45288        from EventTargetNodeCast to toEventTargetNode.
45289
45290        * dom/NamedAttrMap.cpp:
45291        (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
45292        clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
45293        (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
45294        clearAttributes here.
45295        (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
45296        (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
45297        clearAttributes. We don't need to clear the attributes array just because the element is
45298        going away, so don't.
45299        (WebCore::NamedAttrMap::virtualLength): Added.
45300
45301        * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
45302        These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
45303        non-virtual function. This was a fairly hot function.
45304
45305        * dom/NamedMappedAttrMap.cpp:
45306        (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
45307        m_element data member is private.
45308
45309        * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
45310        hasMappedAttributes function non-virtual.
45311
45312        * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
45313        function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
45314
45315        * dom/Node.cpp:
45316        (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
45317        only non-empty in subclasses of ContainerNode.
45318        (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
45319        target has to be an Element, this can be moved down to ContainerNode (or it could be
45320        moved down to Element for that matter).
45321
45322        * dom/QualifiedName.cpp:
45323        (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
45324
45325        * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
45326        setPrefix function definitions into the header and made them inline.
45327
45328        * html/HTMLAreaElement.cpp:
45329        (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
45330        an OwnPtr.
45331        (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
45332        (WebCore::HTMLAreaElement::setAccessKey): Ditto.
45333        (WebCore::HTMLAreaElement::alt): Ditto.
45334        (WebCore::HTMLAreaElement::setAlt): Ditto.
45335        (WebCore::HTMLAreaElement::coords): Ditto.
45336        (WebCore::HTMLAreaElement::setCoords): Ditto.
45337        (WebCore::HTMLAreaElement::setHref): Ditto.
45338        (WebCore::HTMLAreaElement::shape): Ditto.
45339        (WebCore::HTMLAreaElement::setShape): Ditto.
45340        (WebCore::HTMLAreaElement::setTarget): Ditto.
45341
45342        * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
45343        Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
45344        the common case where an area element is parsed but never hit-tested. This could
45345        also have been done by changing the Path class's null case to be more efficient,
45346        but this seems fine.
45347
45348        * html/HTMLViewSourceDocument.cpp:
45349        (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
45350        of insertAttribute.
45351        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
45352        (WebCore::HTMLViewSourceDocument::addLine): Ditto.
45353        (WebCore::HTMLViewSourceDocument::addLink): Ditto.
45354
45355        * loader/FrameLoader.cpp:
45356        (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
45357        of its old name getCSSTarget.
45358
45359        * platform/graphics/GlyphWidthMap.cpp:
45360        (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
45361
45362        * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
45363        Changed m_pages to use OwnPtr.
45364
45365        * platform/text/PlatformString.h: Remove include no longer needed since
45366        StringImpl.h includes it.
45367
45368        * platform/text/StringImpl.cpp:
45369        (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
45370        from createStrippingNullCharacters.
45371        * platform/text/StringImpl.h: Moved the definition of
45372        createStrippingNullCharacters here and made it inline.
45373
45374        * rendering/RenderObject.cpp:
45375        (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
45376        firstLineStyle.
45377
45378        * rendering/RenderObject.h: Moved the definition of the firstLineStyle
45379        function here and made it inline. Moved the definition of the
45380        documentBeingDestroyed function here and made it inline.
45381
45382        * svg/SVGSVGElement.cpp:
45383        (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
45384        getNamedItem here since it accomplishes the same thing but is more efficient.
45385        (WebCore::SVGSVGElement::getScreenCTM): Ditto.
45386        * svg/SVGStyledElement.cpp:
45387        (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
45388
45389        * xml/XPathFunctions.cpp:
45390        (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
45391        getNamedItemNS.
45392
45393        * xml/XPathStep.cpp:
45394        (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
45395
453962009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
45397
45398        Reviewed by Darin Adler.
45399
45400        Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
45401
45402        https://bugs.webkit.org/show_bug.cgi?id=23428
45403
45404        FrameView::forceLayout could be killed but the comment might
45405        contain a value over the the plain FrameView::layout...
45406
45407        Adjust the WebCore/WebKit consumers of these methods.
45408
45409        * WebCore.base.exp:
45410        * page/Frame.cpp:
45411        (WebCore::Frame::setPrinting):
45412        * page/Frame.h:
45413        * page/FrameView.cpp:
45414        (WebCore::FrameView::forceLayout):
45415        (WebCore::FrameView::forceLayoutWithPageWidthRange):
45416        (WebCore::FrameView::adjustPageHeight):
45417        * page/FrameView.h:
45418        * page/PrintContext.cpp:
45419        (WebCore::PrintContext::computePageRects):
45420
454212009-02-01  Dan Bernstein  <mitz@apple.com>
45422
45423        Reviewed by John Sullivan.
45424
45425        - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
45426
45427        Fixes http/tests/navigation/multiple-back-forward-entries.html
45428
45429        r40432 added a parameter to FrameLoader::scheduleLocationChange() and
45430        failed to update all call sites.
45431
45432        * bindings/js/JSDOMWindowBase.cpp:
45433        (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
45434        giving it the same value as the lockHistory parameter.
45435        (windowProtoFuncOpen): Ditto.
45436        * bindings/js/JSDOMWindowCustom.cpp:
45437        (WebCore::JSDOMWindow::setLocation): Ditto.
45438        * bindings/js/JSDocumentCustom.cpp:
45439        (WebCore::JSDocument::setLocation): Ditto.
45440        * loader/FrameLoader.cpp:
45441        (WebCore::FrameLoader::requestFrame): Ditto.
45442
454432009-01-31  Dan Bernstein  <mitz@apple.com>
45444
45445        Reviewed by Oliver Hunt.
45446
45447        - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
45448
45449        On the PLT, this results in 0.36x the number of virtual function calls
45450        to RenderText::width() and 0.69x the number of calls to
45451        Font::isFixedPitch(), but makes 1.0004x the number of calls to
45452        Font::width().
45453
45454        * rendering/RenderText.cpp:
45455        (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
45456        with an assertion.
45457        * rendering/bidi.cpp:
45458        (WebCore::textWidth): Added this inlined helper function which calls
45459        Font::width() directly in the non-fixed-pitch, non-full-range case, and
45460        otherwise calls RenderText::width().
45461        (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
45462        fixed pitch (in which case RenderText::width() will be called in order
45463        to take advantage of the widthFromCache() optimization for fixed-pitch
45464        fonts). Replaced all calls to RenderText::width() with calls to the
45465        textWidth() helper function.
45466
454672009-01-31  David Hyatt  <hyatt@apple.com>
45468
45469        Inline all of the setNeedsLayout method and its associated functions.  Also inline setChildNeedsLayout
45470        and setNeedsPositionedMovementLayout.
45471
45472        Reviewed by Dan Bernstein
45473
45474        * rendering/RenderObject.cpp:
45475        (WebCore::RenderObject::setLayerNeedsFullRepaint):
45476        * rendering/RenderObject.h:
45477        (WebCore::RenderObject::setNeedsLayout):
45478        (WebCore::RenderObject::setChildNeedsLayout):
45479        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
45480        (WebCore::objectIsRelayoutBoundary):
45481        (WebCore::RenderObject::markContainingBlocksForLayout):
45482
454832009-01-31  Darin Adler  <darin@apple.com>
45484
45485        Fix Mac build.
45486
45487        * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
45488        We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
45489        deleted and I don't want to bring it back just to fix the build.
45490
45491        * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
45492        a possibly-confusing comment.
45493
454942009-01-31  Adam Treat  <adam.treat@torchmobile.com>
45495
45496        Reviewed by David Hyatt.
45497
45498        https://bugs.webkit.org/show_bug.cgi?id=23664
45499        Remove unused dead code from RenderTable class.  The dead code includes
45500        two enums and the associated member variables as well as one getter function.
45501
45502        * rendering/RenderTable.cpp:
45503        (WebCore::RenderTable::RenderTable):
45504        * rendering/RenderTable.h:
45505
455062009-01-31  David Hyatt  <hyatt@apple.com>
45507
45508        More removal of code from RenderContainer.  Move removeLeftoverAnonymousBlock down into RenderBlock.
45509        Move destroyLeftoverChildren into the RenderObjectChildList.  Convert all containers to use the
45510        RenderObjectChildList.
45511
45512        Reviewed by Sam Weinig
45513
45514        * WebCore.xcodeproj/project.pbxproj:
45515        * rendering/RenderBlock.cpp:
45516        (WebCore::RenderBlock::destroy):
45517        (WebCore::RenderBlock::addChild):
45518        (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
45519        (WebCore::RenderBlock::layoutPositionedObjects):
45520        (WebCore::RenderBlock::childBecameNonInline):
45521        * rendering/RenderBlock.h:
45522        * rendering/RenderBox.cpp:
45523        (WebCore::RenderBox::layout):
45524        * rendering/RenderBox.h:
45525        (WebCore::RenderBox::firstChildBox):
45526        (WebCore::RenderBox::lastChildBox):
45527        * rendering/RenderContainer.cpp:
45528        (WebCore::RenderContainer::addChild):
45529        (WebCore::RenderContainer::removeChildNode):
45530        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
45531        (WebCore::RenderContainer::appendChildNode):
45532        (WebCore::RenderContainer::insertChildNode):
45533        (WebCore::RenderContainer::positionForCoordinates):
45534        (WebCore::RenderContainer::addLineBoxRects):
45535        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
45536        * rendering/RenderContainer.h:
45537        (WebCore::RenderContainer::virtualChildren):
45538        (WebCore::RenderContainer::children):
45539        * rendering/RenderInline.cpp:
45540        (WebCore::RenderInline::destroy):
45541        * rendering/RenderInline.h:
45542        (WebCore::RenderInline::layout):
45543        * rendering/RenderMedia.cpp:
45544        (WebCore::RenderMedia::destroy):
45545        (WebCore::RenderMedia::children):
45546        * rendering/RenderMedia.h:
45547        (WebCore::RenderMedia::virtualChildren):
45548        * rendering/RenderObject.cpp:
45549        (WebCore::RenderObject::destroy):
45550        (WebCore::RenderObject::layout):
45551        * rendering/RenderObject.h:
45552        (WebCore::RenderObject::firstChild):
45553        (WebCore::RenderObject::lastChild):
45554        (WebCore::RenderObject::virtualChildren):
45555        (WebCore::RenderObject::canHaveChildren):
45556        * rendering/RenderObjectChildList.cpp: Added.
45557        (WebCore::RenderObjectChildList::destroyLeftoverChildren):
45558        * rendering/RenderObjectChildList.h:
45559        * rendering/RenderReplaced.h:
45560        (WebCore::RenderReplaced::canHaveChildren):
45561        * rendering/RenderSVGContainer.cpp:
45562        (WebCore::RenderSVGContainer::RenderSVGContainer):
45563        (WebCore::RenderSVGContainer::destroy):
45564        (WebCore::RenderSVGContainer::removeChildNode):
45565        (WebCore::RenderSVGContainer::appendChildNode):
45566        (WebCore::RenderSVGContainer::insertChildNode):
45567        * rendering/RenderSVGContainer.h:
45568        (WebCore::RenderSVGContainer::virtualChildren):
45569        (WebCore::RenderSVGContainer::children):
45570
455712009-01-31  David Hyatt  <hyatt@apple.com>
45572
45573        Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
45574
45575        Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
45576        With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections.  Table section
45577        layout is tightened up to ignore non-table rows.  When a table has multiple captions, only the real one will do a layout now.  The other ones will
45578        be properly ignored.
45579
45580        Reviewed by Oliver Hunt
45581
45582        * editing/DeleteButtonController.cpp:
45583        (WebCore::DeleteButtonController::createDeletionUI):
45584        * rendering/RenderTable.cpp:
45585        (WebCore::RenderTable::addChild):
45586        (WebCore::RenderTable::layout):
45587        * rendering/RenderTableSection.cpp:
45588        (WebCore::RenderTableSection::layout):
45589        * rendering/RenderTableSection.h:
45590
455912009-01-31  Adam Treat  <adam.treat@torchmobile.com>
45592
45593        Reviewed by Darin Adler.
45594
45595        https://bugs.webkit.org/show_bug.cgi?id=23663
45596        Add a void toRenderBox() method which catches unnecessary casts at compile
45597        time and also fix the four cases where this was happening.
45598
45599        * rendering/RenderBlock.cpp:
45600        (WebCore::RenderBlock::determineHorizontalPosition):
45601        * rendering/RenderBox.h:
45602        * rendering/RenderFlexibleBox.cpp:
45603        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
45604        * rendering/RenderInline.cpp:
45605        (WebCore::RenderInline::updateHitTestResult):
45606        * rendering/RenderLayer.cpp:
45607        (WebCore::RenderLayer::updateLayerPosition):
45608
456092009-01-30  Adam Barth  <abarth@webkit.org>
45610
45611        Reviewed by Sam Weinig.
45612
45613        Add a pref to disable web security.
45614
45615        * WebCore.base.exp:
45616        * dom/Document.cpp:
45617        (WebCore::Document::initSecurityContext):
45618        * page/SecurityOrigin.cpp:
45619        (WebCore::SecurityOrigin::SecurityOrigin):
45620        (WebCore::SecurityOrigin::canAccess):
45621        (WebCore::SecurityOrigin::canRequest):
45622        (WebCore::SecurityOrigin::grantUniversalAccess):
45623        * page/SecurityOrigin.h:
45624        * page/Settings.cpp:
45625        (WebCore::Settings::Settings):
45626        (WebCore::Settings::setWebSecurityEnabled):
45627        * page/Settings.h:
45628        (WebCore::Settings::isWebSecurityEnabled):
45629
456302009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45631
45632        Build fix.
45633
45634        Move the inline virtual destructor after a non-inline virtual
45635        function so that the symbol for the vtable is not marked as a
45636        weakly exported symbol.
45637
45638        This trick was previously used at revision 36122 in JSObject.h
45639
45640        * loader/FrameLoaderClient.h:
45641        (WebCore::FrameLoaderClient::~FrameLoaderClient):
45642
456432009-01-30  Oliver Hunt  <oliver@apple.com>
45644
45645        Reviewed by Stephanie Lewis
45646
45647        Inline SimpleFontData::widthForGlyph for a minor page load improvement.
45648
45649        * platform/graphics/SimpleFontData.cpp:
45650        * platform/graphics/SimpleFontData.h:
45651        (WebCore::SimpleFontData::widthForGlyph):
45652
456532009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45654
45655        Build fix for WX and maybe even Windows.
45656
45657        * WebCore.vcproj/WebCore.vcproj:
45658        * WebCoreSources.bkl:
45659
456602009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45661
45662        Reviewed by Darin Adler.
45663
45664        Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
45665
45666        Carry out the move and catch up in two call sites.
45667
45668        * WebCore.base.exp:
45669        * page/EventHandler.cpp:
45670        (WebCore::EventHandler::sendResizeEvent):
45671        (WebCore::EventHandler::sendScrollEvent):
45672        * page/EventHandler.h:
45673        * page/Frame.cpp:
45674        * page/Frame.h:
45675        * page/FrameView.cpp:
45676        (WebCore::FrameView::performPostLayoutTasks):
45677        (WebCore::FrameView::valueChanged):
45678
456792009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45680
45681        Reviewed by Darin Adler.
45682
45683        Move Frame::isFrameSet to Document::isFrameSet
45684
45685        Changed the FrameLoader callsite. I assume that as this
45686        point m_frame.document() might return a null pointer. Change
45687        the condition to either not having a document or not having a
45688        frame set. This should be semantically equivalent to the
45689        old code.
45690
45691        Make Document::body() const to be able to call it from within
45692        Document::isFrameSet. Leave the isHTMLDocument() check as this
45693        is a stronger condition than simply having a HTMLElement in the
45694        DOM.
45695
45696        * WebCore.base.exp:
45697        * dom/Document.cpp:
45698        (WebCore::Document::isFrameSet):
45699        (WebCore::Document::body):
45700        * dom/Document.h:
45701        * loader/FrameLoader.cpp:
45702        (WebCore::FrameLoader::shouldScrollToAnchor):
45703        * loader/archive/cf/LegacyWebArchive.cpp:
45704        (WebCore::LegacyWebArchive::createFromSelection):
45705        * page/Frame.cpp:
45706        * page/Frame.h:
45707
457082009-01-30  Aurelian Maga  <aurelianmaga@yahoo.com>
45709
45710        Reviewed by Holger Freyther.
45711
45712        [GTK] Logic fixes and build fixes
45713
45714        https://bugs.webkit.org/show_bug.cgi?id=22022
45715
45716        Catch up with the internal GeoLocation API and fix the logic of
45717        the previous version.
45718
45719        * platform/gtk/GeolocationServiceGtk.cpp:
45720        (WebCore::GeolocationServiceGtk::startUpdating):
45721        (WebCore::GeolocationServiceGtk::updateLocationInformation):
45722        (WebCore::GeolocationServiceGtk::position_changed):
45723
457242009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45725
45726        Reviewed by Nikolas Zimmermann.
45727
45728        [GTK] Implement GeolocationService using the Geoclue library
45729
45730        https://bugs.webkit.org/show_bug.cgi?id=22022
45731
45732        Untested implementation of the GeolocationService using the geoclue
45733        library. Velocity handling is completely missing and the accuracy
45734        handling might be wrong.
45735
45736        * platform/gtk/GeolocationServiceGtk.cpp:
45737        (WTF::GeoclueAccuracy):
45738        (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
45739        (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
45740        (WebCore::GeolocationServiceGtk::startUpdating):
45741        (WebCore::GeolocationServiceGtk::stopUpdating):
45742        (WebCore::GeolocationServiceGtk::suspend):
45743        (WebCore::GeolocationServiceGtk::resume):
45744        (WebCore::GeolocationServiceGtk::lastPosition):
45745        (WebCore::GeolocationServiceGtk::lastError):
45746        (WebCore::GeolocationServiceGtk::updateLocationInformation):
45747        (WebCore::GeolocationServiceGtk::updatePosition):
45748        (WebCore::GeolocationServiceGtk::position_changed):
45749        (WebCore::GeolocationServiceGtk::setError):
45750        * platform/gtk/GeolocationServiceGtk.h:
45751
457522009-01-30  Mark Rowe  <mrowe@apple.com>
45753
45754        Build fix.  Declare preferredSize as static.
45755
45756        * platform/text/cf/StringImplCF.cpp:
45757        (WebCore::StringWrapperCFAllocator::preferredSize):
45758
457592009-01-30  Darin Adler  <darin@apple.com>
45760
45761        Reviewed by Mark Rowe.
45762
45763        Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
45764        https://bugs.webkit.org/show_bug.cgi?id=23622
45765
45766        * platform/text/cf/StringImplCF.cpp:
45767        (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
45768        (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
45769        (WebCore::StringWrapperCFAllocator::release): Ditto.
45770        (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
45771        (WebCore::StringWrapperCFAllocator::allocate): Ditto.
45772        (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
45773        (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
45774        (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
45775        (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
45776        returns 0 if garbage collection is enabled.
45777        (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
45778
45779        * platform/text/mac/StringImplMac.mm:
45780        (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
45781        rather than using NSString directly. This lets NSString benefit from the above.
45782
457832009-01-30  Darin Adler  <darin@apple.com>
45784
45785        * page/Frame.cpp:
45786        (WebCore::Frame::createView): Fix debug build by removing get() from assert.
45787
457882009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
45789
45790        Reviewed by Simon Hausmann.
45791
45792        https://bugs.webkit.org/show_bug.cgi?id=22056
45793
45794        Kill FrameLoaderClient.cpp, move the code over to Frame::createView
45795
45796        FrameLoaderClient is supposed to be an interface, move the
45797        to be shared code to Frame which is a controller and is
45798        allowed to create a FrameView.
45799
45800        * GNUmakefile.am:
45801        * WebCore.base.exp:
45802        * WebCore.pro:
45803        * WebCore.xcodeproj/project.pbxproj:
45804        * loader/FrameLoaderClient.cpp: Removed.
45805        * loader/FrameLoaderClient.h:
45806        (WebCore::FrameLoaderClient::~FrameLoaderClient):
45807        * page/Frame.cpp:
45808        (WebCore::Frame::createView):
45809        * page/Frame.h:
45810
458112009-01-30  Simon Fraser  <simon.fraser@apple.com>
45812
45813        Reviewed by Dave Hyatt
45814
45815        https://bugs.webkit.org/show_bug.cgi?id=23357
45816
45817        New files to support accelerated compositing at the RenderLayer
45818        level.
45819
45820        * WebCore.xcodeproj/project.pbxproj:
45821        New files added to project, and run through the sort script.
45822
45823        * rendering/RenderLayerBacking.cpp: Added.
45824        * rendering/RenderLayerBacking.h: Added.
45825        New object to store compositing-related data for a single
45826        RenderLayer.
45827
45828        * rendering/RenderLayerCompositor.cpp: Added.
45829        * rendering/RenderLayerCompositor.h: Added.
45830        Per-RenderView controller object for compositing hierarchy
45831        maintenance.
45832
458332009-01-30  Simon Fraser  <simon.fraser@apple.com>
45834
45835        Reviewed by Dave Hyatt
45836
45837        https://bugs.webkit.org/show_bug.cgi?id=23356
45838
45839        Add new files related to accelerated compositing:
45840
45841        * WebCore.xcodeproj/project.pbxproj:
45842        Add the files to the project. Also add ColorCG.cpp, for the
45843        Color(CGColorRef) constructor.
45844
45845        * platform/graphics/GraphicsLayer.cpp: Added.
45846        * platform/graphics/GraphicsLayer.h: Added.
45847        GraphicsLayer is a platform abstraction for a hardware-backed
45848        layer.
45849
45850        * platform/graphics/GraphicsLayerClient.h: Added.
45851        Client of GraphicsLayer, allowing GraphicsLayer to call out
45852        to WebCore code.
45853
45854        * platform/graphics/mac/GraphicsLayerCA.h: Added.
45855        * platform/graphics/mac/GraphicsLayerCA.mm: Added.
45856        Mac Core Animation implementation of GraphicsLayer.
45857
45858        * platform/graphics/mac/WebLayer.h: Added.
45859        * platform/graphics/mac/WebLayer.mm: Added.
45860        * platform/graphics/mac/WebTiledLayer.h: Added.
45861        * platform/graphics/mac/WebTiledLayer.mm: Added.
45862        Subclasses of CALayer and CATiledLayer -- helpers for the
45863        GraphicsLayerCA implementation.
45864
458652009-01-30  Geoffrey Garen  <ggaren@apple.com>
45866
45867        Reviewed by Sam Weinig.
45868
45869        Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
45870        preparation for setting them differently during a redirect.
45871
45872        * WebCore.base.exp:
45873        * bindings/js/JSHTMLFormElementCustom.cpp:
45874        (WebCore::JSHTMLFormElement::submit):
45875        * bindings/js/JSLocationCustom.cpp:
45876        (WebCore::navigateIfAllowed):
45877        (WebCore::JSLocation::setHref):
45878        (WebCore::JSLocation::setProtocol):
45879        (WebCore::JSLocation::setHost):
45880        (WebCore::JSLocation::setHostname):
45881        (WebCore::JSLocation::setPort):
45882        (WebCore::JSLocation::setPathname):
45883        (WebCore::JSLocation::setSearch):
45884        (WebCore::JSLocation::setHash):
45885        (WebCore::JSLocation::replace):
45886        (WebCore::JSLocation::assign):
45887        * html/HTMLAnchorElement.cpp:
45888        (WebCore::HTMLAnchorElement::defaultEventHandler):
45889        * html/HTMLFormElement.cpp:
45890        (WebCore::HTMLFormElement::submit):
45891        * html/HTMLFormElement.h:
45892        * loader/FrameLoader.cpp:
45893        (WebCore::FormSubmission::FormSubmission):
45894        (WebCore::ScheduledRedirection::ScheduledRedirection):
45895        (WebCore::isBackForwardLoadType):
45896        (WebCore::FrameLoader::createWindow):
45897        (WebCore::FrameLoader::changeLocation):
45898        (WebCore::FrameLoader::urlSelected):
45899        (WebCore::FrameLoader::submitFormAgain):
45900        (WebCore::FrameLoader::submitForm):
45901        (WebCore::FrameLoader::restoreDocumentState):
45902        (WebCore::FrameLoader::scheduleHTTPRedirection):
45903        (WebCore::FrameLoader::scheduleLocationChange):
45904        (WebCore::FrameLoader::scheduleRefresh):
45905        (WebCore::FrameLoader::redirectionTimerFired):
45906        (WebCore::FrameLoader::loadURLIntoChildFrame):
45907        (WebCore::FrameLoader::startRedirectionTimer):
45908        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
45909        (WebCore::FrameLoader::transitionToCommitted):
45910        (WebCore::FrameLoader::clientRedirected):
45911        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
45912        (WebCore::FrameLoader::loadItem):
45913        * loader/FrameLoader.h:
45914        * loader/FrameLoaderTypes.h:
45915        (WebCore::):
45916        * page/ContextMenuController.cpp:
45917        (WebCore::ContextMenuController::contextMenuItemSelected):
45918        * svg/SVGAElement.cpp:
45919        (WebCore::SVGAElement::defaultEventHandler):
45920
459212009-01-30  Sam Weinig  <sam@webkit.org>
45922
45923        Reviewed by Dan Bernstein.
45924
45925        Fix for <rdar://problem/6545095>
45926        ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
45927
45928        Test: fast/block/float/crash-replaced-display-block.html
45929
45930        * rendering/RenderBlock.cpp:
45931        (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
45932        isRenderBlock if-statement.
45933
459342009-01-30  Chris Fleizach  <cfleizach@apple.com>
45935
45936        Reviewed by Oliver Hunt.
45937
45938        Bug 23656: AX hierarchy for iFrames is incorrect
45939        https://bugs.webkit.org/show_bug.cgi?id=23656
45940
45941        The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
45942        returned when going down compared to when going up.
45943
45944        * page/mac/AccessibilityObjectWrapper.mm:
45945        (convertToNSArray):
45946
459472009-01-30  Adam Treat  <adam.treat@torchmobile.com>
45948
45949        Fix Qt build to include new class IdentifierRep introduced in revision 40412.
45950
45951        * WebCore.pro:
45952
459532009-01-30  Anders Carlsson  <andersca@apple.com>
45954
45955        Reviewed by Sam Weinig.
45956
45957        Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
45958
45959        * WebCore.LP64.exp:
45960        * WebCore.xcodeproj/project.pbxproj:
45961
459622009-01-30  Sam Weinig  <sam@webkit.org>
45963
45964        Commit files I forgot to in the previous commit.
45965
45966        * page/AccessibilityRenderObject.cpp:
45967        (WebCore::AccessibilityRenderObject::layoutCount):
45968        * page/Frame.cpp:
45969        (WebCore::Frame::contentRenderer):
45970        (WebCore::Frame::forceLayoutWithPageWidthRange):
45971        * page/FrameView.cpp:
45972        (WebCore::FrameView::layout):
45973        * rendering/RenderBlock.cpp:
45974        (WebCore::RenderBlock::nodeAtPoint):
45975        * rendering/RenderObject.cpp:
45976        (WebCore::RenderObject::repaintUsingContainer):
45977        (WebCore::RenderObject::repaint):
45978        (WebCore::RenderObject::repaintRectangle):
45979        (WebCore::RenderObject::view):
45980        (WebCore::RenderObject::scheduleRelayout):
45981        (WebCore::RenderObject::maximalOutlineSize):
45982        * rendering/SVGRenderSupport.cpp:
45983        (WebCore::clampImageBufferSizeToViewport):
45984        * svg/SVGLength.cpp:
45985        (WebCore::SVGLength::PercentageOfViewport):
45986
459872009-01-30  Geoffrey Garen  <ggaren@apple.com>
45988
45989        Reviewed by Darin Adler.
45990
45991        More scaffolding for redirect tracking. No behavior change yet.
45992
45993        * bindings/js/JSHTMLFormElementCustom.cpp:
45994        (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
45995        redirect checking in a form submission through JS. (Currently, we
45996        just specify "no redirect.")
45997
45998        * bindings/js/ScriptController.h:
45999        * bindings/js/ScriptController.cpp:
46000        (WebCore::ScriptController::processingUserGesture):
46001        (WebCore::ScriptController::processingUserGestureEvent):
46002        (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
46003        user gesture check to make it more clear.
46004
46005        (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
46006        for checking if there's a user gesture in any frame on the page (a more
46007        relaxed rule than our popup blocking rule, which requires the user
46008        gesture to occur in the frame that's executing JavaScript.)
46009
46010        * html/HTMLFormElement.h:
46011        * html/HTMLFormElement.cpp:
46012        (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
46013        redirect checking in a form submission through the DOM. (Currently, we
46014        just specify "no redirect.")
46015
46016        * html/HTMLFormElement.idl: Made submit custom so it can participate
46017        in redirect checking.
46018
46019        * loader/FrameLoader.h:
46020        * loader/FrameLoader.cpp:
46021        (WebCore::FormSubmission::FormSubmission): Clarified some names, and
46022        added a "lockHistory" parameter to form submissions, to match other
46023        navigations.
46024
46025        (WebCore::FrameLoader::submitFormAgain):
46026        (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
46027
46028        (WebCore::FrameLoader::userGestureHint): Refactored this function for
46029        clarity, and added a FIXME for a change I was too scared to make myself.
46030        (Really, we should just get rid of this function.)
46031
46032        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
46033        to pass a FrameLoadType to form posts, too, so they can participate in
46034        redirect tracking.
46035
46036        (WebCore::FrameLoader::loadPostRequest):
46037        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
46038        (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
46039
460402009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
46041
46042        Reviewed by Mark Rowe.
46043
46044        [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
46045
46046        https://bugs.webkit.org/show_bug.cgi?id=21546
46047
46048        The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
46049        states that: "AtkObjects whose text content is simple, unattributed, and very
46050        brief may expose that content via atk_object_get_name instead"
46051
46052        As we are currently not able to always provide a AtkTextInterface
46053        implementation this will make the whole content available to accerciser,
46054        and other tools.
46055
46056        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
46057
460582009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
46059
46060        Unreviewed build fix.
46061
46062        Include string.h for strdup.
46063
46064        * bridge/IdentifierRep.h:
46065
460662009-01-30  Sam Weinig  <sam@webkit.org>
46067
46068        Reviewed by Dan Bernstein.
46069
46070        Add toRenderView methods for casting RenderObjects to RenderViews.  The methods will assert if the object
46071        is not a RenderView.
46072
46073        * dom/Document.cpp:
46074        (WebCore::Document::renderView):
46075        * editing/SelectionController.cpp:
46076        (WebCore::SelectionController::nodeWillBeRemoved):
46077        (WebCore::SelectionController::recomputeCaretRect):
46078        (WebCore::SelectionController::invalidateCaretRect):
46079        (WebCore::SelectionController::focusedOrActiveStateChanged):
46080        * editing/mac/SelectionControllerMac.mm:
46081        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
46082        * rendering/RenderBox.cpp:
46083        (WebCore::RenderBox::styleDidChange):
46084        (WebCore::RenderBox::repaintLayerRectsForImage):
46085        (WebCore::RenderBox::availableHeightUsing):
46086        * rendering/RenderView.h:
46087        (WebCore::toRenderView):
46088
460892009-01-30  Simon Fraser  <simon.fraser@apple.com>
46090
46091        Reviewed by Dave Hyatt
46092
46093        https://bugs.webkit.org/show_bug.cgi?id=23360
46094
46095        Really use the container-relative repaint rect methods
46096        for repaint during layout
46097
46098        * rendering/RenderObject.h:
46099        (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
46100
461012009-01-30  Anders Carlsson  <andersca@apple.com>
46102
46103        Reviewed by Darin Adler.
46104
46105        Get rid of PrivateIdentifier and use IdentifierRep instead.
46106
46107        * bridge/NP_jsobject.cpp:
46108        (_NPN_Invoke):
46109        (_NPN_GetProperty):
46110        (_NPN_SetProperty):
46111        (_NPN_RemoveProperty):
46112        (_NPN_HasProperty):
46113        (_NPN_HasMethod):
46114        * bridge/c/c_instance.cpp:
46115        (JSC::Bindings::CInstance::getPropertyNames):
46116        * bridge/c/c_utility.cpp:
46117        (JSC::Bindings::convertNPStringToUTF16):
46118        * bridge/c/c_utility.h:
46119        * bridge/npruntime.cpp:
46120        (_NPN_GetStringIdentifier):
46121        (_NPN_GetStringIdentifiers):
46122        (_NPN_GetIntIdentifier):
46123        (_NPN_IdentifierIsString):
46124        (_NPN_UTF8FromIdentifier):
46125        (_NPN_IntFromIdentifier):
46126
461272009-01-30  Anders Carlsson  <andersca@apple.com>
46128
46129        Reviewed by Sam Weinig and Darin Adler.
46130
46131        Make IdentifierRep a real class, add necessary class methods.
46132
46133        * bridge/IdentifierRep.cpp:
46134        (WebCore::identifierSet):
46135        Returns a set of all identifiers.
46136
46137        (WebCore::IdentifierRep::isValid):
46138        Return whether an identifier is valid, meaning that it's present in the
46139        set of identifiers.
46140
46141        * bridge/IdentifierRep.h:
46142        (WebCore::IdentifierRep::isString):
46143        (WebCore::IdentifierRep::number):
46144        (WebCore::IdentifierRep::string):
46145        (WebCore::IdentifierRep::IdentifierRep):
46146        (WebCore::IdentifierRep::):
46147
461482009-01-30  Anders Carlsson  <andersca@apple.com>
46149
46150        Reviewed by Sam Weinig.
46151
46152        Add IdentifierRep which will be used by both plug-in implementations.
46153
46154        * GNUmakefile.am:
46155        * WebCore.vcproj/WebCore.vcproj:
46156        * WebCore.xcodeproj/project.pbxproj:
46157        * bridge/IdentifierRep.cpp: Added.
46158        (WebCore::IdentifierRep::IdentifierRep):
46159        (WebCore::IdentifierRep::):
46160        (WebCore::intIdentifierMap):
46161        (WebCore::identifierRep):
46162        (WebCore::stringIdentifierMap):
46163        * bridge/IdentifierRep.h: Added.
46164        * bridge/c/c_utility.h:
46165        * platform/text/PlatformString.h:
46166        * platform/text/String.cpp:
46167        (WebCore::String::fromUTF8WithLatin1Fallback):
46168
461692009-01-30  Sam Weinig  <sam@webkit.org>
46170
46171        Reviewed by David Hyatt.
46172
46173        Add toRenderInline methods for casting RenderObjects to RenderInlines.  The methods will assert if the object
46174        is not a RenderInline.
46175
46176        * rendering/InlineFlowBox.cpp:
46177        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
46178        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
46179        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
46180        (WebCore::InlineFlowBox::rendererLineBoxes):
46181        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
46182        (WebCore::InlineFlowBox::paint):
46183        * rendering/LayoutState.cpp:
46184        (WebCore::LayoutState::LayoutState):
46185        * rendering/RenderBlock.cpp:
46186        (WebCore::RenderBlock::paintObject):
46187        (WebCore::RenderBlock::addFocusRingRects):
46188        * rendering/RenderBox.cpp:
46189        (WebCore::RenderBox::offsetFromContainer):
46190        (WebCore::RenderBox::computeRectForRepaint):
46191        (WebCore::RenderBox::containingBlockWidthForPositioned):
46192        (WebCore::RenderBox::containingBlockHeightForPositioned):
46193        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
46194        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
46195        * rendering/RenderContainer.cpp:
46196        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
46197        * rendering/RenderInline.cpp:
46198        (WebCore::RenderInline::inlineContinuation):
46199        (WebCore::nextContinuation):
46200        (WebCore::RenderInline::splitInlines):
46201        * rendering/RenderInline.h:
46202        (WebCore::toRenderInline):
46203        * rendering/RenderLayer.cpp:
46204        (WebCore::RenderLayer::updateLayerPosition):
46205        (WebCore::RenderLayer::boundingBox):
46206        * rendering/RenderLineBoxList.cpp:
46207        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
46208        * rendering/RenderText.h:
46209        * rendering/RenderTreeAsText.cpp:
46210        (WebCore::operator<<):
46211        * rendering/bidi.cpp:
46212        (WebCore::RenderBlock::createLineBoxes):
46213        (WebCore::RenderBlock::layoutInlineChildren):
46214
462152009-01-30  Darin Fisher  <darin@chromium.org>
46216
46217        Reviewed by Eric Seidel.
46218
46219        https://bugs.webkit.org/show_bug.cgi?id=23647
46220        Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
46221
46222        * platform/graphics/skia/ImageSourceSkia.cpp:
46223        (WebCore::ImageSource::clear):
46224
462252009-01-30  David Hyatt  <hyatt@apple.com>
46226
46227        Add toRenderBlock methods for casting RenderObjects to RenderBlocks.  The methods will assert if the object
46228        is not a RenderBlock.  Also add a toRenderBlock method that takes a RenderBlock but returns void and that
46229        is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderBlock.
46230
46231        Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
46232        patch with a containsFloats() check.
46233
46234        Reviewed by Darin Adler
46235
46236        * dom/PositionIterator.cpp:
46237        (WebCore::PositionIterator::isCandidate):
46238        * editing/CompositeEditCommand.cpp:
46239        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
46240        * editing/Editor.cpp:
46241        (WebCore::Editor::hasBidiSelection):
46242        * page/AccessibilityRenderObject.cpp:
46243        (WebCore::AccessibilityRenderObject::anchorElement):
46244        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
46245        * rendering/RenderBlock.cpp:
46246        (WebCore::RenderBlock::styleWillChange):
46247        (WebCore::RenderBlock::removeChild):
46248        (WebCore::RenderBlock::layoutBlock):
46249        (WebCore::RenderBlock::collapseMargins):
46250        (WebCore::RenderBlock::clearFloatsIfNeeded):
46251        (WebCore::RenderBlock::layoutBlockChildren):
46252        (WebCore::RenderBlock::fillBlockSelectionGaps):
46253        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
46254        (WebCore::RenderBlock::firstLineBlock):
46255        (WebCore::getLineAtIndex):
46256        (WebCore::getHeightForLineCount):
46257        (WebCore::RenderBlock::lineCount):
46258        (WebCore::RenderBlock::adjustForBorderFit):
46259        (WebCore::RenderBlock::clearTruncation):
46260        * rendering/RenderBlock.h:
46261        (WebCore::toRenderBlock):
46262        * rendering/RenderBox.cpp:
46263        (WebCore::RenderBox::offsetFromContainer):
46264        (WebCore::RenderBox::computeRectForRepaint):
46265        (WebCore::RenderBox::calcReplacedHeightUsing):
46266        * rendering/RenderFlexibleBox.cpp:
46267        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
46268        (WebCore::RenderFlexibleBox::layoutVerticalBox):
46269        * rendering/RenderInline.cpp:
46270        (WebCore::RenderInline::inlineContinuation):
46271        (WebCore::nextContinuation):
46272        (WebCore::RenderInline::positionForCoordinates):
46273        * rendering/RenderLayer.cpp:
46274        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
46275        * rendering/RenderListItem.cpp:
46276        (WebCore::getParentOfFirstLineBox):
46277        (WebCore::RenderListItem::positionListMarker):
46278        * rendering/RenderObject.cpp:
46279        (WebCore::RenderObject::containingBlock):
46280        (WebCore::RenderObject::computeRectForRepaint):
46281        (WebCore::RenderObject::removeFromObjectLists):
46282        (WebCore::RenderObject::getTextDecorationColors):
46283        * rendering/RenderTable.cpp:
46284        (WebCore::RenderTable::addChild):
46285        (WebCore::RenderTable::recalcSections):
46286        * rendering/RenderTextControl.cpp:
46287        (WebCore::RenderTextControl::styleDidChange):
46288        * rendering/RenderTextControlSingleLine.cpp:
46289        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
46290        * rendering/RootInlineBox.cpp:
46291        (WebCore::RootInlineBox::block):
46292        * rendering/bidi.cpp:
46293        (WebCore::RenderBlock::createLineBoxes):
46294
462952009-01-30  Brady Eidson  <beidson@apple.com>
46296
46297        Reviewed by Sam Weinig
46298
46299        - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
46300          relying on some outside force.
46301        - Clear the previous history item inside FrameLoader instead of relying on multiple
46302          FrameLoaderClients to do it.
46303
46304        * history/CachedFrame.cpp:
46305        (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
46306        (WebCore::CachedFrame::restore): Resume those DOM objects here.
46307        * history/CachedFrame.h:
46308        (WebCore::CachedFrame::domWindow):
46309
46310        * loader/FrameLoader.cpp:
46311        (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame  creation handle the
46312          suspending of active DOM objects.
46313        (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
46314        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
46315          of performing a client call by itself.
46316        (WebCore::FrameLoader::frameLoadCompleted):
46317
463182009-01-30  Alexey Proskuryakov  <ap@webkit.org>
46319
46320        Reviewed by Darin Adler.
46321
46322        <rdar://problem/6448823> Application Cache is kept after a private browsing session
46323
46324        * loader/appcache/ApplicationCacheGroup.cpp:
46325        (WebCore::ApplicationCacheGroup::selectCache):
46326        (WebCore::ApplicationCacheGroup::update):
46327        Cache update will not be started if private browsing is enabled. Existing cache version
46328        from disk database will be used.
46329
46330        * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
46331        it when refusing to update from selectCache().
46332
46333        * loader/appcache/ApplicationCache.cpp:
46334        (WebCore::ApplicationCache::addDynamicEntry):
46335        (WebCore::ApplicationCache::removeDynamicEntry):
46336        Added reminders about private browsing to unimplemented methods.
46337
463382009-01-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
46339
46340        Reviewed by Simon Hausmann.
46341
46342        Bug 23580: GNU mode RVCT compilation support
46343        <https://bugs.webkit.org/show_bug.cgi?id=23580>
46344
46345        * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
46346
463472009-01-30  David Levin  <levin@chromium.org>
46348
46349        Reviewed by Alexey Proskuryakov.
46350
46351        Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
46352        <https://bugs.webkit.org/show_bug.cgi?id=23616>
46353
46354        Added forwarding header.
46355
46356        * ForwardingHeaders/wtf/TypeTraits.h: Added.
46357
463582009-01-30  David Levin  <levin@chromium.org>
46359
46360        Reviewed by Alexey Proskuryakov.
46361
46362        Bug 23599: ResourceError needs to be copyable for use in another thread.
46363        <https://bugs.webkit.org/show_bug.cgi?id=23599>
46364
46365        Add ResourceErrorBase::copy method.  (Not yet used.)
46366
46367        * platform/network/ResourceErrorBase.cpp:
46368        (WebCore::ResourceErrorBase::copy):
46369        * platform/network/ResourceErrorBase.h:
46370
463712009-01-29  Stephanie Lewis <slewis@apple.com>
46372
46373        RS by Oliver Hunt.
46374
46375        Update the order files.
46376
46377        * WebCore.order:
46378
463792009-01-29  Dmitry Titov  <dimich@chromium.org>
46380
46381        Reviewed by Darin Adler.
46382
46383        https://bugs.webkit.org/show_bug.cgi?id=23488
46384
46385        Make TimerBase thread-aware (for Workers).
46386        Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
46387        Pointer to instance of ThreadTimers is stored in GlobalThreadData.
46388        Most static methods of TimerBase went to ThreadTimers.
46389
46390        The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).
46391
46392        Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).
46393
46394        * GNUmakefile.am:
46395        * WebCore.pro:
46396        * WebCore.scons:
46397        * WebCore.vcproj/WebCore.vcproj:
46398        * WebCore.xcodeproj/project.pbxproj:
46399        * WebCoreSources.bkl:
46400        Added new ThreadTimers.cpp to build files.
46401
46402        * platform/SharedTimer.h:
46403        (WebCore::SharedTimer::~SharedTimer):
46404        (WebCore::MainThreadSharedTimer::setFiredFunction):
46405        (WebCore::MainThreadSharedTimer::setFireTime):
46406        (WebCore::MainThreadSharedTimer::stop):
46407        Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.
46408
46409        * platform/ThreadGlobalData.cpp:
46410        (WebCore::ThreadGlobalData::ThreadGlobalData):
46411        (WebCore::ThreadGlobalData::~ThreadGlobalData):
46412        * platform/ThreadGlobalData.h:
46413        (WebCore::ThreadGlobalData::threadTimers):
46414        Added ThreadTimers to ThreadGlobalData.
46415
46416        * platform/ThreadTimers.cpp: Added.
46417        (WebCore::mainThreadSharedTimer):
46418        Static getter for a MainThreadSharedTimer singleton.
46419
46420        (WebCore::ThreadTimers::ThreadTimers):
46421        (WebCore::ThreadTimers::setSharedTimer):
46422        (WebCore::ThreadTimers::updateSharedTimer):
46423        (WebCore::ThreadTimers::collectFiringTimers):
46424        (WebCore::ThreadTimers::fireTimers):
46425        (WebCore::ThreadTimers::sharedTimerFired):
46426        (WebCore::ThreadTimers::sharedTimerFiredInternal):
46427        (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
46428        ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
46429        Need a new class so each thread may get ts own copy of the timer heap.
46430
46431        * platform/ThreadTimers.h: Added.
46432        (WebCore::ThreadTimers::timerHeap):
46433        (WebCore::ThreadTimers::timersReadyToFire):
46434
46435        * platform/Timer.cpp:
46436        (WebCore::timerHeap):
46437        (WebCore::timersReadyToFire):
46438        (WebCore::TimerHeapElement::TimerHeapElement):
46439        (WebCore::TimerHeapElement::checkConsistency):
46440        (WebCore::TimerHeapElement::operator=):
46441        (WebCore::TimerHeapIterator::checkConsistency):
46442        (WebCore::TimerBase::TimerBase):
46443        (WebCore::TimerBase::~TimerBase):
46444        (WebCore::TimerBase::isActive):
46445        (WebCore::TimerBase::checkHeapIndex):
46446        (WebCore::TimerBase::heapDelete):
46447        (WebCore::TimerBase::heapDeleteMin):
46448        (WebCore::TimerBase::heapInsert):
46449        (WebCore::TimerBase::heapPopMin):
46450        (WebCore::TimerBase::setNextFireTime):
46451        (WebCore::TimerBase::fireTimersInNestedEventLoop):
46452        Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.
46453
46454        * platform/Timer.h:
46455        static methods moved to ThreadTimers.
46456
464572009-01-29  David Hyatt  <hyatt@apple.com>
46458
46459        Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree.  The first step is to create
46460        the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it.  Subsequent patches will begin
46461        moving RenderContainer's functionality into RenderObjectChildList.
46462
46463        Reviewed by Eric Seidel
46464
46465        * WebCore.xcodeproj/project.pbxproj:
46466        * rendering/RenderContainer.cpp:
46467        (WebCore::RenderContainer::RenderContainer):
46468        (WebCore::RenderContainer::destroyLeftoverChildren):
46469        (WebCore::RenderContainer::addChild):
46470        (WebCore::RenderContainer::removeChildNode):
46471        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
46472        (WebCore::RenderContainer::appendChildNode):
46473        (WebCore::RenderContainer::insertChildNode):
46474        (WebCore::RenderContainer::layout):
46475        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
46476        (WebCore::RenderContainer::positionForCoordinates):
46477        (WebCore::RenderContainer::addLineBoxRects):
46478        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
46479        * rendering/RenderContainer.h:
46480        (WebCore::RenderContainer::firstChild):
46481        (WebCore::RenderContainer::lastChild):
46482        (WebCore::RenderContainer::firstChildBox):
46483        (WebCore::RenderContainer::lastChildBox):
46484        * rendering/RenderObjectChildList.h: Added.
46485        (WebCore::RenderObjectChildList::RenderObjectChildList):
46486        (WebCore::RenderObjectChildList::firstChild):
46487        (WebCore::RenderObjectChildList::lastChild):
46488        (WebCore::RenderObjectChildList::setFirstChild):
46489        (WebCore::RenderObjectChildList::setLastChild):
46490
464912009-01-29  Jungshik Shin  <jshin@chromium.org>
46492
46493        Reviewed by Alexey Proskuryakov.
46494
46495        http://bugs.webkit.org/show_bug.cgi?id=23598
46496        Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
46497        the compilation error on CJK Windows
46498
46499        * wml/WMLTableElement.cpp:
46500        (WebCore::WMLTableElement::parseMappedAttribute):
46501
465022009-01-29  Darin Fisher  <darin@chromium.org>
46503
46504        Reviewed by Eric Seidel.
46505
46506        https://bugs.webkit.org/show_bug.cgi?id=23627
46507        Fix the PLATFORM(SKIA) build.
46508
46509        * svg/graphics/SVGPaintServer.cpp:
46510        (WebCore::SVGPaintServer::teardown):
46511
465122009-01-29  Scott Violet  <sky@google.com>
46513
46514        Reviewed by Eric Seidel.
46515
46516        https://bugs.webkit.org/show_bug.cgi?id=23625
46517        Skia platform doesn't render text to a canvas or support clipping to an image buffer
46518
46519        Fixes two bugs in Skia rendering to a canvas:
46520        . Text was not rendered at all. This is because we never properly
46521          fixed up the alpha values. The fix is to create a layer when
46522          rendering text to a layer.
46523        . We were not honoring clipping to an image buffer.
46524
46525        * platform/graphics/chromium/FontChromiumWin.cpp:
46526        (WebCore::Font::drawGlyphs):
46527        * platform/graphics/skia/GraphicsContextSkia.cpp:
46528        (WebCore::GraphicsContext::clipToImageBuffer):
46529        * platform/graphics/skia/ImageBufferSkia.cpp:
46530        (WebCore::ImageBuffer::ImageBuffer):
46531        * platform/graphics/skia/PlatformContextSkia.cpp:
46532        (PlatformContextSkia::PlatformContextSkia):
46533        (PlatformContextSkia::setDrawingToImageBuffer):
46534        (PlatformContextSkia::isDrawingToImageBuffer):
46535        (PlatformContextSkia::beginLayerClippedToImage):
46536        (PlatformContextSkia::restore):
46537        (PlatformContextSkia::applyClipFromImage):
46538        * platform/graphics/skia/PlatformContextSkia.h:
46539
465402009-01-29  Sam Weinig  <sam@webkit.org>
46541
46542        Reviewed by Mark Rowe.
46543
46544        First step in tracking the urls a HistoryItem was redirected through.
46545
46546        * WebCore.base.exp:
46547        * history/HistoryItem.cpp:
46548        (WebCore::HistoryItem::HistoryItem):
46549        (WebCore::HistoryItem::addRedirectURL):
46550        (WebCore::HistoryItem::redirectURLs):
46551        (WebCore::HistoryItem::setRedirectURLs):
46552        * history/HistoryItem.h:
46553
465542009-01-29  Dirk Schulze  <krit@webkit.org>
46555
46556        Reviewed by Nikolas Zimmermann, Eric Seidel.
46557
46558        Just transform the pattern directly instead of transforming the context fixes this
46559        problem. Texts or strokes are no longer affected by transformations.
46560
46561        SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
46562        https://bugs.webkit.org/show_bug.cgi?id=23472
46563
46564        Test: svg/custom/pattern-with-transformation.svg
46565
46566        * platform/graphics/Pattern.h:
46567        (WebCore::Pattern::setPatternSpaceTransform):
46568        * platform/graphics/cairo/PatternCairo.cpp:
46569        (WebCore::Pattern::createPlatformPattern):
46570        * platform/graphics/cg/PatternCG.cpp:
46571        (WebCore::Pattern::createPlatformPattern):
46572        * platform/graphics/qt/PatternQt.cpp:
46573        (WebCore::Pattern::createPlatformPattern):
46574        * svg/graphics/SVGPaintServerPattern.cpp:
46575        (WebCore::SVGPaintServerPattern::setup):
46576
465772009-01-29  David Hyatt  <hyatt@apple.com>
46578
46579        Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline.  Eliminate RenderFlow from the tree.
46580
46581        Reviewed by Sam Weinig
46582
46583        * GNUmakefile.am:
46584        * WebCore.pro:
46585        * WebCore.vcproj/WebCore.vcproj:
46586        * WebCore.xcodeproj/project.pbxproj:
46587        * WebCoreSources.bkl:
46588        * html/HTMLAnchorElement.cpp:
46589        * rendering/InlineFlowBox.cpp:
46590        (WebCore::InlineFlowBox::rendererLineBoxes):
46591        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
46592        * rendering/InlineFlowBox.h:
46593        * rendering/LayoutState.cpp:
46594        (WebCore::LayoutState::LayoutState):
46595        * rendering/RenderBlock.cpp:
46596        (WebCore::RenderBlock::RenderBlock):
46597        (WebCore::RenderBlock::destroy):
46598        (WebCore::RenderBlock::styleWillChange):
46599        (WebCore::RenderBlock::styleDidChange):
46600        (WebCore::RenderBlock::dirtyLineBoxes):
46601        (WebCore::RenderBlock::removeChild):
46602        (WebCore::RenderBlock::setSelectionState):
46603        (WebCore::RenderBlock::avoidsFloats):
46604        (WebCore::RenderBlock::positionForCoordinates):
46605        (WebCore::RenderBlock::calcInlinePrefWidths):
46606        (WebCore::RenderBlock::baselinePosition):
46607        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
46608        (WebCore::RenderBlock::getBaselineOfLastLineBox):
46609        (WebCore::RenderBlock::rectWithOutlineForRepaint):
46610        (WebCore::RenderBlock::hoverAncestor):
46611        (WebCore::RenderBlock::updateDragState):
46612        * rendering/RenderBlock.h:
46613        (WebCore::RenderBlock::lineBoxes):
46614        (WebCore::RenderBlock::firstLineBox):
46615        (WebCore::RenderBlock::lastLineBox):
46616        * rendering/RenderBox.cpp:
46617        (WebCore::RenderBox::offsetFromContainer):
46618        (WebCore::RenderBox::computeRectForRepaint):
46619        (WebCore::RenderBox::containingBlockWidthForPositioned):
46620        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
46621        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
46622        * rendering/RenderBox.h:
46623        * rendering/RenderFlow.cpp: Removed.
46624        * rendering/RenderFlow.h: Removed.
46625        * rendering/RenderInline.cpp:
46626        (WebCore::RenderInline::RenderInline):
46627        (WebCore::RenderInline::destroy):
46628        (WebCore::RenderInline::styleDidChange):
46629        (WebCore::RenderInline::addChildIgnoringContinuation):
46630        (WebCore::RenderInline::cloneInline):
46631        (WebCore::RenderInline::splitInlines):
46632        (WebCore::RenderInline::offsetLeft):
46633        (WebCore::RenderInline::offsetTop):
46634        (WebCore::RenderInline::positionForCoordinates):
46635        (WebCore::RenderInline::rectWithOutlineForRepaint):
46636        (WebCore::RenderInline::updateDragState):
46637        (WebCore::RenderInline::relativePositionedInlineOffset):
46638        * rendering/RenderInline.h:
46639        (WebCore::RenderInline::lineBoxes):
46640        (WebCore::RenderInline::firstLineBox):
46641        (WebCore::RenderInline::lastLineBox):
46642        * rendering/RenderLayer.cpp:
46643        (WebCore::RenderLayer::updateLayerPosition):
46644        * rendering/RenderLineBoxList.cpp:
46645        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
46646        * rendering/RootInlineBox.cpp:
46647        (WebCore::RootInlineBox::rendererLineBoxes):
46648        * rendering/RootInlineBox.h:
46649        * rendering/bidi.cpp:
46650        (WebCore::RenderBlock::createLineBoxes):
46651        * wml/WMLAElement.cpp:
46652
466532009-01-29  Geoffrey Garen  <ggaren@apple.com>
46654
46655        Reviewed by Oliver Hunt.
46656
46657        Cleaned up some naming in ScheduledRedirection.
46658
46659        * loader/FrameLoader.cpp:
46660        (WebCore::ScheduledRedirection::ScheduledRedirection):
46661
466622009-01-29  Anders Carlsson  <andersca@apple.com>
46663
46664        Reviewed by Dan Bernstein.
46665
46666        Update to use new API.
46667
46668        * platform/graphics/mac/FontCustomPlatformData.cpp:
46669        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
46670        (WebCore::createFontCustomPlatformData):
46671
466722009-01-29  Alexey Proskuryakov  <ap@webkit.org>
46673
46674        Reviewed by Nikolas Zimmermann.
46675
46676        https://bugs.webkit.org/show_bug.cgi?id=23619
46677        ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
46678        is cancelled
46679
46680        Covered by existing tests (as a random crash).
46681
46682        * loader/EmptyClients.h:
46683        (WebCore::EmptyFrameLoaderClient::cancelledError):
46684        (WebCore::EmptyFrameLoaderClient::blockedError):
46685        (WebCore::EmptyFrameLoaderClient::cannotShowURLError):
46686        (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError):
46687        (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError):
46688        (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError):
46689        (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
46690        Create non-null errors.
46691
466922009-01-29  Geoffrey Garen  <ggaren@apple.com>
46693
46694        Reviewed by Oliver Hunt.
46695
46696        Removed an unused case of "lockHistory" to help make the other cases
46697        clearer.
46698
46699        * page/FrameLoadRequest.h:
46700        (WebCore::FrameLoadRequest::FrameLoadRequest):
46701
467022009-01-29  David Hyatt  <hyatt@apple.com>
46703
46704        Move all of the contination insertion code from RenderFlow to RenderInline.  addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
46705        RenderContainer so that it can still be called on either blocks or inlines.  The base class implementation in RenderContainer is what RenderBlock uses.  RenderInline
46706        subclasses it to do all the work it used to do in addChildToFlow.
46707
46708        RenderBlock's old addChildToFlow can just become addChild.  This simplification is possible because addChild was actually never being called on anonymous
46709        block continuations.
46710
46711        The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects.  Falling through to the
46712        base class and ignoring a block continuation makes the right thing happen.
46713
46714        addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.
46715
46716        Reviewed by Eric Seidel
46717
46718        * rendering/RenderBlock.cpp:
46719        (WebCore::RenderBlock::addChild):
46720        * rendering/RenderBlock.h:
46721        * rendering/RenderContainer.h:
46722        (WebCore::RenderContainer::addChildIgnoringContinuation):
46723        * rendering/RenderFlow.cpp:
46724        * rendering/RenderFlow.h:
46725        * rendering/RenderInline.cpp:
46726        (WebCore::RenderInline::styleDidChange):
46727        (WebCore::RenderInline::addChild):
46728        (WebCore::nextContinuation):
46729        (WebCore::RenderInline::continuationBefore):
46730        (WebCore::RenderInline::addChildIgnoringContinuation):
46731        (WebCore::RenderInline::splitInlines):
46732        (WebCore::RenderInline::splitFlow):
46733        (WebCore::RenderInline::addChildToContinuation):
46734        (WebCore::RenderInline::childBecameNonInline):
46735        * rendering/RenderInline.h:
46736        (WebCore::RenderInline::continuation):
46737        (WebCore::RenderInline::setContinuation):
46738
467392009-01-29  Brady Eidson  <beidson@apple.com>
46740
46741        Reviewed by Oliver Hunt
46742
46743        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load
46744
46745        Test: fast/loader/subframe-self-close.html
46746
46747        * page/DOMWindow.cpp:
46748        (WebCore::DOMWindow::close): Only allow mainframes to close the window.
46749
467502009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
46751
46752        Reviewed by David Hyatt.
46753
46754        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539
46755
46756        Remove several virtual functions from Node & Element related to form control / input elements,
46757        that shouldn't reside there, but move to approriate locations, in the new form control /
46758        input element abstract base classes.
46759
46760        Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
46761        Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
46762        Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
46763        Move isInputTypeHidden() / isPasswordField() from Element to InputElement.
46764
46765        Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
46766        to cast Element pointers to InputElement/FormControlElement pointers.
46767
46768        * css/CSSStyleSelector.cpp:
46769        (WebCore::CSSStyleSelector::canShareStyleWithElement):
46770        (WebCore::CSSStyleSelector::adjustRenderStyle):
46771        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
46772        * dom/Element.h:
46773        (WebCore::Element::isFormControlElementWithState):
46774        * dom/FormControlElement.h:
46775        * dom/InputElement.h:
46776        * dom/Node.h:
46777        * editing/TextIterator.cpp:
46778        (WebCore::TextIterator::advance):
46779        * html/HTMLFormControlElement.cpp:
46780        (WebCore::HTMLFormControlElement::attach):
46781        * html/HTMLFormControlElement.h:
46782        (WebCore::HTMLFormControlElement::isTextControl):
46783        * html/HTMLFormElement.cpp:
46784        (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
46785        * html/HTMLInputElement.h:
46786        (WebCore::HTMLInputElement::isAutofilled):
46787        * page/AccessibilityRenderObject.cpp:
46788        (WebCore::AccessibilityRenderObject::isPasswordField):
46789        (WebCore::AccessibilityRenderObject::isIndeterminate):
46790        (WebCore::AccessibilityRenderObject::isChecked):
46791        (WebCore::AccessibilityRenderObject::isControl):
46792        (WebCore::AccessibilityRenderObject::isEnabled):
46793        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
46794        * page/mac/AccessibilityObjectWrapper.mm:
46795        (textMarkerForVisiblePosition):
46796        * platform/ContextMenu.cpp:
46797        (WebCore::ContextMenu::populate):
46798        * rendering/RenderLayer.cpp:
46799        (WebCore::RenderLayer::resize):
46800        * rendering/RenderMenuList.cpp:
46801        (WebCore::RenderMenuList::itemIsEnabled):
46802        * rendering/RenderTextControl.cpp:
46803        (WebCore::updateUserModifyProperty):
46804        (WebCore::RenderTextControl::adjustInnerTextStyle):
46805        (WebCore::RenderTextControl::updateFromElement):
46806        * rendering/RenderTheme.cpp:
46807        (WebCore::RenderTheme::isChecked):
46808        (WebCore::RenderTheme::isIndeterminate):
46809        (WebCore::RenderTheme::isEnabled):
46810        (WebCore::RenderTheme::isReadOnlyControl):
46811        * rendering/RenderThemeMac.mm:
46812        (WebCore::RenderThemeMac::adjustMenuListStyle):
46813        * wml/WMLFormControlElement.cpp:
46814        (WebCore::WMLFormControlElement::isFocusable):
46815        * wml/WMLFormControlElement.h:
46816        (WebCore::WMLFormControlElement::isEnabled):
46817        (WebCore::WMLFormControlElement::isReadOnlyControl):
46818        (WebCore::WMLFormControlElement::isTextControl):
46819        * wml/WMLInputElement.cpp:
46820        (WebCore::WMLInputElement::isKeyboardFocusable):
46821        (WebCore::WMLInputElement::isMouseFocusable):
46822        * wml/WMLInputElement.h:
46823        (WebCore::WMLInputElement::isAutofilled):
46824
468252009-01-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
46826
46827        Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.
46828
46829        * wml/WMLAElement.cpp:
46830        (WebCore::WMLAElement::isKeyboardFocusable):
46831
468322009-01-29  Alexey Proskuryakov  <ap@webkit.org>
46833
46834        Reviewed by Anders Carlsson.
46835
46836        https://bugs.webkit.org/show_bug.cgi?id=23620
46837        Crash in appcache/resource-redirect.html on Tiger
46838
46839        There was a bug in the test case - it didn't send a Location header, and on Tiger, this
46840        resulted in a failure callback being sent. It turned out that proper redirects weren't
46841        caught at all.
46842
46843        Tests: http/tests/appcache/manifest-redirect-2.html
46844               http/tests/appcache/resource-redirect-2.html
46845
46846        * loader/appcache/ApplicationCacheGroup.cpp:
46847        (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if
46848        didReceiveResponse() wasn't called for this request.
46849        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly.
46850        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.
46851
468522009-01-29  David Hyatt  <hyatt@apple.com>
46853
46854        Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.
46855
46856        Reviewed by Sam Weinig
46857
46858        * rendering/RenderBlock.h:
46859        (WebCore::RenderBlock::dirtyLinesFromChangedChild):
46860        * rendering/RenderFlow.cpp:
46861        * rendering/RenderFlow.h:
46862        * rendering/RenderInline.h:
46863        (WebCore::RenderInline::dirtyLinesFromChangedChild):
46864        * rendering/RenderLineBoxList.cpp:
46865        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
46866        * rendering/RenderLineBoxList.h:
46867
468682009-01-29  Adam Roben  <aroben@apple.com>
46869
46870        Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
46871        receives a WM_PRINTCLIENT message
46872
46873        <https://bugs.webkit.org/show_bug.cgi?id=23623>
46874        <rdar://problem/6513921>
46875        <rdar://problem/6536874>
46876
46877        Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
46878        WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
46879        BeginPaint/EndPaint APIs to return the HDC we received from
46880        WM_PRINTCLIENT. This causes the plugin to paint into the
46881        WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
46882        came from <http://www.fengyuan.com/article/wmprint.html>.
46883
46884        No test possible.
46885
46886        Reviewed by Darin Adler.
46887
46888        * platform/graphics/GraphicsContext.h: Added
46889        [set]ShouldIncludeChildWindows on Windows.
46890
46891        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added
46892        m_shouldIncludeChildWindows.
46893        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
46894        Initialize the new member.
46895
46896        * platform/graphics/win/GraphicsContextCGWin.cpp:
46897        (WebCore::GraphicsContext::setShouldIncludeChildWindows):
46898        (WebCore::GraphicsContext::shouldIncludeChildWindows):
46899        Added simple setter and getter.
46900
46901        * plugins/PluginView.cpp:
46902        (WebCore::PluginView::PluginView): Initialize the new member.
46903
46904        * plugins/PluginView.h: Added m_wmPrintHDC and various functions
46905        required for making WM_PRINTCLIENT work.
46906
46907        * plugins/win/PluginViewWin.cpp:
46908        (WebCore::PluginView::hookedBeginPaint):
46909        (WebCore::PluginView::hookedEndPaint):
46910        (WebCore::hook):
46911        (WebCore::setUpOffscreenPaintingHooks):
46912        Added. Code was modified from code available on fengyuan.com.
46913
46914        (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
46915        WM_PAINT messages and save off the HDC that we're supposed to paint
46916        into.
46917
46918        (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
46919        HDC from the GraphicsContext, translates it into client coordinates,
46920        gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
46921        message, and returns the HDC to the GraphicsContext.
46922
46923        (WebCore::PluginView::paint): If we're trying to paint a windowed
46924        plugin into the GraphicsContext, call paintWindowedPluginIntoContext.
46925
46926        (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
46927        our WM_PRINTCLIENT trick work.
46928
469292009-01-29  David Hyatt  <hyatt@apple.com>
46930
46931        Move RenderFlow::destroy down into RenderBlock and RenderInline.
46932
46933        Reviewed by Anders Carlsson
46934
46935        * rendering/RenderBlock.cpp:
46936        (WebCore::RenderBlock::destroy):
46937        * rendering/RenderFlow.cpp:
46938        * rendering/RenderFlow.h:
46939        * rendering/RenderInline.cpp:
46940        (WebCore::RenderInline::destroy):
46941
469422009-01-29  David Kilzer  <ddkilzer@apple.com>
46943
46944        Remove semi-colons from the end of ObjC method implementations
46945
46946        Rubber-stamped by Adam Roben.
46947
46948        $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
46949
46950        * bridge/testbindings.mm:
46951
469522009-01-29  Adam Treat  <adam.treat@torchmobile.com>
46953
46954        Reviewed by Alexey Proskuryakov.
46955
46956        https://bugs.webkit.org/show_bug.cgi?id=23609
46957        Use the two-arg constructor for implicit QUrl->KURL conversion as the
46958        single argument ctors assume that KURL::parse has already been called
46959        and assert if the parse results in a different string.  This was causing
46960        an assert for QUrl's with no path and without a trailing slash.
46961
46962        * platform/qt/KURLQt.cpp:
46963        (WebCore::KURL::KURL):
46964
469652009-01-29  Alexey Proskuryakov  <ap@webkit.org>
46966
46967        Rubber-stamped by Darin Adler.
46968
46969        Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
46970        and it describes the meaning better.
46971
46972        * loader/appcache/ApplicationCache.cpp:
46973        * loader/appcache/ApplicationCacheGroup.cpp:
46974        * loader/appcache/ApplicationCacheResource.cpp:
46975        * loader/appcache/ApplicationCacheResource.h:
46976
469772009-01-29  Alexey Proskuryakov  <ap@webkit.org>
46978
46979        Release build fix.
46980
46981        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
46982        Got rid of a variable that wasn't used in release builds.
46983
469842009-01-29  David Hyatt  <hyatt@apple.com>
46985
46986        Get rid of createAnonymousFlow.  It was only called in one spot, so just inline the code.
46987
46988        Reviewed by Oliver Hunt
46989
46990        * rendering/RenderBlock.cpp:
46991        (WebCore::RenderBlock::updateFirstLetter):
46992        * rendering/RenderFlow.cpp:
46993        * rendering/RenderFlow.h:
46994
469952009-01-29  Alexey Proskuryakov  <ap@webkit.org>
46996
46997        Reviewed by Anders Carlsson.
46998
46999        https://bugs.webkit.org/show_bug.cgi?id=23476
47000        HTTP redirect should make application cache updating fail
47001
47002        Tests: http/tests/appcache/manifest-redirect.html
47003               http/tests/appcache/resource-redirect.html
47004
47005        * loader/appcache/ApplicationCacheGroup.cpp:
47006        (WebCore::ApplicationCacheGroup::didReceiveResponse):
47007        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
47008        Fail if response code isn't 2xx.
47009
470102009-01-29  Alexey Proskuryakov  <ap@webkit.org>
47011
47012        Reviewed by Anders Carlsson.
47013
47014        https://bugs.webkit.org/show_bug.cgi?id=23592
47015        Update appcache manifest signature parsing
47016
47017        Test: http/tests/appcache/wrong-signature-2.html
47018
47019        * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature
47020        line. Removed code that replaced nulls with 0xFFFD characters, because there is no such
47021        requirement in the spec.
47022
470232009-01-28  Alexey Proskuryakov  <ap@webkit.org>
47024
47025        Reviewed by Anders Carlsson.
47026
47027        https://bugs.webkit.org/show_bug.cgi?id=23584
47028        Update application cache code for the latest round of spec changes
47029
47030        The changes mostly affect the update process - events are sent at a different
47031        time, and caches are associated with documents earlier.
47032
47033        * loader/DocumentLoader.cpp:
47034        (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion.
47035        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated
47036        with DocumentLoader before being complete, but they only affect loading after being completed.
47037        (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.
47038
47039        * loader/appcache/ApplicationCache.cpp:
47040        (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify
47041        ApplicationCacheGroup code.
47042        (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is
47043        complete, as defined in HTML5.
47044        * loader/appcache/ApplicationCache.h: Added isComplete().
47045
47046        * loader/appcache/ApplicationCacheGroup.h:
47047        (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently
47048        when invoked with or without a browsing context (Frame). A Frame is currently always needed
47049        for updating in WebKit, so a new argument to update() tells whether we should pretend that
47050        there isn't one.
47051        (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete().
47052        (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for
47053        ne main resources to finish loading in more cases. A member variable of this type is used to
47054        distinguish between different cases when waiting.
47055        (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache
47056        candidates. Caches are associated with documents much earlier, but the ones whose main resources
47057        have not been loaded from a cache are being tracked in a pending master entry list.
47058
47059        * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update):
47060        An explicit call to update() invokes the algorithm without a browsing context.
47061
47062        * loader/appcache/ApplicationCacheGroup.cpp:
47063        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
47064        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
47065        (WebCore::ApplicationCacheGroup::selectCache):
47066        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
47067        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
47068        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
47069        (WebCore::ApplicationCacheGroup::stopLoading):
47070        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
47071        (WebCore::ApplicationCacheGroup::cacheDestroyed):
47072        (WebCore::ApplicationCacheGroup::setNewestCache):
47073        (WebCore::ApplicationCacheGroup::update):
47074        (WebCore::ApplicationCacheGroup::didReceiveResponse):
47075        (WebCore::ApplicationCacheGroup::didFinishLoading):
47076        (WebCore::ApplicationCacheGroup::didFail):
47077        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
47078        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
47079        (WebCore::ApplicationCacheGroup::manifestNotFound):
47080        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
47081        (WebCore::ApplicationCacheGroup::startLoadingEntry):
47082        (WebCore::ApplicationCacheGroup::deliverDelayedMainResources):
47083        (WebCore::ApplicationCacheGroup::addEntry):
47084        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
47085        (WebCore::CallCacheListenerTask::create):
47086        (WebCore::CallCacheListenerTask::performTask):
47087        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
47088        (WebCore::ApplicationCacheGroup::postListenerTask):
47089        Rewrote the update algorithm.
47090
470912009-01-28  Geoffrey Garen  <ggaren@apple.com>
47092
47093        Reviewed by Sam Weinig.
47094
47095        Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload.
47096
47097        Technically, selecting View->Text Encoding->[Non-Default Encoding] on
47098        a page with frames may now be slightly slower than it used to be. Oh well.
47099
47100        * loader/FrameLoader.cpp:
47101        (WebCore::isBackForwardLoadType):
47102        (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload.
47103
47104        (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for
47105        non-back-forward navigations anymore.
47106
47107        (WebCore::FrameLoader::canCachePage):
47108        (WebCore::FrameLoader::logCanCachePageDecision):
47109        (WebCore::FrameLoader::reloadWithOverrideEncoding):
47110        (WebCore::FrameLoader::transitionToCommitted):
47111        (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload.
47112
47113        * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding,
47114        since that's what it actually does.
47115
471162009-01-28  David Hyatt  <hyatt@apple.com>
47117
47118        Move hit testing and painting of lines from RenderFlow into RenderLineBoxList.
47119
47120        Reviewed by Oliver Hunt
47121
47122        * rendering/RenderBlock.cpp:
47123        (WebCore::RenderBlock::paintContents):
47124        (WebCore::RenderBlock::hitTestContents):
47125        * rendering/RenderFlow.cpp:
47126        * rendering/RenderFlow.h:
47127        * rendering/RenderInline.cpp:
47128        (WebCore::RenderInline::paint):
47129        (WebCore::RenderInline::nodeAtPoint):
47130        * rendering/RenderLineBoxList.cpp:
47131        (WebCore::RenderLineBoxList::paint):
47132        (WebCore::RenderLineBoxList::hitTest):
47133        * rendering/RenderLineBoxList.h:
47134
471352009-01-28  David Hyatt  <hyatt@apple.com>
47136
47137        Fix SVG pixel test regressions.  I wish I could say that I understand this fix, but I don't.  For
47138        some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal
47139        replacement of yPos() with the body of that method changed the results.  I am completely baffled,
47140        but all SVG pixel tests pass again when I just take the code out.
47141
47142        Reviewed by Oliver Hunt
47143
47144        * rendering/RenderSVGInlineText.cpp:
47145        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
47146
471472009-01-28  David Hyatt  <hyatt@apple.com>
47148
47149        Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock.
47150
47151        Reviewed by Oliver Hunt
47152
47153        * rendering/RenderBlock.cpp:
47154        (WebCore::RenderBlock::dirtyLineBoxes):
47155        * rendering/RenderBlock.h:
47156        * rendering/RenderFlow.cpp:
47157        * rendering/RenderFlow.h:
47158        * rendering/RenderInline.cpp:
47159        (WebCore::RenderInline::dirtyLineBoxes):
47160        * rendering/RenderInline.h:
47161        * rendering/RenderLineBoxList.cpp:
47162        (WebCore::RenderLineBoxList::dirtyLineBoxes):
47163        * rendering/RenderLineBoxList.h:
47164
471652009-01-28  David Hyatt  <hyatt@apple.com>
47166
47167        Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff.  The current
47168        behavior is not correct, but this will need to be investigated before being changed again.
47169
47170        * rendering/RenderBox.cpp:
47171        (WebCore::RenderBox::scrollWidth):
47172        (WebCore::RenderBox::scrollHeight):
47173
471742009-01-28  David Hyatt  <hyatt@apple.com>
47175
47176        Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines.  Tighten up all of the code that
47177        called paintOutline to use RenderInline as the type instead of RenderFlow.
47178
47179        Reviewed by cpst
47180
47181        * rendering/InlineFlowBox.cpp:
47182        (WebCore::InlineFlowBox::paint):
47183        * rendering/RenderBlock.cpp:
47184        (WebCore::RenderBlock::paintObject):
47185        (WebCore::RenderBlock::addContinuationWithOutline):
47186        (WebCore::RenderBlock::paintContinuationOutlines):
47187        * rendering/RenderFlow.cpp:
47188        (WebCore::RenderFlow::paintLines):
47189        * rendering/RenderFlow.h:
47190        * rendering/RenderInline.cpp:
47191        (WebCore::RenderInline::paintOutline):
47192        (WebCore::RenderInline::paintOutlineForLine):
47193        * rendering/RenderInline.h:
47194        * rendering/RenderObject.cpp:
47195        (WebCore::RenderObject::paintOutline):
47196        * rendering/RenderObject.h:
47197        (WebCore::RenderObject::PaintInfo::PaintInfo):
47198
471992009-01-28  Darin Fisher  <darin@chromium.org>
47200
47201        Reviewed by Eric Seidel.
47202
47203        https://bugs.webkit.org/show_bug.cgi?id=23596
47204        XMLHttpRequest.cpp no longer compiles without USE(JSC)
47205
47206        * xml/XMLHttpRequest.cpp:
47207
472082009-01-28  Darin Fisher  <darin@chromium.org>
47209
47210        Reviewed by Darin Adler.
47211
47212        https://bugs.webkit.org/show_bug.cgi?id=23597
47213        Make it possible to compile Database.cpp when USE(JSC) is not defined
47214
47215        * storage/Database.cpp:
47216        (WebCore::Database::Database):
47217
472182009-01-28  Dan Bernstein  <mitz@apple.com>
47219
47220        Reviewed by Darin Adler.
47221
47222        - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
47223          appear in address field on first visit to any site
47224
47225        * loader/icon/IconLoader.cpp:
47226        (WebCore::IconLoader::finishLoading): Changed to set the icon data only
47227        after establishing a mapping from the page URL(s) to the icon. Doing
47228        things the other way around resulted in the data not being cached
47229        in the icon-URL to IconRecord map (because there was no interested page
47230        at the time) and subsequently having to be fetched asynchronously from
47231        the database when the page-to-icon mapping was established.
47232
472332009-01-28  David Hyatt  <hyatt@apple.com>
47234
47235        Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.
47236
47237        Reviewed by Oliver Hunt
47238
47239        * rendering/RenderBlock.cpp:
47240        (WebCore::RenderBlock::addFocusRingRects):
47241        * rendering/RenderBlock.h:
47242        * rendering/RenderFlow.cpp:
47243        * rendering/RenderFlow.h:
47244        * rendering/RenderInline.cpp:
47245        (WebCore::RenderInline::addFocusRingRects):
47246        * rendering/RenderInline.h:
47247
472482009-01-28  David Hyatt  <hyatt@apple.com>
47249
47250        Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
47251        was misplaced from the start.
47252
47253        Reviewed by Antti Koivisto.
47254
47255        * rendering/RenderBlock.cpp:
47256        (WebCore::RenderBlock::localCaretRect):
47257        * rendering/RenderBlock.h:
47258        * rendering/RenderFlow.cpp:
47259        * rendering/RenderFlow.h:
47260
472612009-01-28  Sam Weinig  <sam@webkit.org>
47262
47263        Reviewed by Geoff Garen.
47264
47265        Add forwarding header.
47266
47267        * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
47268
472692009-01-28  David Hyatt  <hyatt@apple.com>
47270
47271        Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.
47272
47273        Reviewed by Beth Dakin
47274
47275        * rendering/RenderBlock.cpp:
47276        (WebCore::RenderBlock::createInlineBox):
47277        * rendering/RenderBlock.h:
47278        * rendering/RenderFlow.cpp:
47279        * rendering/RenderFlow.h:
47280        * rendering/RenderInline.cpp:
47281        (WebCore::RenderInline::createInlineBox):
47282        * rendering/RenderInline.h:
47283        * rendering/bidi.cpp:
47284
472852009-01-28  David Hyatt  <hyatt@apple.com>
47286
47287        Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.
47288
47289        Reviewed by Oliver Hunt
47290
47291        * rendering/RenderFlow.cpp:
47292        * rendering/RenderFlow.h:
47293        * rendering/RenderInline.h:
47294        (WebCore::RenderInline::calcMargins):
47295        * rendering/bidi.cpp:
47296        (WebCore::RenderBlock::layoutInlineChildren):
47297
472982009-01-28  David Hyatt  <hyatt@apple.com>
47299
47300        Refactor the first and last line box member variables from RenderFlow.  Encapsulate them into a new class called RenderLineBoxList that manages all modifications to
47301        the list.  This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code.
47302
47303        Reviewed by Oliver Hunt
47304
47305        * GNUmakefile.am:
47306        * WebCore.pro:
47307        * WebCore.vcproj/WebCore.vcproj:
47308        * WebCore.xcodeproj/project.pbxproj:
47309        * WebCoreSources.bkl:
47310        * rendering/InlineFlowBox.cpp:
47311        (WebCore::InlineFlowBox::deleteLine):
47312        (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
47313        (WebCore::InlineFlowBox::extractLine):
47314        (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
47315        (WebCore::InlineFlowBox::attachLine):
47316        (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
47317        * rendering/InlineFlowBox.h:
47318        * rendering/RenderBlock.cpp:
47319        (WebCore::RenderBlock::deleteLineBoxTree):
47320        * rendering/RenderFlow.cpp:
47321        (WebCore::RenderFlow::destroy):
47322        (WebCore::RenderFlow::dirtyLineBoxes):
47323        (WebCore::RenderFlow::createInlineBox):
47324        * rendering/RenderFlow.h:
47325        (WebCore::RenderFlow::RenderFlow):
47326        (WebCore::RenderFlow::lineBoxes):
47327        (WebCore::RenderFlow::firstLineBox):
47328        (WebCore::RenderFlow::lastLineBox):
47329        * rendering/RenderLineBoxList.cpp: Added.
47330        (WebCore::RenderLineBoxList::~RenderLineBoxList):
47331        (WebCore::RenderLineBoxList::appendLineBox):
47332        (WebCore::RenderLineBoxList::deleteLineBoxTree):
47333        (WebCore::RenderLineBoxList::extractLineBox):
47334        (WebCore::RenderLineBoxList::attachLineBox):
47335        (WebCore::RenderLineBoxList::removeLineBox):
47336        (WebCore::RenderLineBoxList::deleteLineBoxes):
47337        (WebCore::RenderLineBoxList::checkConsistency):
47338        * rendering/RenderLineBoxList.h: Added.
47339        (WebCore::RenderLineBoxList::RenderLineBoxList):
47340        (WebCore::RenderLineBoxList::firstLineBox):
47341        (WebCore::RenderLineBoxList::lastLineBox):
47342        (WebCore::RenderLineBoxList::checkConsistency):
47343        * rendering/RenderSVGInline.cpp:
47344        (WebCore::RenderSVGInline::createInlineBox):
47345        * rendering/RenderSVGText.cpp:
47346        (WebCore::RenderSVGText::createInlineBox):
47347        * rendering/RootInlineBox.cpp:
47348        (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
47349        (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
47350        (WebCore::RootInlineBox::attachLineBoxToRenderObject):
47351        * rendering/RootInlineBox.h:
47352        * rendering/bidi.cpp:
47353        (WebCore::RenderBlock::layoutInlineChildren):
47354
473552009-01-28  David Kilzer  <ddkilzer@apple.com>
47356
47357        Clean up FontPlatformData constructor
47358
47359        Reviewed by David Hyatt.
47360
47361        * platform/graphics/mac/FontPlatformData.h: Updated copyright.
47362        (WebCore::FontPlatformData::FontPlatformData): Provide readable
47363        names for constructor arguments and reformat member variables.
47364        * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright.
47365        (WebCore::FontPlatformData::FontPlatformData): Provide readable
47366        names for constructor arguments and reformat member variables.
47367
473682009-01-28  Tony Chang  <tony@chromium.org>
47369
47370        Reviewed by David Hyatt.
47371
47372        https://bugs.webkit.org/show_bug.cgi?id=23593
47373        Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin.
47374        This is a follow up for hyatt's RenderBox changes.
47375
47376        * rendering/RenderThemeChromiumMac.mm:
47377        (WebCore::RenderThemeChromiumMac::baselinePosition):
47378        * rendering/RenderThemeChromiumWin.cpp:
47379        (WebCore::RenderThemeChromiumWin::paintMenuList):
47380
473812009-01-28  Simon Fraser  <simon.fraser@apple.com>
47382
47383        Reviewed by Dave Hyatt
47384
47385        https://bugs.webkit.org/show_bug.cgi?id=23582
47386
47387        Fix assertions when inline elements have both opacity (or something
47388        else that creates a RenderLayer), and transform by ensuring that
47389        setHasTransform() is only called for non-inline or replaced elements.
47390        We also have to ensure that RenderReplicas will get transforms applied
47391        to them by lying about them being replaced.
47392
47393        Tests: fast/transforms/transform-on-inline.html
47394               fast/transforms/transform-table-row.html
47395
47396        * rendering/RenderBox.cpp:
47397        (WebCore::RenderBox::styleDidChange):
47398        * rendering/RenderReplica.cpp:
47399        (WebCore::RenderReplica::RenderReplica):
47400        * rendering/RenderTableRow.h:
47401        (WebCore::RenderTableRow::requiresLayer):
47402
474032009-01-28  Hironori Bono  <hbono@chromium.org>
47404
47405        Reviewed by Justin Garcia.
47406
47407        https://bugs.webkit.org/show_bug.cgi?id=18835
47408        Spelling underlines disappear when they shouldn't
47409
47410        The WebCore::InsertLineBreakCommand::doApply() function splits a text node
47411        without copying existing markers. To fix this bug, change code which
47412        manually splits a text node into a CompositeEditCommand::splitTextNode() call.
47413
47414        Test: editing/spelling/spelling-linebreak.html
47415
47416        * editing/InsertLineBreakCommand.cpp:
47417        (WebCore::InsertLineBreakCommand::doApply):
47418
474192009-01-28  David Hyatt  <hyatt@apple.com>
47420
47421        Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline.  Shift the line height computation into RenderStyle so
47422        that it isn't repeated in three places.
47423
47424        Reviewed by Sam Weinig
47425
47426        * rendering/RenderBlock.cpp:
47427        (WebCore::RenderBlock::RenderBlock):
47428        (WebCore::RenderBlock::lineHeight):
47429        * rendering/RenderBlock.h:
47430        * rendering/RenderFlow.cpp:
47431        * rendering/RenderFlow.h:
47432        (WebCore::RenderFlow::RenderFlow):
47433        * rendering/RenderInline.cpp:
47434        (WebCore::RenderInline::RenderInline):
47435        (WebCore::RenderInline::lineHeight):
47436        * rendering/RenderInline.h:
47437        * rendering/RenderObject.cpp:
47438        (WebCore::RenderObject::lineHeight):
47439        * rendering/style/RenderStyle.h:
47440        (WebCore::InheritedFlags::computedLineHeight):
47441
474422009-01-28  Zachary Kuznia  <zork@chromiuum.org>
47443
47444        Reviewed by Sam Weinig.
47445
47446        https://bugs.webkit.org/show_bug.cgi?id=22070
47447        Add an option to allow scripts to close windows.
47448
47449        * page/Settings.cpp:
47450        (WebCore::Settings::Settings):
47451        (WebCore::Settings::setAllowScriptsToCloseWindows):
47452        * page/Settings.h:
47453        (WebCore::Settings::allowScriptsToCloseWindows):
47454
474552009-01-28  Adam Langley  <agl@google.com>
47456
47457        Reviewed by Sam Weinig.
47458
47459        https://bugs.webkit.org/show_bug.cgi?id=23573
47460        Make PlatformWidget on chromium an intptr_t to match changes made in Chromium
47461
47462        * platform/chromium/PlatformWidget.h:
47463
474642009-01-28  David Hyatt  <hyatt@apple.com>
47465
47466        Fix for
47467
47468        <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore • WebCore::RenderBlock::removeFloatingObject + 59
47469
47470        My tightening up of markAllDescendantsWithFloatsForLayout exposed a buggy check in that code that could
47471        lead to a bad cast.
47472
47473        * rendering/RenderBlock.cpp:
47474        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
47475
474762009-01-27  David Hyatt  <hyatt@apple.com>
47477
47478        https://bugs.webkit.org/show_bug.cgi?id=23576
47479
47480        Work towards eliminating RenderFlow from the tree.
47481
47482        Move the m_continuation variable down from RenderFlow into RenderInline and RenderBlock.  Since a block can only have an inline continuation following it, the type
47483        of the member and methods reflect this (inlineContinuation() and m_inlineContinuation).  Since an inline can have either a block or an inline continuation following it,
47484        a base class of RenderBox* is used for the type of object returned (in anticipation of the removal of RenderFlow).
47485
47486        Since moving the continuation variable down into the subclasses increased the size of RenderInline and RenderBlock by 4 bytes, this patch also moves all of the bitfield
47487        members of RenderFlow up to RenderObject.  Since they fit within the available bits on RenderObject, this patch actually results in a net savings of 4 bytes on RenderInlines
47488        and RenderBlocks!
47489
47490        One bitfield member was eliminated rather than moved: m_firstLine.  This was really more of a state variable used during line layout only, so I removed it as a member
47491        and just passed firstLine down to various methods as needed.  Doing so uncovered some potential bugs where the first line state was not being respected when querying for
47492        line offsets.
47493
47494        Continuations have been completely hidden from all files except for RenderFlow, RenderBlock and RenderInline.  All of the code that referenced continuations directly
47495        from base classes has been refactored to use virtual methods on RenderBlock and RenderInline instead.
47496
47497        RenderFlow still has a common addChildWithContinuation method that is used by both blocks and inlines.  Since refactoring that method will be pretty tricky, I've held
47498        off on that for a later patch.
47499
47500        Reviewed by Oliver Hunt
47501
47502        * html/HTMLAnchorElement.cpp:
47503        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
47504        * page/AccessibilityRenderObject.cpp:
47505        (WebCore::AccessibilityRenderObject::anchorElement):
47506        (WebCore::AccessibilityRenderObject::boundingBoxRect):
47507        * rendering/InlineFlowBox.cpp:
47508        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
47509        (WebCore::InlineFlowBox::paint):
47510        * rendering/RenderBlock.cpp:
47511        (WebCore::RenderBlock::RenderBlock):
47512        (WebCore::RenderBlock::~RenderBlock):
47513        (WebCore::RenderBlock::destroy):
47514        (WebCore::RenderBlock::addChildToFlow):
47515        (WebCore::RenderBlock::makeChildrenNonInline):
47516        (WebCore::RenderBlock::removeChild):
47517        (WebCore::RenderBlock::layoutBlock):
47518        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
47519        (WebCore::RenderBlock::collapseMargins):
47520        (WebCore::RenderBlock::determineHorizontalPosition):
47521        (WebCore::RenderBlock::setCollapsedBottomMargin):
47522        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
47523        (WebCore::RenderBlock::paintObject):
47524        (WebCore::RenderBlock::addContinuationWithOutline):
47525        (WebCore::RenderBlock::setSelectionState):
47526        (WebCore::RenderBlock::shouldPaintSelectionGaps):
47527        (WebCore::RenderBlock::fillSelectionGaps):
47528        (WebCore::RenderBlock::leftSelectionOffset):
47529        (WebCore::RenderBlock::rightSelectionOffset):
47530        (WebCore::RenderBlock::leftOffset):
47531        (WebCore::RenderBlock::leftRelOffset):
47532        (WebCore::RenderBlock::rightOffset):
47533        (WebCore::RenderBlock::rightRelOffset):
47534        (WebCore::RenderBlock::lineWidth):
47535        (WebCore::RenderBlock::lowestPosition):
47536        (WebCore::RenderBlock::rightmostPosition):
47537        (WebCore::RenderBlock::leftmostPosition):
47538        (WebCore::RenderBlock::getClearDelta):
47539        (WebCore::RenderBlock::nodeAtPoint):
47540        (WebCore::RenderBlock::offsetForContents):
47541        (WebCore::RenderBlock::availableWidth):
47542        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
47543        (WebCore::RenderBlock::desiredColumnWidth):
47544        (WebCore::RenderBlock::desiredColumnCount):
47545        (WebCore::RenderBlock::columnRects):
47546        (WebCore::RenderBlock::layoutColumns):
47547        (WebCore::RenderBlock::adjustPointToColumnContents):
47548        (WebCore::RenderBlock::adjustRectForColumns):
47549        (WebCore::RenderBlock::absoluteRects):
47550        (WebCore::RenderBlock::absoluteQuads):
47551        (WebCore::RenderBlock::rectWithOutlineForRepaint):
47552        (WebCore::RenderBlock::hoverAncestor):
47553        (WebCore::RenderBlock::updateDragState):
47554        (WebCore::RenderBlock::outlineStyleForRepaint):
47555        (WebCore::RenderBlock::childBecameNonInline):
47556        (WebCore::RenderBlock::updateHitTestResult):
47557        * rendering/RenderBlock.h:
47558        (WebCore::RenderBlock::rightOffset):
47559        (WebCore::RenderBlock::leftOffset):
47560        (WebCore::RenderBlock::inlineContinuation):
47561        (WebCore::RenderBlock::setInlineContinuation):
47562        * rendering/RenderBox.cpp:
47563        (WebCore::RenderBox::absoluteRects):
47564        (WebCore::RenderBox::absoluteQuads):
47565        (WebCore::RenderBox::addFocusRingRects):
47566        (WebCore::RenderBox::containingBlockWidth):
47567        * rendering/RenderBox.h:
47568        (WebCore::RenderBox::collapsedMarginBottom):
47569        (WebCore::RenderBox::childBecameNonInline):
47570        * rendering/RenderContainer.cpp:
47571        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
47572        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
47573        * rendering/RenderFlexibleBox.cpp:
47574        (WebCore::RenderFlexibleBox::layoutVerticalBox):
47575        * rendering/RenderFlow.cpp:
47576        (WebCore::nextContinuation):
47577        (WebCore::RenderFlow::continuationBefore):
47578        (WebCore::RenderFlow::addChildWithContinuation):
47579        (WebCore::RenderFlow::addChild):
47580        (WebCore::RenderFlow::destroy):
47581        (WebCore::RenderFlow::addFocusRingRects):
47582        * rendering/RenderFlow.h:
47583        (WebCore::RenderFlow::RenderFlow):
47584        * rendering/RenderInline.cpp:
47585        (WebCore::RenderInline::RenderInline):
47586        (WebCore::RenderInline::destroy):
47587        (WebCore::RenderInline::inlineContinuation):
47588        (WebCore::RenderInline::styleDidChange):
47589        (WebCore::RenderInline::addChildToFlow):
47590        (WebCore::RenderInline::cloneInline):
47591        (WebCore::RenderInline::splitInlines):
47592        (WebCore::RenderInline::splitFlow):
47593        (WebCore::RenderInline::positionForCoordinates):
47594        (WebCore::RenderInline::rectWithOutlineForRepaint):
47595        (WebCore::RenderInline::updateDragState):
47596        (WebCore::RenderInline::childBecameNonInline):
47597        (WebCore::RenderInline::updateHitTestResult):
47598        * rendering/RenderInline.h:
47599        (WebCore::RenderInline::isRenderInline):
47600        (WebCore::RenderInline::continuation):
47601        (WebCore::RenderInline::setContinuation):
47602        * rendering/RenderListItem.cpp:
47603        (WebCore::RenderListItem::positionListMarker):
47604        * rendering/RenderListMarker.cpp:
47605        (WebCore::RenderListMarker::RenderListMarker):
47606        (WebCore::RenderListMarker::setSelectionState):
47607        * rendering/RenderListMarker.h:
47608        * rendering/RenderObject.cpp:
47609        (WebCore::RenderObject::RenderObject):
47610        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
47611        (WebCore::RenderObject::rectWithOutlineForRepaint):
47612        (WebCore::RenderObject::handleDynamicFloatPositionChange):
47613        (WebCore::RenderObject::updateDragState):
47614        (WebCore::RenderObject::updateHitTestResult):
47615        (WebCore::RenderObject::getTextDecorationColors):
47616        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
47617        * rendering/RenderObject.h:
47618        (WebCore::RenderObject::isInlineBlockOrInlineTable):
47619        (WebCore::RenderObject::childrenInline):
47620        (WebCore::RenderObject::setChildrenInline):
47621        (WebCore::RenderObject::hasColumns):
47622        (WebCore::RenderObject::setHasColumns):
47623        (WebCore::RenderObject::cellWidthChanged):
47624        (WebCore::RenderObject::setCellWidthChanged):
47625        (WebCore::RenderObject::isInlineContinuation):
47626        (WebCore::RenderObject::hoverAncestor):
47627        (WebCore::RenderObject::outlineStyleForRepaint):
47628        (WebCore::RenderObject::setHasMarkupTruncation):
47629        (WebCore::RenderObject::hasMarkupTruncation):
47630        (WebCore::RenderObject::selectionState):
47631        (WebCore::RenderObject::setSelectionState):
47632        (WebCore::RenderObject::hasSelectedChildren):
47633        (WebCore::RenderObject::isTopMarginQuirk):
47634        (WebCore::RenderObject::isBottomMarginQuirk):
47635        (WebCore::RenderObject::setTopMarginQuirk):
47636        (WebCore::RenderObject::setBottomMarginQuirk):
47637        * rendering/RenderReplaced.cpp:
47638        (WebCore::RenderReplaced::RenderReplaced):
47639        (WebCore::RenderReplaced::setSelectionState):
47640        * rendering/RenderReplaced.h:
47641        (WebCore::RenderReplaced::canBeSelectionLeaf):
47642        * rendering/RenderTable.cpp:
47643        (WebCore::RenderTable::calcWidth):
47644        * rendering/RenderTableCell.cpp:
47645        (WebCore::RenderTableCell::updateWidth):
47646        (WebCore::RenderTableCell::layout):
47647        * rendering/RenderText.cpp:
47648        (WebCore::RenderText::RenderText):
47649        (WebCore::RenderText::localCaretRect):
47650        (WebCore::RenderText::setSelectionState):
47651        * rendering/RenderText.h:
47652        (WebCore::RenderText::canBeSelectionLeaf):
47653        * rendering/RenderView.cpp:
47654        (WebCore::RenderView::updateHitTestResult):
47655        * rendering/RenderView.h:
47656        * rendering/RootInlineBox.cpp:
47657        (WebCore::RootInlineBox::selectionTop):
47658        * rendering/bidi.cpp:
47659        (WebCore::RenderBlock::createLineBoxes):
47660        (WebCore::RenderBlock::constructLine):
47661        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
47662        (WebCore::RenderBlock::layoutInlineChildren):
47663        (WebCore::RenderBlock::determineStartPosition):
47664        (WebCore::RenderBlock::skipTrailingWhitespace):
47665        (WebCore::RenderBlock::skipLeadingWhitespace):
47666        (WebCore::RenderBlock::fitBelowFloats):
47667        (WebCore::RenderBlock::findNextLineBreak):
47668        (WebCore::RenderBlock::checkLinesForTextOverflow):
47669
476702009-01-28  Adam Treat  <adam.treat@torchmobile.com>
47671
47672        Reviewed by Nikolas Zimmermann and George Staikos.
47673
47674        https://bugs.webkit.org/show_bug.cgi?id=23557
47675        Allow option of hit testing frame content without clipping to the visible
47676        viewport.
47677
47678        * WebCore.base.exp:
47679        * page/EventHandler.cpp:
47680        (WebCore::EventHandler::hitTestResultAtPoint):
47681        * page/EventHandler.h:
47682        * rendering/HitTestRequest.h:
47683        (WebCore::HitTestRequest::HitTestRequest):
47684        * rendering/RenderLayer.cpp:
47685        (WebCore::RenderLayer::hitTest):
47686
476872009-01-28  Simon Hausmann  <simon.hausmann@nokia.com>
47688
47689        Reviewed by Holger Freyther.
47690
47691        Fix the build with Qt on Windows.
47692
47693        Make sure that the QTWEBKIT_EXPORT macro becomes the Q_DECL_EXPORT macro
47694        instead of the import macro when building the dll, by defining
47695        QT_MAKEDLL.
47696
47697        SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the
47698        other Qt platforms comes from TemporaryLinkStubs.cpp.
47699
47700        * WebCore.pro:
47701
477022009-01-28  Ariya Hidayat  <ariya.hidayat@trolltech.com>
47703
47704        Reviewed by Simon Hausmann.
47705
47706        [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion().
47707        Beside, the check is not necessary since QPainter::setClipRect() will
47708        work just fine if there is no clip region yet.
47709
47710        * platform/graphics/qt/GraphicsContextQt.cpp:
47711        (WebCore::GraphicsContext::clip):
47712
477132009-01-28  Darin Fisher  <darin@chromium.org>
47714
47715        Reviewed by Darin Adler.
47716
47717        https://bugs.webkit.org/show_bug.cgi?id=23546
47718        Upstream GoogleURL implementation of KURL
47719
47720        * platform/KURL.h:
47721        * platform/KURLGoogle.cpp: Added.
47722        * platform/KURLGooglePrivate.h: Added.
47723
477242009-01-27  Darin Adler  <darin@apple.com>
47725
47726        Reviewed by Sam Weinig.
47727
47728        REGRESSION (r40234): Launching iTunes from a link displays a
47729        "Safari can't find the Internet plug-in" sheet in Safari
47730        rdar://problem/6533678
47731
47732        * rendering/RenderPartObject.cpp:
47733        (WebCore::havePlugin): Put the check for empty string in here.
47734        (WebCore::serviceTypeForClassId): Only return activeXType() if
47735        we have a plug-in that can handle that type. While it might be logical
47736        to return an Active X type for any <object> with a classId in it,
47737        even if we don't have a plug-in that implements Active X, existing
47738        clients, such as Safari, don't expect that.
47739
477402009-01-27  Dan Bernstein  <mitz@apple.com>
47741
47742        Reviewed by Steve Falkenburg.
47743
47744        - fix <rdar://problem/6524351> Text looks bad when font smoothing is
47745          forced off
47746
47747        * platform/graphics/win/FontCGWin.cpp:
47748        (WebCore::Font::drawGlyphs): Changed to use GDI rather than Core
47749        Graphics if the client has turned font smoothing off.
47750
477512009-01-27  Simon Fraser  <simon.fraser@apple.com>
47752
47753        Reviewed by Dave Hyatt
47754
47755        https://bugs.webkit.org/show_bug.cgi?id=23360
47756
47757        Use the new container-relative repaint methods to compute
47758        post-layout repaints, and repaints using RenderLayer's
47759        cached repaintRect() relative to that container, rather than
47760        using absolute coords.
47761
47762        Replaced lots of boilerplate old/new rect code in various
47763        layout methods with a stack-based LayoutRepainter class, and
47764        fixed a bug in RenderTable which set didFullRepaint to
47765        'true' every time.
47766
47767        * rendering/RenderBlock.cpp:
47768        (WebCore::RenderBlock::layoutBlock):
47769        * rendering/RenderFlexibleBox.cpp:
47770        (WebCore::RenderFlexibleBox::layoutBlock):
47771        * rendering/RenderForeignObject.cpp:
47772        (WebCore::RenderForeignObject::layout):
47773        * rendering/RenderLayer.cpp:
47774        (WebCore::RenderLayer::updateLayerPositions):
47775        (WebCore::RenderLayer::setHasVisibleContent):
47776        * rendering/RenderLayer.h:
47777        * rendering/RenderObject.cpp:
47778        (WebCore::RenderObject::repaintUsingContainer):
47779        (WebCore::RenderObject::repaint):
47780        (WebCore::RenderObject::repaintRectangle):
47781        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
47782        * rendering/RenderObject.h:
47783        (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
47784        (WebCore::RenderObject::LayoutRepainter::repaintAfterLayout):
47785        (WebCore::RenderObject::LayoutRepainter::checkForRepaint):
47786        * rendering/RenderPath.cpp:
47787        (WebCore::RenderPath::layout):
47788        * rendering/RenderReplaced.cpp:
47789        (WebCore::RenderReplaced::layout):
47790        * rendering/RenderSVGContainer.cpp:
47791        (WebCore::RenderSVGContainer::layout):
47792        * rendering/RenderSVGImage.cpp:
47793        (WebCore::RenderSVGImage::layout):
47794        * rendering/RenderSVGRoot.cpp:
47795        (WebCore::RenderSVGRoot::layout):
47796        * rendering/RenderSVGText.cpp:
47797        (WebCore::RenderSVGText::layout):
47798        * rendering/RenderSVGViewportContainer.cpp:
47799        (WebCore::RenderSVGViewportContainer::layout):
47800        * rendering/RenderTable.cpp:
47801        (WebCore::RenderTable::layout):
47802        * rendering/bidi.cpp:
47803        (WebCore::RenderBlock::layoutInlineChildren):
47804
478052009-01-27  Brady Eidson  <beidson@apple.com>
47806
47807        Reviewed by Darin Adler
47808
47809        <rdar://problem/3541409> - More groundwork and cleanup for CachedFrames
47810
47811        * history/CachedFrame.cpp:
47812        (WebCore::CachedFrame::CachedFrame): Make the savePlatformDataToCachedFrame() client call here,
47813          and add the code for caching subframes.
47814        (WebCore::CachedFrame::clear):
47815        * history/CachedFrame.h: Change to be RefCounted
47816        (WebCore::CachedFrame::create):
47817        (WebCore::CachedFrame::url):
47818
47819        * history/CachedPage.cpp:
47820        (WebCore::CachedPage::CachedPage):
47821        (WebCore::CachedPage::restore):
47822        * history/CachedPage.h:
47823        (WebCore::CachedPage::document):
47824        (WebCore::CachedPage::documentLoader):
47825        (WebCore::CachedPage::view):
47826        (WebCore::CachedPage::url):
47827        (WebCore::CachedPage::domWindow):
47828        (WebCore::CachedPage::cachedMainFrame):
47829
47830        * loader/FrameLoader.cpp:
47831        (WebCore::FrameLoader::cachePageForHistoryItem): Move the platform data saving into the
47832          CachedFrame itself.
47833
478342009-01-27  Simon Fraser  <simon.fraser@apple.com>
47835
47836        Reviewed by Dave Hyatt
47837
47838        Flip the arguments of computeRectForRepaint() from
47839            computeRectForRepaint(IntRect&, RenderBox* repaintContainer, bool)
47840        to
47841            computeRectForRepaint(RenderBox* repaintContainer, IntRect&, bool)
47842
47843        * rendering/RenderBox.cpp:
47844        (WebCore::RenderBox::clippedOverflowRectForRepaint):
47845        (WebCore::RenderBox::computeRectForRepaint):
47846        * rendering/RenderBox.h:
47847        * rendering/RenderForeignObject.cpp:
47848        (WebCore::RenderForeignObject::computeRectForRepaint):
47849        * rendering/RenderForeignObject.h:
47850        * rendering/RenderInline.cpp:
47851        (WebCore::RenderInline::clippedOverflowRectForRepaint):
47852        * rendering/RenderObject.cpp:
47853        (WebCore::RenderObject::computeRectForRepaint):
47854        * rendering/RenderObject.h:
47855        (WebCore::RenderObject::computeAbsoluteRepaintRect):
47856        * rendering/RenderReplaced.cpp:
47857        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
47858        * rendering/RenderTableCell.cpp:
47859        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
47860        (WebCore::RenderTableCell::computeRectForRepaint):
47861        * rendering/RenderTableCell.h:
47862        * rendering/RenderView.cpp:
47863        (WebCore::RenderView::computeRectForRepaint):
47864        * rendering/RenderView.h:
47865
478662009-01-27  David Kilzer  <ddkilzer@apple.com>
47867
47868        Add missing header guards to AccessibilityObjectWrapper.h
47869
47870        Reviewed by Anders Carlsson.
47871
47872        * page/mac/AccessibilityObjectWrapper.h: Added missing header guards.
47873
478742009-01-27  Simon Fraser  <simon.fraser@apple.com>
47875
47876        Reviewed by Dave Hyatt
47877
47878        https://bugs.webkit.org/show_bug.cgi?id=23567
47879
47880        Fix crash of svg/custom/stop-crash.svg testcase because of
47881        infinite recursion, as I missed replacing absoluteClippedOverflowRect()
47882        with clippedOverflowRectForRepaint() in RenderSVGGradientStop.
47883
47884        Also fix a missed conversion in RenderTableCol, and add a couple
47885        of comments.
47886
47887        * rendering/RenderSVGGradientStop.h:
47888        (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
47889        * rendering/RenderSVGImage.cpp:
47890        (WebCore::RenderSVGImage::imageChanged):
47891        * rendering/RenderTableCol.cpp:
47892        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
47893        * rendering/RenderTableRow.cpp:
47894        (WebCore::RenderTableRow::layout):
47895
478962009-01-27  Adele Peterson  <adele@apple.com>
47897
47898        RS by Dave Hyatt
47899
47900        Use the textfield appearance for search fields in themeWin.css so the border/background
47901        styling will work correctly on these fields.
47902
47903        * css/themeWin.css:
47904
479052009-01-27  Dan Bernstein  <mitz@apple.com>
47906
47907        - build fix
47908
47909        * bindings/js/JSHTMLInputElementCustom.cpp:
47910        (WebCore::JSHTMLInputElement::setSelectionStart):
47911        (WebCore::JSHTMLInputElement::setSelectionEnd):
47912        (WebCore::JSHTMLInputElement::setSelectionRange):
47913
479142009-01-27  Dan Bernstein  <mitz@apple.com>
47915
47916        - build fix
47917
47918        * platform/graphics/Gradient.cpp:
47919        (WebCore::Gradient::setSpreadMethod):
47920
479212009-01-27  Paul Godavari  <paul@chromium.org>
47922
47923        Reviewed by Eric Seidel.
47924
47925        https://bugs.webkit.org/show_bug.cgi?id=23561
47926        Explicitly send the MIME type from an image dragged from a web
47927        page to the desktop, to Chromium so that it can properly generate
47928        a file name.
47929
47930        * platform/chromium/ChromiumDataObject.cpp:
47931        (WebCore::ChromiumDataObject::clear):
47932        (WebCore::ChromiumDataObject::hasData):
47933        * platform/chromium/ChromiumDataObject.h:
47934        * platform/chromium/ClipboardChromium.cpp:
47935        (WebCore::writeImageToDataObject):
47936
479372009-01-27  Mads Ager  <ager@chromium.org>
47938
47939        Reviewed by Darin Adler.
47940
47941        https://bugs.webkit.org/show_bug.cgi?id=23300
47942        Follow Firefox in throwing exceptions when using selection
47943        functions on HTMLInputElements that cannot have selection.
47944
47945        This requires custom setSelectionRange, setSelectionStart and
47946        setSelectionEnd implementations, but it gets rid of the custom
47947        getOwnPropertySlot.
47948
47949        * bindings/js/JSHTMLInputElementCustom.cpp:
47950        (WebCore::JSHTMLInputElement::selectionStart):
47951        (WebCore::JSHTMLInputElement::selectionEnd):
47952        (WebCore::JSHTMLInputElement::setSelectionRange):
47953        * html/HTMLInputElement.idl:
47954
479552009-01-27  Evan Stade  <estade@chromium.org>
47956
47957        Reviewed by Nikolas Zimmermann.
47958
47959        https://bugs.webkit.org/show_bug.cgi?id=23435
47960        Make spreadMethod a member of Gradient rather than GraphicsContext.
47961        Implement spreadMethod for Skia.
47962
47963        * platform/graphics/Gradient.cpp:
47964        (WebCore::Gradient::Gradient):
47965        * platform/graphics/Gradient.h:
47966        (WebCore::Gradient::setSpreadMethod):
47967        (WebCore::Gradient::spreadMethod):
47968        * platform/graphics/GraphicsContext.cpp:
47969        * platform/graphics/GraphicsContext.h:
47970        * platform/graphics/GraphicsContextPrivate.h:
47971        * platform/graphics/GraphicsTypes.h:
47972        (WebCore::):
47973        * platform/graphics/cairo/GradientCairo.cpp:
47974        (WebCore::Gradient::platformGradient):
47975        * platform/graphics/cairo/GraphicsContextCairo.cpp:
47976        (WebCore::GraphicsContext::fillPath):
47977        (WebCore::GraphicsContext::strokePath):
47978        * platform/graphics/qt/GradientQt.cpp:
47979        (WebCore::Gradient::platformGradient):
47980        * platform/graphics/qt/GraphicsContextQt.cpp:
47981        (WebCore::GraphicsContext::fillPath):
47982        (WebCore::GraphicsContext::strokePath):
47983        * platform/graphics/skia/GradientSkia.cpp:
47984        (WebCore::Gradient::platformGradient):
47985        * svg/SVGLinearGradientElement.cpp:
47986        (WebCore::SVGLinearGradientElement::buildGradient):
47987        * svg/SVGRadialGradientElement.cpp:
47988        (WebCore::SVGRadialGradientElement::buildGradient):
47989        * svg/graphics/SVGPaintServerGradient.cpp:
47990        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
47991        (WebCore::SVGPaintServerGradient::setup):
47992        (WebCore::SVGPaintServerGradient::externalRepresentation):
47993        * svg/graphics/SVGPaintServerGradient.h:
47994
479952009-01-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
47996
47997        Rubber-stamped by Simon Hausmann.
47998
47999        http://qt.nokia.com/developer/task-tracker/index_html?id=238662&method=entry
48000
48001        [Qt] Map function keys F1 to F24.
48002
48003        * platform/qt/PlatformKeyboardEventQt.cpp:
48004        (WebCore::windowsKeyCodeForKeyEvent):
48005
480062009-01-27  Brady Eidson  <beidson@apple.com>
48007
48008        Reviewed by Dan Bernstein
48009
48010        Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
48011
48012        * WebCore.base.exp:
48013        * history/CachedPage.cpp:
48014        * history/CachedPage.h:
48015        (WebCore::CachedPage::cachedMainFrame):
48016
48017        * loader/EmptyClients.h:
48018        (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame):
48019        (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame):
48020
48021        * loader/FrameLoader.cpp:
48022        (WebCore::FrameLoader::restoreDocumentState):
48023        (WebCore::FrameLoader::commitProvisionalLoad):
48024        (WebCore::FrameLoader::transitionToCommitted):
48025        (WebCore::FrameLoader::cachePageForHistoryItem):
48026        * loader/FrameLoaderClient.h:
48027
480282009-01-26  Simon Fraser  <simon.fraser@apple.com>
48029
48030        Reviewed by Dave Hyatt
48031
48032        https://bugs.webkit.org/show_bug.cgi?id=23360
48033
48034        Add variants of all the methods that compute dirty rects for repainting
48035        with versions that compute those rects relative to some container
48036        RenderBox that acts as a painting root.
48037
48038        * rendering/RenderBox.cpp:
48039        (WebCore::RenderBox::styleDidChange):
48040        (WebCore::RenderBox::outlineBoundsForRepaint):
48041        (WebCore::RenderBox::localToContainerQuad):
48042        (WebCore::RenderBox::clippedOverflowRectForRepaint):
48043        (WebCore::RenderBox::computeRectForRepaint):
48044        * rendering/RenderBox.h:
48045        * rendering/RenderForeignObject.cpp:
48046        (WebCore::RenderForeignObject::computeRectForRepaint):
48047        * rendering/RenderForeignObject.h:
48048        * rendering/RenderInline.cpp:
48049        (WebCore::RenderInline::clippedOverflowRectForRepaint):
48050        * rendering/RenderInline.h:
48051        * rendering/RenderObject.cpp:
48052        (WebCore::RenderObject::containerForRepaint):
48053        (WebCore::RenderObject::repaint):
48054        (WebCore::RenderObject::repaintRectangle):
48055        (WebCore::RenderObject::rectWithOutlineForRepaint):
48056        (WebCore::RenderObject::clippedOverflowRectForRepaint):
48057        (WebCore::RenderObject::computeRectForRepaint):
48058        (WebCore::RenderObject::localToContainerQuad):
48059        * rendering/RenderObject.h:
48060        (WebCore::RenderObject::localToAbsoluteQuad):
48061        (WebCore::RenderObject::absoluteClippedOverflowRect):
48062        (WebCore::RenderObject::computeAbsoluteRepaintRect):
48063        (WebCore::RenderObject::absoluteOutlineBounds):
48064        (WebCore::RenderObject::outlineBoundsForRepaint):
48065        * rendering/RenderPath.cpp:
48066        (WebCore::RenderPath::clippedOverflowRectForRepaint):
48067        (WebCore::RenderPath::outlineBoundsForRepaint):
48068        * rendering/RenderPath.h:
48069        * rendering/RenderReplaced.cpp:
48070        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
48071        * rendering/RenderReplaced.h:
48072        * rendering/RenderSVGContainer.cpp:
48073        (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
48074        (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
48075        * rendering/RenderSVGContainer.h:
48076        * rendering/RenderSVGHiddenContainer.cpp:
48077        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
48078        * rendering/RenderSVGHiddenContainer.h:
48079        * rendering/RenderSVGImage.cpp:
48080        (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
48081        * rendering/RenderSVGImage.h:
48082        * rendering/RenderSVGRoot.cpp:
48083        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
48084        * rendering/RenderSVGRoot.h:
48085        * rendering/RenderSVGText.cpp:
48086        (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
48087        * rendering/RenderSVGText.h:
48088        * rendering/RenderTableCell.cpp:
48089        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
48090        (WebCore::RenderTableCell::computeRectForRepaint):
48091        (WebCore::RenderTableCell::localToContainerQuad):
48092        * rendering/RenderTableCell.h:
48093        * rendering/RenderTableCol.cpp:
48094        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
48095        * rendering/RenderTableCol.h:
48096        * rendering/RenderTableRow.cpp:
48097        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
48098        * rendering/RenderTableRow.h:
48099        * rendering/RenderText.cpp:
48100        (WebCore::RenderText::clippedOverflowRectForRepaint):
48101        * rendering/RenderText.h:
48102        * rendering/RenderView.cpp:
48103        (WebCore::RenderView::localToContainerQuad):
48104        (WebCore::RenderView::computeRectForRepaint):
48105        * rendering/RenderView.h:
48106
481072009-01-26  Simon Fraser  <simon.fraser@apple.com>
48108
48109        Reviewed by David Hyatt
48110
48111        Back out r40285, because it was checked in with no bug number, no
48112        testcase, is rendering change that did not get thorough review,
48113        and broke the Mac build.
48114
48115        * page/EventHandler.cpp:
48116        (WebCore::EventHandler::hitTestResultAtPoint):
48117        * page/EventHandler.h:
48118        * rendering/HitTestRequest.h:
48119        (WebCore::HitTestRequest::HitTestRequest):
48120        * rendering/RenderLayer.cpp:
48121        (WebCore::RenderLayer::hitTest):
48122
481232009-01-26  Brady Eidson  <beidson@apple.com>
48124
48125        Reviewed by Darin Adler
48126
48127        -Make the recently added back/forward cache logging much better by actually
48128         walking the entire frame tree and indenting the resulting output.
48129        -Fix a null-termination bug in HistoryItem tree logging
48130
48131        * history/HistoryItem.cpp:
48132        (WebCore::HistoryItem::showTreeWithIndent):
48133
48134        * loader/FrameLoader.cpp:
48135        (WebCore::pageCacheLogPrefix):
48136        (WebCore::pageCacheLog):
48137        (WebCore::FrameLoader::logCanCachePageDecision):
48138        (WebCore::FrameLoader::logCanCacheFrameDecision):
48139        * loader/FrameLoader.h:
48140
481412009-01-26  Adam Treat  <adam.treat@torchmobile.com>
48142
48143        Reviewed by Nikolas Zimmermann.
48144
48145        Allow option of hit testing frame content without clipping to the visible
48146        viewport.
48147
48148        * page/EventHandler.cpp:
48149        (WebCore::EventHandler::hitTestResultAtPoint):
48150        * page/EventHandler.h:
48151        * rendering/HitTestRequest.h:
48152        (WebCore::HitTestRequest::HitTestRequest):
48153        * rendering/RenderLayer.cpp:
48154        (WebCore::RenderLayer::hitTest):
48155
481562009-01-26  Sam Weinig  <sam@webkit.org>
48157
48158        Reviewed by Dan Bernstein.
48159
48160        Fix for https://bugs.webkit.org/show_bug.cgi?id=18141
48161        Acid3 tests 77 and 78 fail on reload due to SVG font race
48162        <rdar://problem/6504899>
48163
48164        Match Opera's behavior of loading SVGFonts as soon as <font-face-uri>
48165        tag is inserted into the document and not at the first use of the font
48166        as is done for CSS web fonts.
48167
48168        This fixes a race condition noticeable by some in the Acid3 test that
48169        happened because the onload event handler for an iframe containing a
48170        <font-face-uri> with an external reference was not delayed by the pending
48171        load of the font.
48172
48173        Test: http/tests/misc/SVGFont-delayed-load.html
48174
48175        * svg/SVGFontFaceUriElement.cpp:
48176        (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
48177        (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if
48178        the href attribute changes.
48179        (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont.
48180        (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the
48181        font specified in href attribute.
48182        * svg/SVGFontFaceUriElement.h:
48183
481842009-01-26  Timothy Hatcher  <timothy@apple.com>
48185
48186        Change Web Archive serialization back to the binary property list format.
48187
48188        <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3
48189
48190        Reviewed by Brady Eidson.
48191
48192        * loader/archive/cf/LegacyWebArchive.cpp:
48193        (WebCore::LegacyWebArchive::rawDataRepresentation):
48194
481952009-01-26  Anders Carlsson  <andersca@apple.com>
48196
48197        Fix 64-bit build.
48198
48199        * WebCore.LP64.exp:
48200
482012009-01-26  Dmitry Titov  <dimich@chromium.org>
48202
48203        Reviewed by Alexey Proskuryakov.
48204
48205        https://bugs.webkit.org/show_bug.cgi?id=23511
48206        Move DOMTimer from bindings/js to page/.
48207        This was prepared by moving all JSC dependencies from DOMTimer
48208        to ScheduledAction earlier, and helps unfork the Chromuim version
48209        of the DOMTimer.
48210
48211        * GNUmakefile.am:
48212        * WebCore.pro:
48213        * WebCore.scons:
48214        * WebCore.vcproj/WebCore.vcproj:
48215        * WebCore.xcodeproj/project.pbxproj:
48216        * WebCoreSources.bkl:
48217        * bindings/js/DOMTimer.cpp: Removed.
48218        * bindings/js/DOMTimer.h: Removed.
48219        * page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp.
48220        * page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h.
48221
482222009-01-26  David Hyatt  <hyatt@apple.com>
48223
48224        Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow.  Move the code into
48225        RenderBlock's methods.
48226
48227        Reviewed by Eric Seidel
48228
48229        * rendering/RenderBlock.cpp:
48230        (WebCore::RenderBlock::lowestPosition):
48231        (WebCore::RenderBlock::rightmostPosition):
48232        (WebCore::RenderBlock::leftmostPosition):
48233        * rendering/RenderFlow.cpp:
48234        * rendering/RenderFlow.h:
48235
482362009-01-26  Darin Fisher  <darin@chromium.org>
48237
48238        Reviewed by Eric Seidel.
48239
48240        https://bugs.webkit.org/show_bug.cgi?id=23553
48241        Upstream changes from jcampan to fix chromium bugs 6692 and 6694.
48242
48243        * platform/chromium/PopupMenuChromium.cpp:
48244        (WebCore::PopupListBox::setLoopSelectionNavigation):
48245        (WebCore::PopupListBox::PopupListBox):
48246        (WebCore::PopupContainer::setLoopSelectionNavigation):
48247        (WebCore::PopupListBox::handleKeyEvent):
48248        (WebCore::PopupListBox::paintRow):
48249        (WebCore::PopupListBox::clearSelection):
48250        (WebCore::PopupListBox::selectNextRow):
48251        (WebCore::PopupListBox::selectPreviousRow):
48252        * platform/chromium/PopupMenuChromium.h:
48253
482542009-01-26  Brady Eidson  <beidson@apple.com>
48255
48256        Reviewed by Sam Weinig
48257
48258        Remove some historical CachedPage time stamp fluff.
48259
48260        * history/CachedPage.cpp:
48261        (WebCore::CachedPage::CachedPage):
48262        * history/CachedPage.h:
48263        (WebCore::CachedPage::timeStamp):
48264
48265        * loader/FrameLoader.cpp:
48266        (WebCore::FrameLoader::cachePageForHistoryItem):
48267
482682009-01-26  David Hyatt  <hyatt@apple.com>
48269
48270        Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.
48271
48272        Reviewed by Eric Seidel
48273
48274        * rendering/RenderBox.cpp:
48275        (WebCore::RenderBox::containingBlockHeightForPositioned):
48276        * rendering/RenderFlow.cpp:
48277        * rendering/RenderFlow.h:
48278        * rendering/RenderInline.cpp:
48279        (WebCore::RenderInline::linesBoundingBox):
48280        (WebCore::RenderInline::absoluteClippedOverflowRect):
48281        * rendering/RenderInline.h:
48282        (WebCore::RenderInline::borderBoundingBox):
48283        * rendering/RenderLayer.cpp:
48284        (WebCore::RenderLayer::updateLayerPosition):
48285        * rendering/RenderTreeAsText.cpp:
48286        (WebCore::operator<<):
48287
482882009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
48289
48290        Reviewed by Eric Seidel.
48291
48292        https://bugs.webkit.org/show_bug.cgi?id=22650
48293        Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus
48294        allowing to explicitly mark methods as immutable (i.e. returning a new
48295        instance rather than a reference to an existing instance).
48296
48297        * bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods.
48298        * bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable
48299            attribute when generating function call.
48300        * svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on
48301            methods.
48302
483032009-01-26  David Hyatt  <hyatt@apple.com>
48304
48305        Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow.  isInlineFlow() is now
48306        equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline().
48307
48308        Reviewed by Eric Seidel
48309
48310        * dom/Text.cpp:
48311        (WebCore::Text::rendererIsNeeded):
48312        * rendering/InlineFlowBox.cpp:
48313        (WebCore::InlineFlowBox::placeBoxesHorizontally):
48314        (WebCore::shouldDrawTextDecoration):
48315        * rendering/RenderBlock.cpp:
48316        (WebCore::RenderBlock::hitTestContents):
48317        (WebCore::InlineMinMaxIterator::next):
48318        (WebCore::RenderBlock::calcInlinePrefWidths):
48319        * rendering/RenderBlock.h:
48320        (WebCore::RenderBlock::isBlockFlow):
48321        * rendering/RenderBox.cpp:
48322        (WebCore::RenderBox::clientWidth):
48323        (WebCore::RenderBox::clientHeight):
48324        (WebCore::RenderBox::nodeAtPoint):
48325        (WebCore::RenderBox::imageChanged):
48326        (WebCore::RenderBox::offsetForPositionedInContainer):
48327        (WebCore::RenderBox::containingBlockWidthForPositioned):
48328        (WebCore::RenderBox::containingBlockHeightForPositioned):
48329        * rendering/RenderBox.h:
48330        (WebCore::RenderBox::width):
48331        (WebCore::RenderBox::height):
48332        (WebCore::RenderBox::size):
48333        (WebCore::RenderBox::frameRect):
48334        * rendering/RenderContainer.cpp:
48335        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
48336        * rendering/RenderFlow.cpp:
48337        (WebCore::RenderFlow::dirtyLinesFromChangedChild):
48338        (WebCore::RenderFlow::createInlineBox):
48339        (WebCore::RenderFlow::paintLines):
48340        (WebCore::RenderFlow::hitTestLines):
48341        (WebCore::RenderFlow::absoluteClippedOverflowRect):
48342        (WebCore::RenderFlow::lowestPosition):
48343        (WebCore::RenderFlow::rightmostPosition):
48344        (WebCore::RenderFlow::leftmostPosition):
48345        * rendering/RenderFlow.h:
48346        (WebCore::RenderFlow::borderBoundingBox):
48347        * rendering/RenderInline.h:
48348        (WebCore::RenderInline::isRenderInline):
48349        * rendering/RenderLayer.cpp:
48350        (WebCore::RenderLayer::updateLayerPosition):
48351        (WebCore::RenderLayer::intersectsDamageRect):
48352        (WebCore::RenderLayer::boundingBox):
48353        * rendering/RenderListItem.cpp:
48354        (WebCore::getParentOfFirstLineBox):
48355        * rendering/RenderObject.cpp:
48356        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
48357        (WebCore::RenderObject::styleWillChange):
48358        (WebCore::RenderObject::firstLineStyle):
48359        * rendering/RenderObject.h:
48360        * rendering/RenderSVGInline.cpp:
48361        (WebCore::RenderSVGInline::createInlineBox):
48362        * rendering/RenderSVGText.cpp:
48363        (WebCore::RenderSVGText::createInlineBox):
48364        * rendering/RenderTableRow.cpp:
48365        (WebCore::RenderTableRow::nodeAtPoint):
48366        * rendering/RenderTableSection.cpp:
48367        (WebCore::RenderTableSection::nodeAtPoint):
48368        * rendering/RenderText.cpp:
48369        (WebCore::isInlineFlowOrEmptyText):
48370        * rendering/RenderTreeAsText.cpp:
48371        (WebCore::operator<<):
48372        * rendering/bidi.cpp:
48373        (WebCore::bidiNext):
48374        (WebCore::bidiFirst):
48375        (WebCore::appendRunsForObject):
48376        (WebCore::RenderBlock::createLineBoxes):
48377        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48378        (WebCore::RenderBlock::layoutInlineChildren):
48379        (WebCore::inlineFlowRequiresLineBox):
48380        (WebCore::requiresLineBox):
48381        (WebCore::RenderBlock::skipTrailingWhitespace):
48382        (WebCore::RenderBlock::skipLeadingWhitespace):
48383        (WebCore::RenderBlock::findNextLineBreak):
48384
483852009-01-26  David Hyatt  <hyatt@apple.com>
48386
48387        Drop support for display:compact.
48388
48389        (1) display:compact is no longer part of CSS2.1.
48390        (2) Shipping Safari has completely broken compact support with severely broken rendering
48391        (all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
48392        (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
48393        anyone even noticing.
48394
48395        Reviewed by Eric Seidel
48396
48397        * rendering/InlineFlowBox.cpp:
48398        (WebCore::InlineFlowBox::placeBoxesHorizontally):
48399        * rendering/RenderBlock.cpp:
48400        (WebCore::RenderBlock::handleSpecialChild):
48401        (WebCore::RenderBlock::handleRunInChild):
48402        (WebCore::RenderBlock::layoutBlockChildren):
48403        (WebCore::RenderBlock::paint):
48404        (WebCore::RenderBlock::paintObject):
48405        (WebCore::RenderBlock::nodeAtPoint):
48406        (WebCore::RenderBlock::positionForCoordinates):
48407        (WebCore::shouldCheckLines):
48408        (WebCore::getHeightForLineCount):
48409        (WebCore::RenderBlock::renderName):
48410        * rendering/RenderBlock.h:
48411        * rendering/RenderBox.cpp:
48412        (WebCore::RenderBox::sizesToIntrinsicWidth):
48413        * rendering/RenderBox.h:
48414        (WebCore::RenderBox::width):
48415        (WebCore::RenderBox::height):
48416        (WebCore::RenderBox::size):
48417        (WebCore::RenderBox::frameRect):
48418        * rendering/RenderFlow.cpp:
48419        (WebCore::RenderFlow::paintLines):
48420        (WebCore::RenderFlow::hitTestLines):
48421        (WebCore::RenderFlow::absoluteClippedOverflowRect):
48422        (WebCore::RenderFlow::linesBoundingBox):
48423        * rendering/RenderObject.h:
48424        (WebCore::RenderObject::isInline):
48425        * rendering/bidi.cpp:
48426        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
48427        (WebCore::RenderBlock::layoutInlineChildren):
48428        * rendering/bidi.h:
48429        (WebCore::BidiRun::BidiRun):
48430
484312009-01-26  Adam Langley  <agl@google.com>
48432
48433        Reviewed by Nikolas Zimmermann.
48434
48435        gtk2drawing: fix compiler warnings
48436
48437        g_object_set_data expects a gpointer as the last argument. Cast the
48438          TRUE/FALSE values to avoid a warning.
48439        gtk_tree_view_column_new doesn't return a GtkWidget.
48440
48441        * platform/gtk/gtk2drawing.c:
48442        (setup_widget_prototype):
48443        (moz_gtk_get_combo_box_inner_button):
48444        (moz_gtk_get_combo_box_button_inner_widgets):
48445        (ensure_combo_box_widgets):
48446        (moz_gtk_get_combo_box_entry_inner_widgets):
48447        (moz_gtk_get_combo_box_entry_arrow):
48448        (ensure_combo_box_entry_widgets):
48449        (ensure_toolbar_widget):
48450        (ensure_menu_bar_item_widget):
48451        (ensure_menu_popup_widget):
48452        (ensure_menu_item_widget):
48453        (ensure_image_menu_item_widget):
48454        (ensure_menu_separator_widget):
48455        (ensure_check_menu_item_widget):
48456        (ensure_tree_header_cell_widget):
48457        (moz_gtk_entry_paint):
48458
484592009-01-26  David Hyatt  <hyatt@apple.com>
48460
48461        Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
48462        Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
48463        inline as the new element's renderer.
48464
48465        Reviewed by Dan Bernstein
48466
48467        * rendering/RenderBlock.cpp:
48468        (WebCore::RenderBlock::handleRunInChild):
48469        * rendering/RenderInline.cpp:
48470        (WebCore::RenderInline::renderName):
48471
484722009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
48473
48474        Reviewed by Darin Adler.
48475
48476        https://bugs.webkit.org/show_bug.cgi?id=23480
48477        Add missing method stubs to BackForwardListChromium.
48478
48479        * history/BackForwardListChromium.cpp:
48480        (WebCore::BackForwardList::backItem):
48481        (WebCore::BackForwardList::forwardItem):
48482
484832009-01-25  Darin Adler  <darin@apple.com>
48484
48485        Try to fix Tiger buildbot.
48486
48487        * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
48488        * page/mac/WebDashboardRegion.m:
48489        (typeName): Added.
48490        (-[WebDashboardRegion description]): Use typeName.
48491        (-[WebDashboardRegion isEqual:]): Added comment.
48492
484932009-01-25  Alexey Proskuryakov  <ap@webkit.org>
48494
48495        Reviewed by Darin Adler.
48496
48497        https://bugs.webkit.org/show_bug.cgi?id=23535
48498        Strengthen debug checks in KURL
48499
48500        Covered (and prompted) by existing tests.
48501
48502        * platform/KURL.cpp:
48503        (WebCore::checkEncodedString): Check that the first character of the URL is an allowed
48504        first scheme character, not just that it isn't a slash.
48505        (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case
48506        because of parsing being idempotent).
48507
48508        * page/SecurityOrigin.cpp:
48509        (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an
48510        empty security origin is created.
48511        (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert
48512        it - it is not guaranteed to be properly encoded.
48513
48514        * dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary
48515        string, it needs to be parsed into an URL, not just converted into one.
48516
48517        * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
48518        Create the security origin with createFromString() instead of create(). I do not know where
48519        the string comes from and whether it might not be properly encoded, but this change can't
48520        hurt, and makes the code slightly more clear.
48521
48522        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security
48523        origin with createFromString() instead of create(). The string comes from an HTTP response
48524        header, so it may not be a properly encoded URL.
48525
48526        * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using
48527        invalid URLs.
48528
48529        * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call
48530        SecurityOrigin::createFromString() (no change in behavior).
48531
485322009-01-25  Mark Rowe  <mrowe@apple.com>
48533
48534        Rubber-stamped by Dan Bernstein.
48535
48536        Improve the consistency of settings in our .xcconfig files.
48537
48538        * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects,
48539        and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
48540
485412009-01-25  David Hyatt  <hyatt@apple.com>
48542
48543        Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
48544
48545        The new table code created a bug involving  markAllDescendantsWithFloatsForLayout, namely that it could
48546        end up marking ancestors of a block as needing layout when that block was still in the process of
48547        doing a layout.
48548
48549        The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
48550        we are "mid-layout."  If this flag is set, then the method will make sure to do only local dirtying
48551        of objects to avoid accidentally marking a clean ancestor as needing layout again.
48552
48553        Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
48554        with a check of whether or not we are mid-layout being done by those methods instead.
48555
48556        Reviewed by Oliver Hunt
48557
48558        Added fast/repaint/dynamic-table-vertical-alignment-change.html
48559
48560        * rendering/RenderBlock.cpp:
48561        (WebCore::RenderBlock::collapseMargins):
48562        (WebCore::RenderBlock::clearFloatsIfNeeded):
48563        (WebCore::RenderBlock::layoutBlockChildren):
48564        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
48565        * rendering/RenderBlock.h:
48566        * rendering/RenderObject.cpp:
48567        (WebCore::RenderObject::removeFromObjectLists):
48568        * rendering/RenderObject.h:
48569        * rendering/RenderTableSection.cpp:
48570        (WebCore::RenderTableSection::layoutRows):
48571
485722009-01-25  Darin Adler  <darin@apple.com>
48573
48574        Reviewed by Mark Rowe.
48575
48576        Bug 23352: Turn on more compiler warnings in the Mac build
48577        https://bugs.webkit.org/show_bug.cgi?id=23352
48578
48579        Turn on the following warnings:
48580
48581            -Wcast-qual
48582            -Wextra-tokens
48583            -Wformat=2
48584            -Winit-self
48585            -Wmissing-noreturn
48586            -Wpacked
48587            -Wrendundant-decls
48588
48589        * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of
48590        -W for clarity since we don't have to support the older versions of gcc that require the
48591        old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed
48592        -Wno-format-y2k since we can have that one on now.
48593
485942009-01-25  Dan Bernstein  <mitz@apple.com>
48595
48596        Reviewed by Oliver Hunt.
48597
48598        - fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in
48599          string hashing code when opening a Digg RSS article
48600
48601        Test: fast/loader/null-request-after-willSendRequest.html
48602
48603        * loader/FrameLoader.cpp:
48604        (WebCore::FrameLoader::loadItem): Null-check the request returned from
48605        the client's willSendRequest method.
48606
486072009-01-25  David Hyatt  <hyatt@apple.com>
48608
48609        Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
48610        instead of the ancestor overflow (23525)
48611
48612        Make sure that we always call scroll() on the nearest enclosing RenderBox.  No test case is possible
48613        here, since wheel scrolling is currently untestable (the offset varies from machine to machine).
48614
48615        Reviewed by Dan Bernstein
48616
48617        * page/EventHandler.cpp:
48618        (WebCore::scrollAndAcceptEvent):
48619        (WebCore::EventHandler::scrollOverflow):
48620        * rendering/RenderObject.cpp:
48621        (WebCore::RenderObject::enclosingBox):
48622        * rendering/RenderObject.h:
48623
486242009-01-25  Darin Adler  <darin@apple.com>
48625
48626        Reviewed by Dan Bernstein.
48627
48628        Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
48629        https://bugs.webkit.org/show_bug.cgi?id=23538
48630        rdar://problem/6523719
48631
48632        I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.
48633
48634        The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
48635        the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
48636        than doing fallback.
48637
48638        * rendering/RenderPartObject.cpp:
48639        (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an
48640        inelegant if statement.
48641        (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo.
48642        (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check.
48643        (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to
48644        return a string than an "out" parameter.  Fixed the logic to only prefer the ActiveX type over the
48645        type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed
48646        there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many
48647        other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the
48648        new havePlugin function so we handle the case where pluginData is 0.
48649        (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId
48650        instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in
48651        that knows how to handle <object> elements.
48652        (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that
48653        use this data still need to be called; they still do something even if no plug-ins are present. And
48654        they have now been corrected to handle 0 properly.
48655
486562009-01-25  Darin Adler  <darin@apple.com>
48657
48658        * rendering/RenderMenuList.cpp: Fix build by adding back needed include.
48659
486602009-01-25  Darin Adler  <darin@apple.com>
48661
48662        Reviewed by Sam Weinig.
48663
48664        Bug 23352: Turn on more compiler warnings in the Mac build
48665        https://bugs.webkit.org/show_bug.cgi?id=23352
48666
48667        Fourth patch: Deal with the last few stray warnings.
48668
48669        * rendering/RenderBlock.cpp:
48670        (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better.
48671        Also make the local variable be a RenderBlock so the cast is closer to the code
48672        that guarantees it's correct.
48673
48674        * rendering/SVGRenderTreeAsText.cpp:
48675        (WebCore::writeStyle): Put the enum into a local variable that's a built-in
48676        type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
48677
486782009-01-25  Darin Adler  <darin@apple.com>
48679
48680        Reviewed by Sam Weinig.
48681
48682        Bug 23522: use checked casts for render tree
48683        https://bugs.webkit.org/show_bug.cgi?id=23522
48684
48685        Step one: RenderText.
48686
48687        Also change set of RenderFlow* to be a ListHashSet as the comment in the
48688        header indicated.
48689
48690        * dom/CharacterData.cpp:
48691        (WebCore::CharacterData::setData): Use toRenderText.
48692        (WebCore::CharacterData::appendData): Ditto.
48693        (WebCore::CharacterData::insertData): Ditto.
48694        (WebCore::CharacterData::deleteData): Ditto.
48695        (WebCore::CharacterData::replaceData): Ditto.
48696        * dom/ContainerNode.cpp:
48697        (WebCore::ContainerNode::getUpperLeftCorner): Ditto.
48698        (WebCore::ContainerNode::getLowerRightCorner): Ditto.
48699        * dom/Position.cpp:
48700        (WebCore::nextRenderedEditable): Ditto.
48701        (WebCore::previousRenderedEditable): Ditto.
48702        (WebCore::Position::renderedOffset): Ditto. Also use function members
48703        instead of data members of InlineTextBox.
48704        (WebCore::Position::upstream): Ditto.
48705        (WebCore::Position::downstream): Ditto.
48706        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto.
48707        (WebCore::Position::inRenderedText): Ditto.
48708        (WebCore::Position::isRenderedCharacter): Ditto.
48709        (WebCore::searchAheadForBetterMatch): Ditto.
48710        (WebCore::Position::getInlineBoxAndOffset): Ditto.
48711
48712        * dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer
48713        included in RenderObject.h.
48714
48715        * dom/Text.cpp:
48716        (WebCore::Text::splitText): Use toRenderText.
48717        (WebCore::Text::recalcStyle): Ditto.
48718        * editing/CompositeEditCommand.cpp:
48719        (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
48720        * editing/SelectionController.cpp:
48721        (WebCore::SelectionController::debugRenderer): Ditto.
48722        * editing/TextIterator.cpp:
48723        (WebCore::TextIterator::handleTextNode): Ditto.
48724        (WebCore::TextIterator::handleTextBox): Ditto.
48725        (WebCore::TextIterator::emitText): Ditto.
48726        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
48727
48728        * editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's
48729        no longer included in RenderObject.h.
48730        * inspector/InspectorController.cpp: Ditto.
48731        * page/Frame.cpp: Ditto.
48732        * rendering/RenderBox.cpp: Ditto.
48733        * rendering/RenderInline.cpp: Ditto.
48734        * rendering/RenderPath.cpp: Ditto.
48735        * rendering/RenderSVGContainer.cpp: Ditto.
48736        * rendering/RenderSVGImage.cpp: Ditto.
48737        * rendering/RenderSVGInlineText.cpp: Ditto.
48738        * rendering/RenderSVGTSpan.cpp: Ditto.
48739        * rendering/RenderSVGText.cpp: Ditto.
48740        * rendering/RenderSVGTextPath.cpp: Ditto.
48741        * rendering/RenderTableCell.cpp: Ditto.
48742        * rendering/RenderView.cpp: Ditto.
48743
48744        * editing/visible_units.cpp:
48745        (WebCore::startPositionForLine): Use function members instead of data
48746        members of InlineTextBox.
48747        (WebCore::endPositionForLine): Ditto.
48748        (WebCore::startOfParagraph): Use toRenderText.
48749        (WebCore::endOfParagraph): Ditto.
48750
48751        * page/AccessibilityRenderObject.cpp:
48752        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
48753        * rendering/InlineFlowBox.cpp:
48754        (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
48755        * rendering/InlineTextBox.cpp:
48756        (WebCore::InlineTextBox::deleteLine): Ditto.
48757        (WebCore::InlineTextBox::extractLine): Ditto.
48758        (WebCore::InlineTextBox::attachLine): Ditto.
48759        (WebCore::InlineTextBox::placeEllipsisBox): Ditto.
48760        (WebCore::InlineTextBox::paintDecoration): Ditto.
48761        (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
48762        (WebCore::InlineTextBox::offsetForPosition): Ditto.
48763        (WebCore::InlineTextBox::positionForOffset): Ditto.
48764
48765        * rendering/InlineTextBox.h: Made most members private. Use toRenderText.
48766
48767        * rendering/RenderArena.cpp:
48768        (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast.
48769        (WebCore::RenderArena::free): Ditto.
48770
48771        * rendering/RenderBlock.cpp:
48772        (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*>
48773        instead of RenderFlowSequencedSet.
48774        (WebCore::RenderBlock::paintContinuationOutlines): Ditto.
48775        (WebCore::stripTrailingSpace): Ditto.
48776        (WebCore::RenderBlock::calcInlinePrefWidths): Ditto.
48777        (WebCore::RenderBlock::updateFirstLetter): Ditto.
48778
48779        * rendering/RenderContainer.cpp:
48780        (WebCore::RenderContainer::addChild): Use toRenderText.
48781
48782        * rendering/RenderFlow.cpp:
48783        (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*>
48784        instead of RenderFlowSequencedSet.
48785        (WebCore::RenderFlow::paintLines): Ditto.
48786
48787        * rendering/RenderMenuList.cpp: Removed some unneeded includes.
48788
48789        * rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText.
48790        Made more members private.
48791
48792        * rendering/RenderObject.cpp: Updated includes.
48793        (WebCore::RenderObject::isEditable): Use toRenderText.
48794        (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to
48795        include VisiblePosition.h in the header just for this.
48796
48797        * rendering/RenderObject.h: Removed unneeded includes and forward declarations.
48798        Changed special vertical position values to be constants rather than an enum.
48799        Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
48800
48801        * rendering/RenderText.cpp:
48802        (WebCore::RenderText::findNextInlineTextBox): Use function members instead of
48803        data members of InlineTextBox.
48804        (WebCore::RenderText::positionForCoordinates): Ditto.
48805        (WebCore::isInlineFlowOrEmptyText): Use toRenderText.
48806        (WebCore::RenderText::previousCharacter): Use function members instead of
48807        data members of InlineTextBox.
48808        (WebCore::RenderText::position): Ditto.
48809        (WebCore::RenderText::caretMinOffset): Ditto.
48810        (WebCore::RenderText::caretMaxOffset): Ditto.
48811        (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
48812
48813        * rendering/RenderText.h: Added definition of toRenderText.
48814
48815        * rendering/RenderTextControl.cpp:
48816        (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
48817        * rendering/RenderTreeAsText.cpp:
48818        (WebCore::operator<<): Use toRenderText and toRenderBox.
48819        (WebCore::writeTextRun): Ditto.
48820        (WebCore::write): Ditto.
48821
48822        * rendering/bidi.cpp:
48823        (WebCore::InlineIterator::increment): Use toRenderText.
48824        (WebCore::InlineIterator::current): Ditto.
48825        (WebCore::checkMidpoints): Ditto.
48826        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
48827        (WebCore::RenderBlock::layoutInlineChildren): Ditto.
48828        (WebCore::RenderBlock::determineStartPosition): Ditto.
48829        (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto.
48830        (WebCore::RenderBlock::findNextLineBreak): Ditto.
48831
488322009-01-25  Thiago Macieira  <thiago.macieira@nokia.com>
48833
48834        Reviewed by Simon Hausmann.
48835
48836        Fix gcc compiler warning (deprecated conversion from constant string to char*)
48837
48838        "" cannot be stored in a char*
48839
48840        * plugins/PluginStream.cpp:
48841        (WebCore::PluginStream::destroyStream):
48842
488432009-01-24  Alexey Proskuryakov  <ap@webkit.org>
48844
48845        Reviewed by Darin Adler.
48846
48847        <rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)
48848
48849        Changed single argument KURL constructors back to always expect an already encoded string,
48850        eliminating extra conversions.
48851
48852        This is a rather unstable situation, as it is often unclear whether a given string is safe
48853        to convert to KURL without resolving. I think that going forward, the solution is to try to
48854        keep encoded URLs as KURL instances, and not as strings.
48855
48856        * platform/KURL.h: Updated comments.
48857
48858        * platform/KURL.cpp:
48859        (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The
48860        intention is to verify that it is already parsed and encoded by KURL or equivalent code, but
48861        since encoding is scheme-dependent, such a verification would be quite complicated.
48862        Don't encode the string as UTF-8, as it supposed to be ASCII-only.
48863        Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find
48864        any reason for it to exist, but I saw several cases where this code path was taken
48865        inadvertently (see examples in LayoutTests/ChangeLog).
48866        (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding
48867        is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing
48868        the old one), and an already encoded string is expected by parse().
48869        In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME.
48870        (WebCore::KURL::setHost): Ditto.
48871        (WebCore::KURL::setPort): Ditto.
48872        (WebCore::KURL::setHostAndPort): Ditto.
48873        (WebCore::KURL::setUser): Ditto.
48874        (WebCore::KURL::setPass): Ditto.
48875        (WebCore::KURL::setRef): Ditto.
48876        (WebCore::KURL::setQuery): Ditto.
48877        (WebCore::KURL::setPath): Ditto.
48878        (WebCore::KURL::parse): Verify that the passed string is already encoded.
48879
48880        * html/HTMLLinkElement.cpp:
48881        (WebCore::HTMLLinkElement::parseMappedAttribute):
48882        (WebCore::HTMLLinkElement::process):
48883        * html/HTMLLinkElement.h:
48884        Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see
48885        LayoutTests/ChangeLog).
48886
48887        * loader/FrameLoader.cpp:
48888        (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup.
48889        (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that
48890        String to KURL conversion requires the string to be already encoded.
48891
48892        * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin.
48893        HTML5 seems a little unclear on how this should work (it talks about "either parsing it as
48894        a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a
48895        security origin object), so I just made the code as close to what we already had as possible.
48896
488972009-01-24  Darin Adler  <darin@apple.com>
48898
48899        Try to fix Qt build.
48900
48901        * WebCore.pro: Added JSTextCustom.cpp.
48902
489032009-01-23  Chris Marrin  <cmarrin@apple.com>
48904
48905        Reviewed by David Hyatt.
48906
48907        https://bugs.webkit.org/show_bug.cgi?id=23467
48908
48909        Change styleAvailable functionality to be a linked list
48910        rather than scanning every CompositeAnimation for
48911        Animations that are waiting for styleAvailable. This has
48912        potential for large performance improvement in cases where
48913        there are many animations firing at once. But it will also
48914        help in my next fix, which is to synchronize software and
48915        accelerated animations.
48916
48917        I also changed slightly when the beginAnimationUpdate and
48918        endAnimationUpdate calls are made. But this has no real
48919        effect on performance or behavior.
48920
48921        * dom/Document.cpp:
48922        (WebCore::Document::recalcStyle):
48923        (WebCore::Document::updateRendering):
48924        * page/animation/AnimationBase.cpp:
48925        (WebCore::AnimationBase::AnimationBase):
48926        (WebCore::AnimationBase::~AnimationBase):
48927        (WebCore::AnimationBase::updateStateMachine):
48928        * page/animation/AnimationBase.h:
48929        (WebCore::AnimationBase::next):
48930        (WebCore::AnimationBase::setNext):
48931        (WebCore::AnimationBase::styleAvailable):
48932        * page/animation/AnimationController.cpp:
48933        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
48934        (WebCore::AnimationControllerPrivate::addToStyleAvailableWaitList):
48935        (WebCore::AnimationControllerPrivate::removeFromStyleAvailableWaitList):
48936        (WebCore::AnimationControllerPrivate::styleAvailable):
48937        (WebCore::AnimationController::AnimationController):
48938        (WebCore::AnimationController::endAnimationUpdate):
48939        (WebCore::AnimationController::addToStyleAvailableWaitList):
48940        (WebCore::AnimationController::removeFromStyleAvailableWaitList):
48941        * page/animation/AnimationController.h:
48942        * page/animation/CompositeAnimation.cpp:
48943        (WebCore::CompositeAnimationPrivate::addToStyleAvailableWaitList):
48944        (WebCore::CompositeAnimationPrivate::removeFromStyleAvailableWaitList):
48945        (WebCore::CompositeAnimation::addToStyleAvailableWaitList):
48946        (WebCore::CompositeAnimation::removeFromStyleAvailableWaitList):
48947        * page/animation/CompositeAnimation.h:
48948
489492009-01-24  Alexey Proskuryakov  <ap@webkit.org>
48950
48951        Reviewed by Darin Adler.
48952
48953        <rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch
48954
48955        Test: http/tests/xmlhttprequest/encode-request-url-2.html
48956
48957        * platform/KURL.cpp:
48958        (WebCore::appendASCII): Added a helper function.
48959        (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better
48960        specified behavior.
48961        (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte
48962        stream, but not yet transformed to ASCII-only using percent escapes. Since different parts
48963        of the byte stream can use different encodings, round-tripping is not possible.
48964        (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of
48965        this function convert the string to utf-8. I think that on the remanining code paths, it is
48966        correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a
48967        FIXME warning.
48968
489692009-01-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
48970
48971        Gtk build fix after r40170
48972
48973        * GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp
48974        and editing/RemoveNodeAttributeCommand.h
48975
489762009-01-23  Adam Treat  <adam.treat@torchmobile.com>
48977
48978        Fix the Qt build after r40205.
48979
48980        * WebCore.pro:
48981
489822009-01-23  Brady Eidson  <beidson@apple.com>
48983
48984        Reviewed by Darin Adler
48985
48986        In CachedPage, break off per-Frame pieces of data into a CachedFrame object.
48987
48988        * GNUmakefile.am:
48989        * WebCore.base.exp:
48990        * WebCore.pro:
48991        * WebCore.scons:
48992        * WebCore.vcproj/WebCore.vcproj:
48993        * WebCore.xcodeproj/project.pbxproj:
48994        * WebCoreSources.bkl:
48995
48996        * history/CachedFrame.cpp: Added.
48997        (WebCore::cachedFrameCounter):
48998        (WebCore::CachedFrame::CachedFrame):
48999        (WebCore::CachedFrame::~CachedFrame):
49000        (WebCore::CachedFrame::restore):
49001        (WebCore::CachedFrame::clear):
49002        (WebCore::CachedFrame::setCachedFramePlatformData):
49003        (WebCore::CachedFrame::cachedFramePlatformData):
49004        * history/CachedFrame.h: Added.
49005        (WebCore::CachedFrame::document):
49006        (WebCore::CachedFrame::documentLoader):
49007        (WebCore::CachedFrame::view):
49008        (WebCore::CachedFrame::mousePressNode):
49009        (WebCore::CachedFrame::url):
49010        (WebCore::CachedFrame::domWindow):
49011
49012        * history/CachedPage.cpp:
49013        (WebCore::CachedPage::CachedPage):
49014        (WebCore::CachedPage::restore):
49015        (WebCore::CachedPage::clear):
49016        (WebCore::CachedPage::setCachedFramePlatformData):
49017        (WebCore::CachedPage::cachedFramePlatformData):
49018        * history/CachedPage.h:
49019        (WebCore::CachedPage::document):
49020        (WebCore::CachedPage::documentLoader):
49021        (WebCore::CachedPage::view):
49022        (WebCore::CachedPage::mousePressNode):
49023        (WebCore::CachedPage::url):
49024        (WebCore::CachedPage::domWindow):
49025
49026        * loader/FrameLoader.cpp:
49027        (WebCore::FrameLoader::cachePageForHistoryItem): Setting the DocumentLoader independently of
49028          creating a CachedPage was a historical relic.  Take the opportunity to clean that up.
49029
490302009-01-23  David Hyatt  <hyatt@apple.com>
49031
49032        Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow.  Fix up all the places
49033        that triggered the ASSERT (since all of these places are effectively regressions from my landing that
49034        devirtualized width()/height()).
49035
49036        Reviewed by Adele
49037
49038        * dom/Position.cpp:
49039        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
49040        * editing/DeleteButtonController.cpp:
49041        (WebCore::isDeletableElement):
49042        * html/HTMLAnchorElement.cpp:
49043        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
49044        * rendering/RenderBox.cpp:
49045        (WebCore::RenderBox::clientWidth):
49046        (WebCore::RenderBox::clientHeight):
49047        (WebCore::RenderBox::scrollWidth):
49048        (WebCore::RenderBox::scrollHeight):
49049        (WebCore::RenderBox::absoluteOutlineBounds):
49050        * rendering/RenderBox.h:
49051        (WebCore::RenderBox::width):
49052        (WebCore::RenderBox::height):
49053        (WebCore::RenderBox::size):
49054        (WebCore::RenderBox::frameRect):
49055        (WebCore::RenderBox::borderBoundingBox):
49056        * rendering/RenderFlow.h:
49057        (WebCore::RenderFlow::borderBoundingBox):
49058        * rendering/RenderLayer.cpp:
49059        (WebCore::RenderLayer::updateLayerPosition):
49060        * rendering/RenderScrollbarPart.cpp:
49061        (WebCore::RenderScrollbarPart::styleWillChange):
49062        * rendering/RenderScrollbarPart.h:
49063        * wml/WMLAElement.cpp:
49064        (WebCore::WMLAElement::isKeyboardFocusable):
49065
490662009-01-23  Darin Adler  <darin@apple.com>
49067
49068        Reviewed by Anders Carlsson.
49069
49070        Bug 23352: Turn on more compiler warnings in the Mac build
49071        https://bugs.webkit.org/show_bug.cgi?id=23352
49072
49073        Second patch: Slightly less simple cases of various warnings.
49074
49075        * bridge/jni/jni_runtime.h:
49076        (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting
49077        away const.
49078
49079        * dom/XMLTokenizerLibxml2.cpp:
49080        (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of
49081        reinterpret_cast; this is casting the result of malloc, and the idiom is to use
49082        static_cast, which works because we're casting from void*.
49083        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead
49084        C-style casts.
49085
49086        * xml/XSLTUnicodeSort.cpp:
49087        (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro
49088        instead of redefining the function.
49089
490902009-01-23  Darin Adler  <darin@apple.com>
49091
49092        Reviewed by Anders Carlsson.
49093
49094        Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
49095        https://bugs.webkit.org/show_bug.cgi?id=23475
49096
49097        * editing/TextIterator.cpp:
49098        (WebCore::SearchBuffer::search): Set the character start flag to false to
49099        ensure we won't ever return the same result twice. There are other ways we
49100        could accomplish this, mentioned in the comment, but this one was the smallest
49101        and cleanest I could think of.
49102
491032009-01-23  Darin Adler  <darin@apple.com>
49104
49105        Reviewed by Anders Carlsson.
49106
49107        Bug 23510: REGRESSION (r40171): CDATASection objects not getting proper JavaScript wrappers
49108        https://bugs.webkit.org/show_bug.cgi?id=23510
49109
49110        That patch fixed the optimization that's supposed to give a faster path for
49111        allocating the wrappers for DOM Text objects. But CDATASection is the one
49112        subclass of Text objects.
49113
49114        * GNUmakefile.am: Added JSCDATASectionCustom.cpp.
49115        * WebCore.scons: Ditto.
49116        * WebCore.vcproj/WebCore.vcproj: Ditto.
49117        * WebCore.xcodeproj/project.pbxproj: Ditto.
49118        * WebCoreSources.bkl: Ditto.
49119
49120        * bindings/js/JSCDATASectionCustom.cpp: Copied from bindings/js/JSTextCustom.cpp.
49121        (WebCore::toJSNewlyCreated): Changed to do CDATASection, not Text.
49122
49123        * bindings/scripts/CodeGeneratorJS.pm: Added another toJSNewlyCreated function
49124        for CDATASection. We don't want to have to check when creating a wrapper for a
49125        Text object whether it's a CDATASection object or not, so we need to do this overload
49126        at compile time.
49127
491282009-01-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
49129
49130        Reviewed by Eric Seidel.
49131
49132        Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well).
49133        WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent).
49134
49135        WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class.
49136        Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits
49137        from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared
49138        base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into
49139        another base class, just like FormControlElement.
49140
49141        Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for
49142        HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState
49143        objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements.
49144
49145        Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h
49146        Add new virtual function isFormControlElementWithState() to Element.h.
49147
49148        * GNUmakefile.am:
49149        * WebCore.order:
49150        * WebCore.pro:
49151        * WebCore.scons:
49152        * WebCore.vcproj/WebCore.vcproj:
49153        * WebCore.xcodeproj/project.pbxproj:
49154        * WebCoreSources.bkl:
49155        * dom/Document.cpp:
49156        (WebCore::Document::formElementsState):
49157        * dom/Document.h:
49158        (WebCore::Document::registerFormElementWithState):
49159        (WebCore::Document::unregisterFormElementWithState):
49160        * dom/Element.h:
49161        (WebCore::Element::isFormControlElement):
49162        (WebCore::Element::isFormControlElementWithState):
49163        * dom/FormControlElement.cpp:
49164        (WebCore::toFormControlElement):
49165        * dom/FormControlElement.h:
49166        * dom/FormControlElementWithState.cpp: Added.
49167        (WebCore::FormControlElementWithState::registerFormControlElementWithState):
49168        (WebCore::FormControlElementWithState::unregisterFormControlElementWithState):
49169        (WebCore::FormControlElementWithState::finishParsingChildren):
49170        (WebCore::toFormControlElementWithState):
49171        * dom/FormControlElementWithState.h: Added.
49172        (WebCore::FormControlElementWithState::~FormControlElementWithState):
49173        (WebCore::FormControlElementWithState::FormControlElementWithState):
49174        * html/HTMLElement.h:
49175        * html/HTMLFormControlElement.cpp:
49176        (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
49177        (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
49178        (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
49179        (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
49180        * html/HTMLFormControlElement.h:
49181        (WebCore::HTMLFormControlElement::isFormControlElement):
49182        (WebCore::HTMLFormControlElementWithState::isFormControlElementWithState):
49183        (WebCore::HTMLFormControlElementWithState::toFormControlElement):
49184        * html/HTMLFormElement.cpp:
49185        (WebCore::HTMLFormElement::formElementIndex):
49186        * html/HTMLLabelElement.cpp:
49187        (WebCore::HTMLLabelElement::correspondingControl):
49188        * html/HTMLLegendElement.cpp:
49189        (WebCore::HTMLLegendElement::formElement):
49190        * page/Frame.cpp:
49191        (WebCore::Frame::searchForLabelsBeforeElement):
49192        (WebCore::scanForForm):
49193        (WebCore::Frame::currentForm):
49194        * page/mac/FrameMac.mm:
49195        (WebCore::Frame::searchForLabelsBeforeElement):
49196        * wml/WMLCardElement.cpp:
49197        (WebCore::WMLCardElement::WMLCardElement):
49198        (WebCore::WMLCardElement::parseMappedAttribute):
49199        (WebCore::WMLCardElement::insertedIntoDocument):
49200        * wml/WMLCardElement.h:
49201        * wml/WMLDoElement.cpp:
49202        (WebCore::WMLDoElement::insertedIntoDocument):
49203        * wml/WMLElement.h:
49204        (WebCore::WMLElement::isWMLElement):
49205        * wml/WMLEventHandlingElement.cpp:
49206        (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
49207        (WebCore::WMLEventHandlingElement::registerDoElement):
49208        (WebCore::toWMLEventHandlingElement):
49209        * wml/WMLEventHandlingElement.h:
49210        * wml/WMLFormControlElement.cpp: Added.
49211        (WebCore::WMLFormControlElement::WMLFormControlElement):
49212        (WebCore::WMLFormControlElement::~WMLFormControlElement):
49213        (WebCore::WMLFormControlElementWithState::WMLFormControlElementWithState):
49214        (WebCore::WMLFormControlElementWithState::~WMLFormControlElementWithState):
49215        * wml/WMLFormControlElement.h: Added.
49216        (WebCore::WMLFormControlElement::isFormControlElement):
49217        (WebCore::WMLFormControlElement::valueMatchesRenderer):
49218        (WebCore::WMLFormControlElement::setValueMatchesRenderer):
49219        (WebCore::WMLFormControlElement::name):
49220        (WebCore::WMLFormControlElementWithState::isFormControlElementWithState):
49221        (WebCore::WMLFormControlElementWithState::toFormControlElement):
49222        * wml/WMLInputElement.cpp:
49223        (WebCore::WMLInputElement::WMLInputElement):
49224        (WebCore::WMLInputElement::type):
49225        * wml/WMLInputElement.h:
49226        * wml/WMLOnEventElement.cpp:
49227        (WebCore::WMLOnEventElement::registerTask):
49228        * wml/WMLOptGroupElement.cpp:
49229        (WebCore::WMLOptGroupElement::WMLOptGroupElement):
49230        (WebCore::WMLOptGroupElement::type):
49231        * wml/WMLOptGroupElement.h:
49232        * wml/WMLOptionElement.cpp:
49233        (WebCore::WMLOptionElement::WMLOptionElement):
49234        (WebCore::WMLOptionElement::type):
49235        * wml/WMLOptionElement.h:
49236        * wml/WMLTemplateElement.cpp:
49237        (WebCore::WMLTemplateElement::WMLTemplateElement):
49238        (WebCore::WMLTemplateElement::parseMappedAttribute):
49239        * wml/WMLTemplateElement.h:
49240
492412009-01-23  Chris Fleizach  <cfleizach@apple.com>
49242
49243        Reviewed by Darin Adler.
49244
49245        Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
49246        https://bugs.webkit.org/show_bug.cgi?id=23509
49247
49248        Add null checking in makeRange instead of AX code
49249
49250        * editing/VisiblePosition.cpp:
49251        (WebCore::makeRange):
49252        * page/AccessibilityObject.cpp:
49253        (WebCore::AccessibilityObject::nextSentenceEndPosition):
49254        (WebCore::AccessibilityObject::previousSentenceStartPosition):
49255
492562009-01-23  Adam Treat  <adam.treat@torchmobile.com>
49257
49258        Fix the Gtk build too after removal of RenderBox::toConstRenderBox
49259
49260        * platform/gtk/RenderThemeGtk.cpp:
49261        (WebCore::RenderThemeGtk::baselinePosition):
49262
492632009-01-23  Adam Treat  <adam.treat@torchmobile.com>
49264
49265        Fix the Qt build after rename of RenderBox::toConstRenderBox -> toRenderBox
49266
49267        * platform/qt/RenderThemeQt.cpp:
49268        (WebCore::RenderThemeQt::baselinePosition):
49269
492702009-01-23  Adam Treat  <adam.treat@torchmobile.com>
49271
49272        Fix the Qt build after r40168.
49273
49274        * WebCore.pro:
49275
492762009-01-23  Brady Eidson  <beidson@apple.com>
49277
49278        Rubberstamped by Darin Adler
49279
49280        Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
49281
49282        * GNUmakefile.am:
49283        * WebCore.base.exp:
49284        * WebCore.order:
49285        * WebCore.xcodeproj/project.pbxproj:
49286
49287        * history/CachedFramePlatformData.h: Copied from WebCore/history/CachedPagePlatformData.h.
49288        (WebCore::CachedFramePlatformData::~CachedFramePlatformData):
49289        * history/CachedPagePlatformData.h: Removed.
49290
49291        * history/CachedPage.cpp:
49292        (WebCore::CachedPage::clear):
49293        (WebCore::CachedPage::setCachedFramePlatformData):
49294        (WebCore::CachedPage::cachedFramePlatformData):
49295        * history/CachedPage.h:
49296
492972009-01-23  Kevin Watters  <kevinwatters@gmail.com>
49298
49299        Reviewed by Kevin Ollivier.
49300
49301        Fix drawing in situations where sub-portions of the bitmap are to be
49302        drawn to the screen.
49303
49304        * platform/graphics/wx/ImageWx.cpp:
49305        (WebCore::BitmapImage::draw):
49306
493072009-01-23  Kevin Ollivier  <kevino@theolliviers.com>
49308
49309        Build fixes for recent changes.
49310
49311        * WebCoreSources.bkl:
49312        * plugins/PluginView.cpp:
49313        (WebCore::PluginView::invalidateWindowlessPluginRect):
49314
493152009-01-23  Eric Carlson  <eric.carlson@apple.com>
49316
49317        Reviewed by Adele Peterson
49318
49319        Fix for https://bugs.webkit.org/show_bug.cgi?id=23407
49320
49321        Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element
49322        is never hidden (as with an <audio> element).
49323
49324        Test: media/video-controls-visible-audio-only.html
49325
49326        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
49327        (WebCore::MediaPlayerPrivate::hasVideo):
49328        * platform/graphics/win/QTMovieWin.cpp:
49329        (QTMovieWin::hasVideo):
49330        * platform/graphics/win/QTMovieWin.h:
49331
493322009-01-23  David Hyatt  <hyatt@apple.com>
49333
49334        Make toRenderBox a non-member function.  Rename toConstRenderBox to just also be called toRenderBox.
49335
49336        Reviewed by Oliver Hunt
49337
49338        * css/CSSComputedStyleDeclaration.cpp:
49339        (WebCore::sizingBox):
49340        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
49341        * dom/ContainerNode.cpp:
49342        (WebCore::ContainerNode::getUpperLeftCorner):
49343        (WebCore::ContainerNode::getLowerRightCorner):
49344        * dom/Element.cpp:
49345        (WebCore::Element::scrollByUnits):
49346        * dom/Position.cpp:
49347        (WebCore::endsOfNodeAreVisuallyDistinctPositions):
49348        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
49349        (WebCore::Position::isCandidate):
49350        * editing/DeleteButtonController.cpp:
49351        (WebCore::isDeletableElement):
49352        * editing/EditorCommand.cpp:
49353        (WebCore::verticalScrollDistance):
49354        * editing/TextIterator.cpp:
49355        (WebCore::shouldEmitExtraNewlineForNode):
49356        * html/HTMLAnchorElement.cpp:
49357        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
49358        * html/HTMLFormControlElement.cpp:
49359        (WebCore::HTMLFormControlElement::isFocusable):
49360        * html/HTMLFrameElementBase.cpp:
49361        (WebCore::HTMLFrameElementBase::width):
49362        (WebCore::HTMLFrameElementBase::height):
49363        * page/AccessibilityRenderObject.cpp:
49364        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
49365        * page/EventHandler.cpp:
49366        (WebCore::EventHandler::handleMouseDraggedEvent):
49367        (WebCore::EventHandler::autoscrollTimerFired):
49368        (WebCore::EventHandler::updateAutoscrollRenderer):
49369        (WebCore::EventHandler::stopAutoscrollTimer):
49370        (WebCore::EventHandler::scrollOverflow):
49371        * page/FrameView.cpp:
49372        (WebCore::FrameView::layout):
49373        * page/animation/AnimationBase.cpp:
49374        (WebCore::blendFunc):
49375        * rendering/InlineBox.cpp:
49376        (WebCore::InlineBox::adjustPosition):
49377        * rendering/InlineBox.h:
49378        (WebCore::InlineBox::renderBox):
49379        * rendering/RenderBlock.cpp:
49380        (WebCore::RenderBlock::clearFloats):
49381        * rendering/RenderBox.cpp:
49382        (WebCore::RenderBox::offsetFromContainer):
49383        (WebCore::RenderBox::computeAbsoluteRepaintRect):
49384        (WebCore::RenderBox::containingBlockWidthForPositioned):
49385        (WebCore::RenderBox::containingBlockHeightForPositioned):
49386        (WebCore::RenderBox::calcAbsoluteHorizontal):
49387        (WebCore::RenderBox::calcAbsoluteVertical):
49388        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
49389        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
49390        * rendering/RenderBox.h:
49391        (WebCore::toRenderBox):
49392        (WebCore::RenderBox::previousSiblingBox):
49393        (WebCore::RenderBox::nextSiblingBox):
49394        (WebCore::RenderBox::parentBox):
49395        * rendering/RenderFlow.cpp:
49396        (WebCore::RenderFlow::absoluteClippedOverflowRect):
49397        * rendering/RenderLayer.cpp:
49398        (WebCore::RenderLayer::updateLayerPosition):
49399        (WebCore::RenderLayer::resize):
49400        (WebCore::RenderLayer::boundingBox):
49401        * rendering/RenderObject.cpp:
49402        (WebCore::addLayers):
49403        (WebCore::RenderObject::removeLayers):
49404        (WebCore::RenderObject::moveLayers):
49405        (WebCore::RenderObject::findNextLayer):
49406        (WebCore::RenderObject::enclosingLayer):
49407        (WebCore::RenderObject::setNeedsLayout):
49408        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
49409        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
49410        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
49411        (WebCore::RenderObject::computeAbsoluteRepaintRect):
49412        (WebCore::RenderObject::localToAbsolute):
49413        (WebCore::RenderObject::absoluteToLocal):
49414        (WebCore::RenderObject::localToAbsoluteQuad):
49415        (WebCore::RenderObject::offsetFromContainer):
49416        (WebCore::RenderObject::removeFromObjectLists):
49417        (WebCore::RenderObject::destroy):
49418        (WebCore::RenderObject::updateHitTestResult):
49419        (WebCore::RenderObject::addDashboardRegions):
49420        * rendering/RenderTableSection.cpp:
49421        (WebCore::RenderTableSection::layoutRows):
49422        * rendering/RenderTheme.cpp:
49423        (WebCore::RenderTheme::hitTestMediaControlPart):
49424        (WebCore::RenderTheme::baselinePosition):
49425        * rendering/RenderThemeMac.mm:
49426        (WebCore::RenderThemeMac::hitTestMediaControlPart):
49427        * rendering/RenderTreeAsText.cpp:
49428        (WebCore::externalRepresentation):
49429        * rendering/bidi.cpp:
49430        (WebCore::inlineWidth):
49431        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
49432        (WebCore::requiresLineBox):
49433        (WebCore::RenderBlock::findNextLineBreak):
49434        * svg/SVGLength.cpp:
49435        (WebCore::SVGLength::PercentageOfViewport):
49436        * wml/WMLAElement.cpp:
49437        (WebCore::WMLAElement::isKeyboardFocusable):
49438        * wml/WMLInputElement.cpp:
49439        (WebCore::isInputFocusable):
49440
494412009-01-23  Chris Fleizach  <cfleizach@apple.com>
49442
49443        Reviewed by Beth Dakin.
49444
49445        Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
49446        https://bugs.webkit.org/show_bug.cgi?id=23509
49447
49448        Add null checking around next/previous sentence retrieval in AX code
49449
49450        * page/AccessibilityObject.cpp:
49451        (WebCore::AccessibilityObject::nextSentenceEndPosition):
49452        (WebCore::AccessibilityObject::previousSentenceStartPosition):
49453
494542009-01-23  David Hyatt  <hyatt@apple.com>
49455
49456        Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites
49457
49458        Inline flow repainting was broken because it relied on width() and height().  Give RenderFlow a linesBoundingBox
49459        method for obtaining a reasonable bounding box to use for repainting.  Eliminate the methods from RenderInline
49460        since compacts/run-ins need them too, so putting them on RenderFlow is necessary.
49461
49462        For consistency, change RenderText's version of these methods into the single linesBoundingBox method as
49463        well.
49464
49465        Reviewed by Oliver Hunt
49466
49467        * WebCore.base.exp:
49468        * dom/ContainerNode.cpp:
49469        (WebCore::ContainerNode::getUpperLeftCorner):
49470        (WebCore::ContainerNode::getLowerRightCorner):
49471        * dom/Position.cpp:
49472        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
49473        * rendering/RenderBox.cpp:
49474        (WebCore::RenderBox::containingBlockHeightForPositioned):
49475        * rendering/RenderFlow.cpp:
49476        (WebCore::RenderFlow::absoluteClippedOverflowRect):
49477        (WebCore::RenderFlow::linesBoundingBox):
49478        * rendering/RenderFlow.h:
49479        * rendering/RenderInline.cpp:
49480        * rendering/RenderInline.h:
49481        (WebCore::RenderInline::offsetWidth):
49482        (WebCore::RenderInline::offsetHeight):
49483        * rendering/RenderLayer.cpp:
49484        (WebCore::RenderLayer::updateLayerPosition):
49485        * rendering/RenderText.cpp:
49486        (WebCore::RenderText::linesBoundingBox):
49487        * rendering/RenderText.h:
49488        * rendering/RenderTreeAsText.cpp:
49489        (WebCore::operator<<):
49490        * rendering/SVGRenderTreeAsText.cpp:
49491        (WebCore::write):
49492
494932009-01-23  David Hyatt  <hyatt@apple.com>
49494
49495        Move layer() into RenderBox and make it non-virtual.  Move all of the scrolling functions from RenderObject
49496        to RenderBox and devirtualize as many as possible.  Clean up styleWillChange to factor code specific to
49497        RenderBox and RenderBlock into their appropriate subclasses.  Stubbed out an empty styleWillChange on
49498        RenderText, since none of the work done in styleWillChange was relevant to text nodes.
49499
49500        Reviewed by Sam Weinig
49501
49502        * dom/Document.cpp:
49503        (WebCore::Document::elementFromPoint):
49504        (WebCore::Document::renderView):
49505        (WebCore::Document::prepareMouseEvent):
49506        * dom/Document.h:
49507        * dom/Element.cpp:
49508        (WebCore::Element::scrollByUnits):
49509        * editing/SelectionController.cpp:
49510        (WebCore::SelectionController::contains):
49511        * html/HTMLMarqueeElement.cpp:
49512        (WebCore::HTMLMarqueeElement::start):
49513        (WebCore::HTMLMarqueeElement::stop):
49514        * page/AccessibilityRenderObject.cpp:
49515        (WebCore::AccessibilityRenderObject::topRenderer):
49516        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
49517        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
49518        * page/AccessibilityRenderObject.h:
49519        * page/EventHandler.cpp:
49520        (WebCore::scrollAndAcceptEvent):
49521        (WebCore::EventHandler::handleMousePressEvent):
49522        (WebCore::EventHandler::handleMouseDraggedEvent):
49523        (WebCore::EventHandler::updateSelectionForMouseDrag):
49524        (WebCore::EventHandler::autoscrollTimerFired):
49525        (WebCore::EventHandler::updateAutoscrollRenderer):
49526        (WebCore::EventHandler::stopAutoscrollTimer):
49527        (WebCore::EventHandler::scrollOverflow):
49528        (WebCore::EventHandler::handleWheelEvent):
49529        (WebCore::EventHandler::hoverTimerFired):
49530        * page/Frame.cpp:
49531        (WebCore::Frame::clearTimers):
49532        * rendering/RenderBlock.cpp:
49533        (WebCore::RenderBlock::styleWillChange):
49534        * rendering/RenderBlock.h:
49535        * rendering/RenderBox.cpp:
49536        (WebCore::RenderBox::styleWillChange):
49537        (WebCore::RenderBox::verticalScrollbarWidth):
49538        (WebCore::RenderBox::horizontalScrollbarHeight):
49539        (WebCore::RenderBox::scroll):
49540        (WebCore::RenderBox::canBeProgramaticallyScrolled):
49541        (WebCore::RenderBox::autoscroll):
49542        (WebCore::RenderBox::panScroll):
49543        (WebCore::RenderBox::offsetFromContainer):
49544        (WebCore::RenderBox::computeAbsoluteRepaintRect):
49545        * rendering/RenderBox.h:
49546        (WebCore::RenderBox::layer):
49547        (WebCore::RenderBox::requiresLayer):
49548        (WebCore::RenderBox::stopAutoscroll):
49549        (WebCore::RenderBox::hasAutoVerticalScrollbar):
49550        (WebCore::RenderBox::hasAutoHorizontalScrollbar):
49551        (WebCore::RenderBox::scrollsOverflow):
49552        (WebCore::RenderBox::scrollsOverflowX):
49553        (WebCore::RenderBox::scrollsOverflowY):
49554        (WebCore::RenderBox::includeVerticalScrollbarSize):
49555        (WebCore::RenderBox::includeHorizontalScrollbarSize):
49556        * rendering/RenderFlow.cpp:
49557        (WebCore::RenderFlow::absoluteClippedOverflowRect):
49558        (WebCore::RenderFlow::addFocusRingRects):
49559        * rendering/RenderForeignObject.cpp:
49560        * rendering/RenderForeignObject.h:
49561        (WebCore::RenderForeignObject::requiresLayer):
49562        * rendering/RenderInline.cpp:
49563        * rendering/RenderInline.h:
49564        (WebCore::RenderInline::requiresLayer):
49565        * rendering/RenderLayer.cpp:
49566        (WebCore::RenderLayer::childrenClipRect):
49567        (WebCore::RenderLayer::selfClipRect):
49568        * rendering/RenderListBox.cpp:
49569        * rendering/RenderListBox.h:
49570        * rendering/RenderObject.cpp:
49571        (WebCore::addLayers):
49572        (WebCore::RenderObject::removeLayers):
49573        (WebCore::RenderObject::moveLayers):
49574        (WebCore::RenderObject::findNextLayer):
49575        (WebCore::RenderObject::enclosingLayer):
49576        (WebCore::RenderObject::setNeedsLayout):
49577        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
49578        (WebCore::RenderObject::computeAbsoluteRepaintRect):
49579        (WebCore::RenderObject::styleWillChange):
49580        (WebCore::RenderObject::localToAbsolute):
49581        (WebCore::RenderObject::absoluteToLocal):
49582        (WebCore::RenderObject::localToAbsoluteQuad):
49583        (WebCore::RenderObject::offsetFromContainer):
49584        (WebCore::RenderObject::destroy):
49585        * rendering/RenderObject.h:
49586        * rendering/RenderPath.cpp:
49587        * rendering/RenderPath.h:
49588        (WebCore::RenderPath::requiresLayer):
49589        * rendering/RenderReplica.h:
49590        (WebCore::RenderReplica::requiresLayer):
49591        * rendering/RenderSVGContainer.cpp:
49592        * rendering/RenderSVGContainer.h:
49593        (WebCore::RenderSVGContainer::requiresLayer):
49594        * rendering/RenderSVGHiddenContainer.cpp:
49595        * rendering/RenderSVGHiddenContainer.h:
49596        (WebCore::RenderSVGHiddenContainer::requiresLayer):
49597        * rendering/RenderSVGImage.cpp:
49598        * rendering/RenderSVGImage.h:
49599        (WebCore::RenderSVGImage::requiresLayer):
49600        * rendering/RenderSVGInline.h:
49601        (WebCore::RenderSVGInline::requiresLayer):
49602        * rendering/RenderSVGInlineText.h:
49603        (WebCore::RenderSVGInlineText::requiresLayer):
49604        * rendering/RenderSVGText.cpp:
49605        * rendering/RenderSVGText.h:
49606        (WebCore::RenderSVGText::requiresLayer):
49607        * rendering/RenderScrollbarPart.h:
49608        (WebCore::RenderScrollbarPart::requiresLayer):
49609        * rendering/RenderSlider.cpp:
49610        (WebCore::RenderSlider::setCurrentPosition):
49611        * rendering/RenderTableCell.cpp:
49612        * rendering/RenderTableCell.h:
49613        (WebCore::RenderTableCell::requiresLayer):
49614        * rendering/RenderTableCol.h:
49615        (WebCore::RenderTableCol::requiresLayer):
49616        * rendering/RenderTableRow.h:
49617        (WebCore::RenderTableRow::requiresLayer):
49618        * rendering/RenderTableSection.cpp:
49619        (WebCore::RenderTableSection::layoutRows):
49620        * rendering/RenderText.h:
49621        (WebCore::RenderText::styleWillChange):
49622        * rendering/RenderTextControl.cpp:
49623        (WebCore::RenderTextControl::autoscroll):
49624        (WebCore::RenderTextControl::scroll):
49625        * rendering/RenderTextControl.h:
49626        * rendering/RenderTreeAsText.cpp:
49627        (WebCore::write):
49628        (WebCore::externalRepresentation):
49629
496302009-01-23  Anders Carlsson  <andersca@apple.com>
49631
49632        Fix tyop.
49633
49634        * editing/markup.cpp:
49635        (WebCore::joinMarkups):
49636
496372009-01-23  Anders Carlsson  <andersca@apple.com>
49638
49639        Reviewed by Darin Adler.
49640
49641        * Configurations/Base.xcconfig:
49642        Fix GCC 4.0 build.
49643
49644        * editing/markup.cpp:
49645        (WebCore::joinMarkups):
49646        Pass a const reference to the vector.
49647
49648        * html/HTMLElement.cpp:
49649        * platform/text/String.cpp:
49650        Add comments indicating that these functions are for use in the debugger.
49651
496522009-01-23  Anders Carlsson  <andersca@apple.com>
49653
49654        Reviewed by Sam Weinig.
49655
49656        Turn on -Wmissing-prototypes and fix the resulting warnings.
49657
49658        * Configurations/Base.xcconfig:
49659        * bindings/js/JSHistoryCustom.cpp:
49660        (WebCore::nonCachingStaticBackFunctionGetter):
49661        (WebCore::nonCachingStaticForwardFunctionGetter):
49662        (WebCore::nonCachingStaticGoFunctionGetter):
49663        * bindings/js/JSLocationCustom.cpp:
49664        (WebCore::nonCachingStaticReplaceFunctionGetter):
49665        (WebCore::nonCachingStaticReloadFunctionGetter):
49666        (WebCore::nonCachingStaticAssignFunctionGetter):
49667        (WebCore::JSLocation::customGetOwnPropertySlot):
49668        * bindings/objc/DOMRGBColor.mm:
49669        (WebCore::getWrapperForRGB):
49670        (WebCore::setWrapperForRGB):
49671        (WebCore::removeWrapperForRGB):
49672        * bindings/scripts/CodeGeneratorJS.pm:
49673        * bridge/c/c_instance.cpp:
49674        (JSC::Bindings::globalExceptionString):
49675        * bridge/runtime_object.cpp:
49676        (JSC::callRuntimeConstructor):
49677        * css/CSSParser.cpp:
49678        (WebCore::parseGradientColorStop):
49679        * css/CSSPrimitiveValue.cpp:
49680        (WebCore::scaleFactorForConversion):
49681        * css/CSSStyleSelector.cpp:
49682        (WebCore::operator >):
49683        (WebCore::operator <=):
49684        (WebCore::getTransformOperationType):
49685        * dom/make_names.pl:
49686        * editing/DeleteSelectionCommand.cpp:
49687        (WebCore::updatePositionForTextRemoval):
49688        * editing/EditorCommand.cpp:
49689        (WebCore::valueBackColor):
49690        (WebCore::valueFontName):
49691        (WebCore::valueFontSize):
49692        (WebCore::valueFontSizeDelta):
49693        (WebCore::valueForeColor):
49694        * editing/VisiblePosition.cpp:
49695        (WebCore::canonicalizeCandidate):
49696        * editing/htmlediting.cpp:
49697        * editing/markup.cpp:
49698        (WebCore::joinMarkups):
49699        * html/HTMLElement.cpp:
49700        (WebCore::inlineTagList):
49701        (WebCore::blockTagList):
49702        * html/HTMLMediaElement.cpp:
49703        (WebCore::serializeTimeOffset):
49704        (WebCore::parseTimeOffset):
49705        * page/mac/FrameMac.mm:
49706        (WebCore::regExpForLabels):
49707        * platform/Arena.cpp:
49708        * platform/graphics/Color.cpp:
49709        (WebCore::colorFloatToRGBAByte):
49710        * platform/graphics/cg/ImageSourceCG.cpp:
49711        (WebCore::imageSourceOptions):
49712        * platform/graphics/cg/PathCG.cpp:
49713        (WebCore::CGPathApplierToPathApplier):
49714        * platform/graphics/mac/SimpleFontDataMac.mm:
49715        (WebCore::initFontData):
49716        * platform/mac/PlatformMouseEventMac.mm:
49717        * platform/text/String.cpp:
49718        * rendering/RenderBlock.cpp:
49719        (WebCore::continuationOutlineTable):
49720        (WebCore::getHeightForLineCount):
49721        * rendering/RenderView.cpp:
49722        (WebCore::rendererAfterPosition):
49723        * rendering/RootInlineBox.cpp:
49724        (WebCore::isEditableLeaf):
49725        * rendering/SVGRenderTreeAsText.cpp:
49726        (WebCore::hasFractions):
49727        * rendering/style/RenderStyle.cpp:
49728        (WebCore::positionedObjectMoved):
49729        * svg/SVGFont.cpp:
49730        (WebCore::floatWidthUsingSVGFontCallback):
49731        (WebCore::floatWidthMissingGlyphCallback):
49732        (WebCore::drawTextUsingSVGFontCallback):
49733        (WebCore::drawTextMissingGlyphCallback):
49734        * svg/SVGTransformable.cpp:
49735        (WebCore::parseTransformParamList):
49736        * svg/graphics/SVGPaintServerGradient.cpp:
49737        (WebCore::operator<<):
49738        * xml/XPathGrammar.y:
49739        * xml/XSLTExtensions.cpp:
49740
497412009-01-23  Eric Seidel  <eric@webkit.org>
49742
49743        No review, removing an empty file.
49744
49745        Remove RemoveNodeAttributeCommand since it was empty.
49746
49747        * WebCore.pro:
49748        * WebCore.scons:
49749        * WebCore.vcproj/WebCore.vcproj:
49750        * WebCore.xcodeproj/project.pbxproj:
49751        * editing/RemoveNodeAttributeCommand.cpp: Removed.
49752        * editing/RemoveNodeAttributeCommand.h: Removed.
49753
497542009-01-23  Brady Eidson  <beidson@apple.com>
49755
49756        Rubberstamped by Sam Weinig
49757
49758        Rework ScriptCachedPageData to ScriptCachedFrameData to more accurately reflect its true purpose
49759
49760        * GNUmakefile.am:
49761        * WebCore.vcproj/WebCore.vcproj:
49762        * WebCore.xcodeproj/project.pbxproj:
49763        * WebCoreSources.bkl:
49764
49765        * bindings/js/ScriptCachedFrameData.cpp: Copied from bindings/js/ScriptCachedPageData.cpp.
49766        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
49767        (WebCore::ScriptCachedFrameData::domWindow):
49768        (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
49769        (WebCore::ScriptCachedFrameData::restore):
49770        (WebCore::ScriptCachedFrameData::clear):
49771        * bindings/js/ScriptCachedFrameData.h: Copied from bindings/js/ScriptCachedPageData.h.
49772        * bindings/js/ScriptCachedPageData.cpp: Removed.
49773        * bindings/js/ScriptCachedPageData.h: Removed.
49774
49775        * history/CachedPage.cpp:
49776        (WebCore::CachedPage::CachedPage):
49777        (WebCore::CachedPage::restore):
49778        * history/CachedPage.h:
49779
497802009-01-23  Steve Falkenburg  <sfalken@apple.com>
49781
49782        Fix build.
49783
49784        * rendering/RenderThemeSafari.cpp:
49785        (WebCore::RenderThemeSafari::baselinePosition):
49786
497872009-01-23  Darin Fisher  <darin@chromium.org>
49788
49789        Reviewed by Eric Seidel.
49790
49791        https://bugs.webkit.org/show_bug.cgi?id=23506
49792        Upstream Chromium's image decoders for use with PLATFORM(SKIA)
49793
49794        * platform/image-decoders/skia/BMPImageDecoder.cpp: Added.
49795        * platform/image-decoders/skia/BMPImageDecoder.h: Added.
49796        * platform/image-decoders/skia/BMPImageReader.cpp: Added.
49797        * platform/image-decoders/skia/BMPImageReader.h: Added.
49798        * platform/image-decoders/skia/GIFImageDecoder.cpp:
49799        (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
49800        (WebCore::GIFImageDecoderPrivate::decode):
49801        (WebCore::GIFImageDecoderPrivate::getColorMap):
49802        (WebCore::GIFImageDecoder::GIFImageDecoder):
49803        (WebCore::GIFImageDecoder::isSizeAvailable):
49804        (WebCore::GIFImageDecoder::frameCount):
49805        (WebCore::GIFImageDecoder::frameBufferAtIndex):
49806        (WebCore::GIFImageDecoder::clearFrameBufferCache):
49807        (WebCore::GIFImageDecoder::decode):
49808        (WebCore::GIFImageDecoder::sizeNowAvailable):
49809        (WebCore::GIFImageDecoder::initFrameBuffer):
49810        (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
49811        (WebCore::GIFImageDecoder::haveDecodedRow):
49812        (WebCore::GIFImageDecoder::frameComplete):
49813        * platform/image-decoders/skia/GIFImageDecoder.h:
49814        (WebCore::GIFImageDecoder::filenameExtension):
49815        (WebCore::GIFImageDecoder::frameDurationAtIndex):
49816        (WebCore::GIFImageDecoder::):
49817        * platform/image-decoders/skia/GIFImageReader.cpp:
49818        (GIFImageReader::do_lzw):
49819        (GIFImageReader::read):
49820        * platform/image-decoders/skia/GIFImageReader.h:
49821        * platform/image-decoders/skia/ICOImageDecoder.cpp: Added.
49822        * platform/image-decoders/skia/ICOImageDecoder.h: Added.
49823        * platform/image-decoders/skia/ImageDecoder.h:
49824        (WebCore::RefCountedNativeImageSkia::create):
49825        (WebCore::RefCountedNativeImageSkia::bitmap):
49826        (WebCore::RefCountedNativeImageSkia::RefCountedNativeImageSkia):
49827        (WebCore::RGBA32Buffer::):
49828        (WebCore::RGBA32Buffer::RGBA32Buffer):
49829        (WebCore::RGBA32Buffer::~RGBA32Buffer):
49830        (WebCore::RGBA32Buffer::operator=):
49831        (WebCore::RGBA32Buffer::clear):
49832        (WebCore::RGBA32Buffer::copyBitmapData):
49833        (WebCore::RGBA32Buffer::bitmap):
49834        (WebCore::RGBA32Buffer::setSize):
49835        (WebCore::RGBA32Buffer::width):
49836        (WebCore::RGBA32Buffer::height):
49837        (WebCore::RGBA32Buffer::rect):
49838        (WebCore::RGBA32Buffer::status):
49839        (WebCore::RGBA32Buffer::duration):
49840        (WebCore::RGBA32Buffer::disposalMethod):
49841        (WebCore::RGBA32Buffer::hasAlpha):
49842        (WebCore::RGBA32Buffer::setRect):
49843        (WebCore::RGBA32Buffer::setStatus):
49844        (WebCore::RGBA32Buffer::setDuration):
49845        (WebCore::RGBA32Buffer::setDisposalMethod):
49846        (WebCore::RGBA32Buffer::setHasAlpha):
49847        (WebCore::RGBA32Buffer::setRGBA):
49848        (WebCore::ImageDecoder::ImageDecoder):
49849        (WebCore::ImageDecoder::~ImageDecoder):
49850        (WebCore::ImageDecoder::setData):
49851        (WebCore::ImageDecoder::isSizeAvailable):
49852        (WebCore::ImageDecoder::size):
49853        (WebCore::ImageDecoder::frameCount):
49854        (WebCore::ImageDecoder::repetitionCount):
49855        (WebCore::ImageDecoder::supportsAlpha):
49856        (WebCore::ImageDecoder::failed):
49857        (WebCore::ImageDecoder::setFailed):
49858        (WebCore::ImageDecoder::clearFrameBufferCache):
49859        (WebCore::ImageDecoder::setSize):
49860        (WebCore::ImageDecoder::isOverSize):
49861        * platform/image-decoders/skia/JPEGImageDecoder.cpp:
49862        (WebCore::JPEGImageReader::JPEGImageReader):
49863        (WebCore::JPEGImageReader::decode):
49864        (WebCore::JPEGImageDecoder::isSizeAvailable):
49865        (WebCore::JPEGImageDecoder::outputScanlines):
49866        * platform/image-decoders/skia/JPEGImageDecoder.h:
49867        (WebCore::JPEGImageDecoder::filenameExtension):
49868        (WebCore::JPEGImageDecoder::supportsAlpha):
49869        (WebCore::JPEGImageDecoder::reader):
49870        * platform/image-decoders/skia/PNGImageDecoder.cpp:
49871        (WebCore::PNGImageReader::close):
49872        (WebCore::PNGImageDecoder::PNGImageDecoder):
49873        (WebCore::PNGImageDecoder::isSizeAvailable):
49874        (WebCore::PNGImageDecoder::frameBufferAtIndex):
49875        (WebCore::PNGImageDecoder::decode):
49876        (WebCore::PNGImageDecoder::decodingFailed):
49877        (WebCore::PNGImageDecoder::headerAvailable):
49878        (WebCore::rowAvailable):
49879        (WebCore::PNGImageDecoder::rowAvailable):
49880        (WebCore::PNGImageDecoder::pngComplete):
49881        * platform/image-decoders/skia/PNGImageDecoder.h:
49882        (WebCore::PNGImageDecoder::filenameExtension):
49883        (WebCore::PNGImageDecoder::reader):
49884        * platform/image-decoders/skia/XBMImageDecoder.cpp: Added.
49885        * platform/image-decoders/skia/XBMImageDecoder.h: Added.
49886
498872009-01-23  Darin Fisher  <darin@chromium.org>
49888
49889        Reviewed by Eric Seidel.
49890
49891        https://bugs.webkit.org/show_bug.cgi?id=23506
49892        Copy existing ImageDecoder.h in preparation for landing Skia changes on top.
49893
49894        * platform/image-decoders/skia/ImageDecoder.h: Copied from platform/image-decoders/ImageDecoder.h.
49895
498962009-01-23  Darin Fisher  <darin@chromium.org>
49897
49898        Reviewed by Eric Seidel.
49899
49900        https://bugs.webkit.org/show_bug.cgi?id=23506
49901        Copy existing image-decoders in preparation for landing Skia changes on top.
49902
49903        * platform/image-decoders/skia: Added.
49904        * platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp.
49905        * platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h.
49906        * platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp.
49907        * platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h.
49908        * platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp.
49909        * platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h.
49910        * platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp.
49911        * platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h.
49912
499132009-01-23  Holger Freyther  <zecke@selfish.org>
49914
49915        Unreviewed build fix.
49916
49917        Based on https://bugs.webkit.org/show_bug.cgi?id=23498
49918        from craig.schlenter@gmail.com
49919
49920        * platform/gtk/RenderThemeGtk.cpp:
49921        (WebCore::RenderThemeGtk::baselinePosition):
49922
499232009-01-23  David Levin  <levin@chromium.org>
49924
49925        Reviewed by Alexey Proskuryakov.
49926
49927        Bug 22720: Make XMLHttpRequest work in Workers
49928        <https://bugs.webkit.org/show_bug.cgi?id=22720>
49929
49930        Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
49931        data to be passed across threads.
49932
49933        No observable change in behavior, so no test.
49934
49935        * platform/network/FormData.cpp:
49936        (WebCore::FormData::deepCopy):
49937        * platform/network/FormData.h:
49938        * platform/network/HTTPHeaderMap.cpp:
49939        (WebCore::HTTPHeaderMap::copyData):
49940        (WebCore::HTTPHeaderMap::adopt):
49941        * platform/network/HTTPHeaderMap.h:
49942        * platform/network/ResourceRequestBase.cpp:
49943        (WebCore::ResourceRequestBase::adopt):
49944        (WebCore::ResourceRequestBase::copyData):
49945        * platform/network/ResourceRequestBase.h:
49946        * platform/network/ResourceResponseBase.cpp:
49947        (WebCore::ResourceResponseBase::adopt):
49948        (WebCore::ResourceResponseBase::copyData):
49949        * platform/network/ResourceResponseBase.h:
49950
499512009-01-23  Dmitry Titov  <dimich@chromium.org>
49952
49953        Reviewed by Alexey Proskuryakov.
49954
49955        https://bugs.webkit.org/show_bug.cgi?id=23374
49956        Add WorkerRunLoop to encapsulate message queue and timer heap.
49957        This is first half (timer heap is added as separate patch).
49958
49959        * GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
49960        * WebCore.vcproj/WebCore.vcproj: Same as above.
49961        * WebCore.xcodeproj/project.pbxproj: Same as above
49962        * dom/WorkerContext.cpp:
49963        (WebCore::WorkerContext::postTask):
49964        * dom/WorkerContext.h:
49965        * dom/WorkerMessagingProxy.cpp:
49966        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
49967        (WebCore::WorkerMessagingProxy::workerThreadCreated):
49968        * dom/WorkerRunLoop.cpp: Added.
49969        (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called.
49970        (WebCore::WorkerRunLoop::terminate): Causes the loop to exit.
49971        (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
49972        * dom/WorkerRunLoop.h: Added.
49973        (WebCore::WorkerRunLoop::WorkerRunLoop):
49974        * dom/WorkerThread.cpp:
49975        (WebCore::WorkerThread::workerThread):
49976        (WebCore::WorkerThread::stop):
49977        * dom/WorkerThread.h:
49978        (WebCore::WorkerThread::runLoop):
49979
499802009-01-23  Adam Treat  <adam.treat@torchmobile.com>
49981
49982        Reviewed by Holger Hans Peter Freyther.
49983
49984        Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
49985        huge memory leak by ensuring that the timer is fired one last time on
49986        application tear down thus triggering the GCController thereby freeing
49987        JavaScript objects as well as triggering other timer based tear down methods.
49988
49989        * platform/qt/SharedTimerQt.cpp:
49990        (WebCore::SharedTimerQt::~SharedTimerQt):
49991
499922009-01-23  Alexey Proskuryakov  <ap@webkit.org>
49993
49994        Reviewed by Oliver Hunt.
49995
49996        https://bugs.webkit.org/show_bug.cgi?id=23459
49997        Workers are not properly terminated if execution hasn't begun yet
49998
49999        Doesn't affect observable behavior, so test case is not possible.
50000
50001        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if
50002        it couldn't be called earlier.
50003
500042009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
50005
50006        [Qt] Fix the build after RenderBox refactoring in r40153.
50007
50008        * platform/qt/RenderThemeQt.cpp:
50009        (WebCore::RenderThemeQt::baselinePosition):
50010
500112009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
50012
50013        Rubber-stamped by Alexey Proskuryakov.
50014
50015        Fix the build after RenderBox refactoring in r40153.
50016
50017        * plugins/PluginView.cpp:
50018        (WebCore::PluginView::invalidateWindowlessPluginRect):
50019
500202009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
50021
50022        Reviewed by Simon Hausmann.
50023
50024        [Qt] Simplify the assertion.
50025
50026        * platform/graphics/qt/GraphicsContextQt.cpp:
50027        (WebCore::GraphicsContext::getWindowsContext):
50028        (WebCore::GraphicsContext::releaseWindowsContext):
50029
500302009-01-22  David Hyatt  <hyatt@apple.com>
50031
50032        Move the border and padding methods from RenderObject to RenderBox.
50033
50034        Reviewed by Oliver Hunt
50035
50036        * css/CSSComputedStyleDeclaration.cpp:
50037        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50038        * editing/DeleteButtonController.cpp:
50039        (WebCore::DeleteButtonController::createDeletionUI):
50040        * page/EventHandler.cpp:
50041        (WebCore::EventHandler::hitTestResultAtPoint):
50042        * rendering/InlineFlowBox.cpp:
50043        (WebCore::InlineFlowBox::placeBoxesVertically):
50044        * rendering/InlineFlowBox.h:
50045        (WebCore::InlineFlowBox::borderLeft):
50046        (WebCore::InlineFlowBox::borderRight):
50047        (WebCore::InlineFlowBox::paddingLeft):
50048        (WebCore::InlineFlowBox::paddingRight):
50049        * rendering/RenderBlock.cpp:
50050        (WebCore::RenderBlock::clearFloats):
50051        * rendering/RenderBox.cpp:
50052        (WebCore::RenderBox::paddingTop):
50053        (WebCore::RenderBox::paddingBottom):
50054        (WebCore::RenderBox::paddingLeft):
50055        (WebCore::RenderBox::paddingRight):
50056        (WebCore::RenderBox::calcHeight):
50057        (WebCore::RenderBox::containingBlockWidthForPositioned):
50058        (WebCore::RenderBox::containingBlockHeightForPositioned):
50059        (WebCore::RenderBox::calcAbsoluteHorizontal):
50060        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
50061        (WebCore::RenderBox::calcAbsoluteVertical):
50062        (WebCore::RenderBox::calcAbsoluteVerticalValues):
50063        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
50064        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
50065        * rendering/RenderBox.h:
50066        (WebCore::RenderBox::borderTop):
50067        (WebCore::RenderBox::borderBottom):
50068        (WebCore::RenderBox::borderLeft):
50069        (WebCore::RenderBox::borderRight):
50070        * rendering/RenderObject.cpp:
50071        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
50072        * rendering/RenderObject.h:
50073        * rendering/RenderTextControl.cpp:
50074        (WebCore::RenderTextControl::textBlockWidth):
50075        (WebCore::RenderTextControl::calcHeight):
50076        (WebCore::RenderTextControl::calcPrefWidths):
50077        * rendering/RenderTextControlSingleLine.cpp:
50078        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
50079        * rendering/RenderTreeAsText.cpp:
50080        (WebCore::operator<<):
50081        * rendering/RenderView.cpp:
50082        (WebCore::RenderView::repaintViewRectangle):
50083
500842009-01-22  David Hyatt  <hyatt@apple.com>
50085
50086        Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
50087        other margin functions that have to come along for the ride).
50088
50089        Reviewed by Oliver Hunt
50090
50091        * css/CSSComputedStyleDeclaration.cpp:
50092        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50093        * editing/TextIterator.cpp:
50094        (WebCore::shouldEmitExtraNewlineForNode):
50095        * rendering/InlineBox.cpp:
50096        * rendering/InlineBox.h:
50097        (WebCore::InlineBox::renderBox):
50098        * rendering/InlineFlowBox.cpp:
50099        (WebCore::InlineFlowBox::marginLeft):
50100        (WebCore::InlineFlowBox::marginRight):
50101        (WebCore::InlineFlowBox::placeBoxesHorizontally):
50102        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
50103        (WebCore::InlineFlowBox::placeBoxesVertically):
50104        (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
50105        * rendering/RenderBlock.cpp:
50106        (WebCore::RenderBlock::isSelfCollapsingBlock):
50107        (WebCore::RenderBlock::adjustPositionedBlock):
50108        (WebCore::RenderBlock::handleCompactChild):
50109        (WebCore::RenderBlock::estimateVerticalPosition):
50110        (WebCore::getBorderPaddingMargin):
50111        (WebCore::RenderBlock::calcInlinePrefWidths):
50112        * rendering/RenderBlock.h:
50113        * rendering/RenderBox.cpp:
50114        (WebCore::RenderBox::calcHeight):
50115        * rendering/RenderBox.h:
50116        (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
50117        (WebCore::RenderBox::hasHorizontalBordersOrPadding):
50118        (WebCore::RenderBox::marginTop):
50119        (WebCore::RenderBox::marginBottom):
50120        (WebCore::RenderBox::marginLeft):
50121        (WebCore::RenderBox::marginRight):
50122        (WebCore::RenderBox::isSelfCollapsingBlock):
50123        (WebCore::RenderBox::collapsedMarginTop):
50124        (WebCore::RenderBox::collapsedMarginBottom):
50125        (WebCore::RenderBox::isTopMarginQuirk):
50126        (WebCore::RenderBox::isBottomMarginQuirk):
50127        (WebCore::RenderBox::maxTopMargin):
50128        (WebCore::RenderBox::maxBottomMargin):
50129        * rendering/RenderObject.cpp:
50130        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
50131        * rendering/RenderObject.h:
50132        * rendering/RenderSVGContainer.cpp:
50133        (WebCore::RenderSVGContainer::lineHeight):
50134        (WebCore::RenderSVGContainer::baselinePosition):
50135        * rendering/RenderTextControl.cpp:
50136        (WebCore::RenderTextControl::calcHeight):
50137        * rendering/RenderTheme.cpp:
50138        (WebCore::RenderTheme::baselinePosition):
50139        * rendering/bidi.cpp:
50140        (WebCore::getBorderPaddingMargin):
50141        (WebCore::inlineWidth):
50142        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
50143        (WebCore::inlineFlowRequiresLineBox):
50144        (WebCore::requiresLineBox):
50145        (WebCore::RenderBlock::findNextLineBreak):
50146
501472009-01-22  Mark Rowe  <mrowe@apple.com>
50148
50149        Rubber-stamped by Anders Carlsson.
50150
50151        Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
50152
50153        Current versions of Xcode only respect it for C and Objective-C files,
50154        and our code doesn't currently compile if it is applied to C++ and
50155        Objective-C++ files.
50156
50157        * Configurations/Base.xcconfig:
50158
501592009-01-22  David Hyatt  <hyatt@apple.com>
50160
50161        Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits.  Let intrinsicPaddingTop and
50162        intrinsicPaddingBottom just be normal non-bitfield values.
50163
50164        Reviewed by Oliver Hunt
50165
50166        * rendering/RenderFlow.h:
50167        (WebCore::RenderFlow::RenderFlow):
50168        * rendering/RenderTableCell.cpp:
50169        (WebCore::RenderTableCell::RenderTableCell):
50170        (WebCore::RenderTableCell::updateWidth):
50171        (WebCore::RenderTableCell::layout):
50172        * rendering/RenderTableCell.h:
50173
501742009-01-22  David Hyatt  <hyatt@apple.com>
50175
50176        Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
50177        Make m_frameRect private.
50178
50179        Reviewed by Oliver Hunt
50180
50181        * rendering/RenderBlock.cpp:
50182        (WebCore::RenderBlock::paint):
50183        (WebCore::RenderBlock::clearFloats):
50184        * rendering/RenderBox.cpp:
50185        (WebCore::RenderBox::offsetTop):
50186        (WebCore::RenderBox::nodeAtPoint):
50187        (WebCore::RenderBox::paint):
50188        (WebCore::RenderBox::paintCustomHighlight):
50189        (WebCore::RenderBox::containingBlockWidth):
50190        (WebCore::RenderBox::localToAbsolute):
50191        (WebCore::RenderBox::offsetFromContainer):
50192        (WebCore::RenderBox::computeAbsoluteRepaintRect):
50193        (WebCore::RenderBox::repaintDuringLayoutIfMoved):
50194        * rendering/RenderContainer.cpp:
50195        (WebCore::RenderContainer::layout):
50196        * rendering/RenderFlexibleBox.cpp:
50197        (WebCore::RenderFlexibleBox::layoutBlock):
50198        * rendering/RenderFrameSet.cpp:
50199        (WebCore::RenderFrameSet::paint):
50200        * rendering/RenderImage.cpp:
50201        (WebCore::RenderImage::paintReplaced):
50202        (WebCore::RenderImage::nodeAtPoint):
50203        * rendering/RenderListMarker.cpp:
50204        (WebCore::RenderListMarker::paint):
50205        (WebCore::RenderListMarker::getRelativeMarkerRect):
50206        * rendering/RenderReplaced.cpp:
50207        (WebCore::RenderReplaced::paint):
50208        (WebCore::RenderReplaced::shouldPaint):
50209        * rendering/RenderReplica.cpp:
50210        (WebCore::RenderReplica::paint):
50211        * rendering/RenderSVGRoot.cpp:
50212        (WebCore::RenderSVGRoot::applyContentTransforms):
50213        (WebCore::RenderSVGRoot::paint):
50214        (WebCore::RenderSVGRoot::absoluteTransform):
50215        (WebCore::RenderSVGRoot::nodeAtPoint):
50216        * rendering/RenderTable.cpp:
50217        (WebCore::RenderTable::calcWidth):
50218        (WebCore::RenderTable::layout):
50219        * rendering/RenderTableCell.cpp:
50220        (WebCore::RenderTableCell::paint):
50221        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
50222        * rendering/RenderTableSection.cpp:
50223        (WebCore::RenderTableSection::setCellWidths):
50224        (WebCore::RenderTableSection::calcRowHeight):
50225        (WebCore::RenderTableSection::layoutRows):
50226        (WebCore::RenderTableSection::paint):
50227        (WebCore::RenderTableSection::nodeAtPoint):
50228        * rendering/RenderWidget.cpp:
50229        (WebCore::RenderWidget::paint):
50230
502312009-01-22  David Hyatt  <hyatt@apple.com>
50232
50233        Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
50234
50235        This patch completely reworks vertical alignment of table cells.  The current system uses methods called borderTopExtra() and borderBottomExtra() to
50236        add extra space above and below the content of a cell.  This system was not confined to the table code and spilled out into all the other RenderObjects.
50237        The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra().  height()
50238        also excluded the extra space, so did not accurately reflect the true size of the cell.
50239
50240        With the new system, the table cell box is completely accurate.  The extra space becomes part of the padding of the cell.  Padding has been reworked so that
50241        additional intrinsic padding can be added on to the specified padding from style.  Only the table code has to deal with the extra cell padding.
50242
50243        localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
50244
50245        A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
50246
50247        Reviewed by Oliver Hunt
50248
50249        * css/CSSComputedStyleDeclaration.cpp:
50250        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50251        Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding.  This ensures that getComputedStyle continues
50252        to give the right answer.
50253
50254        * dom/ContainerNode.cpp:
50255        (WebCore::ContainerNode::getLowerRightCorner):
50256        * editing/visible_units.cpp:
50257        (WebCore::previousLinePosition):
50258        (WebCore::nextLinePosition):
50259        * rendering/LayoutState.cpp:
50260        (WebCore::LayoutState::LayoutState):
50261        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50262
50263        * rendering/RenderBlock.cpp:
50264        (WebCore::RenderBlock::overflowRect):
50265        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50266
50267        (WebCore::RenderBlock::layoutBlock):
50268        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
50269        The expandsToEncloseOverhangingFloats logic has been reworked.  Table cells and fieldsets did not properly handle floats that spilled into the bottom padding.  The
50270        resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float.  The switch to make the extra table cell
50271        space into padding exposed this issue.  No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with
50272        this change.
50273
50274        (WebCore::RenderBlock::selectionGapRects):
50275        (WebCore::RenderBlock::paintSelection):
50276        (WebCore::RenderBlock::fillSelectionGaps):
50277        (WebCore::RenderBlock::nodeAtPoint):
50278        (WebCore::RenderBlock::positionForCoordinates):
50279        (WebCore::RenderBlock::offsetForContents):
50280        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50281
50282        * rendering/RenderBlock.h:
50283        Add the new simplified method for expanding to encompass overhanging floats.  The method has been devirtualized and made to include all of the cases (and not just a subset).
50284
50285        * rendering/RenderBox.cpp:
50286        (WebCore::RenderBox::absoluteRects):
50287        (WebCore::RenderBox::absoluteQuads):
50288        (WebCore::RenderBox::absoluteContentBox):
50289        (WebCore::RenderBox::paintBoxDecorations):
50290        (WebCore::RenderBox::paintMask):
50291        (WebCore::RenderBox::getOverflowClipRect):
50292        (WebCore::RenderBox::localToAbsolute):
50293        (WebCore::RenderBox::absoluteToLocal):
50294        (WebCore::RenderBox::localToAbsoluteQuad):
50295        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50296
50297        * rendering/RenderBox.h:
50298        (WebCore::RenderBox::y):
50299        (WebCore::RenderBox::location):
50300        (WebCore::RenderBox::borderBoxRect):
50301        (WebCore::RenderBox::offsetHeight):
50302        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50303
50304        * rendering/RenderContainer.cpp:
50305        (WebCore::RenderContainer::addLineBoxRects):
50306        * rendering/RenderFieldset.cpp:
50307        (WebCore::RenderFieldset::paintBoxDecorations):
50308        (WebCore::RenderFieldset::paintMask):
50309        * rendering/RenderFieldset.h:
50310        (WebCore::RenderFieldset::avoidsFloats):
50311        * rendering/RenderFlow.cpp:
50312        (WebCore::RenderFlow::localCaretRect):
50313        * rendering/RenderLayer.cpp:
50314        (WebCore::RenderLayer::updateLayerPosition):
50315        (WebCore::RenderLayer::paintLayer):
50316        (WebCore::RenderLayer::hitTestLayer):
50317        (WebCore::RenderLayer::boundingBox):
50318        * rendering/RenderListBox.cpp:
50319        (WebCore::RenderListBox::isPointInOverflowControl):
50320        * rendering/RenderObject.cpp:
50321        (WebCore::RenderObject::localToAbsolute):
50322        (WebCore::RenderObject::absoluteToLocal):
50323        (WebCore::RenderObject::localToAbsoluteQuad):
50324        (WebCore::RenderObject::offsetFromContainer):
50325        (WebCore::RenderObject::paddingTop):
50326        (WebCore::RenderObject::paddingBottom):
50327        (WebCore::RenderObject::paddingLeft):
50328        (WebCore::RenderObject::paddingRight):
50329        * rendering/RenderObject.h:
50330        (WebCore::RenderObject::hasOverhangingFloats):
50331        * rendering/RenderReplaced.cpp:
50332        (WebCore::RenderReplaced::selectionRect):
50333        (WebCore::RenderReplaced::localSelectionRect):
50334        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.  Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
50335        whether or not the intrinsic padding of an object should be included (by default it is).  getComputedStyle needs to exclude it, which is why this argument is
50336        necessary.
50337
50338        * rendering/RenderTableCell.cpp:
50339        (WebCore::RenderTableCell::RenderTableCell):
50340        (WebCore::RenderTableCell::paddingTop):
50341        (WebCore::RenderTableCell::paddingBottom):
50342        The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
50343
50344        (WebCore::RenderTableCell::setOverrideSize):
50345        When a table's override size gets altered, the intrinsic padding needs to be cleared.
50346
50347        (WebCore::RenderTableCell::absoluteClippedOverflowRect):
50348        (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
50349        (WebCore::RenderTableCell::baselinePosition):
50350        (WebCore::RenderTableCell::paint):
50351        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
50352        (WebCore::RenderTableCell::paintBoxDecorations):
50353        (WebCore::RenderTableCell::paintMask):
50354        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50355
50356        * rendering/RenderTableCell.h:
50357        (WebCore::RenderTableCell::setIntrinsicPaddingTop):
50358        (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
50359        (WebCore::RenderTableCell::setIntrinsicPadding):
50360        (WebCore::RenderTableCell::clearIntrinsicPadding):
50361        (WebCore::RenderTableCell::intrinsicPaddingTop):
50362        (WebCore::RenderTableCell::intrinsicPaddingBottom):
50363        Add new helper methods for getting/setting a cell's intrinsic padding.
50364
50365        * rendering/RenderTableSection.cpp:
50366        (WebCore::RenderTableSection::calcRowHeight):
50367        calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing.  Because a cell now includes that
50368        extra space, it has to be subtracted out in this method.
50369
50370        (WebCore::RenderTableSection::layoutRows):
50371        Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes.   There was also an error where the baseline
50372        position mismatched leading to negative intrinsic padding being added in (this error exists in ToT).  The code now properly ignores cells that don't establish
50373        a baseline.  A number of tests progress with this change.
50374
50375        * rendering/RenderText.cpp:
50376        (WebCore::RenderText::addLineBoxRects):
50377        Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
50378
50379        * rendering/RenderTreeAsText.cpp:
50380        (WebCore::operator<<):
50381        (WebCore::writeTextRun):
50382        Modify the render tree dumping code to continue to produce the same results as before.  This is really a hack, since we're now capable of indicating the correct
50383        position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is).  A future patch can remove these hacks so that the
50384        layout test results can all be regenerated.
50385
503862009-01-22  Eric Seidel  <eric@webkit.org>
50387
50388        Reviewed by Darin Adler.
50389
50390        Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i>
50391        https://bugs.webkit.org/show_bug.cgi?id=23486
50392
50393        Test: editing/execCommand/toggle-styles.html
50394
50395        * editing/ApplyStyleCommand.cpp:
50396        (WebCore::ApplyStyleCommand::isHTMLStyleNode):
50397
503982009-01-22  Eric Seidel  <eric@webkit.org>
50399
50400        Reviewed by Justin Garcia.
50401
50402        Remove <span> turds left by editing commands
50403        https://bugs.webkit.org/show_bug.cgi?id=23466
50404
50405        Tests:
50406        * editing/execCommand/empty-span-removal.html
50407        * editing/execCommand/toggle-styles.html
50408
50409        * editing/ApplyStyleCommand.cpp:
50410        (WebCore::styleSpanClassString):
50411        (WebCore::isStyleSpan):
50412        (WebCore::isUnstyledStyleSpan):
50413        (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
50414        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
50415        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
50416        (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle):
50417        (WebCore::ApplyStyleCommand::removeCSSStyle):
50418
504192009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
50420
50421        Reviewed by Eric Seidel.
50422
50423        Rename some of the casting functions in dom/*Element.cpp:
50424        formControlElementForElement -> toFormControlElement
50425        inputElementForElement -> toInputElement
50426        optionElementForElement -> toOptionElement
50427        optionGroupElementForElement -> toOptionGroupElement
50428
50429        Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
50430        The Element*->ScriptElement* helper function is already named 'toScriptElement'.
50431
50432        * dom/FormControlElement.cpp:
50433        (WebCore::toFormControlElement):
50434        * dom/FormControlElement.h:
50435        * dom/InputElement.cpp:
50436        (WebCore::InputElement::setValueFromRenderer):
50437        (WebCore::toInputElement):
50438        * dom/InputElement.h:
50439        * dom/OptionElement.cpp:
50440        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
50441        (WebCore::toOptionElement):
50442        * dom/OptionElement.h:
50443        * dom/OptionGroupElement.cpp:
50444        (WebCore::toOptionGroupElement):
50445        * dom/OptionGroupElement.h:
50446        * rendering/RenderListBox.cpp:
50447        (WebCore::RenderListBox::updateFromElement):
50448        (WebCore::RenderListBox::paintItemForeground):
50449        (WebCore::RenderListBox::paintItemBackground):
50450        * rendering/RenderMenuList.cpp:
50451        (WebCore::RenderMenuList::updateOptionsWidth):
50452        (WebCore::RenderMenuList::setTextFromOption):
50453        (WebCore::RenderMenuList::itemText):
50454        (WebCore::RenderMenuList::itemIsSelected):
50455        * rendering/RenderTextControl.cpp:
50456        (WebCore::RenderTextControl::formControlElement):
50457        * rendering/RenderTextControlSingleLine.cpp:
50458        (WebCore::RenderTextControlSingleLine::inputElement):
50459
504602009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
50461
50462        Rubber-stamped by George Staikos.
50463
50464        Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.
50465
50466        * dom/OptionElement.cpp:
50467        (WebCore::optionElementForElement):
50468        * dom/OptionGroupElement.cpp:
50469        (WebCore::optionGroupElementForElement):
50470
504712009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
50472
50473        Reviewed by George Staikos.
50474
50475        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454
50476
50477        Add WML <option>/<optgroup> element support.
50478        Currently the implementation is stubbed, all relevant parts can be enabled
50479        once WMLSelectElement/SelectElement has been created.
50480
50481        * GNUmakefile.am:
50482        * WebCore.pro:
50483        * WebCore.vcproj/WebCore.vcproj:
50484        * WebCore.xcodeproj/project.pbxproj:
50485        * wml/WMLOptGroupElement.cpp: Added.
50486        (WebCore::WMLOptGroupElement::WMLOptGroupElement):
50487        (WebCore::WMLOptGroupElement::~WMLOptGroupElement):
50488        (WebCore::WMLOptGroupElement::insertBefore):
50489        (WebCore::WMLOptGroupElement::replaceChild):
50490        (WebCore::WMLOptGroupElement::removeChild):
50491        (WebCore::WMLOptGroupElement::appendChild):
50492        (WebCore::WMLOptGroupElement::removeChildren):
50493        (WebCore::ownerSelectElement):
50494        (WebCore::WMLOptGroupElement::accessKeyAction):
50495        (WebCore::WMLOptGroupElement::childrenChanged):
50496        (WebCore::WMLOptGroupElement::parseMappedAttribute):
50497        (WebCore::WMLOptGroupElement::attach):
50498        (WebCore::WMLOptGroupElement::detach):
50499        (WebCore::WMLOptGroupElement::setRenderStyle):
50500        (WebCore::WMLOptGroupElement::nonRendererRenderStyle):
50501        (WebCore::WMLOptGroupElement::groupLabelText):
50502        (WebCore::WMLOptGroupElement::recalcSelectOptions):
50503        * wml/WMLOptGroupElement.h: Added.
50504        (WebCore::WMLOptGroupElement::title):
50505        (WebCore::WMLOptGroupElement::valueMatchesRenderer):
50506        (WebCore::WMLOptGroupElement::setValueMatchesRenderer):
50507        (WebCore::WMLOptGroupElement::rendererIsNeeded):
50508        * wml/WMLOptionElement.cpp: Added.
50509        (WebCore::WMLOptionElement::WMLOptionElement):
50510        (WebCore::WMLOptionElement::~WMLOptionElement):
50511        (WebCore::ownerSelectElement):
50512        (WebCore::WMLOptionElement::accessKeyAction):
50513        (WebCore::WMLOptionElement::childrenChanged):
50514        (WebCore::WMLOptionElement::parseMappedAttribute):
50515        (WebCore::WMLOptionElement::attach):
50516        (WebCore::WMLOptionElement::detach):
50517        (WebCore::WMLOptionElement::setRenderStyle):
50518        (WebCore::WMLOptionElement::insertedIntoDocument):
50519        (WebCore::WMLOptionElement::selected):
50520        (WebCore::WMLOptionElement::setSelectedState):
50521        (WebCore::WMLOptionElement::value):
50522        (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
50523        (WebCore::WMLOptionElement::nonRendererRenderStyle):
50524        (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
50525        * wml/WMLOptionElement.h: Added.
50526        (WebCore::WMLOptionElement::valueMatchesRenderer):
50527        (WebCore::WMLOptionElement::setValueMatchesRenderer):
50528        (WebCore::WMLOptionElement::rendererIsNeeded):
50529        * wml/WMLTagNames.in:
50530
505312009-01-22  Eric Roman  <eroman@chromium.org>
50532
50533        Reviewed by Eric Seidel.
50534
50535        https://bugs.webkit.org/show_bug.cgi?id=20806
50536        Send referrer for history navigations.
50537
50538        Test: http/tests/navigation/back-send-referrer.html
50539
50540        Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.
50541
50542        * history/HistoryItem.cpp:
50543        (WebCore::HistoryItem::HistoryItem):
50544        (WebCore::HistoryItem::referrer):
50545        (WebCore::HistoryItem::setReferrer):
50546        (WebCore::HistoryItem::formReferrer):
50547        (WebCore::HistoryItem::rssFeedReferrer):
50548        (WebCore::HistoryItem::setRSSFeedReferrer):
50549        (WebCore::HistoryItem::setFormInfoFromRequest):
50550        * history/HistoryItem.h:
50551        * loader/FrameLoader.cpp:
50552        (WebCore::FrameLoader::loadItem):
50553
505542009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
50555
50556        Reviewed by Eric Seidel.
50557
50558        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
50559
50560        Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
50561
50562        Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
50563        optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
50564
50565        Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
50566        These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
50567        used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
50568
50569        * dom/OptionElement.cpp:
50570        (WebCore::OptionElement::setSelectedState):
50571        (WebCore::OptionElement::collectOptionText):
50572        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
50573        (WebCore::OptionElement::collectOptionValue):
50574        (WebCore::OptionElementData::OptionElementData):
50575        (WebCore::OptionElementData::~OptionElementData):
50576        * dom/OptionElement.h:
50577        (WebCore::OptionElementData::element):
50578        (WebCore::OptionElementData::value):
50579        (WebCore::OptionElementData::setValue):
50580        (WebCore::OptionElementData::label):
50581        (WebCore::OptionElementData::setLabel):
50582        (WebCore::OptionElementData::selected):
50583        (WebCore::OptionElementData::setSelected):
50584        * html/HTMLOptionElement.cpp:
50585        (WebCore::HTMLOptionElement::HTMLOptionElement):
50586        (WebCore::HTMLOptionElement::text):
50587        (WebCore::HTMLOptionElement::parseMappedAttribute):
50588        (WebCore::HTMLOptionElement::value):
50589        (WebCore::HTMLOptionElement::selected):
50590        (WebCore::HTMLOptionElement::setSelected):
50591        (WebCore::HTMLOptionElement::setSelectedState):
50592        (WebCore::HTMLOptionElement::label):
50593        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
50594        * html/HTMLOptionElement.h:
50595        * html/HTMLSelectElement.cpp:
50596        (WebCore::HTMLSelectElement::typeAheadFind):
50597        * rendering/RenderListBox.cpp:
50598        (WebCore::RenderListBox::updateFromElement):
50599        (WebCore::RenderListBox::paintItemForeground):
50600        * rendering/RenderMenuList.cpp:
50601        (WebCore::RenderMenuList::updateOptionsWidth):
50602        (WebCore::RenderMenuList::setTextFromOption):
50603        (WebCore::RenderMenuList::itemText):
50604
506052009-01-22  Chris Fleizach  <cfleizach@apple.com>
50606
50607        Reviewed by Justin Garcia.
50608
50609        Bug 23464: Infinite recursion at SelectionController::setSelection
50610        https://bugs.webkit.org/show_bug.cgi?id=23464
50611
50612        Check for conditions leading to infinite recursion.
50613
50614        * editing/SelectionController.cpp:
50615        (WebCore::SelectionController::setSelection):
50616
506172009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
50618
50619        Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.
50620
50621        * rendering/RenderBox.cpp:
50622
506232009-01-22  Adam Treat  <adam.treat@torchmobile.com>
50624
50625        Fix the Qt build after RenderBox changes.
50626
50627        * platform/qt/RenderThemeQt.cpp:
50628        (WebCore::RenderThemeQt::baselinePosition):
50629
506302009-01-22  David Hyatt  <hyatt@apple.com>
50631
50632        Fix regressions in list box selection on Mac.  The wrong color was being used for the list box
50633        background, and list box colors actually weren't even being properly fetched because of a bug in
50634        the RenderTheme base class.  Existing pixel tests cover the bug fix.
50635
50636        Reviewed by Jon Honeycutt
50637
50638        * rendering/RenderTheme.cpp:
50639        (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
50640        (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
50641        (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
50642        (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
50643        * rendering/RenderThemeMac.mm:
50644        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
50645
506462009-01-22  David Levin  <levin@chromium.org>
50647
50648        Reviewed by Alexey Proskuryakov.
50649
50650        Bug 22720: Make XMLHttpRequest work in Workers
50651        <https://bugs.webkit.org/show_bug.cgi?id=22720>
50652
50653        Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.
50654
50655        No observable change in behavior, so no test.
50656
50657        * GNUmakefile.am:
50658        * WebCore.pro:
50659        * WebCore.scons:
50660        * WebCore.vcproj/WebCore.vcproj:
50661        * WebCore.xcodeproj/project.pbxproj:
50662        * WebCoreSources.bkl:
50663        * platform/network/HTTPHeaderMap.cpp: Added.
50664        (WebCore::HTTPHeaderMap::copyData):
50665        (WebCore::HTTPHeaderMap::adopt):
50666        * platform/network/HTTPHeaderMap.h:
50667
506682009-01-21  David Hyatt  <hyatt@apple.com>
50669
50670        Back out a portion of my patch that I did not mean to land.  Revert paintOutline back to the way it
50671        was before my landing.  Fixes failing SVG focus ring tests.
50672
50673        * rendering/RenderObject.cpp:
50674        (WebCore::RenderObject::paintOutline):
50675        * rendering/RenderObject.h:
50676        * rendering/RenderPath.cpp:
50677        (WebCore::RenderPath::paint):
50678        * rendering/RenderSVGContainer.cpp:
50679        (WebCore::RenderSVGContainer::paint):
50680
506812009-01-21  David Hyatt  <hyatt@apple.com>
50682
50683        Fix Node's renderBox() method on Windows.
50684
50685        * dom/Node.cpp:
50686        (WebCore::Node::renderBox):
50687
506882009-01-21  David Hyatt  <hyatt@apple.com>
50689
50690        Fix RenderThemeSafari bustage on Win32.
50691
50692        * rendering/RenderThemeSafari.cpp:
50693        (WebCore::RenderThemeSafari::baselinePosition):
50694
506952009-01-21  David Hyatt  <hyatt@apple.com>
50696
50697        Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
50698        but that's a problem for another day.
50699
50700        * rendering/RenderThemeWin.cpp:
50701        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
50702        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
50703        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
50704
507052009-01-21  Oliver Hunt  <oliver@apple.com>
50706
50707        Reviewed by Dave Hyatt.
50708
50709        Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled
50710        <https://bugs.webkit.org/show_bug.cgi?id=23470>
50711
50712        Add a RefPtr protector to handleWheelEvent to guard against destruction
50713        while processing the scroll event.  Alas the absurd set of circumstances
50714        required to trigger this do not appear to be reproducible in DRT.
50715
50716        * page/EventHandler.cpp:
50717        (WebCore::EventHandler::handleWheelEvent):
50718
507192009-01-21  David Hyatt  <hyatt@apple.com>
50720
50721        Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
50722
50723        Devirtualize the width/height/x/y methods of the render tree.  The methods are now non-virtual on RenderBox.
50724        Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
50725
50726        Reviewed by Eric Seidel and Darin Adler
50727
50728        * WebCore.base.exp:
50729        * css/CSSComputedStyleDeclaration.cpp:
50730        (WebCore::sizingBox):
50731        * dom/ContainerNode.cpp:
50732        (WebCore::ContainerNode::getUpperLeftCorner):
50733        (WebCore::ContainerNode::getLowerRightCorner):
50734        * dom/Element.cpp:
50735        (WebCore::Element::offsetLeft):
50736        (WebCore::Element::offsetTop):
50737        (WebCore::Element::offsetWidth):
50738        (WebCore::Element::offsetHeight):
50739        (WebCore::Element::offsetParent):
50740        (WebCore::Element::clientLeft):
50741        (WebCore::Element::clientTop):
50742        (WebCore::Element::clientWidth):
50743        (WebCore::Element::clientHeight):
50744        (WebCore::Element::scrollLeft):
50745        (WebCore::Element::scrollTop):
50746        (WebCore::Element::setScrollLeft):
50747        (WebCore::Element::setScrollTop):
50748        (WebCore::Element::scrollWidth):
50749        (WebCore::Element::scrollHeight):
50750        * dom/Node.cpp:
50751        (WebCore::Node::renderBox):
50752        (WebCore::Node::getRect):
50753        * dom/Node.h:
50754        * dom/Position.cpp:
50755        (WebCore::endsOfNodeAreVisuallyDistinctPositions):
50756        (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
50757        (WebCore::Position::isCandidate):
50758        * dom/PositionIterator.cpp:
50759        (WebCore::PositionIterator::isCandidate):
50760        * editing/CompositeEditCommand.cpp:
50761        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
50762        * editing/DeleteButtonController.cpp:
50763        (WebCore::isDeletableElement):
50764        * editing/DeleteSelectionCommand.cpp:
50765        (WebCore::DeleteSelectionCommand::removeNode):
50766        * editing/Editor.cpp:
50767        (WebCore::Editor::insideVisibleArea):
50768        * editing/EditorCommand.cpp:
50769        (WebCore::verticalScrollDistance):
50770        * html/HTMLAnchorElement.cpp:
50771        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
50772        * html/HTMLCanvasElement.cpp:
50773        (WebCore::HTMLCanvasElement::willDraw):
50774        * html/HTMLFormControlElement.cpp:
50775        (WebCore::HTMLFormControlElement::isFocusable):
50776        * html/HTMLFrameElementBase.cpp:
50777        (WebCore::HTMLFrameElementBase::width):
50778        (WebCore::HTMLFrameElementBase::height):
50779        * html/HTMLImageElement.cpp:
50780        (WebCore::HTMLImageElement::width):
50781        (WebCore::HTMLImageElement::height):
50782        * inspector/InspectorController.cpp:
50783        (WebCore::InspectorController::drawNodeHighlight):
50784        * page/AccessibilityRenderObject.cpp:
50785        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
50786        * page/FrameView.cpp:
50787        (WebCore::FrameView::createScrollbar):
50788        (WebCore::FrameView::updateDashboardRegions):
50789        * page/animation/AnimationBase.cpp:
50790        (WebCore::blendFunc):
50791        * rendering/HitTestResult.cpp:
50792        (WebCore::HitTestResult::imageRect):
50793        * rendering/InlineBox.cpp:
50794        (WebCore::InlineBox::renderBox):
50795        (WebCore::InlineBox::adjustPosition):
50796        * rendering/InlineBox.h:
50797        * rendering/InlineFlowBox.cpp:
50798        (WebCore::InlineFlowBox::placeBoxesHorizontally):
50799        (WebCore::InlineFlowBox::verticallyAlignBoxes):
50800        (WebCore::InlineFlowBox::placeBoxesVertically):
50801        * rendering/InlineFlowBox.h:
50802        * rendering/RenderApplet.cpp:
50803        (WebCore::RenderApplet::createWidgetIfNecessary):
50804        * rendering/RenderBlock.cpp:
50805        (WebCore::RenderBlock::overflowHeight):
50806        (WebCore::RenderBlock::overflowWidth):
50807        (WebCore::RenderBlock::overflowRect):
50808        (WebCore::RenderBlock::isSelfCollapsingBlock):
50809        (WebCore::RenderBlock::layout):
50810        (WebCore::RenderBlock::layoutBlock):
50811        (WebCore::RenderBlock::adjustPositionedBlock):
50812        (WebCore::RenderBlock::adjustFloatingBlock):
50813        (WebCore::RenderBlock::handleSpecialChild):
50814        (WebCore::RenderBlock::handlePositionedChild):
50815        (WebCore::RenderBlock::handleFloatingChild):
50816        (WebCore::RenderBlock::handleCompactChild):
50817        (WebCore::RenderBlock::insertCompactIfNeeded):
50818        (WebCore::RenderBlock::handleRunInChild):
50819        (WebCore::RenderBlock::collapseMargins):
50820        (WebCore::RenderBlock::clearFloatsIfNeeded):
50821        (WebCore::RenderBlock::estimateVerticalPosition):
50822        (WebCore::RenderBlock::determineHorizontalPosition):
50823        (WebCore::RenderBlock::handleBottomOfBlock):
50824        (WebCore::RenderBlock::layoutBlockChildren):
50825        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
50826        (WebCore::RenderBlock::layoutPositionedObjects):
50827        (WebCore::RenderBlock::markPositionedObjectsForLayout):
50828        (WebCore::RenderBlock::repaintOverhangingFloats):
50829        (WebCore::RenderBlock::paint):
50830        (WebCore::RenderBlock::paintChildren):
50831        (WebCore::RenderBlock::paintObject):
50832        (WebCore::RenderBlock::paintFloats):
50833        (WebCore::RenderBlock::paintContinuationOutlines):
50834        (WebCore::clipOutPositionedObjects):
50835        (WebCore::RenderBlock::fillSelectionGaps):
50836        (WebCore::RenderBlock::fillBlockSelectionGaps):
50837        (WebCore::RenderBlock::leftSelectionOffset):
50838        (WebCore::RenderBlock::rightSelectionOffset):
50839        (WebCore::RenderBlock::insertPositionedObject):
50840        (WebCore::RenderBlock::removePositionedObject):
50841        (WebCore::RenderBlock::removePositionedObjects):
50842        (WebCore::RenderBlock::insertFloatingObject):
50843        (WebCore::RenderBlock::removeFloatingObject):
50844        (WebCore::RenderBlock::positionNewFloats):
50845        (WebCore::RenderBlock::newLine):
50846        (WebCore::RenderBlock::lowestPosition):
50847        (WebCore::RenderBlock::rightmostPosition):
50848        (WebCore::RenderBlock::leftmostPosition):
50849        (WebCore::RenderBlock::clearFloats):
50850        (WebCore::RenderBlock::addOverhangingFloats):
50851        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
50852        (WebCore::RenderBlock::getClearDelta):
50853        (WebCore::RenderBlock::nodeAtPoint):
50854        (WebCore::RenderBlock::positionForCoordinates):
50855        (WebCore::RenderBlock::layoutColumns):
50856        (WebCore::RenderBlock::getBaselineOfFirstLineBox):
50857        (WebCore::RenderBlock::getBaselineOfLastLineBox):
50858        (WebCore::getHeightForLineCount):
50859        (WebCore::RenderBlock::adjustForBorderFit):
50860        * rendering/RenderBlock.h:
50861        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
50862        (WebCore::RenderBlock::hasOverhangingFloats):
50863        (WebCore::RenderBlock::CompactInfo::compact):
50864        (WebCore::RenderBlock::CompactInfo::set):
50865        * rendering/RenderBox.cpp:
50866        (WebCore::RenderBox::RenderBox):
50867        (WebCore::RenderBox::offsetLeft):
50868        (WebCore::RenderBox::offsetTop):
50869        (WebCore::RenderBox::offsetParent):
50870        (WebCore::RenderBox::clientWidth):
50871        (WebCore::RenderBox::clientHeight):
50872        (WebCore::RenderBox::scrollWidth):
50873        (WebCore::RenderBox::scrollHeight):
50874        (WebCore::RenderBox::scrollLeft):
50875        (WebCore::RenderBox::scrollTop):
50876        (WebCore::RenderBox::setScrollLeft):
50877        (WebCore::RenderBox::setScrollTop):
50878        (WebCore::RenderBox::absoluteRects):
50879        (WebCore::RenderBox::absoluteQuads):
50880        (WebCore::RenderBox::absoluteContentBox):
50881        (WebCore::RenderBox::absoluteContentQuad):
50882        (WebCore::RenderBox::absoluteOutlineBounds):
50883        (WebCore::RenderBox::addFocusRingRects):
50884        (WebCore::RenderBox::reflectionBox):
50885        (WebCore::RenderBox::reflectionOffset):
50886        (WebCore::RenderBox::reflectedRect):
50887        (WebCore::RenderBox::overrideWidth):
50888        (WebCore::RenderBox::overrideHeight):
50889        (WebCore::RenderBox::nodeAtPoint):
50890        (WebCore::RenderBox::paint):
50891        (WebCore::RenderBox::maskClipRect):
50892        (WebCore::RenderBox::repaintLayerRectsForImage):
50893        (WebCore::RenderBox::paintCustomHighlight):
50894        (WebCore::RenderBox::getOverflowClipRect):
50895        (WebCore::RenderBox::getClipRect):
50896        (WebCore::RenderBox::containingBlockWidth):
50897        (WebCore::RenderBox::localToAbsolute):
50898        (WebCore::RenderBox::offsetFromContainer):
50899        (WebCore::RenderBox::position):
50900        (WebCore::RenderBox::computeAbsoluteRepaintRect):
50901        (WebCore::RenderBox::repaintDuringLayoutIfMoved):
50902        (WebCore::RenderBox::calcWidth):
50903        (WebCore::RenderBox::calcWidthUsing):
50904        (WebCore::RenderBox::calcHorizontalMargins):
50905        (WebCore::RenderBox::calcHeight):
50906        (WebCore::RenderBox::calcPercentageHeight):
50907        (WebCore::RenderBox::calcReplacedHeightUsing):
50908        (WebCore::RenderBox::containingBlockWidthForPositioned):
50909        (WebCore::RenderBox::containingBlockHeightForPositioned):
50910        (WebCore::RenderBox::calcAbsoluteHorizontal):
50911        (WebCore::RenderBox::calcAbsoluteVertical):
50912        (WebCore::RenderBox::calcAbsoluteVerticalValues):
50913        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
50914        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
50915        (WebCore::RenderBox::localCaretRect):
50916        (WebCore::RenderBox::lowestPosition):
50917        (WebCore::RenderBox::rightmostPosition):
50918        (WebCore::RenderBox::leftmostPosition):
50919        (WebCore::RenderBox::localTransform):
50920        * rendering/RenderBox.h:
50921        (WebCore::):
50922        (WebCore::RenderBox::x):
50923        (WebCore::RenderBox::y):
50924        (WebCore::RenderBox::width):
50925        (WebCore::RenderBox::height):
50926        (WebCore::RenderBox::setX):
50927        (WebCore::RenderBox::setY):
50928        (WebCore::RenderBox::setWidth):
50929        (WebCore::RenderBox::setHeight):
50930        (WebCore::RenderBox::location):
50931        (WebCore::RenderBox::size):
50932        (WebCore::RenderBox::setLocation):
50933        (WebCore::RenderBox::setSize):
50934        (WebCore::RenderBox::move):
50935        (WebCore::RenderBox::frameRect):
50936        (WebCore::RenderBox::setFrameRect):
50937        (WebCore::RenderBox::borderBoxRect):
50938        (WebCore::RenderBox::contentBoxRect):
50939        (WebCore::RenderBox::previousSiblingBox):
50940        (WebCore::RenderBox::nextSiblingBox):
50941        (WebCore::RenderBox::parentBox):
50942        (WebCore::RenderBox::overflowHeight):
50943        (WebCore::RenderBox::overflowWidth):
50944        (WebCore::RenderBox::setOverflowHeight):
50945        (WebCore::RenderBox::setOverflowWidth):
50946        (WebCore::RenderBox::overflowLeft):
50947        (WebCore::RenderBox::overflowTop):
50948        (WebCore::RenderBox::overflowRect):
50949        (WebCore::RenderBox::contentWidth):
50950        (WebCore::RenderBox::contentHeight):
50951        (WebCore::RenderBox::offsetWidth):
50952        (WebCore::RenderBox::offsetHeight):
50953        (WebCore::RenderBox::clientLeft):
50954        (WebCore::RenderBox::clientTop):
50955        (WebCore::RenderBox::availableWidth):
50956        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
50957        * rendering/RenderButton.cpp:
50958        (WebCore::RenderButton::controlClipRect):
50959        * rendering/RenderContainer.cpp:
50960        (WebCore::RenderContainer::layout):
50961        (WebCore::RenderContainer::positionForCoordinates):
50962        * rendering/RenderContainer.h:
50963        (WebCore::RenderContainer::firstChildBox):
50964        (WebCore::RenderContainer::lastChildBox):
50965        * rendering/RenderFieldset.cpp:
50966        (WebCore::RenderFieldset::calcPrefWidths):
50967        (WebCore::RenderFieldset::layoutLegend):
50968        (WebCore::RenderFieldset::findLegend):
50969        (WebCore::RenderFieldset::paintBoxDecorations):
50970        (WebCore::RenderFieldset::paintMask):
50971        * rendering/RenderFieldset.h:
50972        * rendering/RenderFileUploadControl.cpp:
50973        (WebCore::RenderFileUploadControl::maxFilenameWidth):
50974        (WebCore::RenderFileUploadControl::paintObject):
50975        * rendering/RenderFlexibleBox.cpp:
50976        (WebCore::FlexBoxIterator::FlexBoxIterator):
50977        (WebCore::FlexBoxIterator::first):
50978        (WebCore::FlexBoxIterator::next):
50979        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
50980        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
50981        (WebCore::RenderFlexibleBox::layoutBlock):
50982        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
50983        (WebCore::RenderFlexibleBox::layoutVerticalBox):
50984        (WebCore::RenderFlexibleBox::placeChild):
50985        (WebCore::RenderFlexibleBox::allowedChildFlex):
50986        * rendering/RenderFlexibleBox.h:
50987        * rendering/RenderFlow.cpp:
50988        (WebCore::RenderFlow::absoluteClippedOverflowRect):
50989        (WebCore::RenderFlow::lowestPosition):
50990        (WebCore::RenderFlow::rightmostPosition):
50991        (WebCore::RenderFlow::leftmostPosition):
50992        (WebCore::RenderFlow::localCaretRect):
50993        (WebCore::RenderFlow::addFocusRingRects):
50994        * rendering/RenderFrameSet.cpp:
50995        (WebCore::RenderFrameSet::paint):
50996        (WebCore::RenderFrameSet::layout):
50997        (WebCore::RenderFrameSet::positionFrames):
50998        * rendering/RenderHTMLCanvas.cpp:
50999        (WebCore::RenderHTMLCanvas::paintReplaced):
51000        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
51001        * rendering/RenderImage.cpp:
51002        (WebCore::RenderImage::imageChanged):
51003        (WebCore::RenderImage::paintReplaced):
51004        (WebCore::RenderImage::nodeAtPoint):
51005        (WebCore::RenderImage::calcReplacedWidth):
51006        * rendering/RenderInline.cpp:
51007        (WebCore::RenderInline::absoluteRects):
51008        (WebCore::RenderInline::boundingBoxWidth):
51009        (WebCore::RenderInline::boundingBoxHeight):
51010        (WebCore::RenderInline::positionForCoordinates):
51011        * rendering/RenderInline.h:
51012        (WebCore::RenderInline::offsetWidth):
51013        (WebCore::RenderInline::offsetHeight):
51014        * rendering/RenderLayer.cpp:
51015        (WebCore::RenderLayer::updateTransform):
51016        (WebCore::RenderLayer::updateLayerPosition):
51017        (WebCore::RenderLayer::scrollbarCornerPresent):
51018        (WebCore::RenderLayer::createScrollbar):
51019        (WebCore::RenderLayer::positionOverflowControls):
51020        (WebCore::RenderLayer::paintScrollCorner):
51021        (WebCore::RenderLayer::paintResizer):
51022        (WebCore::RenderLayer::paintLayer):
51023        (WebCore::RenderLayer::hitTestLayer):
51024        (WebCore::RenderLayer::calculateRects):
51025        (WebCore::RenderLayer::boundingBox):
51026        * rendering/RenderListBox.cpp:
51027        (WebCore::RenderListBox::calcHeight):
51028        (WebCore::RenderListBox::controlClipRect):
51029        * rendering/RenderListItem.cpp:
51030        (WebCore::RenderListItem::positionListMarker):
51031        (WebCore::RenderListItem::paint):
51032        * rendering/RenderListMarker.cpp:
51033        (WebCore::RenderListMarker::paint):
51034        (WebCore::RenderListMarker::layout):
51035        (WebCore::RenderListMarker::imageChanged):
51036        (WebCore::RenderListMarker::getRelativeMarkerRect):
51037        (WebCore::RenderListMarker::selectionRect):
51038        * rendering/RenderMarquee.cpp:
51039        (WebCore::RenderMarquee::computePosition):
51040        * rendering/RenderMedia.cpp:
51041        (WebCore::RenderMedia::layout):
51042        (WebCore::RenderMedia::lowestPosition):
51043        (WebCore::RenderMedia::rightmostPosition):
51044        (WebCore::RenderMedia::leftmostPosition):
51045        * rendering/RenderMenuList.cpp:
51046        (WebCore::RenderMenuList::controlClipRect):
51047        * rendering/RenderObject.cpp:
51048        (WebCore::RenderObject::RenderObject):
51049        (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
51050        (WebCore::RenderObject::paintOutline):
51051        (WebCore::RenderObject::addLineBoxRects):
51052        (WebCore::RenderObject::absoluteBoundingBoxRect):
51053        (WebCore::RenderObject::addAbsoluteRectForLayer):
51054        (WebCore::RenderObject::paintingRootRect):
51055        (WebCore::RenderObject::container):
51056        (WebCore::RenderObject::removeFromObjectLists):
51057        (WebCore::RenderObject::updateHitTestResult):
51058        (WebCore::RenderObject::addDashboardRegions):
51059        (WebCore::RenderObject::localTransform):
51060        * rendering/RenderObject.h:
51061        (WebCore::RenderObject::isBox):
51062        (WebCore::RenderObject::hasMask):
51063        (WebCore::RenderObject::setIsText):
51064        (WebCore::RenderObject::setIsBox):
51065        (WebCore::RenderObject::borderTop):
51066        (WebCore::RenderObject::borderBottom):
51067        (WebCore::RenderObject::absoluteRects):
51068        (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
51069        (WebCore::RenderObject::absoluteQuads):
51070        (WebCore::RenderObject::hasReflection):
51071        (WebCore::RenderObject::addFocusRingRects):
51072        (WebCore::RenderObject::absoluteOutlineBounds):
51073        * rendering/RenderPart.cpp:
51074        (WebCore::RenderPart::updateWidgetPosition):
51075        * rendering/RenderPath.cpp:
51076        (WebCore::RenderPath::layout):
51077        (WebCore::RenderPath::paint):
51078        (WebCore::RenderPath::absoluteOutlineBounds):
51079        * rendering/RenderPath.h:
51080        * rendering/RenderReplaced.cpp:
51081        (WebCore::RenderReplaced::layout):
51082        (WebCore::RenderReplaced::paint):
51083        (WebCore::RenderReplaced::shouldPaint):
51084        (WebCore::RenderReplaced::positionForCoordinates):
51085        (WebCore::RenderReplaced::localSelectionRect):
51086        (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
51087        (WebCore::RenderReplaced::overflowRect):
51088        * rendering/RenderReplica.cpp:
51089        (WebCore::RenderReplica::layout):
51090        (WebCore::RenderReplica::calcPrefWidths):
51091        (WebCore::RenderReplica::paint):
51092        * rendering/RenderSVGContainer.cpp:
51093        (WebCore::RenderSVGContainer::paint):
51094        (WebCore::RenderSVGContainer::absoluteOutlineBounds):
51095        * rendering/RenderSVGContainer.h:
51096        (WebCore::RenderSVGContainer::width):
51097        (WebCore::RenderSVGContainer::height):
51098        * rendering/RenderSVGImage.cpp:
51099        (WebCore::RenderSVGImage::layout):
51100        * rendering/RenderSVGInlineText.cpp:
51101        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
51102        (WebCore::RenderSVGInlineText::positionForCoordinates):
51103        * rendering/RenderSVGRoot.cpp:
51104        (WebCore::RenderSVGRoot::layout):
51105        (WebCore::RenderSVGRoot::applyContentTransforms):
51106        (WebCore::RenderSVGRoot::paint):
51107        (WebCore::RenderSVGRoot::absoluteTransform):
51108        (WebCore::RenderSVGRoot::nodeAtPoint):
51109        * rendering/RenderSVGTSpan.cpp:
51110        (WebCore::RenderSVGTSpan::absoluteRects):
51111        (WebCore::RenderSVGTSpan::absoluteQuads):
51112        * rendering/RenderSVGText.cpp:
51113        (WebCore::RenderSVGText::layout):
51114        (WebCore::RenderSVGText::relativeBBox):
51115        * rendering/RenderSVGTextPath.cpp:
51116        (WebCore::RenderSVGTextPath::absoluteRects):
51117        (WebCore::RenderSVGTextPath::absoluteQuads):
51118        * rendering/RenderSVGViewportContainer.cpp:
51119        (WebCore::RenderSVGViewportContainer::nodeAtPoint):
51120        * rendering/RenderScrollbar.cpp:
51121        (WebCore::RenderScrollbar::createCustomScrollbar):
51122        (WebCore::RenderScrollbar::RenderScrollbar):
51123        (WebCore::RenderScrollbar::setParent):
51124        * rendering/RenderScrollbar.h:
51125        (WebCore::RenderScrollbar::owningRenderer):
51126        * rendering/RenderScrollbarPart.cpp:
51127        (WebCore::RenderScrollbarPart::layout):
51128        (WebCore::RenderScrollbarPart::layoutHorizontalPart):
51129        (WebCore::RenderScrollbarPart::layoutVerticalPart):
51130        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
51131        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
51132        (WebCore::RenderScrollbarPart::paintIntoRect):
51133        * rendering/RenderSlider.cpp:
51134        (WebCore::HTMLSliderThumbElement::defaultEventHandler):
51135        (WebCore::RenderSlider::layout):
51136        (WebCore::RenderSlider::mouseEventIsInThumb):
51137        (WebCore::RenderSlider::positionForOffset):
51138        (WebCore::RenderSlider::trackSize):
51139        * rendering/RenderTable.cpp:
51140        (WebCore::RenderTable::calcWidth):
51141        (WebCore::RenderTable::layout):
51142        (WebCore::RenderTable::paint):
51143        (WebCore::RenderTable::getBaselineOfFirstLineBox):
51144        * rendering/RenderTableCell.cpp:
51145        (WebCore::RenderTableCell::updateWidth):
51146        (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
51147        (WebCore::RenderTableCell::localToAbsolute):
51148        (WebCore::RenderTableCell::absoluteToLocal):
51149        (WebCore::RenderTableCell::localToAbsoluteQuad):
51150        (WebCore::RenderTableCell::paint):
51151        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
51152        * rendering/RenderTableCell.h:
51153        * rendering/RenderTableSection.cpp:
51154        (WebCore::RenderTableSection::addChild):
51155        (WebCore::RenderTableSection::addCell):
51156        (WebCore::RenderTableSection::setCellWidths):
51157        (WebCore::RenderTableSection::calcRowHeight):
51158        (WebCore::RenderTableSection::layoutRows):
51159        (WebCore::RenderTableSection::lowestPosition):
51160        (WebCore::RenderTableSection::rightmostPosition):
51161        (WebCore::RenderTableSection::leftmostPosition):
51162        (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
51163        (WebCore::RenderTableSection::paint):
51164        (WebCore::RenderTableSection::recalcCells):
51165        (WebCore::RenderTableSection::nodeAtPoint):
51166        * rendering/RenderTableSection.h:
51167        (WebCore::RenderTableSection::overflowWidth):
51168        (WebCore::RenderTableSection::overflowHeight):
51169        * rendering/RenderText.cpp:
51170        (WebCore::RenderText::RenderText):
51171        (WebCore::RenderText::boundingBoxX):
51172        (WebCore::RenderText::boundingBoxY):
51173        (WebCore::RenderText::firstRunX):
51174        (WebCore::RenderText::firstRunY):
51175        (WebCore::RenderText::boundingBoxHeight):
51176        (WebCore::RenderText::boundingBoxWidth):
51177        * rendering/RenderText.h:
51178        * rendering/RenderTextControl.cpp:
51179        (WebCore::RenderTextControl::textBlockHeight):
51180        (WebCore::RenderTextControl::textBlockWidth):
51181        (WebCore::RenderTextControl::setSelectionRange):
51182        (WebCore::RenderTextControl::calcHeight):
51183        (WebCore::RenderTextControl::hitInnerTextBlock):
51184        (WebCore::RenderTextControl::controlClipRect):
51185        * rendering/RenderTextControlMultiLine.cpp:
51186        (WebCore::RenderTextControlMultiLine::layout):
51187        (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
51188        * rendering/RenderTextControlSingleLine.cpp:
51189        (WebCore::RenderTextControlSingleLine::paint):
51190        (WebCore::RenderTextControlSingleLine::layout):
51191        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
51192        (WebCore::RenderTextControlSingleLine::forwardEvent):
51193        (WebCore::RenderTextControlSingleLine::textBlockWidth):
51194        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
51195        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
51196        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
51197        * rendering/RenderTheme.cpp:
51198        (WebCore::RenderTheme::hitTestMediaControlPart):
51199        (WebCore::RenderTheme::baselinePosition):
51200        * rendering/RenderThemeMac.mm:
51201        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
51202        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
51203        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
51204        (WebCore::RenderThemeMac::hitTestMediaControlPart):
51205        * rendering/RenderTreeAsText.cpp:
51206        (WebCore::operator<<):
51207        * rendering/RenderVideo.cpp:
51208        (WebCore::RenderVideo::videoBox):
51209        * rendering/RenderView.cpp:
51210        (WebCore::RenderView::RenderView):
51211        (WebCore::RenderView::calcHeight):
51212        (WebCore::RenderView::calcWidth):
51213        (WebCore::RenderView::layout):
51214        (WebCore::RenderView::viewRect):
51215        (WebCore::RenderView::docHeight):
51216        (WebCore::RenderView::docWidth):
51217        (WebCore::RenderView::setBestTruncatedAt):
51218        * rendering/RenderView.h:
51219        * rendering/RenderWidget.cpp:
51220        (WebCore::RenderWidget::paint):
51221        (WebCore::RenderWidget::updateWidgetPosition):
51222        (WebCore::RenderWidget::nodeAtPoint):
51223        * rendering/RootInlineBox.h:
51224        (WebCore::RootInlineBox::floats):
51225        (WebCore::RootInlineBox::floatsPtr):
51226        * rendering/SVGInlineFlowBox.cpp:
51227        (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
51228        * rendering/SVGInlineFlowBox.h:
51229        * rendering/SVGRenderTreeAsText.cpp:
51230        (WebCore::operator<<):
51231        (WebCore::write):
51232        * rendering/SVGRootInlineBox.cpp:
51233        (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
51234        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
51235        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
51236        * rendering/SVGRootInlineBox.h:
51237        * rendering/bidi.cpp:
51238        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
51239        (WebCore::RenderBlock::computeVerticalPositionsForLine):
51240        (WebCore::RenderBlock::layoutInlineChildren):
51241        (WebCore::RenderBlock::determineStartPosition):
51242        (WebCore::RenderBlock::matchedEndLine):
51243        (WebCore::RenderBlock::skipTrailingWhitespace):
51244        (WebCore::RenderBlock::skipLeadingWhitespace):
51245        (WebCore::RenderBlock::fitBelowFloats):
51246        (WebCore::RenderBlock::findNextLineBreak):
51247        (WebCore::RenderBlock::checkLinesForOverflow):
51248        * svg/SVGLength.cpp:
51249        (WebCore::SVGLength::PercentageOfViewport):
51250
512512009-01-21  Anders Carlsson  <andersca@apple.com>
51252
51253        Reviewed by Sam Weinig.
51254
51255        * WebCore.LP64.exp:
51256        Add some bridge related symbols.
51257
51258        * WebCore.xcodeproj/project.pbxproj:
51259        Make runtime_object.h a private header.
51260
512612009-01-20  David Levin  <levin@chromium.org>
51262
51263        Reviewed by Alexey Proskuryakov.
51264
51265        Bug 22720: Make XMLHttpRequest work in Workers
51266        <https://bugs.webkit.org/show_bug.cgi?id=22720>
51267
51268        More removal of document usage from XMLHttpRequest.
51269        * Abstracted away the sync and async requests behind the ThreadableLoader class, which
51270          will get an implementation for Workers.  ThreadableLoader follows the same model as
51271          SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader.
51272          Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done.
51273        * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode
51274          which handles workers.
51275
51276        No observable change in behavior, so no test.
51277
51278        * GNUmakefile.am:
51279        * WebCore.pro:
51280        * WebCore.scons:
51281        * WebCore.vcproj/WebCore.vcproj:
51282        * WebCore.xcodeproj/project.pbxproj:
51283        * WebCoreSources.bkl:
51284        * loader/DocumentThreadableLoader.cpp: Added.
51285        (WebCore::DocumentThreadableLoader::create):
51286        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
51287        (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
51288        (WebCore::DocumentThreadableLoader::cancel):
51289        (WebCore::DocumentThreadableLoader::willSendRequest):
51290        (WebCore::DocumentThreadableLoader::didSendData):
51291        (WebCore::DocumentThreadableLoader::didReceiveResponse):
51292        (WebCore::DocumentThreadableLoader::didReceiveData):
51293        (WebCore::DocumentThreadableLoader::didFinishLoading):
51294        (WebCore::DocumentThreadableLoader::didFail):
51295        (WebCore::DocumentThreadableLoader::receivedCancellation):
51296        * loader/DocumentThreadableLoader.h: Added.
51297        (WebCore::DocumentThreadableLoader::refThreadableLoader):
51298        (WebCore::DocumentThreadableLoader::derefThreadableLoader):
51299        * loader/SubresourceLoaderClient.h:
51300        (WebCore::SubresourceLoaderClient::didReceiveData):
51301        * loader/ThreadableLoader.cpp: Added.
51302        (WebCore::ThreadableLoader::create):
51303        (WebCore::ThreadableLoader::loadResourceSynchronously):
51304        * loader/ThreadableLoader.h: Added.
51305        (WebCore::):
51306        (WebCore::ThreadableLoader::ref):
51307        (WebCore::ThreadableLoader::deref):
51308        (WebCore::ThreadableLoader::~ThreadableLoader):
51309        * loader/ThreadableLoaderClient.h: Added.
51310        (WebCore::ThreadableLoaderClient::didSendData):
51311        (WebCore::ThreadableLoaderClient::didReceiveResponse):
51312        (WebCore::ThreadableLoaderClient::didReceiveData):
51313        (WebCore::ThreadableLoaderClient::didFinishLoading):
51314        (WebCore::ThreadableLoaderClient::didFail):
51315        (WebCore::ThreadableLoaderClient::didGetCancelled):
51316        (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
51317        (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):
51318        * xml/XMLHttpRequest.cpp:
51319        (WebCore::XMLHttpRequest::XMLHttpRequest):
51320        (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
51321        (WebCore::XMLHttpRequest::send):
51322        (WebCore::XMLHttpRequest::loadRequestSynchronously):
51323        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
51324        (WebCore::XMLHttpRequest::setRequestHeader):
51325        (WebCore::XMLHttpRequest::processSyncLoadResults):
51326        (WebCore::XMLHttpRequest::didFail):
51327        (WebCore::XMLHttpRequest::didGetCancelled):
51328        (WebCore::XMLHttpRequest::didFinishLoading):
51329        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
51330        (WebCore::XMLHttpRequest::didSendData):
51331        (WebCore::XMLHttpRequest::didReceiveResponse):
51332        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
51333        (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
51334        (WebCore::XMLHttpRequest::didReceiveData):
51335        * xml/XMLHttpRequest.h:
51336
513372009-01-19  Chris Marrin  <cmarrin@apple.com>
51338
51339        Reviewed by David Hyatt.
51340
51341        Fix for https://bugs.webkit.org/show_bug.cgi?id=23317
51342
51343        The high CPU usage was really from repeatedly firing transitions caused
51344        by a bug in the way we handle background-color animations. If animating
51345        from a valid background color to no background color, we sometimes left
51346        (based on timing) the background color as transparent black, but valid
51347        rather than invalid, which it should be. Fixing that got rid of the
51348        repeated firing.
51349
51350        But we really were doing more expensive iteration of all objects with
51351        animations or transitions on them (running or not). So I added two
51352        optimizations to quickly short circuit when an object had no running
51353        animations or transitions. Things are now as zippy as ever.
51354
51355        Test: transitions/repeated-firing-background-color.html
51356
51357        * page/animation/AnimationBase.cpp:
51358        (WebCore::blendFunc):
51359        * page/animation/AnimationController.cpp:
51360        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
51361        * page/animation/CompositeAnimation.cpp:
51362        (WebCore::CompositeAnimationPrivate::hasAnimations):
51363        (WebCore::CompositeAnimationPrivate::clearRenderer):
51364        (WebCore::CompositeAnimationPrivate::animate):
51365        (WebCore::CompositeAnimationPrivate::setAnimating):
51366        (WebCore::CompositeAnimationPrivate::willNeedService):
51367        (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
51368        (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
51369        (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
51370        (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
51371        (WebCore::CompositeAnimationPrivate::suspendAnimations):
51372        (WebCore::CompositeAnimationPrivate::resumeAnimations):
51373        (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
51374        (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
51375        (WebCore::CompositeAnimationPrivate::styleAvailable):
51376        (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
51377        (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
51378        (WebCore::CompositeAnimation::hasAnimations):
51379        * page/animation/CompositeAnimation.h:
51380
513812009-01-21  Eric Seidel  <eric@webkit.org>
51382
51383        Reviewed by Justin Garcia.
51384
51385        Remove the style='' turds left by some editing commands
51386        https://bugs.webkit.org/show_bug.cgi?id=23463
51387
51388        Test: editing/execCommand/toggle-styles.html
51389
51390        * editing/ApplyStyleCommand.cpp:
51391        (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well
51392        * editing/CompositeEditCommand.cpp:
51393        (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ;
51394
513952009-01-21  Eric Seidel  <eric@webkit.org>
51396
51397        No review, build fix.
51398
51399        Fix release-only build failure (and do a tiny code-cleanup).
51400
51401        * editing/ApplyStyleCommand.cpp:
51402        (WebCore::createFontElement):
51403        (WebCore::createStyleSpanElement):
51404        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
51405
514062009-01-21  Chris Fleizach  <cfleizach@apple.com>
51407
51408        Reviewed by Beth Dakin.
51409
51410        Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility()
51411        https://bugs.webkit.org/show_bug.cgi?id=23443
51412
51413        Test: accessibility/table-modification-crash.html
51414
51415        * page/AccessibilityObject.cpp:
51416        (WebCore::AccessibilityObject::updateBackingStore):
51417        * page/AccessibilityObject.h:
51418        * page/AccessibilityRenderObject.cpp:
51419        (WebCore::AccessibilityRenderObject::childrenChanged):
51420        (WebCore::AccessibilityRenderObject::children):
51421        (WebCore::AccessibilityRenderObject::updateBackingStore):
51422        * page/AccessibilityRenderObject.h:
51423        (WebCore::AccessibilityRenderObject::markChildrenDirty):
51424        * page/AccessibilityTable.cpp:
51425        (WebCore::AccessibilityTable::AccessibilityTable):
51426        * page/mac/AccessibilityObjectWrapper.mm:
51427        (-[AccessibilityObjectWrapper accessibilityActionNames]):
51428        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
51429        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
51430        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
51431        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
51432        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
51433        (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
51434        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
51435        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
51436        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
51437        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
51438        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
51439        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
51440        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
51441        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
51442        * rendering/RenderObject.cpp:
51443        (WebCore::RenderObject::destroy):
51444        * rendering/RenderWidget.cpp:
51445        (WebCore::RenderWidget::destroy):
51446
514472009-01-16  Eric Seidel  <eric@webkit.org>
51448
51449        Reviewed by Justin Garcia.
51450
51451        Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice
51452        https://bugs.webkit.org/show_bug.cgi?id=17733
51453
51454        Test changed: editing/execCommand/toggle-styles-expected.txt
51455
51456        * editing/ApplyStyleCommand.cpp:
51457        (WebCore::StyleChange::applySubscript):
51458        (WebCore::StyleChange::applySuperscript):
51459        (WebCore::StyleChange::StyleChange):
51460        (WebCore::StyleChange::init):
51461        (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
51462        (WebCore::ApplyStyleCommand::isHTMLStyleNode):
51463        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
51464        * editing/EditorCommand.cpp:
51465        (WebCore::executeSubscript):
51466        (WebCore::executeSuperscript):
51467        * editing/htmlediting.cpp:
51468        (WebCore::createHTMLElement):
51469        * editing/htmlediting.h:
51470
514712009-01-21  Anders Carlsson  <andersca@apple.com>
51472
51473        Fix 64-bit build.
51474
51475        * WebCore.LP64.exp:
51476
514772009-01-21  Oliver Hunt  <oliver@apple.com>
51478
51479        Reviewed by Alexey Proskuryakov.
51480
51481        Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl
51482        <https://bugs.webkit.org/show_bug.cgi?id=23458>
51483
51484        Return CanvasPixelArray, et al -- the only difference between this
51485        and the original CPA implementation is that it now uses a ByteArray
51486        rather than a vector.  JSC still uses a custom wrapper, but this allows
51487        ObjC, COM, and V8 bindings to be autogenerated again.
51488
51489        * GNUmakefile.am:
51490        * WebCore.pro:
51491        * WebCore.vcproj/WebCore.vcproj:
51492        * WebCore.xcodeproj/project.pbxproj:
51493        * WebCoreSources.bkl:
51494        * bindings/js/JSImageDataCustom.cpp:
51495        (WebCore::toJS):
51496        * html/CanvasPixelArray.cpp: Added.
51497        (WebCore::CanvasPixelArray::create):
51498        (WebCore::CanvasPixelArray::CanvasPixelArray):
51499        * html/CanvasPixelArray.h: Added.
51500        (WebCore::CanvasPixelArray::data):
51501        (WebCore::CanvasPixelArray::length):
51502        (WebCore::CanvasPixelArray::set):
51503        (WebCore::CanvasPixelArray::get):
51504        * html/CanvasPixelArray.idl: Added.
51505        * html/CanvasRenderingContext2D.cpp:
51506        (WebCore::createEmptyImageData):
51507        * html/ImageData.cpp:
51508        (WebCore::ImageData::ImageData):
51509        * html/ImageData.h:
51510        (WebCore::ImageData::data):
51511        * html/ImageData.idl:
51512        * platform/graphics/cairo/ImageBufferCairo.cpp:
51513        (WebCore::ImageBuffer::getImageData):
51514        (WebCore::ImageBuffer::putImageData):
51515        * platform/graphics/cg/ImageBufferCG.cpp:
51516        (WebCore::ImageBuffer::getImageData):
51517        (WebCore::ImageBuffer::putImageData):
51518
515192009-01-21  Dirk Schulze  <krit@webkit.org>
51520
51521        Reviewed by Nikolas Zimmermann.
51522
51523        Remove last relics of platform dependent PaintServer in SVG.
51524        We draw everything with the help of GraphicsContext.
51525
51526        Remove SVGPaintServerPlatform's
51527        [https://bugs.webkit.org/show_bug.cgi?id=23439]
51528
51529        * GNUmakefile.am:
51530        * WebCore.pro:
51531        * WebCore.vcproj/WebCore.vcproj:
51532        * WebCore.xcodeproj/project.pbxproj:
51533        * svg/graphics/SVGPaintServer.cpp:
51534        (WebCore::SVGPaintServer::draw):
51535        (WebCore::SVGPaintServer::renderPath):
51536        (WebCore::SVGPaintServer::teardown):
51537        * svg/graphics/SVGPaintServer.h:
51538        * svg/graphics/SVGPaintServerGradient.cpp:
51539        * svg/graphics/SVGPaintServerGradient.h:
51540        * svg/graphics/SVGPaintServerPattern.cpp:
51541        * svg/graphics/SVGPaintServerPattern.h:
51542        * svg/graphics/SVGPaintServerSolid.cpp:
51543        * svg/graphics/SVGPaintServerSolid.h:
51544        * svg/graphics/cairo/SVGPaintServerCairo.cpp: Removed.
51545        * svg/graphics/cg/SVGPaintServerCg.cpp: Removed.
51546        * svg/graphics/qt/SVGPaintServerQt.cpp: Removed.
51547        * svg/graphics/skia/SVGPaintServerSkia.cpp: Removed.
51548
515492009-01-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51550
51551        Reviewed by Alexey Proskuryakov.
51552
51553        Move "Element -> ScriptElement" casting functionality into ScriptElement.h
51554        to be consistent with FormControlElement/InputElement/OptionElement/OptionGroupElement.
51555
51556        It was living in XMLTokenizer before, which is not an obvious place for this.
51557        TODO: Rename 'formControlElementForElement' to 'toFormControlElement' (analogous changes for InputElement etc.)
51558              as suggested by Alexey, it really reads better this way.
51559
51560        * dom/ScriptElement.cpp:
51561        (WebCore::toScriptElement):
51562        * dom/ScriptElement.h:
51563        * dom/XMLTokenizer.cpp:
51564        (WebCore::XMLTokenizer::notifyFinished):
51565        * dom/XMLTokenizer.h:
51566        * dom/XMLTokenizerLibxml2.cpp:
51567        (WebCore::XMLTokenizer::startElementNs):
51568        (WebCore::XMLTokenizer::endElementNs):
51569        * dom/XMLTokenizerQt.cpp:
51570        (WebCore::XMLTokenizer::parseStartElement):
51571        (WebCore::XMLTokenizer::parseEndElement):
51572
515732009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51574
51575        Reviewed by George Staikos.
51576
51577        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23444
51578
51579        Refactor some functionality from HTMLOption/OptGroupElement needed by RenderListBox/RenderMenuList
51580        in two abstract base classes: OptionElement & OptionGroupElement living in dom/ - just like it
51581        has been done before for FormControlElement and RenderTextControl.
51582
51583        This is needed to prepare the addtion of WMLOption/OptGroupElement.
51584
51585        * GNUmakefile.am:
51586        * WebCore.pro:
51587        * WebCore.scons:
51588        * WebCore.vcproj/WebCore.vcproj:
51589        * WebCore.xcodeproj/project.pbxproj:
51590        * WebCoreSources.bkl:
51591        * dom/OptionElement.cpp: Added.
51592        (WebCore::optionElementForElement):
51593        * dom/OptionElement.h: Added.
51594        (WebCore::OptionElement::~OptionElement):
51595        (WebCore::OptionElement::OptionElement):
51596        * dom/OptionGroupElement.cpp: Added.
51597        (WebCore::optionGroupElementForElement):
51598        * dom/OptionGroupElement.h: Added.
51599        (WebCore::OptionGroupElement::~OptionGroupElement):
51600        (WebCore::OptionGroupElement::OptionGroupElement):
51601        * html/HTMLOptGroupElement.h:
51602        * html/HTMLOptionElement.cpp:
51603        (WebCore::HTMLOptionElement::optionText):
51604        * html/HTMLOptionElement.h:
51605        (WebCore::HTMLOptionElement::selected):
51606        * rendering/RenderListBox.cpp:
51607        (WebCore::RenderListBox::updateFromElement):
51608        (WebCore::RenderListBox::paintItemForeground):
51609        (WebCore::RenderListBox::paintItemBackground):
51610        * rendering/RenderMenuList.cpp:
51611        (WebCore::RenderMenuList::updateOptionsWidth):
51612        (WebCore::RenderMenuList::setTextFromOption):
51613        (WebCore::RenderMenuList::itemText):
51614        (WebCore::RenderMenuList::itemIsSelected):
51615
516162009-01-20  Darin Adler  <darin@apple.com>
51617
51618        Reviewed by Alexey Proskuryakov.
51619
51620        Bug 23448: memory leak in Mac version of preferredExtensionForImageSourceType
51621        https://bugs.webkit.org/show_bug.cgi?id=23448
51622
51623        * platform/graphics/cg/ImageSourceCGMac.mm:
51624        (WebCore::preferredExtensionForImageSourceType): Use RetainPtr to avoid the leak.
51625
516262009-01-20  Darin Adler  <darin@apple.com>
51627
51628        Try to fix Wx build.
51629
51630        * platform/wx/PasteboardWx.cpp:
51631        (WebCore::Pasteboard::writeSelection): Removed code that replaces backslash
51632        with backslashAsCurrencySymbol. I'm pretty sure this is not needed when writing
51633        to the clipboard. Other platforms don't do it. If it was needed, the new function
51634        to use would be displayStringModifiedByEncoding.
51635
516362009-01-19  Brent Fulgham  <bfulgham@gmail.com>
51637
51638        Reviewed by Mitz Pettel.
51639
51640        Fixes https://bugs.webkit.org/show_bug.cgi?id=23423.
51641
51642        The Windows Cairo post-build targets (Release/Debug) do not
51643        copy all of the headers that the CG-based build does.
51644
51645        * WebCore.vcproj/WebCore.vcproj: Extend WebCore Cairo build targets
51646          to copy the page/animation/*.h files into WebKitBuild so that
51647          WebKit can find them.
51648
516492009-01-20  Dmitry Titov  <dimich@chromium.org>
51650
51651        Reviewed by Alexey Proskuryakov.
51652
51653        https://bugs.webkit.org/show_bug.cgi?id=23413
51654        Remove unused WebCore::setDeferringTimers()
51655
51656        * platform/Timer.cpp:
51657        (WebCore::updateSharedTimer):
51658        * platform/Timer.h:
51659
516602009-01-20  David Hyatt  <hyatt@apple.com>
51661
51662        Tighten up the type of RenderObject owned by RenderLayer to be a RenderBox.  Rename m_object to
51663        m_renderer to be consistent with the corresponding member function.
51664
51665        Reviewed by Jon Honeycutt
51666
51667        * rendering/RenderLayer.cpp:
51668        (WebCore::RenderLayer::RenderLayer):
51669        (WebCore::RenderLayer::updateLayerPositions):
51670        (WebCore::RenderLayer::updateVisibilityStatus):
51671        (WebCore::RenderLayer::updateLayerPosition):
51672        (WebCore::RenderLayer::stackingContext):
51673        (WebCore::RenderLayer::enclosingPositionedAncestor):
51674        (WebCore::RenderLayer::enclosingTransformedAncestor):
51675        (WebCore::RenderLayer::isTransparent):
51676        (WebCore::RenderLayer::convertToLayerCoords):
51677        (WebCore::RenderLayer::scrollByRecursively):
51678        (WebCore::RenderLayer::scrollToOffset):
51679        (WebCore::RenderLayer::scrollRectToVisible):
51680        (WebCore::RenderLayer::resize):
51681        (WebCore::RenderLayer::scrollbarCornerPresent):
51682        (WebCore::RenderLayer::createScrollbar):
51683        (WebCore::RenderLayer::setHasHorizontalScrollbar):
51684        (WebCore::RenderLayer::setHasVerticalScrollbar):
51685        (WebCore::RenderLayer::positionOverflowControls):
51686        (WebCore::RenderLayer::computeScrollDimensions):
51687        (WebCore::RenderLayer::updateOverflowStatus):
51688        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
51689        (WebCore::RenderLayer::paintOverflowControls):
51690        (WebCore::RenderLayer::paintScrollCorner):
51691        (WebCore::RenderLayer::paintResizer):
51692        (WebCore::RenderLayer::isPointInResizeControl):
51693        (WebCore::RenderLayer::paintLayer):
51694        (WebCore::RenderLayer::hitTestLayer):
51695        (WebCore::RenderLayer::updateClipRects):
51696        (WebCore::RenderLayer::calculateClipRects):
51697        (WebCore::RenderLayer::calculateRects):
51698        (WebCore::RenderLayer::clearClipRects):
51699        (WebCore::RenderLayer::repaintIncludingDescendants):
51700        (WebCore::RenderLayer::styleChanged):
51701        (WebCore::RenderLayer::updateScrollCornerStyle):
51702        (WebCore::RenderLayer::updateResizerStyle):
51703        * rendering/RenderLayer.h:
51704        (WebCore::RenderLayer::renderer):
51705        (WebCore::RenderLayer::hasReflection):
51706        (WebCore::RenderLayer::hasTransform):
51707
517082009-01-20  David Hyatt  <hyatt@apple.com>
51709
51710        Fix Mac build bustage from my selection changes.  I forgot to implement the functions on RenderThemeMac
51711        for returning the appropriate listbox selection colors.
51712
51713        Reviewed by Adele
51714
51715        * rendering/RenderThemeMac.mm:
51716        (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
51717        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
51718        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
51719
517202009-01-20  Dave Hyatt  <hyatt@apple.com>
51721
51722        Fix for focus rings on Windows.  Make sure that focus rings draw for all controls but buttons.
51723
51724        Fix list box selection colors on Windows.  Also add a cache for all of the selection colors (and not just the two
51725        background selection colors).
51726
51727        Reviewed by Adam Roben
51728
51729        * rendering/RenderObject.cpp:
51730        (WebCore::RenderObject::selectionForegroundColor):
51731        * rendering/RenderTheme.cpp:
51732        (WebCore::RenderTheme::activeSelectionBackgroundColor):
51733        (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
51734        (WebCore::RenderTheme::activeSelectionForegroundColor):
51735        (WebCore::RenderTheme::inactiveSelectionForegroundColor):
51736        (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
51737        (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
51738        (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
51739        (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
51740        (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
51741        (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
51742        (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
51743        (WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor):
51744        (WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor):
51745        (WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor):
51746        (WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor):
51747        (WebCore::RenderTheme::platformColorsDidChange):
51748        * rendering/RenderTheme.h:
51749        (WebCore::RenderTheme::supportsForegroundSelectionColors):
51750        (WebCore::RenderTheme::supportsForegroundListBoxSelectionColors):
51751        * rendering/RenderThemeMac.h:
51752        (WebCore::RenderThemeMac::supportsForegroundSelectionColors):
51753        * rendering/RenderThemeMac.mm:
51754        (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
51755        * rendering/RenderThemeWin.cpp:
51756        (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
51757        (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
51758        (WebCore::RenderThemeWin::supportsFocus):
51759        (WebCore::RenderThemeWin::supportsFocusRing):
51760        * rendering/RenderThemeWin.h:
51761
517622009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51763
51764        Reviewed by George Staikos.
51765
51766        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434
51767
51768        Add WML <input> element support - it required a lot of changes to the RenderText*/HTMLInput* code.
51769        Now any language can provide <input>-style elements, without having to inherit from HTML* classes.
51770
51771        No WML specific features/attributes are handled so far. A follow-up patch will provide those bits.
51772        Added very simple fast/wml/input.wml, just checking that input elements can be rendered properly now.
51773        Detailed testcases will follow in conjunction with the WML specific attribute support.
51774
51775        * GNUmakefile.am:
51776        * WebCore.pro:
51777        * WebCore.vcproj/WebCore.vcproj:
51778        * WebCore.xcodeproj/project.pbxproj:
51779        * css/CSSStyleSelector.cpp:
51780        (WebCore::CSSStyleSelector::adjustRenderStyle):
51781        * dom/FormControlElement.cpp: Activate disabled code from previous checking.
51782        (WebCore::formControlElementForElement):
51783        * dom/InputElement.cpp: Ditto.
51784        (WebCore::inputElementForElement):
51785        * wml/WMLInputElement.cpp: Added.
51786        (WebCore::WMLInputElement::WMLInputElement):
51787        (WebCore::WMLInputElement::~WMLInputElement):
51788        (WebCore::isInputFocusable):
51789        (WebCore::WMLInputElement::isKeyboardFocusable):
51790        (WebCore::WMLInputElement::isMouseFocusable):
51791        (WebCore::WMLInputElement::dispatchFocusEvent):
51792        (WebCore::WMLInputElement::dispatchBlurEvent):
51793        (WebCore::WMLInputElement::updateFocusAppearance):
51794        (WebCore::WMLInputElement::aboutToUnload):
51795        (WebCore::WMLInputElement::size):
51796        (WebCore::WMLInputElement::name):
51797        (WebCore::WMLInputElement::value):
51798        (WebCore::WMLInputElement::setValue):
51799        (WebCore::WMLInputElement::setValueFromRenderer):
51800        (WebCore::WMLInputElement::saveState):
51801        (WebCore::WMLInputElement::restoreState):
51802        (WebCore::WMLInputElement::select):
51803        (WebCore::WMLInputElement::accessKeyAction):
51804        (WebCore::WMLInputElement::parseMappedAttribute):
51805        (WebCore::WMLInputElement::copyNonAttributeProperties):
51806        (WebCore::WMLInputElement::createRenderer):
51807        (WebCore::WMLInputElement::attach):
51808        (WebCore::WMLInputElement::detach):
51809        (WebCore::WMLInputElement::appendFormData):
51810        (WebCore::WMLInputElement::reset):
51811        (WebCore::WMLInputElement::defaultEventHandler):
51812        (WebCore::WMLInputElement::cacheSelection):
51813        (WebCore::WMLInputElement::constrainValue):
51814        (WebCore::WMLInputElement::documentDidBecomeActive):
51815        (WebCore::WMLInputElement::placeholderShouldBeVisible):
51816        (WebCore::WMLInputElement::willMoveToNewOwnerDocument):
51817        (WebCore::WMLInputElement::didMoveToNewOwnerDocument):
51818        * wml/WMLInputElement.h: Added.
51819        (WebCore::WMLInputElement::valueMatchesRenderer):
51820        (WebCore::WMLInputElement::setValueMatchesRenderer):
51821        (WebCore::WMLInputElement::shouldUseInputMethod):
51822        (WebCore::WMLInputElement::isChecked):
51823        (WebCore::WMLInputElement::isIndeterminate):
51824        (WebCore::WMLInputElement::isTextControl):
51825        (WebCore::WMLInputElement::isRadioButton):
51826        (WebCore::WMLInputElement::isTextField):
51827        (WebCore::WMLInputElement::isSearchField):
51828        (WebCore::WMLInputElement::isInputTypeHidden):
51829        (WebCore::WMLInputElement::isPasswordField):
51830        (WebCore::WMLInputElement::searchEventsShouldBeDispatched):
51831        (WebCore::WMLInputElement::placeholderValue):
51832        * wml/WMLTagNames.in:
51833
518342009-01-20  Darin Adler  <darin@apple.com>
51835
51836        Reviewed by John Sullivan.
51837
51838        Remove a little dead code left over after the fix for
51839        https://bugs.webkit.org/show_bug.cgi?id=11395, which
51840        moved pointer-events from SVG to be shared with HTML.
51841
51842        * css/SVGCSSParser.cpp:
51843        (WebCore::CSSParser::parseSVGValue): Remove SVG's parsing of this
51844        property since it's handled in the non-SVG function now so we'll
51845        never get here.
51846
518472009-01-20  Julien Chaffraix  <jchaffraix@webkit.org>
51848
51849        Reviewed by Darin Adler.
51850
51851        Bug 23438: Provide a default value to the .in file parser
51852
51853        Added the default value 1 as it simplifies some of
51854        the format by removing some "=1" that were awkward.
51855
51856        This was suggested by Darin Adler as par of a previous
51857        review.
51858
51859        * bindings/scripts/InFilesParser.pm: When no value
51860        was entered (the second part of the split is undef),
51861        provide the default value.
51862
51863        * html/HTMLAttributeNames.in: Removed unnecessary "=1".
51864        * html/HTMLTagNames.in: Ditto.
51865        * svg/svgattrs.in: Ditto.
51866        * svg/svgtags.in: Ditto.
51867        * svg/xlinkattrs.in: Ditto.
51868        * wml/WMLAttributeNames.in: Ditto.
51869
518702009-01-20  Anders Carlsson  <andersca@apple.com>
51871
51872        Reviewed by Darin Adler.
51873
51874        * bridge/c/c_class.cpp:
51875        * bridge/c/c_class.h:
51876        Get rid of CClass::name().
51877
51878        * bridge/jni/jni_class.h:
51879        Get rid of JavaClass::name().
51880
51881        * bridge/objc/objc_class.h:
51882        * bridge/objc/objc_class.mm:
51883        Get rid of ObjcClass::name().
51884
51885        * bridge/objc/objc_instance.h:
51886        Get rid of supportsSetValueOfUndefinedField.
51887
51888        * bridge/objc/objc_instance.mm:
51889        (ObjcInstance::setValueOfUndefinedField):
51890        Fold supportsSetValueOfUndefinedField into setValueOfUndefinedField.
51891
51892        * bridge/runtime.cpp:
51893        Get rid of getValueOfField and setValueOfField.
51894
51895        * bridge/runtime.h:
51896        (JSC::Bindings::Instance::setValueOfUndefinedField):
51897        Have this return a bool and get rid of supportsSetValueOfUndefinedField
51898
51899        * bridge/runtime_object.cpp:
51900        (JSC::RuntimeObjectImp::fieldGetter):
51901        Call Field::valueFromInstance on the field.
51902
51903        (JSC::RuntimeObjectImp::put):
51904        Call Field::setValueToInstance on the field.
51905
519062009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51907
51908        Not reviewed. Forgot to land build changes for non-mac platforms.
51909
51910        * GNUmakefile.am:
51911        * WebCore.pro:
51912        * WebCore.scons:
51913        * WebCore.vcproj/WebCore.vcproj:
51914        * WebCoreSources.bkl:
51915
519162009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51917
51918        Reviewed by Adam Roben.
51919
51920        Fix last-minute regression, introduced by simplifying max length determination - by
51921        clamping using min/max, negative maxLength values got broken.
51922
51923        * dom/InputElement.cpp:
51924        (WebCore::InputElement::parseMaxLengthAttribute):
51925
519262009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
51927
51928        Reviewed by Adam Roben.
51929
51930        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433
51931
51932        Add InputElement abstraction, similar to the FormControlElement refactorization
51933        done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement.
51934        In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine,
51935        RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still
51936        depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction.
51937
51938        A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the
51939        InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement
51940        derive from InputElement, and hold a InputElementData member variable, that they pass to the
51941        static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement.
51942
51943        * WebCore.xcodeproj/project.pbxproj:
51944        * dom/FormControlElement.cpp: Added.
51945        (WebCore::formControlElementForElement):
51946        * dom/FormControlElement.h:
51947        * dom/InputElement.cpp: Added.
51948        (WebCore::InputElement::dispatchFocusEvent):
51949        (WebCore::InputElement::dispatchBlurEvent):
51950        (WebCore::InputElement::updatePlaceholderVisibility):
51951        (WebCore::InputElement::updateFocusAppearance):
51952        (WebCore::InputElement::updateSelectionRange):
51953        (WebCore::InputElement::aboutToUnload):
51954        (WebCore::InputElement::setValueFromRenderer):
51955        (WebCore::numCharactersInGraphemeClusters):
51956        (WebCore::InputElement::constrainValue):
51957        (WebCore::numGraphemeClusters):
51958        (WebCore::InputElement::handleBeforeTextInsertedEvent):
51959        (WebCore::InputElement::parseSizeAttribute):
51960        (WebCore::InputElement::parseMaxLengthAttribute):
51961        (WebCore::InputElement::updateValueIfNeeded):
51962        (WebCore::InputElement::notifyFormStateChanged):
51963        (WebCore::InputElementData::InputElementData):
51964        (WebCore::InputElementData::~InputElementData):
51965        (WebCore::InputElementData::name):
51966        (WebCore::inputElementForElement):
51967        * dom/InputElement.h: Added.
51968        (WebCore::InputElement::~InputElement):
51969        (WebCore::InputElement::InputElement):
51970        (WebCore::InputElementData::inputElement):
51971        (WebCore::InputElementData::element):
51972        (WebCore::InputElementData::placeholderShouldBeVisible):
51973        (WebCore::InputElementData::setPlaceholderShouldBeVisible):
51974        (WebCore::InputElementData::setName):
51975        (WebCore::InputElementData::value):
51976        (WebCore::InputElementData::setValue):
51977        (WebCore::InputElementData::size):
51978        (WebCore::InputElementData::setSize):
51979        (WebCore::InputElementData::maxLength):
51980        (WebCore::InputElementData::setMaxLength):
51981        (WebCore::InputElementData::cachedSelectionStart):
51982        (WebCore::InputElementData::setCachedSelectionStart):
51983        (WebCore::InputElementData::cachedSelectionEnd):
51984        (WebCore::InputElementData::setCachedSelectionEnd):
51985        * html/HTMLInputElement.cpp:
51986        (WebCore::HTMLInputElement::HTMLInputElement):
51987        (WebCore::HTMLInputElement::name):
51988        (WebCore::HTMLInputElement::updateFocusAppearance): Moved to InputElement.
51989        (WebCore::HTMLInputElement::aboutToUnload): Ditto.
51990        (WebCore::HTMLInputElement::dispatchFocusEvent): Ditto.
51991        (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto.
51992        (WebCore::HTMLInputElement::setSelectionRange): Moved to InputElement::updateSelectionRange, call it from here.
51993        (WebCore::HTMLInputElement::parseMappedAttribute):
51994        (WebCore::HTMLInputElement::size): Make virtual and override InputElements abstract version.
51995        (WebCore::HTMLInputElement::copyNonAttributeProperties):
51996        (WebCore::HTMLInputElement::value): Make virtual and override InputElements abstract version.
51997        (WebCore::HTMLInputElement::setValue): Ditto.
51998        (WebCore::HTMLInputElement::placeholderValue): Ditto.
51999        (WebCore::HTMLInputElement::searchEventsShouldBeDispatched): Ditto.
52000        (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
52001        (WebCore::HTMLInputElement::setFileListFromRenderer): Use new code in InputElement::setValueFromRenderer
52002        (WebCore::HTMLInputElement::defaultEventHandler):
52003        (WebCore::HTMLInputElement::setDefaultName): Added as helper function for HTMLIsIndexElement.
52004        (WebCore::HTMLInputElement::maxLength): Added accesor.
52005        (WebCore::HTMLInputElement::constrainValue): Move functionality to InputElement::constrainValue.
52006        (WebCore::HTMLInputElement::cacheSelection): Move functionality to InputElement::cacheSelection.
52007        (WebCore::HTMLInputElement::selection):
52008        (WebCore::HTMLInputElement::placeholderShouldBeVisible): Make virtual and override InputElements abstract version.
52009        * html/HTMLInputElement.h:
52010        (WebCore::HTMLInputElement::isTextField):
52011        (WebCore::HTMLInputElement::isSearchField):
52012        (WebCore::HTMLInputElement::isAutofilled):
52013        * html/HTMLIsIndexElement.cpp:
52014        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
52015        * rendering/RenderTextControl.cpp:
52016        (WebCore::RenderTextControl::formControlElement):
52017        * rendering/RenderTextControlSingleLine.cpp:
52018        (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
52019        (WebCore::RenderTextControlSingleLine::addSearchResult):
52020        (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
52021        (WebCore::RenderTextControlSingleLine::showPopup):
52022        (WebCore::RenderTextControlSingleLine::hidePopup):
52023        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
52024        (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
52025        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
52026        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
52027        (WebCore::RenderTextControlSingleLine::updateFromElement):
52028        (WebCore::RenderTextControlSingleLine::cacheSelection):
52029        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
52030        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
52031        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
52032        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
52033        (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
52034        (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
52035        (WebCore::RenderTextControlSingleLine::valueChanged):
52036        (WebCore::RenderTextControlSingleLine::setTextFromItem):
52037        (WebCore::RenderTextControlSingleLine::inputElement):
52038        * rendering/RenderTextControlSingleLine.h:
52039
520402009-01-20  Dirk Schulze  <krit@webkit.org>
52041
52042        Reviewed by Nikolas Zimmermann.
52043
52044        Make SVG pattern platform independent and remove platform code.
52045
52046        Make SVGPattern platform independent
52047        https://bugs.webkit.org/show_bug.cgi?id=21205
52048
52049        * GNUmakefile.am:
52050        * WebCore.pro:
52051        * WebCore.vcproj/WebCore.vcproj:
52052        * WebCore.xcodeproj/project.pbxproj:
52053        * platform/graphics/GraphicsContext.h:
52054        * platform/graphics/cg/GraphicsContextCG.cpp:
52055        (WebCore::GraphicsContext::applyStrokePattern):
52056        (WebCore::GraphicsContext::applyFillPattern):
52057        (WebCore::GraphicsContext::drawPath):
52058        (WebCore::GraphicsContext::fillPath):
52059        (WebCore::GraphicsContext::strokePath):
52060        (WebCore::GraphicsContext::fillRect):
52061        (WebCore::GraphicsContext::strokeRect):
52062        * svg/graphics/SVGPaintServerPattern.cpp:
52063        (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
52064        (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
52065        (WebCore::SVGPaintServerPattern::setup):
52066        (WebCore::SVGPaintServerPattern::renderPath):
52067        (WebCore::SVGPaintServerPattern::teardown):
52068        * svg/graphics/SVGPaintServerPattern.h:
52069        * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: Removed.
52070        * svg/graphics/cg/SVGPaintServerPatternCg.cpp: Removed.
52071        * svg/graphics/qt/SVGPaintServerPatternQt.cpp: Removed.
52072        * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Removed.
52073
520742009-01-20  Darin Fisher  <darin@chromium.org>
52075
52076        Reviewed by Eric Seidel.
52077
52078        https://bugs.webkit.org/show_bug.cgi?id=23436
52079        Upstream rendering/RenderThemeChromium*
52080
52081        * rendering/RenderThemeChromiumGtk.cpp: Added.
52082        * rendering/RenderThemeChromiumGtk.h: Added.
52083        * rendering/RenderThemeChromiumMac.h: Added.
52084        * rendering/RenderThemeChromiumMac.mm: Added.
52085        * rendering/RenderThemeChromiumWin.cpp: Added.
52086        * rendering/RenderThemeChromiumWin.h: Added.
52087
520882009-01-20  Darin Adler  <darin@apple.com>
52089
52090        Reviewed by Mark Rowe.
52091
52092        Bug 23352: Turn on more compiler warnings in the Mac build
52093        https://bugs.webkit.org/show_bug.cgi?id=23352
52094
52095        First patch: Fix some simple cases of various warnings.
52096
52097        * platform/DeprecatedPtrListImpl.cpp:
52098        (WebCore::DeprecatedPtrListImpl::insert): Use const_cast to change const-ness.
52099        * platform/graphics/mac/SimpleFontDataMac.mm:
52100        (WebCore::SimpleFontData::containsCharacters): Ditto.
52101
52102        * platform/text/PlatformString.h: Overload for short and unsigned short to avoid
52103        ambiguity leading to warnings.
52104        * platform/text/String.cpp:
52105        (WebCore::String::number): Implemented overloads.
52106
52107        * platform/text/TextStream.cpp:
52108        (WebCore::TextStream::operator<<): Overload for bool to avoid ambiguity leading
52109        to warnings.
52110        * platform/text/TextStream.h: Ditto.
52111
52112        * rendering/InlineFlowBox.h: Fix declaration that was specifying the wrong type.
52113
52114        * svg/graphics/filters/cg/WKLinearTransferFilter.m: Fix stray characters after
52115        #endif that should be a comment instead.
52116        * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Ditto.
52117
52118        * xml/XPathPath.h: Remove unneeded redundant declaration.
52119
521202009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
52121
52122        Build fix for WML enabled builds, not reviewed.
52123
52124        Fix unused variable warning.
52125
52126        * wml/WMLGoElement.cpp:
52127        (WebCore::WMLGoElement::executeTask):
52128
521292009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
52130
52131        Build fix for WML enabled builds, not reviewed.
52132
52133        Rename 'continuation' to 'virtualContinuation'.
52134
52135        * wml/WMLAElement.cpp:
52136        (WebCore::WMLAElement::isKeyboardFocusable):
52137
521382009-01-20  Oliver Hunt  <oliver@apple.com>
52139
52140        RS=Dan Bernstein
52141
52142        Move runtime/ByteArray to wtf/ByteArray
52143
52144        * ForwardingHeaders/wtf/ByteArray.h: Renamed from WebCore/ForwardingHeaders/runtime/ByteArray.h.
52145        * html/CanvasRenderingContext2D.cpp:
52146        * html/ImageData.cpp:
52147        (WebCore::ImageData::ImageData):
52148        * html/ImageData.h:
52149        (WebCore::ImageData::data):
52150
521512009-01-20  Darin Fisher  <darin@chromium.org>
52152
52153        Reviewed by Sam Weinig.
52154
52155        https://bugs.webkit.org/show_bug.cgi?id=23391
52156        Upstream plugins/chromium/
52157
52158        * plugins/chromium: Added.
52159        * plugins/chromium/PluginDataChromium.cpp: Added.
52160
521612009-01-19  Steve Falkenburg  <sfalken@apple.com>
52162
52163        Fix Windows release build.
52164        Move SVG files into all-in-one file for Windows build.
52165
52166        * WebCore.vcproj/WebCore.vcproj:
52167        * svg/SVGAllInOne.cpp: Added.
52168
521692009-01-19  Steve Falkenburg  <sfalken@apple.com>
52170
52171        Partial build fix.
52172        Move new derived sources into all-in-one DerivedSources.cpp
52173
52174        * DerivedSources.cpp:
52175        * WebCore.vcproj/WebCore.vcproj:
52176
521772009-01-19  Sam Weinig  <sam@webkit.org>
52178
52179        Fix Qt build.
52180
52181        * bridge/qt/qt_instance.cpp:
52182        (JSC::Bindings::QtInstance::mark):
52183        * bridge/qt/qt_runtime.cpp:
52184        (JSC::Bindings::valueRealType):
52185        (JSC::Bindings::convertValueToQVariant):
52186        (JSC::Bindings::QtRuntimeConnectionMethod::call):
52187        (JSC::Bindings::QtConnectionObject::execute):
52188
521892009-01-19  Sam Weinig  <sam@webkit.org>
52190
52191        Fix wx build.
52192
52193        * plugins/PluginView.cpp:
52194        (WebCore::getString):
52195
521962009-01-19  Sam Weinig  <sam@webkit.org>
52197
52198        Rubber-stamped by Gavin Barraclough.
52199
52200        Remove temporary operator-> from JSValuePtr.
52201
52202        * WebCore.xcodeproj/project.pbxproj:
52203        * bindings/js/JSAudioConstructor.cpp:
52204        (WebCore::constructAudio):
52205        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
52206        (WebCore::toHTMLCanvasStyle):
52207        (WebCore::JSCanvasRenderingContext2D::setFillColor):
52208        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
52209        (WebCore::JSCanvasRenderingContext2D::strokeRect):
52210        (WebCore::JSCanvasRenderingContext2D::drawImage):
52211        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
52212        (WebCore::JSCanvasRenderingContext2D::setShadow):
52213        (WebCore::JSCanvasRenderingContext2D::createPattern):
52214        (WebCore::JSCanvasRenderingContext2D::putImageData):
52215        (WebCore::JSCanvasRenderingContext2D::fillText):
52216        (WebCore::JSCanvasRenderingContext2D::strokeText):
52217        * bindings/js/JSClipboardCustom.cpp:
52218        (WebCore::JSClipboard::clearData):
52219        (WebCore::JSClipboard::getData):
52220        (WebCore::JSClipboard::setData):
52221        (WebCore::JSClipboard::setDragImage):
52222        * bindings/js/JSCustomPositionCallback.cpp:
52223        (WebCore::JSCustomPositionCallback::handleEvent):
52224        * bindings/js/JSCustomPositionErrorCallback.cpp:
52225        (WebCore::JSCustomPositionErrorCallback::handleEvent):
52226        * bindings/js/JSCustomSQLStatementCallback.cpp:
52227        (WebCore::JSCustomSQLStatementCallback::handleEvent):
52228        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
52229        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
52230        * bindings/js/JSCustomSQLTransactionCallback.cpp:
52231        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
52232        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
52233        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
52234        * bindings/js/JSCustomVoidCallback.cpp:
52235        (WebCore::JSCustomVoidCallback::handleEvent):
52236        (WebCore::toVoidCallback):
52237        * bindings/js/JSCustomXPathNSResolver.cpp:
52238        (WebCore::JSCustomXPathNSResolver::create):
52239        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
52240        * bindings/js/JSDOMApplicationCacheCustom.cpp:
52241        (WebCore::JSDOMApplicationCache::hasItem):
52242        (WebCore::JSDOMApplicationCache::add):
52243        (WebCore::JSDOMApplicationCache::remove):
52244        (WebCore::JSDOMApplicationCache::addEventListener):
52245        (WebCore::JSDOMApplicationCache::removeEventListener):
52246        * bindings/js/JSDOMBinding.cpp:
52247        (WebCore::valueToStringWithNullCheck):
52248        (WebCore::valueToStringWithUndefinedOrNullCheck):
52249        (WebCore::reportException):
52250        * bindings/js/JSDOMGlobalObject.cpp:
52251        (WebCore::JSDOMGlobalObject::findJSEventListener):
52252        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
52253        (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
52254        (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
52255        * bindings/js/JSDOMStringListCustom.cpp:
52256        (WebCore::JSDOMStringList::item):
52257        * bindings/js/JSDOMWindowBase.cpp:
52258        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
52259        (windowProtoFuncOpen):
52260        (WebCore::toJSDOMWindow):
52261        * bindings/js/JSDOMWindowCustom.cpp:
52262        (WebCore::JSDOMWindow::setLocation):
52263        (WebCore::JSDOMWindow::postMessage):
52264        (WebCore::setTimeoutOrInterval):
52265        (WebCore::JSDOMWindow::clearTimeout):
52266        (WebCore::JSDOMWindow::clearInterval):
52267        (WebCore::JSDOMWindow::atob):
52268        (WebCore::JSDOMWindow::btoa):
52269        (WebCore::JSDOMWindow::addEventListener):
52270        (WebCore::JSDOMWindow::removeEventListener):
52271        (WebCore::toDOMWindow):
52272        * bindings/js/JSDatabaseCustom.cpp:
52273        (WebCore::JSDatabase::changeVersion):
52274        (WebCore::JSDatabase::transaction):
52275        * bindings/js/JSDocumentCustom.cpp:
52276        (WebCore::JSDocument::setLocation):
52277        * bindings/js/JSElementCustom.cpp:
52278        (WebCore::JSElement::setAttribute):
52279        (WebCore::JSElement::setAttributeNS):
52280        * bindings/js/JSEventListener.cpp:
52281        (WebCore::JSAbstractEventListener::handleEvent):
52282        (WebCore::JSLazyEventListener::parseCode):
52283        * bindings/js/JSEventTargetNodeCustom.cpp:
52284        (WebCore::JSEventTargetNode::addEventListener):
52285        (WebCore::JSEventTargetNode::removeEventListener):
52286        * bindings/js/JSGeolocationCustom.cpp:
52287        (WebCore::createPositionOptions):
52288        (WebCore::JSGeolocation::getCurrentPosition):
52289        (WebCore::JSGeolocation::watchPosition):
52290        * bindings/js/JSHTMLCollectionCustom.cpp:
52291        (WebCore::callHTMLCollection):
52292        (WebCore::JSHTMLCollection::canGetItemsForName):
52293        (WebCore::JSHTMLCollection::item):
52294        (WebCore::JSHTMLCollection::namedItem):
52295        * bindings/js/JSHTMLDocumentCustom.cpp:
52296        (WebCore::JSHTMLDocument::open):
52297        (WebCore::writeHelper):
52298        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
52299        (WebCore::JSHTMLOptionsCollection::setLength):
52300        (WebCore::JSHTMLOptionsCollection::add):
52301        * bindings/js/JSHTMLSelectElementCustom.cpp:
52302        (WebCore::JSHTMLSelectElement::remove):
52303        (WebCore::selectIndexSetter):
52304        * bindings/js/JSImageConstructor.cpp:
52305        (WebCore::constructImage):
52306        * bindings/js/JSInspectedObjectWrapper.cpp:
52307        (WebCore::JSInspectedObjectWrapper::wrap):
52308        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
52309        * bindings/js/JSInspectorCallbackWrapper.cpp:
52310        (WebCore::JSInspectorCallbackWrapper::wrap):
52311        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
52312        (WebCore::JSJavaScriptCallFrame::evaluate):
52313        * bindings/js/JSLocationCustom.cpp:
52314        (WebCore::JSLocation::setHref):
52315        (WebCore::JSLocation::setProtocol):
52316        (WebCore::JSLocation::setHost):
52317        (WebCore::JSLocation::setHostname):
52318        (WebCore::JSLocation::setPort):
52319        (WebCore::JSLocation::setPathname):
52320        (WebCore::JSLocation::setSearch):
52321        (WebCore::JSLocation::setHash):
52322        (WebCore::JSLocation::replace):
52323        (WebCore::JSLocation::assign):
52324        * bindings/js/JSMessageChannelConstructor.cpp:
52325        (WebCore::JSMessageChannelConstructor::mark):
52326        * bindings/js/JSMessagePortCustom.cpp:
52327        (WebCore::JSMessagePort::startConversation):
52328        (WebCore::JSMessagePort::addEventListener):
52329        (WebCore::JSMessagePort::removeEventListener):
52330        * bindings/js/JSNodeFilterCondition.cpp:
52331        (WebCore::JSNodeFilterCondition::mark):
52332        (WebCore::JSNodeFilterCondition::acceptNode):
52333        * bindings/js/JSNodeFilterCondition.h:
52334        * bindings/js/JSNodeFilterCustom.cpp:
52335        (WebCore::toNodeFilter):
52336        * bindings/js/JSNodeListCustom.cpp:
52337        (WebCore::callNodeList):
52338        * bindings/js/JSOptionConstructor.cpp:
52339        (WebCore::constructHTMLOptionElement):
52340        * bindings/js/JSQuarantinedObjectWrapper.cpp:
52341        (WebCore::JSQuarantinedObjectWrapper::asWrapper):
52342        (WebCore::JSQuarantinedObjectWrapper::construct):
52343        * bindings/js/JSSQLResultSetRowListCustom.cpp:
52344        (WebCore::JSSQLResultSetRowList::item):
52345        * bindings/js/JSSQLTransactionCustom.cpp:
52346        (WebCore::JSSQLTransaction::executeSql):
52347        * bindings/js/JSSVGElementInstanceCustom.cpp:
52348        (WebCore::JSSVGElementInstance::addEventListener):
52349        (WebCore::JSSVGElementInstance::removeEventListener):
52350        * bindings/js/JSSVGLengthCustom.cpp:
52351        (WebCore::JSSVGLength::convertToSpecifiedUnits):
52352        * bindings/js/JSSVGMatrixCustom.cpp:
52353        (WebCore::JSSVGMatrix::translate):
52354        (WebCore::JSSVGMatrix::scale):
52355        (WebCore::JSSVGMatrix::scaleNonUniform):
52356        (WebCore::JSSVGMatrix::rotate):
52357        (WebCore::JSSVGMatrix::rotateFromVector):
52358        (WebCore::JSSVGMatrix::skewX):
52359        (WebCore::JSSVGMatrix::skewY):
52360        * bindings/js/JSSVGPathSegListCustom.cpp:
52361        (WebCore::JSSVGPathSegList::getItem):
52362        (WebCore::JSSVGPathSegList::insertItemBefore):
52363        (WebCore::JSSVGPathSegList::replaceItem):
52364        (WebCore::JSSVGPathSegList::removeItem):
52365        * bindings/js/JSSVGPointListCustom.cpp:
52366        (WebCore::JSSVGPointList::getItem):
52367        (WebCore::JSSVGPointList::insertItemBefore):
52368        (WebCore::JSSVGPointList::replaceItem):
52369        (WebCore::JSSVGPointList::removeItem):
52370        * bindings/js/JSSVGTransformListCustom.cpp:
52371        (WebCore::JSSVGTransformList::getItem):
52372        (WebCore::JSSVGTransformList::insertItemBefore):
52373        (WebCore::JSSVGTransformList::replaceItem):
52374        (WebCore::JSSVGTransformList::removeItem):
52375        * bindings/js/JSStorageCustom.cpp:
52376        (WebCore::JSStorage::deleteProperty):
52377        (WebCore::JSStorage::customPut):
52378        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
52379        (WebCore::constructWebKitCSSMatrix):
52380        * bindings/js/JSWorkerConstructor.cpp:
52381        (WebCore::constructWorker):
52382        * bindings/js/JSWorkerContextCustom.cpp:
52383        (WebCore::JSWorkerContext::addEventListener):
52384        (WebCore::JSWorkerContext::removeEventListener):
52385        * bindings/js/JSWorkerCustom.cpp:
52386        (WebCore::JSWorker::addEventListener):
52387        (WebCore::JSWorker::removeEventListener):
52388        * bindings/js/JSXMLHttpRequestCustom.cpp:
52389        (WebCore::JSXMLHttpRequest::open):
52390        (WebCore::JSXMLHttpRequest::setRequestHeader):
52391        (WebCore::JSXMLHttpRequest::send):
52392        (WebCore::JSXMLHttpRequest::getResponseHeader):
52393        (WebCore::JSXMLHttpRequest::overrideMimeType):
52394        (WebCore::JSXMLHttpRequest::addEventListener):
52395        (WebCore::JSXMLHttpRequest::removeEventListener):
52396        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
52397        (WebCore::JSXMLHttpRequestUpload::addEventListener):
52398        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
52399        * bindings/js/JSXSLTProcessorCustom.cpp:
52400        (WebCore::JSXSLTProcessor::importStylesheet):
52401        (WebCore::JSXSLTProcessor::transformToFragment):
52402        (WebCore::JSXSLTProcessor::transformToDocument):
52403        (WebCore::JSXSLTProcessor::setParameter):
52404        (WebCore::JSXSLTProcessor::getParameter):
52405        (WebCore::JSXSLTProcessor::removeParameter):
52406        * bindings/js/ScheduledAction.cpp:
52407        (WebCore::ScheduledAction::executeFunctionInContext):
52408        * bindings/js/ScriptCallStack.cpp:
52409        (WebCore::ScriptCallStack::initialize):
52410        * bindings/js/ScriptController.cpp:
52411        (WebCore::ScriptController::createScriptObjectForPluginElement):
52412        * bindings/js/ScriptValue.cpp:
52413        (WebCore::ScriptValue::getString):
52414        (WebCore::ScriptValue::isNull):
52415        (WebCore::ScriptValue::isUndefined):
52416        * bindings/objc/WebScriptObject.mm:
52417        (-[WebScriptObject callWebScriptMethod:withArguments:]):
52418        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
52419        * bindings/scripts/CodeGeneratorJS.pm:
52420        * bridge/NP_jsobject.cpp:
52421        (_NPN_InvokeDefault):
52422        (_NPN_Invoke):
52423        (_NPN_HasMethod):
52424        (_NPN_Construct):
52425        * bridge/c/c_utility.cpp:
52426        (JSC::Bindings::convertValueToNPVariant):
52427        * bridge/jni/jni_instance.cpp:
52428        (JavaInstance::invokeMethod):
52429        * bridge/jni/jni_jsobject.mm:
52430        (JavaJSObject::call):
52431        (JavaJSObject::convertValueToJObject):
52432        * bridge/jni/jni_runtime.cpp:
52433        (JavaField::dispatchValueFromInstance):
52434        (JavaField::valueFromInstance):
52435        (JavaField::dispatchSetValueToInstance):
52436        (JavaField::setValueToInstance):
52437        * bridge/jni/jni_utility.cpp:
52438        (JSC::Bindings::convertArrayInstanceToJavaArray):
52439        (JSC::Bindings::convertValueToJValue):
52440        * bridge/objc/objc_runtime.mm:
52441        (JSC::Bindings::callObjCFallbackObject):
52442        * bridge/objc/objc_utility.mm:
52443        (JSC::Bindings::convertValueToObjcValue):
52444        * bridge/runtime_method.cpp:
52445        (JSC::callRuntimeMethod):
52446        * bridge/runtime_object.cpp:
52447        (JSC::RuntimeObjectImp::getOwnPropertySlot):
52448        (JSC::callRuntimeConstructor):
52449
524502009-01-20  Gustavo Noronha Silva  <gns@gnome.org>
52451
52452         Reviewed by Mark Rowe.
52453
52454         https://bugs.webkit.org/show_bug.cgi?id=23419
52455         removal of FramePrivate.h breaks GTK+'s make dist
52456
52457         * GNUmakefile.am: No longer mention FramePrivate.h in our build,
52458         since it was removed.
52459
524602009-01-20  Alexander V. Butenko  <alex@digiqube.com>
52461
52462        Reviewed by Holger Freyther.
52463
52464        http://bugs.webkit.org/show_bug.cgi?id=23116
52465        [GTK] Fix crash due a callback called from GIO after the
52466        destruction of the ResourceHandle
52467
52468        * platform/network/soup/ResourceHandleSoup.cpp:
52469        (WebCore::ResourceHandle::cancel): Only call didFinishLoading if
52470        'client' is set, otherwise cancelling a load could lead to a crash.
52471
524722009-01-19  Simon Fraser  <simon.fraser@apple.com>
52473
52474        Build fix: remove duplicate entries in the Xcode project, and
52475        sort the project with sort-Xcode-project-file .
52476
52477        * WebCore.xcodeproj/project.pbxproj:
52478
524792009-01-19  Simon Fraser  <simon.fraser@apple.com>
52480
52481        Reviewed by Dave Hyatt
52482
52483        https://bugs.webkit.org/show_bug.cgi?id=18078
52484
52485        Support animations and transitions of shorthand properties by creating
52486        PropertyWrappers that simply wrap a vector of atomic wrappers, and implement
52487        equal() and blend(). Build that collection of shorthand wrappers using the
52488        shorthand map that CSSMutableStyleDeclaration already has. Skip comparing these
52489        shorthand wrappers during 'all' transitions.
52490
52491        * GNUmakefile.am:
52492        * WebCore.pro:
52493        * WebCore.scons:
52494        * WebCore.vcproj/WebCore.vcproj:
52495        * WebCore.xcodeproj/project.pbxproj:
52496        * WebCoreSources.bkl:
52497        Add CSSPropertyLonghand.h/cpp.
52498
52499        * css/CSSMutableStyleDeclaration.cpp:
52500        (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
52501        Move CSSPropertyLonghand to its own file.
52502
52503        * css/CSSPropertyLonghand.cpp: Added.
52504        (WebCore::initShorthandMap):
52505        (WebCore::longhandForProperty):
52506        * css/CSSPropertyLonghand.h: Added.
52507        (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
52508        (WebCore::CSSPropertyLonghand::properties):
52509        (WebCore::CSSPropertyLonghand::length):
52510        Code moved from CSSMutableStyleDeclaration.h/cpp
52511
52512        * page/animation/AnimationBase.cpp:
52513        (WebCore::PropertyWrapperBase::isShorthandWrapper):
52514        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
52515        (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
52516        (WebCore::ShorthandPropertyWrapper::equals):
52517        (WebCore::ShorthandPropertyWrapper::blend):
52518        Add a wrapper class for shorthand properties that simply wraps an
52519        array of atomic property wrappers.
52520
52521        (WebCore::ensurePropertyMap):
52522        (WebCore::addPropertyWrapper):
52523        (WebCore::addShorthandProperties):
52524        (WebCore::wrapperForProperty):
52525        (WebCore::AnimationBase::propertiesEqual):
52526        (WebCore::AnimationBase::getPropertyAtIndex):
52527        Some minor refactoring to re-use wrapperForProperty(), and ensure that gPropertyWrapperMap
52528        is filled with an invalid index (-1), not 0.
52529
52530        (WebCore::AnimationBase::blendProperties):
52531        * page/animation/AnimationBase.h:
52532        * page/animation/CompositeAnimation.cpp:
52533        (WebCore::CompositeAnimationPrivate::updateTransitions):
52534        When doing 'all' transitions, skip shorthand wrappers, since 'all' transitions
52535        just need to compare all the atomic property wrappers.
52536
525372009-01-19  Oliver Hunt  <oliver@apple.com>
52538
52539        Reviewed by NOBODY (Build fix).
52540
52541        Actually add the new header.
52542
52543        * dom/GenericWorkerTask.h: Added.
52544
525452009-01-19  David Levin  <levin@chromium.org>
52546
52547        Reviewed by Alexey Proskuryakov.
52548
52549        https://bugs.webkit.org/show_bug.cgi?id=22720
52550
52551        Provide a generic class to handle the pattern of task callbacks across worker/parent threads.  It
52552        only works for methods that need 6 parameters but similar classes could be added as needed for
52553        other numbers of parameters.
52554
52555        Add addMessage and resourceRetrievedByXMLHttpRequest to ScriptExecutionContext.
52556
52557        Use these methods and others to remove document() from XMLHttpRequest in a few more places.
52558
52559        No observable change in behavior, so no test.
52560
52561        * GNUmakefile.am:
52562        * WebCore.vcproj/WebCore.vcproj:
52563        * WebCore.xcodeproj/project.pbxproj:
52564        Sorted project file while adding GenericWorkerTask.h
52565
52566        * bindings/js/ScriptString.h:
52567        (WebCore::ScriptString::operator=):
52568        (WebCore::ScriptString::operator+=):
52569        (WebCore::ScriptString::operator==):
52570        (WebCore::ScriptString::operator!=):
52571        Removed unnecessary JSLock.
52572
52573        * dom/Document.cpp:
52574        (WebCore::Document::addMessage):
52575        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
52576        * dom/Document.h:
52577        * dom/GenericWorkerTask.h: Added.
52578        (WebCore::GenericWorkerTaskBase::GenericWorkerTaskBase):
52579        (WebCore::GenericWorkerTaskBase::canPerformTask):
52580        (WebCore::GenericWorkerTask6::create):
52581        (WebCore::GenericWorkerTask6::GenericWorkerTask6):
52582        (WebCore::GenericWorkerTask6::performTask):
52583        (WebCore::createCallbackTask):
52584        * dom/ScriptExecutionContext.h:
52585        * dom/WorkerContext.cpp:
52586        (WebCore::addMessageTask):
52587        (WebCore::WorkerContext::addMessage):
52588        (WebCore::WorkerContext::resourceRetrievedByXMLHttpRequest):
52589        (WebCore::WorkerContext::postTaskToParentContext):
52590        * dom/WorkerContext.h:
52591        * dom/WorkerMessagingProxy.cpp:
52592        (WebCore::WorkerMessagingProxy::postTaskToParentContext):
52593        * dom/WorkerMessagingProxy.h:
52594        * dom/WorkerThread.h:
52595        * xml/XMLHttpRequest.cpp:
52596        (WebCore::XMLHttpRequest::XMLHttpRequest):
52597        (WebCore::XMLHttpRequest::dropProtection):
52598        (WebCore::reportUnsafeUsage):
52599        (WebCore::XMLHttpRequest::setRequestHeader):
52600        (WebCore::XMLHttpRequest::getResponseHeader):
52601        (WebCore::XMLHttpRequest::didFinishLoading):
52602        * xml/XMLHttpRequest.h:
52603        (WebCore::XMLHttpRequest::create):
52604
52605
526062009-01-19  Chris Fleizach  <cfleizach@apple.com>
52607
52608        Reviewed by Beth Dakin.
52609
52610        Bug 23422: AX: AXLinks should expose access key information
52611        https://bugs.webkit.org/show_bug.cgi?id=23422
52612
52613        Test: accessibility/accesskey.html
52614
52615        * page/mac/AccessibilityObjectWrapper.mm:
52616        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
52617        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
52618
526192009-01-19  Alexey Proskuryakov  <ap@webkit.org>
52620
52621        Reviewed by Anders Carlsson.
52622
52623        https://bugs.webkit.org/show_bug.cgi?id=23417
52624        Implement application cache obsolete state
52625
52626        Test: http/tests/appcache/remove-cache.html
52627
52628        * bindings/js/JSDOMApplicationCacheCustom.cpp:
52629        (WebCore::JSDOMApplicationCache::mark):
52630        * dom/EventNames.h:
52631        * loader/appcache/DOMApplicationCache.h:
52632        (WebCore::DOMApplicationCache::Status):
52633        (WebCore::DOMApplicationCache::setOnobsolete):
52634        (WebCore::DOMApplicationCache::onobsolete):
52635        * loader/appcache/DOMApplicationCache.idl:
52636        Added "obsolete" event and status.
52637
52638        * loader/appcache/ApplicationCacheGroup.h:
52639        (WebCore::ApplicationCacheGroup::savedNewestCachePointer): Removed, there is no longer
52640        any need to track what the newest cache was during teardown.
52641        (WebCore::ApplicationCacheGroup::updateStatus): Renamed Status to UpdateStatus, reducing
52642        confusion with cache group lifecycle status.
52643        (WebCore::ApplicationCacheGroup::m_isObsolete): Added an obsolete state flag.
52644
52645        * loader/appcache/ApplicationCacheGroup.cpp:
52646        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Initialize m_isObsolete.
52647        (WebCore::ApplicationCacheGroup::cacheForMainRequest): Assert that the returned cache does
52648        not belong to an obsolete group.
52649        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): Ditto.
52650        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Disassociation can now happen
52651        via a JS swapCache() call, not only when the loader is destroyed.
52652        (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't track m_savedNewestCachePointer.
52653        (WebCore::ApplicationCacheGroup::setNewestCache): Remove old newest cache from storage is
52654        a caller responsibility, because this method is also used when loading caches from disk.
52655        (WebCore::ApplicationCacheGroup::makeObsolete): Added. Mark the cache group as obsolete, and
52656        inform cache storage, so that it could be removed.
52657        (WebCore::ApplicationCacheGroup::didFailToLoadManifest): Removed, as all this method did
52658        was call cacheUpdateFailed().
52659        (WebCore::ApplicationCacheGroup::didReceiveResponse): Added a FIXME about correct failure
52660        handing.
52661        (WebCore::ApplicationCacheGroup::didFail): Ditto.
52662        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Call a new manifestNotFound()
52663        method for 404 and 410 responses.
52664        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Call cacheUpdateFailed()
52665        directly, instead of the removed didFailToLoadManifest().
52666        (WebCore::ApplicationCacheGroup::manifestNotFound): Implement "remove a cache" algorithm.
52667        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Remove superceded cache from storage
52668        after update successfully finishes (moved from setNewestCache()).
52669        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the group using
52670        an explicitly passed pointer, without the need to save it during teardown.
52671
52672        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::~DocumentLoader):
52673        Call the general ApplicationCacheGroup::disassociateDocumentLoader() method.
52674
52675        * loader/appcache/ApplicationCacheStorage.h: Added a cacheGroupMadeObsolete() method, updated
52676        some comments.
52677
52678        * loader/appcache/ApplicationCacheStorage.cpp:
52679        (WebCore::ApplicationCacheStorage::cacheGroupForURL): Assert that iterated caches are not
52680        obsolete.
52681        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
52682        (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't do anything for obsolete
52683        groups, as they cannot be in storage.
52684        (WebCore::ApplicationCacheStorage::cacheGroupMadeObsolete): Remove the cache group from storage
52685        completely, so that a new one could replace it, if necessary.
52686        (WebCore::ApplicationCacheStorage::storeNewestCache): Added assertions.
52687        (WebCore::ApplicationCacheStorage::remove): Remove cache group if its newest cache is removed.
52688
52689        * loader/appcache/DOMApplicationCache.cpp:
52690        (WebCore::DOMApplicationCache::status): Added support for OBSOLETE state.
52691        (WebCore::DOMApplicationCache::swapCache): Disassociate document loader from cache if the
52692        application was removed server-side.
52693        (WebCore::DOMApplicationCache::callObsoleteListener): Added support for obsolete event.
52694
52695        * loader/appcache/DOMApplicationCache.h:
52696        (WebCore::DOMApplicationCache::Status):
52697        (WebCore::DOMApplicationCache::setOnobsolete):
52698        (WebCore::DOMApplicationCache::onobsolete):
52699        Added support for OBSOLETE state and obsolete event.
52700
52701        * loader/appcache/DOMApplicationCache.idl: Ditto.
52702
527032009-01-19  Anders Carlsson  <andersca@apple.com>
52704
52705        Reviewed by Kevin Decker.
52706
52707        Allow plug-in views to return an instance directly.
52708
52709        * bindings/js/ScriptControllerMac.mm:
52710        (WebCore::ScriptController::createScriptInstanceForWidget):
52711
527122009-01-19  Chris Fleizach  <cfleizach@apple.com>
52713
52714        Reviewed by David Hyatt.
52715
52716        AX: some buttons don't expose AXPress as an action
52717        https://bugs.webkit.org/show_bug.cgi?id=23399
52718
52719        Test: accessibility/button-press-action.html
52720
52721        * page/AccessibilityRenderObject.cpp:
52722        (WebCore::AccessibilityRenderObject::actionElement):
52723
527242009-01-19  Adam Roben  <aroben@apple.com>
52725
52726        Windows build fix
52727
52728        * WebCore.vcproj/WebCore.vcproj: Copy headers from page/animation into
52729        $WebKitOutputDir so that WebKit can access them.
52730
52731        * html/HTMLBaseFontElement.cpp: Touched this file to cause a rebuild
52732        and header copy.
52733
527342009-01-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>
52735
52736        Reviewed by Simon Hausmann.
52737
52738        http://qt.nokia.com/developer/task-tracker/index_html?id=211228&method=entry
52739
52740        [Qt] Show focus rect when a button gets the focus for the first time.
52741        This is important at least for Windows style.
52742
52743        * platform/qt/RenderThemeQt.cpp:
52744        (WebCore::RenderThemeQt::applyTheme):
52745
527462009-01-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>
52747
52748        [Qt] Build fix after r39971.
52749
52750        * platform/qt/LoggingQt.cpp:
52751        (WebCore::InitializeLoggingChannelsIfNecessary):
52752
527532009-01-18  Sam Weinig  <sam@webkit.org>
52754
52755        Reviewed by Cameron Zwarich.
52756
52757        Fix for https://bugs.webkit.org/show_bug.cgi?id=23415
52758        Remove FramePrivate
52759
52760        Minor PLT speedup.
52761
52762        * WebCore.base.exp:
52763        * WebCore.vcproj/WebCore.vcproj:
52764        * WebCore.xcodeproj/project.pbxproj:
52765        * loader/FrameLoader.cpp:
52766        * page/Frame.cpp:
52767        (WebCore::Frame::Frame):
52768        (WebCore::Frame::~Frame):
52769        (WebCore::Frame::init):
52770        (WebCore::Frame::loader):
52771        (WebCore::Frame::view):
52772        (WebCore::Frame::setView):
52773        (WebCore::Frame::script):
52774        (WebCore::Frame::document):
52775        (WebCore::Frame::setDocument):
52776        (WebCore::Frame::settings):
52777        (WebCore::Frame::selection):
52778        (WebCore::Frame::editor):
52779        (WebCore::Frame::selectionGranularity):
52780        (WebCore::Frame::setSelectionGranularity):
52781        (WebCore::Frame::dragCaretController):
52782        (WebCore::Frame::animation):
52783        (WebCore::Frame::mark):
52784        (WebCore::Frame::setMark):
52785        (WebCore::Frame::setCaretVisible):
52786        (WebCore::Frame::clearCaretRectIfNeeded):
52787        (WebCore::Frame::selectionLayoutChanged):
52788        (WebCore::Frame::caretBlinkTimerFired):
52789        (WebCore::Frame::paintCaret):
52790        (WebCore::Frame::paintDragCaret):
52791        (WebCore::Frame::zoomFactor):
52792        (WebCore::Frame::isZoomFactorTextOnly):
52793        (WebCore::Frame::shouldApplyTextZoom):
52794        (WebCore::Frame::shouldApplyPageZoom):
52795        (WebCore::Frame::setZoomFactor):
52796        (WebCore::Frame::setPrinting):
52797        (WebCore::Frame::setJSStatusBarText):
52798        (WebCore::Frame::setJSDefaultStatusBarText):
52799        (WebCore::Frame::jsStatusBarText):
52800        (WebCore::Frame::jsDefaultStatusBarText):
52801        (WebCore::Frame::setNeedsReapplyStyles):
52802        (WebCore::Frame::needsReapplyStyles):
52803        (WebCore::Frame::reapplyStyles):
52804        (WebCore::Frame::isContentEditable):
52805        (WebCore::Frame::updateSecureKeyboardEntryIfActive):
52806        (WebCore::Frame::typingStyle):
52807        (WebCore::Frame::setTypingStyle):
52808        (WebCore::Frame::clearTypingStyle):
52809        (WebCore::Frame::computeAndSetTypingStyle):
52810        (WebCore::Frame::selectionComputedStyle):
52811        (WebCore::Frame::applyEditingStyleToBodyElement):
52812        (WebCore::Frame::removeEditingStyleFromBodyElement):
52813        (WebCore::Frame::keepAlive):
52814        (WebCore::Frame::cancelAllKeepAlive):
52815        (WebCore::Frame::clearDOMWindow):
52816        (WebCore::Frame::ownerElement):
52817        (WebCore::Frame::ownerRenderer):
52818        (WebCore::Frame::isDisconnected):
52819        (WebCore::Frame::setIsDisconnected):
52820        (WebCore::Frame::excludeFromTextSearch):
52821        (WebCore::Frame::setExcludeFromTextSearch):
52822        (WebCore::Frame::selectionBounds):
52823        (WebCore::Frame::selectionTextRects):
52824        (WebCore::Frame::isFrameSet):
52825        (WebCore::Frame::currentForm):
52826        (WebCore::Frame::forceLayout):
52827        (WebCore::Frame::sendScrollEvent):
52828        (WebCore::Frame::clearTimers):
52829        (WebCore::Frame::styleForSelectionStart):
52830        (WebCore::Frame::inViewSourceMode):
52831        (WebCore::Frame::setInViewSourceMode):
52832        (WebCore::Frame::markAllMatchesForText):
52833        (WebCore::Frame::markedTextMatchesAreHighlighted):
52834        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
52835        (WebCore::Frame::tree):
52836        (WebCore::Frame::setDOMWindow):
52837        (WebCore::Frame::domWindow):
52838        (WebCore::Frame::clearFormerDOMWindow):
52839        (WebCore::Frame::page):
52840        (WebCore::Frame::eventHandler):
52841        (WebCore::Frame::pageDestroyed):
52842        (WebCore::Frame::disconnectOwnerElement):
52843        (WebCore::Frame::documentAtPoint):
52844        * page/Frame.h:
52845        * page/FramePrivate.h: Removed.
52846        * page/FrameTree.h:
52847        * page/chromium/FrameChromium.cpp:
52848        * page/mac/FrameMac.mm:
52849        (WebCore::Frame::imageFromRect):
52850        (WebCore::Frame::selectionImage):
52851        (WebCore::Frame::snapshotDragImage):
52852        (WebCore::Frame::nodeImage):
52853        (WebCore::Frame::setUserStyleSheetLocation):
52854        (WebCore::Frame::setUserStyleSheet):
52855        * page/qt/FrameQt.cpp:
52856        (WebCore::Frame::setUserStyleSheetLocation):
52857        (WebCore::Frame::setUserStyleSheet):
52858        * page/win/FrameCGWin.cpp:
52859        (WebCore::Frame::nodeImage):
52860        * page/win/FrameWin.cpp:
52861
528622009-01-18  Eric Carlson  <eric.carlson@apple.com>
52863
52864        Build fix for !ENABLE(VIDEO) following r40016.
52865
52866        * rendering/RenderSlider.cpp:
52867        (WebCore::RenderSlider::mouseEventIsInThumb):
52868
528692009-01-17  Steve Falkenburg  <sfalken@apple.com>
52870
52871        Build fix.
52872
528732009-01-17  David Hyatt  <hyatt@apple.com>
52874
52875        Optimize isTextNode() the same way isElementNode() was optimized in an earlier checkin.  isTextNode()
52876        on Node is now non-virtual and just checks a bit that is set at construction time by Text.
52877
52878        Reviewed by Sam Weinig
52879
52880        * dom/CharacterData.cpp:
52881        (WebCore::CharacterData::CharacterData):
52882        * dom/CharacterData.h:
52883        * dom/EventTargetNode.cpp:
52884        (WebCore::EventTargetNode::EventTargetNode):
52885        * dom/EventTargetNode.h:
52886        * dom/Node.cpp:
52887        (WebCore::Node::Node):
52888        * dom/Node.h:
52889        (WebCore::Node::isTextNode):
52890        (WebCore::Node::isAttributeNode):
52891        * dom/Text.cpp:
52892        (WebCore::Text::Text):
52893        * dom/Text.h:
52894
528952009-01-17  David Hyatt  <hyatt@apple.com>
52896
52897        Change how backslashAsCurrencySymbol() works.  Instead of forcing call sites to do the direct
52898        replacement themselves, the exact transformation is instead done by the encoding (indirectly through
52899        a method on Document).
52900
52901        These changes allow the fast case (where no replacement is needed) checks to be completely inlined for
52902        a slight speedup, and also allow encodings to do future alterations to displayed string content without
52903        having to patch call sites again.
52904
52905        Reviewed by Oliver Hunt
52906
52907        * WebCore.base.exp:
52908        * dom/Document.cpp:
52909        * dom/Document.h:
52910        (WebCore::Document::displayStringModifiedByEncoding):
52911        (WebCore::Document::displayBufferModifiedByEncoding):
52912        * editing/Editor.cpp:
52913        (WebCore::Editor::addToKillRing):
52914        * editing/TextIterator.cpp:
52915        (WebCore::plainTextToMallocAllocatedBuffer):
52916        (WebCore::plainText):
52917        * editing/TextIterator.h:
52918        * html/HTMLOptGroupElement.cpp:
52919        (WebCore::HTMLOptGroupElement::groupLabelText):
52920        * html/HTMLOptionElement.cpp:
52921        (WebCore::HTMLOptionElement::text):
52922        * loader/DocumentLoader.cpp:
52923        (WebCore::canonicalizedTitle):
52924        * page/Chrome.cpp:
52925        (WebCore::displayString):
52926        (WebCore::Chrome::runJavaScriptAlert):
52927        (WebCore::Chrome::runJavaScriptConfirm):
52928        (WebCore::Chrome::runJavaScriptPrompt):
52929        (WebCore::Chrome::setStatusbarText):
52930        * page/Frame.cpp:
52931        (WebCore::Frame::shouldClose):
52932        * page/Frame.h:
52933        * platform/mac/PasteboardMac.mm:
52934        (WebCore::Pasteboard::writeSelection):
52935        * platform/text/TextCodecICU.cpp:
52936        (WebCore::TextCodecICU::encode):
52937        * platform/text/TextEncoding.cpp:
52938        (WebCore::TextEncoding::TextEncoding):
52939        * platform/text/TextEncoding.h:
52940        (WebCore::TextEncoding::displayString):
52941        (WebCore::TextEncoding::displayBuffer):
52942        * rendering/HitTestResult.cpp:
52943        (WebCore::displayString):
52944        * rendering/RenderImage.cpp:
52945        (WebCore::RenderImage::paintReplaced):
52946        * rendering/RenderObject.cpp:
52947        * rendering/RenderObject.h:
52948        * rendering/RenderText.cpp:
52949        (WebCore::RenderText::RenderText):
52950        (WebCore::RenderText::setTextInternal):
52951        * rendering/RenderTextControl.cpp:
52952        (WebCore::RenderTextControl::setInnerTextValue):
52953        (WebCore::RenderTextControl::finishText):
52954
529552009-01-17  Eric Carlson  <eric.carlson@apple.com>
52956
52957        Reviewed by Adele Peterson
52958
52959        Complete <rdar://problem/6293969>
52960
52961        * DerivedSources.make: include mediaControlsQT.css for Mac build.
52962
52963        * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css
52964
52965        * css/CSSPrimitiveValueMappings.h:
52966        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart,
52967        CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay
52968
52969        * css/CSSSelector.cpp:
52970        (WebCore::CSSSelector::extractPseudoType): include new media controller element styles
52971        * css/CSSSelector.h:
52972        (WebCore::CSSSelector::): Ditto.
52973
52974        * css/CSSStyleSelector.cpp:
52975        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):  include new media
52976        controller element styles
52977
52978        * css/CSSValueKeywords.in: add keywords for new media time display controls
52979
52980        * css/mediaControls.css: adjust css for new control elements
52981
52982        * css/mediaControlsQT.css: Added.
52983
52984        * platform/ThemeTypes.h:
52985        (WebCore::): add media time display controls to ControlPart
52986
52987        * platform/mac/WebCoreSystemInterface.h:
52988        * platform/mac/WebCoreSystemInterface.mm: pass controller style to WKSI functions
52989
52990        * rendering/MediaControlElements.cpp:
52991        (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): Added
52992        (WebCore::MediaTextDisplayElement::attachToParent): Added
52993        (WebCore::MediaTextDisplayElement::update): Added
52994        (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): Added
52995        (WebCore::MediaControlInputElement::MediaControlInputElement): Added
52996        (WebCore::MediaControlInputElement::hitTest): Added
52997        (WebCore::MediaControlTimelineElement::defaultEventHandler): Update the time display when
52998        dragging the thumb
52999        * rendering/MediaControlElements.h:
53000        (WebCore::): Add MediaTextDisplayElement
53001
53002        * rendering/RenderMedia.cpp:
53003        (WebCore::RenderMedia::createTimelineContainer): Added
53004        (WebCore::RenderMedia::createTimeline): Parent is now the timeline container
53005        (WebCore::RenderMedia::createCurrentTimeDisplay): Added
53006        (WebCore::RenderMedia::createTimeRemainingDisplay): Added
53007        (WebCore::RenderMedia::updateControls): Create new elements. Don't ever start the time update
53008        timer when the time display elements are not visible
53009        (WebCore::RenderMedia::formatTime): Handle negative times. Don't display 0 hours or minutes
53010        (WebCore::RenderMedia::updateTimeDisplay): Do nothing when the time display elements are not
53011        visible. Display time remaining as well as current time.
53012        (WebCore::RenderMedia::updateControlVisibility): Don't assume opacity should be set to 0 when
53013        visibility changes
53014        (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function
53015        as we can't assume that all controls are rectangular
53016        * rendering/RenderMedia.h: Updated
53017
53018        * rendering/RenderSlider.cpp:
53019        (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call
53020        element hitTest() method instead of assuming it is rectangular
53021        * rendering/RenderSlider.h: make mouseEventIsInThumb virtual
53022
53023        * rendering/RenderTheme.cpp:
53024        (WebCore::RenderTheme::paint): Deal with time display and timeline container
53025        * rendering/RenderTheme.h:
53026        (WebCore::RenderTheme::paintMediaTimelineContainer): Updated
53027        (WebCore::RenderTheme::paintMediaCurrentTime): Added
53028        (WebCore::RenderTheme::paintMediaTimeRemaining): Added
53029
53030        * rendering/RenderThemeMac.h: Updated
53031        * rendering/RenderThemeMac.mm:
53032        (WebCore::):
53033        (WebCore::mediaControllerTheme):
53034        (WebCore::RenderThemeMac::adjustSliderThumbSize): Call WebKitSystemInterface to get the thumb
53035        size when appropriate
53036        (WebCore::RenderThemeMac::paintMediaFullscreenButton): pass controller style to render function
53037        (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
53038        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
53039        (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
53040        (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
53041        (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
53042        (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
53043        (WebCore::RenderThemeMac::paintMediaTimelineContainer): Added
53044        (WebCore::RenderThemeMac::paintMediaCurrentTime): Added
53045        (WebCore::RenderThemeMac::paintMediaTimeRemaining): Added
53046        (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): Added
53047        (WebCore::RenderThemeMac::hitTestMediaControlPart): Added
53048        * rendering/style/RenderStyle.h: Updated
53049        (WebCore::):
53050
530512009-01-17  David Hyatt  <hyatt@apple.com>
53052
53053        Inline a few methods in FrameView for speed.
53054
53055        Reviewed by Oliver Hunt
53056
53057        * page/FrameView.cpp:
53058        * page/FrameView.h:
53059        (WebCore::FrameView::layoutCount):
53060        (WebCore::FrameView::needsFullRepaint):
53061
530622009-01-17  David Hyatt  <hyatt@apple.com>
53063
53064        Inline Document::documentElement(), since it is used by the (very hot) RenderObject::isRoot().  Split off
53065        the code that fetches and caches the document element into a separate function and inline the part that
53066        does the null check and the return of the already-cached element.
53067
53068        Reviewed by Oliver Hunt
53069
53070        * dom/Document.cpp:
53071        (WebCore::Document::cacheDocumentElement):
53072        * dom/Document.h:
53073        (WebCore::Document::documentElement):
53074
530752009-01-17  David Hyatt  <hyatt@apple.com>
53076
53077        Minor tweaks to RenderBox::styleChange to speed it up.
53078
53079        Reviewed by Oliver Hunt
53080
53081        * rendering/RenderBox.cpp:
53082        (WebCore::RenderBox::styleDidChange):
53083
530842009-01-17  David Hyatt  <hyatt@apple.com>
53085
53086        Inline FrameLoader::client().
53087
53088        Reviewed by Oliver Hunt
53089
53090        * WebCore.base.exp:
53091        * loader/FrameLoader.cpp:
53092        * loader/FrameLoader.h:
53093        (WebCore::FrameLoader::client):
53094
530952009-01-17  David Hyatt  <hyatt@apple.com>
53096
53097        Inline some Image methods for speed.  Fix CachedImage's addClient method to just use isNull rather
53098        than needlessly creating a rect.
53099
53100        Reviewed by Oliver Hunt
53101
53102        * loader/CachedImage.cpp:
53103        (WebCore::CachedImage::addClient):
53104        * platform/graphics/Image.cpp:
53105        * platform/graphics/Image.h:
53106        (WebCore::Image::isNull):
53107        (WebCore::Image::rect):
53108        (WebCore::Image::width):
53109        (WebCore::Image::height):
53110
531112009-01-17  David Hyatt  <hyatt@apple.com>
53112
53113        Avoid using the non-inlined isVariable() when adding parsed values during CSS parsing.
53114
53115        Reviewed by Oliver Hunt
53116
53117        * css/CSSParserValues.cpp:
53118        (WebCore::CSSParserValueList::addValue):
53119
531202009-01-17  David Hyatt  <hyatt@apple.com>
53121
53122        Inline Document::inPageCache(), since - because of animation code - it is now called every time
53123        styles change on any element and so is now super-hot.
53124
53125        Reviewed by Oliver Hunt
53126
53127        * dom/Document.cpp:
53128        * dom/Document.h:
53129        (WebCore::Document::inPageCache):
53130
531312009-01-16  David Hyatt  <hyatt@apple.com>
53132
53133        Take Font out of the GraphicsContext.  Fonts are moderately expensive to both compare and to assign to.
53134        The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be,
53135        and was also causing expensive comparison checks to be made before doing alterations of the Font in the
53136        GraphicsContext.
53137
53138        A font must now be passed as a parameter to all text drawing functions.
53139
53140        Reviewed by Oliver Hunt
53141
53142        * html/CanvasRenderingContext2D.cpp:
53143        (WebCore::CanvasRenderingContext2D::setFont):
53144        (WebCore::CanvasRenderingContext2D::drawTextInternal):
53145        * platform/graphics/GraphicsContext.cpp:
53146        (WebCore::GraphicsContext::drawText):
53147        (WebCore::GraphicsContext::drawBidiText):
53148        (WebCore::GraphicsContext::drawHighlightForText):
53149        * platform/graphics/GraphicsContext.h:
53150        * platform/graphics/GraphicsContextPrivate.h:
53151        * platform/graphics/qt/GraphicsContextQt.cpp:
53152        * rendering/EllipsisBox.cpp:
53153        (WebCore::EllipsisBox::paint):
53154        * rendering/InlineTextBox.cpp:
53155        (WebCore::paintTextWithShadows):
53156        (WebCore::InlineTextBox::paint):
53157        (WebCore::InlineTextBox::paintSelection):
53158        (WebCore::InlineTextBox::paintCompositionBackground):
53159        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
53160        (WebCore::InlineTextBox::paintTextMatchMarker):
53161        (WebCore::InlineTextBox::paintDocumentMarkers):
53162        * rendering/InlineTextBox.h:
53163        * rendering/RenderFileUploadControl.cpp:
53164        (WebCore::RenderFileUploadControl::paintObject):
53165        * rendering/RenderImage.cpp:
53166        (WebCore::RenderImage::paintReplaced):
53167        * rendering/RenderListBox.cpp:
53168        (WebCore::RenderListBox::paintItemForeground):
53169        * rendering/RenderListMarker.cpp:
53170        (WebCore::RenderListMarker::paint):
53171        * rendering/SVGInlineTextBox.cpp:
53172        (WebCore::SVGInlineTextBox::paintCharacters):
53173        (WebCore::SVGInlineTextBox::paintSelection):
53174        * rendering/SVGInlineTextBox.h:
53175        * svg/SVGFont.cpp:
53176        (WebCore::Font::drawTextUsingSVGFont):
53177
531782009-01-16  David Hyatt  <hyatt@apple.com>
53179
53180        Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed
53181        two if statements.
53182
53183        Reviewed by Oliver Hunt
53184
53185        * rendering/RenderObject.cpp:
53186        (WebCore::RenderObject::absoluteRects):
53187        (WebCore::RenderObject::absoluteQuads):
53188
531892009-01-16  David Hyatt  <hyatt@apple.com>
53190
53191        Fix a regression from my before/after optimization.  Make sure the <q> element puts the document
53192        into a mode where it will respect before/after rules, since <q> implicitly uses such rules.
53193
53194        Make sure view source mode documents also turn on before/after rules, since they are used there also.
53195
53196        Reviewed by Oliver Hunt
53197
53198        * html/HTMLElementFactory.cpp:
53199        (WebCore::quoteConstructor):
53200        * html/HTMLViewSourceDocument.cpp:
53201        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
53202
532032009-01-16  Chris Fleizach  <cfleizach@apple.com>
53204
53205        Reviewed by Oliver Hunt.
53206
53207        Bug 23397: AXURL is not reported for <INPUT type="image"> elements
53208        https://bugs.webkit.org/show_bug.cgi?id=23397
53209
53210        Report an AXURL for inputs that have an image type.
53211
53212        Test: accessibility/input-image-url.html
53213
53214        * page/AccessibilityObject.h:
53215        (WebCore::AccessibilityObject::isInputImage):
53216        * page/AccessibilityRenderObject.cpp:
53217        (WebCore::AccessibilityRenderObject::isInputImage):
53218        (WebCore::AccessibilityRenderObject::url):
53219        * page/AccessibilityRenderObject.h:
53220        * page/mac/AccessibilityObjectWrapper.mm:
53221        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
53222
532232009-01-16  Adele Peterson  <adele@apple.com>
53224
53225        Windows build fix.
53226
53227        * loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision):
53228
532292009-01-16  Steve Falkenburg  <sfalken@apple.com>
53230
53231        <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed.
53232
53233        This was caused by mismatched ENABLE definitions across WebCore and WebKit.
53234
53235        Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO).
53236        In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE
53237        to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows.
53238        Our Windows ENABLE flags now match Mac.
53239
53240        Reviewed by Adele Peterson.
53241
53242        * WebCore.vcproj/WebCore.vcproj:
53243        * WebCore.vcproj/build-generated-files.sh:
53244
532452009-01-16  Mark Rowe  <mrowe@apple.com>
53246
53247        40,000!
53248
53249        * ChangeLog: Point out revision 40,000.
53250
532512009-01-16  Eric Seidel  <eric@webkit.org>
53252
53253        Reviewed by Justin Garcia.
53254
53255        Make surroundNodeRangeWithElement call insertNodeBefore implicitly
53256        Make insertNodeBefore take PassRefPtr
53257        Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code.
53258        https://bugs.webkit.org/show_bug.cgi?id=23389
53259
53260        * editing/ApplyStyleCommand.cpp:
53261        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
53262        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
53263        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
53264        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
53265        * editing/ApplyStyleCommand.h:
53266        * editing/CompositeEditCommand.cpp:
53267        (WebCore::CompositeEditCommand::insertNodeAt):
53268        * editing/IndentOutdentCommand.cpp:
53269        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
53270        * editing/InsertLineBreakCommand.cpp:
53271        (WebCore::InsertLineBreakCommand::doApply):
53272        * editing/InsertParagraphSeparatorCommand.cpp:
53273        (WebCore::InsertParagraphSeparatorCommand::doApply):
53274        * editing/InsertTextCommand.cpp:
53275        (WebCore::InsertTextCommand::insertTab):
53276        * editing/ModifySelectionListLevel.cpp:
53277        (WebCore::IncreaseSelectionListLevelCommand::doApply):
53278        * editing/ReplaceSelectionCommand.cpp:
53279        (WebCore::ReplacementFragment::removeNodePreservingChildren):
53280        (WebCore::ReplacementFragment::insertNodeBefore):
53281        (WebCore::ReplacementFragment::removeInterchangeNodes):
53282        (WebCore::ReplaceSelectionCommand::doApply):
53283        (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted):
53284        (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
53285        (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted):
53286        * editing/ReplaceSelectionCommand.h:
53287
532882009-01-16  Chris Fleizach  <cfleizach@apple.com>
53289
53290        Reviewed by Oliver Hunt.
53291
53292        Bug 23393: TextField has AXTitle and AXTitleUIElement
53293        https://bugs.webkit.org/show_bug.cgi?id=23393
53294
53295        Test: accessibility/double-title.html
53296
53297        * page/AccessibilityRenderObject.cpp:
53298        (WebCore::AccessibilityRenderObject::title):
53299
533002009-01-16  Adam Treat  <adam.treat@torchmobile.com>
53301
53302        The correct build fix for all platforms.
53303
53304        * platform/graphics/Font.h:
53305
533062009-01-16  Adam Treat  <adam.treat@torchmobile.com>
53307
53308        Fix the Qt build.
53309
53310        * platform/graphics/Font.h:
53311
533122009-01-16  David Hyatt  <hyatt@apple.com>
53313
53314        Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules
53315        are being used.  If not, don't waste time probing for those pseudo element styles.
53316
53317        Reviewed by Sam Weinig
53318
53319        * css/CSSGrammar.y:
53320        * dom/Document.cpp:
53321        (WebCore::Document::Document):
53322        * dom/Document.h:
53323        (WebCore::Document::usesBeforeAfterRules):
53324        (WebCore::Document::setUsesBeforeAfterRules):
53325        * rendering/RenderBlock.cpp:
53326        (WebCore::RenderBlock::styleDidChange):
53327        * rendering/RenderContainer.cpp:
53328        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
53329        * rendering/RenderInline.cpp:
53330        (WebCore::RenderInline::styleDidChange):
53331        (WebCore::RenderInline::addChildToFlow):
53332        (WebCore::RenderInline::splitInlines):
53333
533342009-01-16  Dmitry Titov  <dimich@chromium.org>
53335
53336        Reviewed by Alp Toker.
53337
53338        https://bugs.webkit.org/show_bug.cgi?id=23394
53339        Remove unnecessary calls to setDeferringTimers().
53340
53341        Use of this function was obsoleted by better handling of EINTR.
53342
53343        * platform/network/curl/ResourceHandleManager.cpp:
53344        (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls.
53345
533462009-01-16  David Hyatt  <hyatt@apple.com>
53347
53348        Fix badness with the cursor CSS property.  For all links and form controls, resetting to a value of auto
53349        was resulting in the creation of a cursor list.  clearCursorList was creating a new list rather than just
53350        nulling out the pointer.  Since addCursor already lazily recreates the list, in the case of simple cursor types,
53351        the clear method was wastefully creating a completely unnecessary list for all of these elements.
53352
53353        Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already
53354        set to the same value.  Since this is the common case, it prevents a fault and copy of StyleInheritedData for
53355        all links and form controls.
53356
53357        This is a PLT speedup.
53358
53359        Reviewed by Oliver Hunt
53360
53361        * css/CSSStyleSelector.cpp:
53362        (WebCore::CSSStyleSelector::applyProperty):
53363        * rendering/style/RenderStyle.cpp:
53364        (WebCore::RenderStyle::clearCursorList):
53365
533662009-01-16  Darin Fisher  <darin@chromium.org>
53367
53368        Reviewed by Darin Adler.
53369
53370        https://bugs.webkit.org/show_bug.cgi?id=23384
53371        PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder
53372
53373        * history/BackForwardList.h:
53374        (WebCore::BackForwardListClient::~BackForwardListClient):
53375        (WebCore::BackForwardList::setClient):
53376        * history/BackForwardListChromium.cpp: Added.
53377
533782009-01-16  Dan Bernstein  <mitz@apple.com>
53379
53380        Reviewed by Kevin Decker and Adam Roben.
53381
53382        - fix a regression that resulted in a crash when plug-ins were
53383          disabled.
53384
53385        * rendering/RenderPartObject.cpp:
53386        (WebCore::RenderPartObject::updateWidget): Added a null check.
53387
533882009-01-16  David Hyatt  <hyatt@apple.com>
53389
53390        Split continuation() into virtual and non-virtual versions so that the non-virtual version can
53391        be used whereever possible.  Eventually the virtual method can be eliminated completely.
53392
53393        Reviewed by Sam Weinig and Oliver Hunt
53394
53395        * html/HTMLAnchorElement.cpp:
53396        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
53397        * page/AccessibilityRenderObject.cpp:
53398        (WebCore::AccessibilityRenderObject::anchorElement):
53399        * rendering/InlineFlowBox.cpp:
53400        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
53401        (WebCore::InlineFlowBox::paint):
53402        * rendering/RenderBlock.cpp:
53403        (WebCore::RenderBlock::removeChild):
53404        * rendering/RenderContainer.cpp:
53405        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
53406        * rendering/RenderFlow.h:
53407        (WebCore::RenderFlow::virtualContinuation):
53408        (WebCore::RenderFlow::continuation):
53409        * rendering/RenderInline.cpp:
53410        (WebCore::RenderInline::positionForCoordinates):
53411        * rendering/RenderObject.cpp:
53412        (WebCore::RenderObject::absoluteRects):
53413        (WebCore::RenderObject::absoluteQuads):
53414        (WebCore::RenderObject::addFocusRingRects):
53415        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
53416        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
53417        (WebCore::RenderObject::handleDynamicFloatPositionChange):
53418        (WebCore::RenderObject::hoverAncestor):
53419        (WebCore::RenderObject::updateDragState):
53420        (WebCore::RenderObject::updateHitTestResult):
53421        (WebCore::RenderObject::getTextDecorationColors):
53422        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
53423        * rendering/RenderObject.h:
53424        (WebCore::RenderObject::virtualContinuation):
53425
534262009-01-16  David Hyatt  <hyatt@apple.com>
53427
53428        Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing.
53429
53430        Reviewed by ggaren
53431
53432        * platform/graphics/Font.cpp:
53433        * platform/graphics/Font.h:
53434        (WebCore::Font::width):
53435        (WebCore::Font::ascent):
53436        (WebCore::Font::descent):
53437        (WebCore::Font::lineSpacing):
53438        (WebCore::Font::lineGap):
53439        (WebCore::Font::xHeight):
53440        (WebCore::Font::unitsPerEm):
53441        (WebCore::Font::spaceWidth):
53442
534432009-01-16  Sam Weinig  <sam@webkit.org>
53444
53445        Reviewed by David Hyatt.
53446
53447        Fix for https://bugs.webkit.org/show_bug.cgi?id=23388
53448        Remove FrameViewPrivate
53449
53450        Removes an indirection and is a small speedup on PLT.
53451
53452        * page/FrameView.cpp:
53453        (WebCore::FrameView::FrameView):
53454        (WebCore::FrameView::~FrameView):
53455        (WebCore::FrameView::reset):
53456        (WebCore::FrameView::resetScrollbars):
53457        (WebCore::FrameView::init):
53458        (WebCore::FrameView::clear):
53459        (WebCore::FrameView::didFirstLayout):
53460        (WebCore::FrameView::initScrollbars):
53461        (WebCore::FrameView::updateDefaultScrollbarState):
53462        (WebCore::FrameView::setCanHaveScrollbars):
53463        (WebCore::FrameView::applyOverflowToViewport):
53464        (WebCore::FrameView::layoutCount):
53465        (WebCore::FrameView::needsFullRepaint):
53466        (WebCore::FrameView::layoutRoot):
53467        (WebCore::FrameView::layout):
53468        (WebCore::FrameView::setMediaType):
53469        (WebCore::FrameView::mediaType):
53470        (WebCore::FrameView::useSlowRepaints):
53471        (WebCore::FrameView::setUseSlowRepaints):
53472        (WebCore::FrameView::addSlowRepaintObject):
53473        (WebCore::FrameView::removeSlowRepaintObject):
53474        (WebCore::FrameView::scrollRectIntoViewRecursively):
53475        (WebCore::FrameView::setScrollPosition):
53476        (WebCore::FrameView::repaintContentRectangle):
53477        (WebCore::FrameView::beginDeferredRepaints):
53478        (WebCore::FrameView::endDeferredRepaints):
53479        (WebCore::FrameView::scheduleRelayout):
53480        (WebCore::FrameView::scheduleRelayoutOfSubtree):
53481        (WebCore::FrameView::layoutPending):
53482        (WebCore::FrameView::needsLayout):
53483        (WebCore::FrameView::unscheduleRelayout):
53484        (WebCore::FrameView::isTransparent):
53485        (WebCore::FrameView::setTransparent):
53486        (WebCore::FrameView::baseBackgroundColor):
53487        (WebCore::FrameView::setBaseBackgroundColor):
53488        (WebCore::FrameView::shouldUpdateWhileOffscreen):
53489        (WebCore::FrameView::setShouldUpdateWhileOffscreen):
53490        (WebCore::FrameView::scheduleEvent):
53491        (WebCore::FrameView::pauseScheduledEvents):
53492        (WebCore::FrameView::resumeScheduledEvents):
53493        (WebCore::FrameView::performPostLayoutTasks):
53494        (WebCore::FrameView::updateOverflowStatus):
53495        (WebCore::FrameView::dispatchScheduledEvents):
53496        (WebCore::FrameView::wasScrolledByUser):
53497        (WebCore::FrameView::setWasScrolledByUser):
53498        (WebCore::FrameView::paintContents):
53499        (WebCore::FrameView::setPaintRestriction):
53500        (WebCore::FrameView::isPainting):
53501        (WebCore::FrameView::setNodeToDraw):
53502        * page/FrameView.h:
53503        (WebCore::FrameView::setIsVisuallyNonEmpty): Inline.
53504
535052009-01-14  Julien Chaffraix  <jchaffraix@webkit.org>
53506
53507        Reviewed by Darin Adler.
53508
53509        Bug 23237: Some HTML constructors in HTMLElementFactory needs
53510        an HTMLFormElement argument
53511
53512        - Added 'constructorNeedsFormElement' parameter to make_names.pl to account
53513          for HTML form elements.
53514
53515        - Added the new information to HTMLTagNames.in.
53516
53517        * dom/make_names.pl:
53518        * html/HTMLTagNames.in:
53519
535202009-01-16  David Hyatt  <hyatt@apple.com>
53521
53522        Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods.  The most common reason
53523        for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of
53524        the cross-platform graphics state.  By being able to query for the current antialiasing setting, antialiasing
53525        can be temporarily changed and then restored back to the real value without needing to do a save/restore.
53526
53527        The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent
53528        a permanent mutation of the fill color in the CGContext.   The new code just restores the fill color back
53529        to its original value without doing the much more expensive save/restore.
53530
53531        Reviewed by Oliver Hunt
53532
53533        * platform/graphics/GraphicsContext.cpp:
53534        (WebCore::GraphicsContext::setShouldAntialias):
53535        (WebCore::GraphicsContext::shouldAntialias):
53536        * platform/graphics/GraphicsContext.h:
53537        * platform/graphics/GraphicsContextPrivate.h:
53538        (WebCore::GraphicsContextState::GraphicsContextState):
53539        * platform/graphics/cairo/GraphicsContextCairo.cpp:
53540        (WebCore::GraphicsContext::setPlatformShouldAntialias):
53541        * platform/graphics/cg/GraphicsContextCG.cpp:
53542        (WebCore::GraphicsContext::drawLine):
53543        (WebCore::GraphicsContext::drawConvexPolygon):
53544        (WebCore::GraphicsContext::drawLineForText):
53545        (WebCore::GraphicsContext::setPlatformShouldAntialias):
53546        * platform/graphics/qt/GraphicsContextQt.cpp:
53547        (WebCore::GraphicsContext::setPlatformShouldAntialias):
53548        * platform/graphics/skia/GraphicsContextSkia.cpp:
53549        (WebCore::GraphicsContext::setPlatformShouldAntialias):
53550        * platform/graphics/wx/GraphicsContextWx.cpp:
53551        (WebCore::GraphicsContext::setPlatformShouldAntialias):
53552        * rendering/RenderPath.cpp:
53553        (WebCore::RenderPath::paint):
53554
535552009-01-16  Anders Carlsson  <andersca@apple.com>
53556
53557        Reviewed by Sam Weinig.
53558
53559        Clean up the bridge code and get rid of Field::name() and Method::name().
53560
53561        * bridge/c/c_instance.cpp:
53562        (JSC::Bindings::CInstance::invokeMethod):
53563        * bridge/c/c_runtime.cpp:
53564        * bridge/c/c_runtime.h:
53565        (JSC::Bindings::CField::identifier):
53566        (JSC::Bindings::CMethod::identifier):
53567        * bridge/jni/jni_class.cpp:
53568        (JavaClass::JavaClass):
53569        * bridge/jni/jni_instance.cpp:
53570        (JavaInstance::invokeMethod):
53571        * bridge/jni/jni_runtime.cpp:
53572        (JavaField::valueFromInstance):
53573        (JavaField::setValueToInstance):
53574        (JavaMethod::methodID):
53575        * bridge/jni/jni_runtime.h:
53576        (JSC::Bindings::JavaField::name):
53577        (JSC::Bindings::JavaMethod::name):
53578        * bridge/objc/objc_class.mm:
53579        (JSC::Bindings::ObjcClass::methodsNamed):
53580        * bridge/objc/objc_instance.mm:
53581        (ObjcInstance::invokeMethod):
53582        * bridge/objc/objc_runtime.h:
53583        (JSC::Bindings::ObjcMethod::isFallbackMethod):
53584        (JSC::Bindings::ObjcMethod::selector):
53585        * bridge/objc/objc_runtime.mm:
53586        (JSC::Bindings::ObjcMethod::ObjcMethod):
53587        (JSC::Bindings::ObjcMethod::getMethodSignature):
53588        (JSC::Bindings::ObjcField::ObjcField):
53589        (JSC::Bindings::ObjcField::valueFromInstance):
53590        (JSC::Bindings::ObjcField::setValueToInstance):
53591        (JSC::Bindings::callObjCFallbackObject):
53592        * bridge/runtime.h:
53593
535942009-01-16  David Hyatt  <hyatt@apple.com>
53595
53596        Optimize RenderText::styleDidChange.  Don't call the base class, which does extra meaningless work.
53597        Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate.
53598        Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking
53599        for the existence of m_parent in each if clause.
53600
53601        Reviewed by Darin Adler
53602
53603        * rendering/RenderObject.cpp:
53604        (WebCore::RenderObject::styleDidChange):
53605        * rendering/RenderText.cpp:
53606        (WebCore::RenderText::styleDidChange):
53607
536082009-01-16  Chris Fleizach  <cfleizach@apple.com>
53609
53610        Reviewed by Beth Dakin.
53611
53612        Bug 23387: AX hierarchy is incorrect when iframes are present
53613        https://bugs.webkit.org/show_bug.cgi?id=23387
53614
53615        The AX hierarchy is incorrect when iframes are present.
53616
53617        Test: accessibility/iframe-bastardization.html
53618
53619        * page/mac/AccessibilityObjectWrapper.mm:
53620        (-[AccessibilityObjectWrapper renderWidgetChildren]):
53621
536222009-01-16  Brady Eidson  <beidson@apple.com>
53623
53624        Reviewed by Darin Adler
53625
53626        <rdar://problem/3541409> - Split up some back/forward cache decision making and add detailed logging to
53627        better understand what the common disqualifiers are.
53628
53629        * loader/FrameLoader.cpp:
53630        (WebCore::FrameLoader::canCachePageContainingThisFrame):
53631        (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe.
53632        (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for
53633          the back/forward cache.
53634        (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis.
53635        (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame().
53636        * loader/FrameLoader.h:
53637
536382009-01-16  Chris Marrin  <cmarrin@apple.com>
53639
53640        Reviewed by David Hyatt.
53641
53642        Test: transitions/hang-with-bad-transition-list.html
53643
53644        Fixed https://bugs.webkit.org/show_bug.cgi?id=23088.
53645        This was happening because I was calling setChanged() from inside updateRendering()
53646        which causes an infinite loop. I fixed this by deferring the setChanged to the next
53647        run loop iteration. That made it not infinite loop, but it still retriggers the
53648        transition forever. The problem is that there is both an 'all' and specific transition
53649        on 'opacity'. This tickled a bug in AnimationController which causes the opacity
53650        transition to get constantly cancelled and then retriggered. The problem is that
53651        the specific opacity transition has a duration of 0. I got rid of the logic to
53652        flush out 0 duration transitions and it is no longer constantly triggered. The
53653        logic to flush them was just an optimization, and you really need to keep them
53654        around to make the logic to override earlier animations by later ones work. And there is
53655        very little overhead in this case anyway, so the optimization was not that useful.
53656
53657        I made a LayoutTest from the original testcase which tests both the infinite
53658        loop and constantly triggering animation cases.
53659
53660        * page/animation/AnimationBase.cpp:
53661        (WebCore::AnimationBase::updateStateMachine):
53662        * page/animation/AnimationController.cpp:
53663        (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
53664        (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
53665        (WebCore::AnimationController::addNodeChangeToDispatch):
53666        * page/animation/AnimationController.h:
53667        * page/animation/CompositeAnimation.cpp:
53668        (WebCore::CompositeAnimationPrivate::updateTransitions):
53669        * rendering/style/RenderStyle.cpp:
53670        (WebCore::RenderStyle::adjustAnimations):
53671        (WebCore::RenderStyle::adjustTransitions):
53672
536732009-01-16  Chris Fleizach  <cfleizach@apple.com>
53674
53675        Reviewed by Darin Adler.
53676
53677        Bug 23385: crash at com.apple.WebCore  WebCore::HTMLAnchorElement::isKeyboardFocusable
53678        https://bugs.webkit.org/show_bug.cgi?id=23385
53679
53680        Option-tabbing through the page mentioned in the bug causes a crash
53681
53682        Test: fast/events/tab-crash-with-image-map.html
53683
53684        * html/HTMLAnchorElement.cpp:
53685        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
53686
536872009-01-16  Thiago Macieira  <thiago.macieira@nokia.com>
53688
53689        Reviewed by Simon Hausmann.
53690
53691        [Qt] Fixes QString and 8-bit mix fixes.
53692
53693        Details:  Make sure we use QLatin1String where appropriate (and don't
53694        use QString when not necessary)
53695
53696        * platform/graphics/qt/ImageDecoderQt.cpp:
53697        (WebCore::ImageDecoderQt::create):
53698        * platform/graphics/qt/SimpleFontDataQt.cpp:
53699        (WebCore::SimpleFontData::platformInit):
53700        * platform/qt/FileSystemQt.cpp:
53701        (WebCore::openTemporaryFile):
53702        * platform/qt/LoggingQt.cpp:
53703        (WebCore::InitializeLoggingChannelsIfNecessary):
53704        * platform/qt/RenderThemeQt.cpp:
53705        (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
53706        * plugins/qt/PluginDataQt.cpp:
53707        (WebCore::PluginData::initPlugins):
53708
537092009-01-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
53710
53711        Reviewed by Adam Roben.
53712
53713        https://bugs.webkit.org/show_bug.cgi?id=22452
53714
53715        When plugins are disabled, plugin data should not be available for
53716        the page. This ensures that navigator.plugins would not see the
53717        additional MIME types supported by the plugins.
53718
53719        * page/Page.cpp:
53720        (WebCore::Page::pluginData):
53721        * loader/FrameLoader.cpp:
53722        (WebCore::FrameLoader::shouldUsePlugin):
53723        * rendering/RenderPartObject.cpp:
53724        (WebCore::RenderPartObject::updateWidget):
53725
537262009-01-15  Chris Marrin  <cmarrin@apple.com>
53727
53728        Reviewed by Sam Weinig.
53729
53730        Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421.
53731        Also fixed the test case to work on ppc.
53732
53733        * WebCore.xcodeproj/project.pbxproj:
53734
537352009-01-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
53736
53737        Another attempt at fixing the Qt build.
53738
53739        * bridge/qt/qt_instance.cpp:
53740        (JSC::Bindings::QtInstance::getInstance):
53741
537422009-01-16  David Hyatt  <hyatt@apple.com>
53743
53744        Fix for 1.85% PLT regression.  Since asking if a frame is "complete" actually aggressively decodes
53745        the frame, we add an optimization when advancing animations.  If we have received all of the animated
53746        image's data, then obviously we can go ahead and advance safely.  This prevents the first draw of an image
53747        from decoding two frames' worth of data in the case where all of the image's data has been received.
53748
53749        While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change
53750        as well.  It's not immediately clear how that regression would be fixed, though, and it would likely be
53751        a much smaller percentage of that overall uncached time.
53752
53753        Reviewed by Dan Bernstein
53754
53755        * platform/graphics/BitmapImage.cpp:
53756        (WebCore::BitmapImage::startAnimation):
53757
537582009-01-15  Alexey Proskuryakov  <ap@webkit.org>
53759
53760        Reviewed by Anders Carlsson.
53761
53762        https://bugs.webkit.org/show_bug.cgi?id=23349
53763        Don't store obsolete caches in disk storage
53764
53765        * loader/ResourceLoader.cpp:
53766        (WebCore::ResourceLoader::ResourceLoader):
53767        (WebCore::ResourceLoader::load):
53768        (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache):
53769        * loader/ResourceLoader.h:
53770        Don't maintain m_wasLoadedFromApplicationCache, which was never used.
53771
53772        * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource):
53773        Assert that only implicit and dynamic resources can be added after the cache has been fully
53774        loaded and stored to disk database.
53775
53776        * loader/appcache/ApplicationCacheGroup.cpp:
53777        (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk
53778        database, as this is now done whenever the cache becomes obsolete.
53779        (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage.
53780
53781        * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
53782        A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed
53783        the check to no longer rely on savedNewestCachePointer.
53784
537852009-01-15  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
53786
53787        <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();
53788
53789        Reviewed by Timothy Hatcher.
53790
53791        * css/CSSSelector.cpp:
53792        (WebCore::CSSSelector::selectorText):
53793
537942009-01-15  Justin Garcia  <justin.garcia@apple.com>
53795
53796        Reviewed by Oliver Hunt.
53797
53798        <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break
53799
53800        If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split),
53801        applyInlineStyle would style node.
53802
53803        * editing/ApplyStyleCommand.cpp:
53804        (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from
53805        Range::pastLastNode() anymore.  pastEndNode is the node after the last one that is fully selected, since
53806        the work done in the loop that follows should only be performed on fully selected nodes.
53807        * editing/InsertLineBreakCommand.cpp:
53808        (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes.
53809        Those were handled accidently before.
53810        * editing/htmlediting.cpp:
53811        (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number
53812        of children in that container, so I changed it to match that.  RenderBR and RenderObject::caretMaxOffset() should
53813        also be eliminated since maxDeepOffset handles non-text nodes.
53814
538152009-01-15  Anders Carlsson  <andersca@apple.com>
53816
53817        Reviewed by Geoffrey Garen.
53818
53819        Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance.
53820
53821        * bridge/c/c_instance.h:
53822        * bridge/jni/jni_instance.h:
53823        * bridge/objc/objc_instance.h:
53824        * bridge/qt/qt_instance.h:
53825        * bridge/runtime.cpp:
53826        * bridge/runtime.h:
53827        * bridge/runtime_object.h:
53828
538292009-01-15  David Hyatt  <hyatt@apple.com>
53830
53831        Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific
53832        code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange.
53833
53834        Reviewed by Oliver Hunt
53835
53836        * rendering/RenderSVGInlineText.cpp:
53837        (WebCore::RenderSVGInlineText::styleDidChange):
53838        * rendering/RenderSVGInlineText.h:
53839        * rendering/RenderText.cpp:
53840        (WebCore::RenderText::styleDidChange):
53841
538422009-01-15  Anders Carlsson  <andersca@apple.com>
53843
53844        Another attempt at fixing the Qt build.
53845
53846        * bridge/qt/qt_instance.cpp:
53847        (JSC::Bindings::QtInstance::getOwnPropertySlot):
53848        (JSC::Bindings::QtInstance::put):
53849        * bridge/qt/qt_instance.h:
53850        * bridge/runtime.h:
53851        (JSC::Bindings::Instance::getOwnPropertySlot):
53852        (JSC::Bindings::Instance::put):
53853        * bridge/runtime_object.cpp:
53854        (JSC::RuntimeObjectImp::getOwnPropertySlot):
53855        (JSC::RuntimeObjectImp::put):
53856
538572009-01-15  Anders Carlsson  <andersca@apple.com>
53858
53859        Reviewed by Darin Adler.
53860
53861        Add QtInstance::getInstance and start using it.
53862
53863        * bridge/qt/qt_instance.cpp:
53864        (JSC::Bindings::QtRuntimeObjectImp::mark):
53865        (JSC::Bindings::QtRuntimeObjectImp::classInfo):
53866        (JSC::Bindings::):
53867        (JSC::Bindings::QtInstance::getInstance):
53868        * bridge/qt/qt_instance.h:
53869        * bridge/qt/qt_runtime.cpp:
53870        (JSC::Bindings::convertValueToQVariant):
53871
538722009-01-15  Anders Carlsson  <andersca@apple.com>
53873
53874        Reviewed by Sam Weinig.
53875
53876        Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects.
53877
53878        * bridge/qt/qt_instance.cpp:
53879        (JSC::Bindings::QtInstance::getOwnPropertySlot):
53880        (JSC::Bindings::QtInstance::put):
53881        * bridge/qt/qt_instance.h:
53882        * bridge/runtime.h:
53883        (JSC::Bindings::Instance::getOwnPropertySlot):
53884        (JSC::Bindings::Instance::put):
53885        * bridge/runtime_object.cpp:
53886        (JSC::RuntimeObjectImp::getOwnPropertySlot):
53887        (JSC::RuntimeObjectImp::put):
53888
538892009-01-15  Anders Carlsson  <andersca@apple.com>
53890
53891        Fix the QT build.
53892
53893        * bridge/qt/qt_instance.cpp:
53894        (JSC::Bindings::QtInstance::createRuntimeObject):
53895        * bridge/qt/qt_instance.h:
53896
538972009-01-15  David Hyatt  <hyatt@apple.com>
53898
53899        Fix for <rdar://problem/6500278> REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor
53900
53901        setZoomFactor was supposed to bail if both the zoom factor and mode were the same.  The mode check was
53902        buggy and doing the wrong thing.
53903
53904        Reviewed by Darin Adler
53905
53906        * page/Frame.cpp:
53907        (WebCore::Frame::setZoomFactor):
53908
539092009-01-15  Anders Carlsson  <andersca@apple.com>
53910
53911        Reviewed by Geoffrey Garen.
53912
53913        Make Instance::createRuntimeObject a virtual function and override it for QtInstance.
53914
53915        * bindings/js/JSPluginElementFunctions.cpp:
53916        (WebCore::getRuntimeObject):
53917        * bridge/c/c_utility.cpp:
53918        (JSC::Bindings::convertNPVariantToValue):
53919        * bridge/jni/jni_instance.cpp:
53920        (JavaInstance::invokeMethod):
53921        * bridge/jni/jni_jsobject.mm:
53922        (JavaJSObject::convertJObjectToValue):
53923        * bridge/jni/jni_runtime.cpp:
53924        (JavaField::valueFromInstance):
53925        (JavaArray::valueAt):
53926        * bridge/objc/objc_utility.mm:
53927        (JSC::Bindings::convertObjcValueToValue):
53928        * bridge/qt/qt_instance.cpp:
53929        (JSC::Bindings::QtInstance::getRuntimeObject):
53930        (JSC::Bindings::QtInstance::createRuntimeObject):
53931        * bridge/qt/qt_instance.h:
53932        * bridge/qt/qt_runtime.cpp:
53933        (JSC::Bindings::convertQVariantToValue):
53934        (JSC::Bindings::QtConnectionObject::execute):
53935        * bridge/runtime.cpp:
53936        (JSC::Bindings::Instance::createRuntimeObject):
53937        * bridge/runtime.h:
53938
539392009-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
53940
53941        Reviewed by Darin Adler.
53942
53943        https://bugs.webkit.org/show_bug.cgi?id=23354
53944        Fix up graphics/chromium files to account for Uniscribe style scrubbing.
53945
53946        * platform/graphics/chromium/FontChromiumWin.cpp:
53947        (WebCore::windowsCanHandleTextDrawing):
53948        (WebCore::Font::selectionRectForComplexText):
53949        (WebCore::Font::drawComplexText):
53950        (WebCore::Font::floatWidthForComplexText):
53951        (WebCore::Font::offsetForPositionForComplexText):
53952        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
53953        (WebCore::fillNonBMPGlyphs):
53954
539552009-01-15  David Levin  <levin@chromium.org>
53956
53957        Reviewed by Darin Adler.
53958
53959        https://bugs.webkit.org/show_bug.cgi?id=23333
53960        Adjust due to a name change that happened in a WebKit.
53961
53962        * svg/graphics/skia/SVGPaintServerPatternSkia.cpp:
53963        (WebCore::SVGPaintServerPattern::setup):
53964
539652009-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
53966
53967        Reviewed by Eric Seidel.
53968
53969        https://bugs.webkit.org/show_bug.cgi?id=23340
53970        Add remaining bits of graphics/chromium.
53971
53972        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added.
53973        (WebCore::scaleEmToUnits):
53974        (WebCore::SimpleFontData::platformInit):
53975        (WebCore::SimpleFontData::platformDestroy):
53976        (WebCore::SimpleFontData::smallCapsFontData):
53977        (WebCore::SimpleFontData::containsCharacters):
53978        (WebCore::SimpleFontData::determinePitch):
53979        (WebCore::SimpleFontData::platformWidthForGlyph):
53980        * platform/graphics/chromium/SimpleFontDataLinux.cpp: Added.
53981        (WebCore::SimpleFontData::platformInit):
53982        (WebCore::SimpleFontData::platformDestroy):
53983        (WebCore::SimpleFontData::smallCapsFontData):
53984        (WebCore::SimpleFontData::containsCharacters):
53985        (WebCore::SimpleFontData::determinePitch):
53986        (WebCore::SimpleFontData::platformWidthForGlyph):
53987        * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added.
53988        (WebCore::ThemeHelperWin::ThemeHelperWin):
53989        (WebCore::ThemeHelperWin::~ThemeHelperWin):
53990        * platform/graphics/chromium/ThemeHelperChromiumWin.h: Added.
53991        (WebCore::ThemeHelperWin::):
53992        (WebCore::ThemeHelperWin::context):
53993        (WebCore::ThemeHelperWin::rect):
53994        * platform/graphics/chromium/UniscribeHelper.cpp: Added.
53995        (WebCore::treatAsSpace):
53996        (WebCore::containsMissingGlyphs):
53997        (WebCore::setLogFontAndStyle):
53998        (WebCore::UniscribeHelper::UniscribeHelper):
53999        (WebCore::UniscribeHelper::~UniscribeHelper):
54000        (WebCore::UniscribeHelper::initWithOptionalLengthProtection):
54001        (WebCore::UniscribeHelper::width):
54002        (WebCore::UniscribeHelper::justify):
54003        (WebCore::UniscribeHelper::characterToX):
54004        (WebCore::UniscribeHelper::xToCharacter):
54005        (WebCore::UniscribeHelper::draw):
54006        (WebCore::UniscribeHelper::firstGlyphForCharacter):
54007        (WebCore::UniscribeHelper::fillRuns):
54008        (WebCore::UniscribeHelper::shape):
54009        (WebCore::UniscribeHelper::fillShapes):
54010        (WebCore::UniscribeHelper::fillScreenOrder):
54011        (WebCore::UniscribeHelper::adjustSpaceAdvances):
54012        (WebCore::UniscribeHelper::applySpacing):
54013        (WebCore::UniscribeHelper::advanceForItem):
54014        * platform/graphics/chromium/UniscribeHelper.h: Added.
54015        (WebCore::UniscribeHelper::directionalOverride):
54016        (WebCore::UniscribeHelper::setDirectionalOverride):
54017        (WebCore::UniscribeHelper::inhibitLigate):
54018        (WebCore::UniscribeHelper::setInhibitLigate):
54019        (WebCore::UniscribeHelper::letterSpacing):
54020        (WebCore::UniscribeHelper::setLetterSpacing):
54021        (WebCore::UniscribeHelper::spaceWidth):
54022        (WebCore::UniscribeHelper::setSpaceWidth):
54023        (WebCore::UniscribeHelper::wordSpacing):
54024        (WebCore::UniscribeHelper::setWordSpacing):
54025        (WebCore::UniscribeHelper::setAscent):
54026        (WebCore::UniscribeHelper::init):
54027        (WebCore::UniscribeHelper::tryToPreloadFont):
54028        (WebCore::UniscribeHelper::Shaping::Shaping):
54029        (WebCore::UniscribeHelper::Shaping::glyphLength):
54030        (WebCore::UniscribeHelper::Shaping::charLength):
54031        (WebCore::UniscribeHelper::Shaping::effectiveAdvances):
54032        (WebCore::UniscribeHelper::nextWinFontData):
54033        (WebCore::UniscribeHelper::resetFontIndex):
54034        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added.
54035        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
54036        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
54037        (WebCore::UniscribeHelperTextRun::nextWinFontData):
54038        (WebCore::UniscribeHelperTextRun::resetFontIndex):
54039        * platform/graphics/chromium/UniscribeHelperTextRun.h: Added.
54040
540412009-01-15  Chris Marrin  <cmarrin@apple.com>
54042
54043        Reviewed by Dan Bernstein.
54044
54045        Fixed Windows project file after https://bugs.webkit.org/show_bug.cgi?id=21421
54046
54047        * WebCore.vcproj/WebCore.vcproj:
54048
540492009-01-15  Aaron Boodman  <aa@chromium.org>
54050
54051        Reviewed by Adam Roben.
54052
54053        https://bugs.webkit.org/show_bug.cgi?id=15279
54054        Right clicking over text (or multiple spaces) auto selects the word
54055        (or multiple spaces) under it, which is not a desirable effect for some
54056        platforms.
54057
54058        * page/EventHandler.cpp:
54059        (WebCore::EventHandler::sendContextMenuEvent):
54060        Don't select words on right-click on Chromium.
54061
540622009-01-15  Darin Fisher  <darin@chromium.org>
54063
54064        Reviewed by Eric Seidel.
54065
54066        https://bugs.webkit.org/show_bug.cgi?id=23345
54067        SharedBuffer.h should include wtf/OwnPtr.h
54068
54069        * platform/SharedBuffer.h:
54070
540712009-01-14  David Kilzer  <ddkilzer@apple.com>
54072
54073        Bug 23338: Make "Streamline Inspector Source" build script check for a directory before using it
54074
54075        <https://bugs.webkit.org/show_bug.cgi?id=23338>
54076
54077        Reviewed by Timothy Hatcher.
54078
54079        * WebCore.xcodeproj/project.pbxproj: Check to see if
54080        "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/inspector"
54081        exists before trying to change directories into it and then
54082        deleting, modifying and adding files to it.
54083
540842009-01-14  miggilin  <mr.diggilin@gmail.com>
54085
54086        Reviewed by Kevin Ollivier.
54087
54088        Fixing wx compilation for wx 2.9/trunk.
54089
54090        * platform/graphics/wx/FontPlatformData.h:
54091        (WebCore::FontPlatformData::operator==):
54092        (WebCore::FontPlatformData::computeHash):
54093        * platform/graphics/wx/GraphicsContextWx.cpp:
54094        (WebCore::GraphicsContext::clip):
54095        (WebCore::GraphicsContext::setCompositeOperation):
54096        * platform/graphics/wx/ImageSourceWx.cpp:
54097        (WebCore::ImageSource::createFrameAtIndex):
54098        * platform/graphics/wx/PathWx.cpp:
54099        (WebCore::Path::contains):
54100        * platform/wx/RenderThemeWx.cpp:
54101        (WebCore::RenderThemeWx::paintButton):
54102        (WebCore::RenderThemeWx::paintTextField):
54103        (WebCore::RenderThemeWx::paintMenuList):
54104        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
54105
541062009-01-14  Kevin Ollivier  <kevino@theolliviers.com>
54107
54108        wx build fix. Adding WebKitCSSMatrix.
54109
54110        * WebCoreSources.bkl:
54111
541122009-01-14  Adam Treat  <adam.treat@torchmobile.com>
54113
54114        Prospective build fix for Qt following r39922.
54115
54116        * WebCore.pro:
54117
541182009-01-14  Darin Adler  <darin@apple.com>
54119
54120        Fix debug build.
54121
54122        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
54123        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
54124        Use ASSERT_UNUSED.
54125
541262009-01-14  Adele Peterson  <adele@apple.com>
54127
54128        Reviewed by Darin Adler.
54129
54130        Fix for https://bugs.webkit.org/show_bug.cgi?id=23335
54131        <rdar://problem/6247650> Update <input type="search"> for RenderThemeWin
54132
54133        No new tests added.  In the future, we need to update DumpRenderTree to be able to run with different RenderThemes and
54134        we'll need a separate set of results for different themes.
54135
54136        * css/themeWin.css: Renable search fields.  Added new rules for sub-element placement.
54137
54138        * rendering/RenderTextControlSingleLine.cpp:
54139        (WebCore::RenderTextControlSingleLine::textBlockWidth): Consider margin set on the sub-elements when computing the
54140        desired width for the text block.
54141
54142        * rendering/RenderThemeWin.cpp:
54143        (WebCore::RenderThemeWin::supportsFocus): Treat SearchFieldPart the same as TextFieldPart.
54144        (WebCore::RenderThemeWin::determineState): ditto.
54145        (WebCore::RenderThemeWin::getClassicThemeData): ditto.
54146        (WebCore::RenderThemeWin::getThemeData): ditto.
54147        (WebCore::RenderThemeWin::paintSearchFieldCancelButton): Draw a scaled, vertically centered, version of the new artwork.
54148        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): ditto.
54149        (WebCore::RenderThemeWin::paintSearchFieldResultsButton): ditto.
54150        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): Set the scaled width and height.
54151        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): ditto.
54152        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): ditto.
54153
541542009-01-14  Alp Toker  <alp@nuanti.com>
54155
54156        GTK+ build fix following r39922.
54157        Add WebKitCSSMatrix to the build system.
54158
54159        * GNUmakefile.am:
54160
541612009-01-14  Chris Marrin  <cmarrin@apple.com>
54162
54163        Reviewed by Sam Weinig.
54164
54165        Implemented 2D WebKitCSSMatrix
54166        https://bugs.webkit.org/show_bug.cgi?id=21421
54167
54168        Test: transforms/2d/cssmatrix-interface.xhtml
54169
54170        * DerivedSources.make:
54171        * WebCore.xcodeproj/project.pbxproj:
54172        * bindings/js/JSDOMWindowBase.cpp:
54173        (jsDOMWindowBaseWebKitCSSMatrix):
54174        (setJSDOMWindowBaseWebKitCSSMatrix):
54175        * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Added.
54176        (WebCore::):
54177        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
54178        (WebCore::constructWebKitCSSMatrix):
54179        (WebCore::JSWebKitCSSMatrixConstructor::getConstructData):
54180        * bindings/js/JSWebKitCSSMatrixConstructor.h: Added.
54181        (WebCore::JSWebKitCSSMatrixConstructor::classInfo):
54182        * bindings/objc/DOMInternal.h:
54183        * css/WebKitCSSMatrix.cpp: Added.
54184        (WebCore::WebKitCSSMatrix::WebKitCSSMatrix):
54185        (WebCore::WebKitCSSMatrix::~WebKitCSSMatrix):
54186        (WebCore::WebKitCSSMatrix::setMatrixValue):
54187        (WebCore::WebKitCSSMatrix::multiply):
54188        (WebCore::WebKitCSSMatrix::inverse):
54189        (WebCore::WebKitCSSMatrix::translate):
54190        (WebCore::WebKitCSSMatrix::scale):
54191        (WebCore::WebKitCSSMatrix::rotate):
54192        (WebCore::WebKitCSSMatrix::toString):
54193        * css/WebKitCSSMatrix.h: Added.
54194        (WebCore::WebKitCSSMatrix::create):
54195        (WebCore::WebKitCSSMatrix::a):
54196        (WebCore::WebKitCSSMatrix::b):
54197        (WebCore::WebKitCSSMatrix::c):
54198        (WebCore::WebKitCSSMatrix::d):
54199        (WebCore::WebKitCSSMatrix::e):
54200        (WebCore::WebKitCSSMatrix::f):
54201        (WebCore::WebKitCSSMatrix::setA):
54202        (WebCore::WebKitCSSMatrix::setB):
54203        (WebCore::WebKitCSSMatrix::setC):
54204        (WebCore::WebKitCSSMatrix::setD):
54205        (WebCore::WebKitCSSMatrix::setE):
54206        (WebCore::WebKitCSSMatrix::setF):
54207        (WebCore::WebKitCSSMatrix::transform):
54208        * css/WebKitCSSMatrix.idl: Added.
54209
542102009-01-14  Michael Moss  <mmoss@chromium.org>
54211
54212        Reviewed by Eric Seidel.
54213
54214        Workaround a skia limitation on repeated patterns, and remove extra
54215        transformations applied to pattern.
54216        https://bugs.webkit.org/show_bug.cgi?id=23332
54217
54218        Fixes:
54219        LayoutTests/fast/canvas/patternfill-repeat.html
54220        LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b.svg
54221
54222        * platform/graphics/skia/PatternSkia.cpp:
54223        (WebCore::Pattern::createPlatformPattern):
54224
542252009-01-14  Mark Rowe  <mrowe@apple.com>
54226
54227        Fix https://bugs.webkit.org/show_bug.cgi?id=23334
54228        Bug 23334: Compile failure in XMLTokenizerLibxml2.cpp
54229
54230        Include wtf/UnusedParam.h to get UNUSED_PARAM.
54231
54232        * dom/XMLTokenizerLibxml2.cpp:
54233        (WebCore::hackAroundLibXMLEntityBug):
54234
542352009-01-14  David Levin  <levin@chromium.org>
54236
54237        Reviewed by Darin Adler.
54238
54239        https://bugs.webkit.org/show_bug.cgi?id=23333
54240        Platform code fixes. These compensate for changes in platform
54241        callbacks from WebKit and minor API tweaks.
54242
54243        I enumerated a few below.
54244
54245        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
54246        fontExists has been gone since r34794.
54247
54248        * platform/graphics/skia/ImageSkia.cpp:
54249        (WebCore::paintSkBitmap):
54250
54251        (WebCore::FrameData::clear):
54252        r39751 changes this api to take and return a bool.
54253
54254        (WebCore::Image::drawPattern):
54255        * platform/graphics/skia/PathSkia.cpp:
54256        (WebCore::Path::apply):
54257        (WebCore::boundingBoxForCurrentStroke):
54258        (WebCore::Path::strokeContains):
54259        * svg/graphics/skia/RenderPathSkia.cpp: Removed due to r39805.
54260
542612009-01-14  Jeremy Moskovich  <jeremy@chromium.org>
54262
54263        Reviewed by Eric Seidel.
54264
54265        <https://bugs.webkit.org/show_bug.cgi?id=16829>
54266        Implement NPN_SetException()
54267
54268        This mirrors the implementation in the obj-c bindings.
54269
54270        Test: plugins/netscape-throw-exception.html
54271
54272        * bridge/NP_jsobject.cpp:
54273        (_NPN_SetException):
54274        * bridge/c/c_instance.cpp:
54275        (JSC::Bindings::getExceptionString):
54276        (JSC::Bindings::CInstance::setGlobalException):
54277        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
54278        (JSC::Bindings::CInstance::invokeMethod):
54279        (JSC::Bindings::CInstance::invokeDefaultMethod):
54280        (JSC::Bindings::CInstance::invokeConstruct):
54281        (JSC::Bindings::CInstance::getPropertyNames):
54282        * bridge/c/c_instance.h:
54283
542842009-01-14  Pierre-Olivier Latour  <pol@apple.com>
54285
54286        Fixed build warning when LIBXML_VERSION >= 20627.
54287
54288        * dom/XMLTokenizerLibxml2.cpp:
54289        (WebCore::hackAroundLibXMLEntityBug):
54290
542912009-01-14  Alexey Proskuryakov  <ap@webkit.org>
54292
54293        Reviewed by Anders Carlsson.
54294
54295        https://bugs.webkit.org/show_bug.cgi?id=23326
54296        Resources are never deleted from application cache disk database
54297
54298        * loader/appcache/ApplicationCacheStorage.cpp:
54299        (WebCore::ApplicationCacheStorage::openDatabase): Create a trigger that deletes resources when
54300        a cache is deleted. Note that this change doesn't require bumping schema version. We should
54301        consider switching to foreign keys and cascade delete instead of triggers in the future.
54302        (WebCore::ApplicationCacheStorage::remove): Added a comment explaining why it's sufficient
54303        to only remove the cache itself.
54304        (WebCore::ApplicationCacheStorage::empty): Don't delete from CacheResources, now that this
54305        is done automatically when a cache is deleted.
54306
543072009-01-14  David Kilzer  <ddkilzer@apple.com>
54308
54309        Bug 22795: favicons should be saved to webarchives
54310
54311        <https://bugs.webkit.org/show_bug.cgi?id=22795>
54312
54313        Reviewed by Darin Adler.
54314
54315        Test: webarchive/test-link-rel-icon.html
54316
54317        * html/HTMLLinkElement.cpp:
54318        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Do not add
54319        favicon URLs to the list since no ArchiveResource or CachedResource
54320        is ever created for them.
54321        * loader/archive/cf/LegacyWebArchive.cpp:
54322        (WebCore::LegacyWebArchive::create): Handle favicons as a special
54323        case for all main resources.
54324        * loader/icon/IconDatabase.cpp:
54325        (WebCore::IconDatabase::close): Actually close the SQLite database
54326        so that isOpen() returns false when called.  Added an ASSERT() for
54327        good measure.
54328
543292009-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
54330
54331        Reviewed by Eric Seidel.
54332
54333        https://bugs.webkit.org/show_bug.cgi?id=23321
54334        Upstream more bits of graphics/chromium.
54335
54336        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Added.
54337        (WebCore::FontPlatformData::FontPlatformData):
54338        (WebCore::FontPlatformData::operator=):
54339        (WebCore::FontPlatformData::~FontPlatformData):
54340        (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
54341        (WebCore::FontPlatformData::hashTableDeletedFontValue):
54342        (WebCore::FontPlatformData::scriptFontProperties):
54343        * platform/graphics/chromium/FontPlatformDataChromiumWin.h: Added.
54344        (WebCore::FontPlatformData::isHashTableDeletedValue):
54345        (WebCore::FontPlatformData::hfont):
54346        (WebCore::FontPlatformData::size):
54347        (WebCore::FontPlatformData::hash):
54348        (WebCore::FontPlatformData::operator==):
54349        (WebCore::FontPlatformData::scriptCache):
54350        (WebCore::FontPlatformData::RefCountedHFONT::create):
54351        (WebCore::FontPlatformData::RefCountedHFONT::hfont):
54352        (WebCore::FontPlatformData::RefCountedHFONT::hash):
54353        (WebCore::FontPlatformData::RefCountedHFONT::operator==):
54354        (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT):
54355        * platform/graphics/chromium/FontPlatformDataLinux.cpp: Added.
54356        (WebCore::FontPlatformData::FontPlatformData):
54357        (WebCore::FontPlatformData::~FontPlatformData):
54358        (WebCore::FontPlatformData::operator=):
54359        (WebCore::FontPlatformData::setupPaint):
54360        (WebCore::FontPlatformData::operator==):
54361        (WebCore::FontPlatformData::hash):
54362        (WebCore::FontPlatformData::isFixedPitch):
54363        * platform/graphics/chromium/FontPlatformDataLinux.h: Added.
54364        (WebCore::FontPlatformData::FontPlatformData):
54365        (WebCore::FontPlatformData::size):
54366        (WebCore::FontPlatformData::isHashTableDeletedValue):
54367        (WebCore::FontPlatformData::hashTableDeletedFontValue):
54368        * platform/graphics/chromium/FontUtilsChromiumWin.cpp: Added.
54369        (WebCore::):
54370        (WebCore::FontMap::getAscent):
54371        (WebCore::FontMap::FontData::FontData):
54372        (WebCore::getFontFamilyForScript):
54373        (WebCore::getFallbackFamily):
54374        (WebCore::getDerivedFontData):
54375        (WebCore::getStyleFromLogfont):
54376        * platform/graphics/chromium/FontUtilsChromiumWin.h: Added.
54377        (WebCore::):
54378
543792009-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
54380
54381        Reviewed by Eric Seidel.
54382
54383        https://bugs.webkit.org/show_bug.cgi?id=23325
54384        Upstream even more graphics/chromium bits.
54385
54386        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Added.
54387        (WebCore::fillEmptyGlyphs):
54388        (WebCore::initSpaceGlyph):
54389        (WebCore::fillBMPGlyphs):
54390        (WebCore::fillNonBMPGlyphs):
54391        (WebCore::GlyphPage::fill):
54392        * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Added.
54393        (WebCore::GlyphPage::fill):
54394        * platform/graphics/chromium/IconChromiumLinux.cpp: Added.
54395        (WebCore::Icon::Icon):
54396        (WebCore::Icon::~Icon):
54397        (WebCore::Icon::createIconForFile):
54398        (WebCore::Icon::createIconForFiles):
54399        (WebCore::Icon::paint):
54400        * platform/graphics/chromium/IconChromiumMac.cpp: Added.
54401        (WebCore::Icon::createIconForFile):
54402        (WebCore::Icon::createIconForFiles):
54403        (WebCore::Icon::~Icon):
54404        (WebCore::Icon::paint):
54405        * platform/graphics/chromium/IconChromiumWin.cpp: Added.
54406        (WebCore::Icon::Icon):
54407        (WebCore::Icon::~Icon):
54408        (WebCore::Icon::createIconForFile):
54409        (WebCore::Icon::createIconForFiles):
54410        (WebCore::Icon::paint):
54411        * platform/graphics/chromium/ImageBufferData.h: Added.
54412        * platform/graphics/chromium/ImageChromiumMac.mm: Added.
54413        (WebCore::Image::loadPlatformResource):
54414        (WebCore::BitmapImage::initPlatformData):
54415        (WebCore::BitmapImage::invalidatePlatformData):
54416        * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Added.
54417        * platform/graphics/chromium/PlatformIcon.h: Added.
54418
544192009-01-14  Darin Fisher  <darin@chromium.org>
54420
54421        Reviewed by Eric Seidel.
54422
54423        https://bugs.webkit.org/show_bug.cgi?id=23328
54424        Upstream remaining files from platform/chromium/
54425
54426        * platform/chromium/CursorChromium.cpp:
54427        (WebCore::pointerCursor):
54428        (WebCore::crossCursor):
54429        (WebCore::handCursor):
54430        (WebCore::iBeamCursor):
54431        (WebCore::waitCursor):
54432        (WebCore::helpCursor):
54433        (WebCore::eastResizeCursor):
54434        (WebCore::northResizeCursor):
54435        (WebCore::northEastResizeCursor):
54436        (WebCore::northWestResizeCursor):
54437        (WebCore::southResizeCursor):
54438        (WebCore::southEastResizeCursor):
54439        (WebCore::southWestResizeCursor):
54440        (WebCore::westResizeCursor):
54441        (WebCore::northSouthResizeCursor):
54442        (WebCore::eastWestResizeCursor):
54443        (WebCore::northEastSouthWestResizeCursor):
54444        (WebCore::northWestSouthEastResizeCursor):
54445        (WebCore::columnResizeCursor):
54446        (WebCore::rowResizeCursor):
54447        (WebCore::middlePanningCursor):
54448        (WebCore::eastPanningCursor):
54449        (WebCore::northPanningCursor):
54450        (WebCore::northEastPanningCursor):
54451        (WebCore::northWestPanningCursor):
54452        (WebCore::southPanningCursor):
54453        (WebCore::southEastPanningCursor):
54454        (WebCore::southWestPanningCursor):
54455        (WebCore::westPanningCursor):
54456        (WebCore::moveCursor):
54457        (WebCore::verticalTextCursor):
54458        (WebCore::cellCursor):
54459        (WebCore::contextMenuCursor):
54460        (WebCore::aliasCursor):
54461        (WebCore::progressCursor):
54462        (WebCore::noDropCursor):
54463        (WebCore::copyCursor):
54464        (WebCore::noneCursor):
54465        (WebCore::notAllowedCursor):
54466        (WebCore::zoomInCursor):
54467        (WebCore::zoomOutCursor):
54468        * platform/chromium/DragDataRef.h: Added.
54469        * platform/chromium/DragImageChromium.cpp: Added.
54470        (WebCore::dragImageSize):
54471        (WebCore::deleteDragImage):
54472        (WebCore::scaleDragImage):
54473        (WebCore::dissolveDragImageToFraction):
54474        (WebCore::createDragImageFromImage):
54475        (WebCore::createDragImageIconForCachedImage):
54476        * platform/chromium/DragImageRef.h:
54477        * platform/chromium/KeyCodeConversion.h: Added.
54478        * platform/chromium/KeyCodeConversionGtk.cpp: Added.
54479        (WebCore::windowsKeyCodeForKeyEvent):
54480        * platform/chromium/KeyboardCodes.h: Added.
54481        * platform/chromium/KeyboardCodesPosix.h: Added.
54482        (WebCore::):
54483        * platform/chromium/KeyboardCodesWin.h: Added.
54484        (WebCore::):
54485        * platform/chromium/Language.cpp: Added.
54486        (WebCore::defaultLanguage):
54487        * platform/chromium/LinkHashChromium.cpp: Added.
54488        (WebCore::visitedLinkHash):
54489        * platform/chromium/MimeTypeRegistryChromium.cpp: Added.
54490        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
54491        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
54492        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
54493        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
54494        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
54495        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
54496        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
54497        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
54498        (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
54499        (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
54500        (WebCore::dummyHashSet):
54501        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
54502        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
54503        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
54504        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
54505        (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
54506        * platform/chromium/PasteboardChromium.cpp: Added.
54507        (WebCore::Pasteboard::generalPasteboard):
54508        (WebCore::Pasteboard::Pasteboard):
54509        (WebCore::Pasteboard::clear):
54510        (WebCore::Pasteboard::writeSelection):
54511        (WebCore::Pasteboard::writeURL):
54512        (WebCore::Pasteboard::writeImage):
54513        (WebCore::Pasteboard::canSmartReplace):
54514        (WebCore::Pasteboard::plainText):
54515        (WebCore::Pasteboard::documentFragment):
54516        * platform/chromium/PasteboardPrivate.h:
54517        * platform/chromium/PlatformCursor.h: Added.
54518        (WebCore::PlatformCursor::):
54519        (WebCore::PlatformCursor::PlatformCursor):
54520        (WebCore::PlatformCursor::customImage):
54521        (WebCore::PlatformCursor::hotSpot):
54522        (WebCore::PlatformCursor::type):
54523        * platform/chromium/PlatformKeyboardEventChromium.cpp: Added.
54524        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
54525        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
54526        * platform/chromium/PlatformScreenChromium.cpp: Added.
54527        (WebCore::screenDepth):
54528        (WebCore::screenDepthPerComponent):
54529        (WebCore::screenIsMonochrome):
54530        (WebCore::screenRect):
54531        (WebCore::screenAvailableRect):
54532        * platform/chromium/PlatformWidget.h:
54533        * platform/chromium/PopupMenuChromium.cpp: Added.
54534        (WebCore::PopupListBox::selectedIndex):
54535        (WebCore::PopupListBox::numItems):
54536        (WebCore::PopupListBox::setBaseWidth):
54537        (WebCore::PopupListBox::setTextOnIndexChange):
54538        (WebCore::PopupListBox::setAcceptOnAbandon):
54539        (WebCore::PopupListBox::):
54540        (WebCore::PopupListBox::ListItem::ListItem):
54541        (WebCore::PopupListBox::PopupListBox):
54542        (WebCore::PopupListBox::~PopupListBox):
54543        (WebCore::PopupListBox::disconnectClient):
54544        (WebCore::PopupListBox::scrollToRevealSelection):
54545        (WebCore::constructRelativeMouseEvent):
54546        (WebCore::constructRelativeWheelEvent):
54547        (WebCore::PopupContainer::create):
54548        (WebCore::PopupContainer::PopupContainer):
54549        (WebCore::PopupContainer::~PopupContainer):
54550        (WebCore::PopupContainer::showPopup):
54551        (WebCore::PopupContainer::hidePopup):
54552        (WebCore::PopupContainer::layout):
54553        (WebCore::PopupContainer::handleMouseDownEvent):
54554        (WebCore::PopupContainer::handleMouseMoveEvent):
54555        (WebCore::PopupContainer::handleMouseReleaseEvent):
54556        (WebCore::PopupContainer::handleWheelEvent):
54557        (WebCore::PopupContainer::handleKeyEvent):
54558        (WebCore::PopupContainer::hide):
54559        (WebCore::PopupContainer::paint):
54560        (WebCore::PopupContainer::paintBorder):
54561        (WebCore::PopupContainer::isInterestedInEventForKey):
54562        (WebCore::PopupContainer::show):
54563        (WebCore::PopupContainer::setTextOnIndexChange):
54564        (WebCore::PopupContainer::setAcceptOnAbandon):
54565        (WebCore::PopupContainer::refresh):
54566        (WebCore::PopupListBox::handleMouseDownEvent):
54567        (WebCore::PopupListBox::handleMouseMoveEvent):
54568        (WebCore::PopupListBox::handleMouseReleaseEvent):
54569        (WebCore::PopupListBox::handleWheelEvent):
54570        (WebCore::PopupListBox::isInterestedInEventForKey):
54571        (WebCore::PopupListBox::handleKeyEvent):
54572        (WebCore::PopupListBox::hostWindow):
54573        (WebCore::PopupListBox::invalidateRect):
54574        (WebCore::stripLeadingWhiteSpace):
54575        (WebCore::PopupListBox::typeAheadFind):
54576        (WebCore::PopupListBox::paint):
54577        (WebCore::PopupListBox::paintRow):
54578        (WebCore::PopupListBox::getRowFont):
54579        (WebCore::PopupListBox::abandon):
54580        (WebCore::PopupListBox::pointToRowIndex):
54581        (WebCore::PopupListBox::acceptIndex):
54582        (WebCore::PopupListBox::selectIndex):
54583        (WebCore::PopupListBox::setOriginalIndex):
54584        (WebCore::PopupListBox::getRowHeight):
54585        (WebCore::PopupListBox::getRowBounds):
54586        (WebCore::PopupListBox::invalidateRow):
54587        (WebCore::PopupListBox::scrollToRevealRow):
54588        (WebCore::PopupListBox::isSelectableItem):
54589        (WebCore::PopupListBox::adjustSelectedIndex):
54590        (WebCore::PopupListBox::updateFromElement):
54591        (WebCore::PopupListBox::layout):
54592        (WebCore::PopupListBox::clear):
54593        (WebCore::PopupListBox::isPointInBounds):
54594        (WebCore::PopupMenu::PopupMenu):
54595        (WebCore::PopupMenu::~PopupMenu):
54596        (WebCore::PopupMenu::show):
54597        (WebCore::PopupMenu::hide):
54598        (WebCore::PopupMenu::updateFromElement):
54599        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
54600        * platform/chromium/PopupMenuChromium.h: Added.
54601        (WebCore::PopupContainer::listBox):
54602        * platform/chromium/PopupMenuPrivate.h: Added.
54603        * platform/chromium/SSLKeyGeneratorChromium.cpp: Added.
54604        (WebCore::supportedKeySizes):
54605        * platform/chromium/ScrollbarThemeChromium.cpp: Added.
54606        (WebCore::ScrollbarTheme::nativeTheme):
54607        (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
54608        (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
54609        (WebCore::ScrollbarThemeChromium::themeChanged):
54610        (WebCore::ScrollbarThemeChromium::hasThumb):
54611        (WebCore::ScrollbarThemeChromium::backButtonRect):
54612        (WebCore::ScrollbarThemeChromium::forwardButtonRect):
54613        (WebCore::ScrollbarThemeChromium::trackRect):
54614        (WebCore::ScrollbarThemeChromium::paintTrackBackground):
54615        (WebCore::ScrollbarThemeChromium::paintTickmarks):
54616        (WebCore::ScrollbarThemeChromium::paintScrollCorner):
54617        (WebCore::ScrollbarThemeChromium::shouldCenterOnThumb):
54618        (WebCore::ScrollbarThemeChromium::buttonSize):
54619        * platform/chromium/ScrollbarThemeChromium.h: Added.
54620        (WebCore::ScrollbarThemeChromium::hasButtons):
54621        * platform/chromium/ScrollbarThemeChromiumLinux.cpp: Added.
54622        (WebCore::ScrollbarThemeChromium::scrollbarThickness):
54623        (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
54624        (WebCore::initMozState):
54625        (WebCore::paintScrollbarWidget):
54626        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
54627        (WebCore::ScrollbarThemeChromium::paintButton):
54628        (WebCore::ScrollbarThemeChromium::paintThumb):
54629        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
54630        * platform/chromium/SearchPopupMenuChromium.cpp: Added.
54631        (WebCore::SearchPopupMenu::SearchPopupMenu):
54632        (WebCore::SearchPopupMenu::enabled):
54633        (WebCore::SearchPopupMenu::saveRecentSearches):
54634        (WebCore::SearchPopupMenu::loadRecentSearches):
54635        * platform/chromium/SharedTimerChromium.cpp: Added.
54636        (WebCore::setSharedTimerFiredFunction):
54637        (WebCore::setSharedTimerFireTime):
54638        (WebCore::stopSharedTimer):
54639        * platform/chromium/TemporaryLinkStubs.cpp: Added.
54640        (WebCore::signedPublicKeyAndChallengeString):
54641        (WebCore::getSupportedKeySizes):
54642        (WebCore::KURL::fileSystemPath):
54643        (WebCore::SharedBuffer::createWithContentsOfFile):
54644        (WTF::scheduleDispatchFunctionsOnMainThread):
54645
546462009-01-14  Darin Fisher  <darin@chromium.org>
54647
54648        Reviewed by Eric Seidel.
54649
54650        https://bugs.webkit.org/show_bug.cgi?id=23323
54651        Upstream platform/text/chromium/
54652
54653        * platform/text/chromium: Added.
54654        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Added.
54655        (WebCore::currentTextBreakLocaleID):
54656
546572009-01-14  Steve Falkenburg  <sfalken@apple.com>
54658
54659        Update copyright year in version resources.
54660
54661        Reviewed by Adam Roben.
54662
54663        * WebCore.vcproj/QTMovieWin.rc:
54664
546652009-01-14  Darin Fisher  <darin@chromium.org>
54666
54667        Reviewed by Darin Adler.
54668
54669        https://bugs.webkit.org/show_bug.cgi?id=23324
54670        Move platform/chromium/EditorChromium.cpp into editing/chromium/
54671
54672        * editing/chromium: Added.
54673        * editing/chromium/EditorChromium.cpp: Copied from platform/chromium/EditorChromium.cpp.
54674        * platform/chromium/EditorChromium.cpp: Removed.
54675
546762009-01-14  Darin Fisher  <darin@chromium.org>
54677
54678        Reviewed by Darin Adler.
54679
54680        https://bugs.webkit.org/show_bug.cgi?id=23320
54681        Make it possible to use notImplemented outside of the WebCore namespace
54682
54683        * platform/NotImplemented.h:
54684
546852009-01-14  Nigel Tao  <nigel.tao.gnome@gmail.com>
54686
54687        Reviewed by Darin Adler.
54688
54689        - fix https://bugs.webkit.org/show_bug.cgi?id=22476
54690        Check that the document's SecurityOrigin canLoadLocalResources,
54691        when pages try to put NSFilenamesPboardtype data on the clipboard,
54692        by calling event.dataTransfer.setData('URL', 'file:///foo/bar');
54693
54694        Tests: http/tests/security/dataTransfer-set-data-file-url.html
54695               platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html
54696
54697        * platform/mac/ClipboardMac.mm:
54698        (WebCore::ClipboardMac::setData):
54699
547002009-01-14  Dan Bernstein  <mitz@apple.com>
54701
54702        Reviewed by John Sullivan.
54703
54704        - update copyright
54705
54706        * Info.plist:
54707
547082009-01-14  Alexey Proskuryakov  <ap@webkit.org>
54709
54710        Reviewed by Darin Adler.
54711
54712        https://bugs.webkit.org/show_bug.cgi?id=23316
54713        Application cache updating always fails with an assertion
54714
54715        Test: http/tests/appcache/update-cache.html
54716
54717        * loader/appcache/ApplicationCacheGroup.cpp:
54718        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Correctly handle the case where
54719        multiple caches survive the last DocumentLoader destruction, preventing a crash in release
54720        builds.
54721        (WebCore::ApplicationCacheGroup::setNewestCache): Removed a bogus assertion.
54722
547232009-01-14  Alexey Proskuryakov  <ap@webkit.org>
54724
54725        Release build fix.
54726
54727        * loader/appcache/ApplicationCacheStorage.cpp:
54728        (WebCore::ApplicationCacheStorage::storeUpdatedType): Use ASSERT_UNUSED.
54729
547302009-01-13  Alexey Proskuryakov  <ap@webkit.org>
54731
54732        Reviewed by Anders Carlsson.
54733
54734        Test: http/tests/appcache/xhr-foreign-resource.html
54735
54736        https://bugs.webkit.org/show_bug.cgi?id=23256
54737        Implement application cache foreign entries
54738
54739        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
54740        Removed a misplaced check for foreign resources that prevented them from being loaded altogether.
54741
54742        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
54743        If a document that was loaded from appcache should be associated with a different cache,
54744        mark the resource as foreign in the original cache and start over.
54745
54746        * loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType):
54747        This function can now be called after a cache is stored, so it no longer asserts the opposite.
54748
54749        * loader/appcache/ApplicationCacheStorage.cpp:
54750        (WebCore::ApplicationCacheStorage::cacheGroupForURL): Fix database pass to correctly ignore
54751        in-memory caches that were already rejected.
54752        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
54753        (WebCore::ApplicationCacheStorage::storeUpdatedType): Added a function that updates type of
54754        an already stored cached resource.
54755
54756        * loader/appcache/ApplicationCacheStorage.h: Added storeUpdatedType().
54757
547582009-01-13  Mark Rowe  <mrowe@apple.com>
54759
54760        Fix the Tiger WebCore build after r39880.
54761
54762        * editing/Editor.cpp:
54763        (WebCore::Editor::markBadGrammar):
54764        * loader/mac/DocumentLoaderMac.cpp:
54765        (WebCore::DocumentLoader::schedule):
54766        (WebCore::DocumentLoader::unschedule):
54767        * platform/mac/PasteboardMac.mm:
54768        (WebCore::Pasteboard::writeSelection):
54769        * platform/mac/WebCoreObjCExtras.mm:
54770        (WebCoreObjCFinalizeOnMainThread):
54771        * platform/network/mac/ResourceHandleMac.mm:
54772        (WebCore::ResourceHandle::schedule):
54773        (WebCore::ResourceHandle::unschedule):
54774
547752009-01-13  Darin Adler  <darin@apple.com>
54776
54777        Reviewed by Sam Weinig.
54778
54779        Bug 23102: turn on unused parameter warnings in WebCore
54780        https://bugs.webkit.org/show_bug.cgi?id=23102
54781
54782        Last step: Turn on the warning and fix the last few instances.
54783
54784        * Configurations/Base.xcconfig: Removed -Wno-unused-parameter from
54785        WARNING_CFLAGS_BASE, so the unused parameter warning will fire.
54786
54787        * bindings/js/JSDOMWindowBase.cpp:
54788        (jsDOMWindowBaseMessageChannel): Separate the version for use when
54789        CHANNEL_MESSAGING is turned off, so we can omit the argument names.
54790        It would be better to not even have this property in that case,
54791        rather than having the function return undefined, but I don't know
54792        how to do that with the bindings script.
54793
54794        * bindings/scripts/CodeGeneratorJS.pm: Leave out argument names in
54795        functions where they're not used (the SVG context, and the property
54796        name in the index getter). Use UNUSED_PARAM where arguments are
54797        sometimes not used.
54798
54799        * bridge/runtime_object.cpp:
54800        (JSC::RuntimeObjectImp::put): Use UNUSED_PARAM for non-QT.
54801
54802        * css/MediaQueryEvaluator.cpp:
54803        (WebCore::animationMediaFeatureEval): Omit argument names for style and frame.
54804        (WebCore::transitionMediaFeatureEval): Ditto.
54805        (WebCore::transform_2dMediaFeatureEval): Ditto.
54806        (WebCore::transform_3dMediaFeatureEval): Ditto.
54807
54808        * dom/make_names.pl: Leave out the createdByParser property name in
54809        cases where it's not used.
54810
54811        * inspector/JavaScriptDebugServer.cpp:
54812        (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Separate the
54813        version for the Mac platform so we can omit the argument names.
54814
54815        * loader/EmptyClients.h:
54816        (WebCore::EmptyChromeClient::contentsSizeChanged): Removed argument name.
54817
54818        * loader/FrameLoaderClient.h:
54819        (WebCore::FrameLoaderClient::shouldUsePluginDocument): Commented out
54820        argument name.
54821
54822        * loader/icon/IconFetcher.cpp:
54823        (WebCore::IconFetcher::didReceiveResponse): Use ASSERT_UNUSED.
54824        (WebCore::IconFetcher::didReceiveData): Ditto.
54825        (WebCore::IconFetcher::didFinishLoading): Ditto.
54826        (WebCore::IconFetcher::didFail): Ditto.
54827
54828        * platform/KURL.cpp:
54829        (WebCore::assertProtocolIsGood): Separate out the NDEBUG version so
54830        we can omit the argument names.
54831
54832        * platform/Timer.cpp:
54833        (WebCore::TimerHeapIterator::checkConsistency): Use ASSERT_UNUSED.
54834
54835        * platform/graphics/GlyphBuffer.h:
54836        (WebCore::GlyphBuffer::offsetAt): Use UNUSED_PARAM in the non-WIN case.
54837        (WebCore::GlyphBuffer::add): Use UNUSED_PARAM in the non-CAIRO case.
54838
54839        * platform/graphics/cg/ImageSourceCG.cpp:
54840        (WebCore::ImageSource::clear): Removed argument name.
54841
54842        * rendering/SVGRenderSupport.cpp:
54843        (WebCore::prepareToRenderSVGContent): Use UNUSED_PARAM when SVG_FILTERS
54844        is not enabled.
54845        (WebCore::finishRenderSVGContent): Ditto.
54846
548472009-01-13  Chris Marrin  <cmarrin@apple.com>
54848
54849        Reviewed by Darin Adler.
54850
54851        Implemented https://bugs.webkit.org/show_bug.cgi?id=23298
54852        Simple fix to convertToLength to catch style==null cases
54853
54854        * css/CSSStyleSelector.cpp:
54855        (WebCore::convertToLength):
54856
548572009-01-13  Eric Seidel  <eric@webkit.org>
54858
54859        Reviewed by Mark Rowe.
54860
54861        Speculative fix for an Uninitialized Memory Read (UMR)
54862        seen by purify in chormium's equivalent V8 file.
54863
54864        * bindings/js/JSSVGPODTypeWrapper.h:
54865        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
54866
548672009-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
54868
54869        Reviewed by Eric Seidel.
54870
54871        Land portions of platform/graphics/chromium.
54872        https://bugs.webkit.org/show_bug.cgi?id=23297
54873
54874        * platform/graphics/chromium/FontCustomPlatformData.cpp: Added.
54875        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
54876        (WebCore::FontCustomPlatformData::fontPlatformData):
54877        (WebCore::EOTStream::EOTStream):
54878        (WebCore::EOTStream::read):
54879        (WebCore::readEmbedProc):
54880        (WebCore::createUniqueFontName):
54881        (WebCore::createFontCustomPlatformData):
54882        * platform/graphics/chromium/FontCustomPlatformData.h: Added.
54883        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
54884        * platform/graphics/chromium/FontLinux.cpp: Added.
54885        (WebCore::Font::drawGlyphs):
54886        (WebCore::Font::drawComplexText):
54887        (WebCore::Font::floatWidthForComplexText):
54888        (WebCore::Font::offsetForPositionForComplexText):
54889        (WebCore::Font::selectionRectForComplexText):
54890        * platform/graphics/chromium/FontPlatformData.h: Added.
54891
548922009-01-13  Mark Rowe  <mrowe@apple.com>
54893
54894        Rubber-stamped by Oliver Hunt.
54895
54896        Don't copy DOMStringList.idl into the framework bundle.
54897
54898        * WebCore.xcodeproj/project.pbxproj:
54899
549002009-01-13  Christian Dywan  <christian@twotoasts.de>
54901
54902        Build fix, StorageEvent is only defined if we have DOM_STORAGE
54903
54904        * dom/Document.cpp:
54905        (WebCore::Document::createEvent): Conditionalize StorageEvent
54906
549072009-01-13  Darin Adler  <darin@apple.com>
54908
54909        Reviewed by Adele Peterson.
54910
54911        Bug 23277: space bar scrolls the page when typed in any text field
54912        https://bugs.webkit.org/show_bug.cgi?id=23277
54913        rdar://problem/6490249
54914
54915        There's already a regression test for this, since bug 16421 was the same problem, but on
54916        Mac. The regression test is fast/events/space-scroll-event.html, so I won't write a new one.
54917
54918        This bug doesn't affect Mac because the canEdit check in -[WebHTMLView insertText:] prevents
54919        a text input event from being generated at all. That difference may in itself be a bug, but
54920        the only symptom is that you get text input events in more cases on platforms other than Mac.
54921
54922        * page/EventHandler.cpp:
54923        (WebCore::EventHandler::handleTextInputEvent): Return whether the event's default was
54924        handled, not the result of the dispatchEvent function, which indicates only whether the
54925        default behavior was prevented, not if the default behavior did some insertion. This fix
54926        makes it so the keyboard event handler can detect that no space was inserted and know that
54927        the space bar keypress event can be treated as a scrolling command.
54928        (WebCore::EventHandler::defaultKeyboardEventHandler): Handle the keypress event, not the
54929        keydown event. Without the change above, making this change would have restored the old
54930        behavior, reintroducing bug 22913 where the space bar doesn't scroll at all on Windows.
54931
549322009-01-13  Darin Fisher  <darin@chromium.org>
54933
54934        Reviewed by Eric Seidel.
54935
54936        Landing portions of platform/chromium/, taken from here:
54937        http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/chromium/
54938
54939        * platform/chromium/ChromiumBridge.h: Added.
54940        * platform/chromium/ChromiumDataObject.cpp: Added.
54941        (WebCore::ChromiumDataObject::clear):
54942        (WebCore::ChromiumDataObject::hasData):
54943        * platform/chromium/ChromiumDataObject.h: Added.
54944        (WebCore::ChromiumDataObject::create):
54945        (WebCore::ChromiumDataObject::ChromiumDataObject):
54946        * platform/chromium/ClipboardChromium.cpp: Added.
54947        (WebCore::):
54948        (WebCore::clipboardTypeFromMIMEType):
54949        (WebCore::ClipboardChromium::ClipboardChromium):
54950        (WebCore::ClipboardChromium::create):
54951        (WebCore::ClipboardChromium::clearData):
54952        (WebCore::ClipboardChromium::clearAllData):
54953        (WebCore::ClipboardChromium::getData):
54954        (WebCore::ClipboardChromium::setData):
54955        (WebCore::ClipboardChromium::types):
54956        (WebCore::ClipboardChromium::setDragImage):
54957        (WebCore::ClipboardChromium::setDragImageElement):
54958        (WebCore::ClipboardChromium::createDragImage):
54959        (WebCore::imageToMarkup):
54960        (WebCore::getCachedImage):
54961        (WebCore::writeImageToDataObject):
54962        (WebCore::ClipboardChromium::declareAndWriteDragImage):
54963        (WebCore::ClipboardChromium::writeURL):
54964        (WebCore::ClipboardChromium::writeRange):
54965        (WebCore::ClipboardChromium::hasData):
54966        * platform/chromium/ClipboardChromium.h: Added.
54967        (WebCore::ClipboardChromium::~ClipboardChromium):
54968        (WebCore::ClipboardChromium::dataObject):
54969        * platform/chromium/ClipboardUtilitiesChromium.cpp: Added.
54970        (WebCore::replaceNewlinesWithWindowsStyleNewlines):
54971        (WebCore::replaceNBSPWithSpace):
54972        (WebCore::urlToMarkup):
54973        * platform/chromium/ClipboardUtilitiesChromium.h: Added.
54974        * platform/chromium/ContextMenuChromium.cpp: Added.
54975        (WebCore::ContextMenu::ContextMenu):
54976        (WebCore::ContextMenu::~ContextMenu):
54977        (WebCore::ContextMenu::itemCount):
54978        (WebCore::ContextMenu::insertItem):
54979        (WebCore::ContextMenu::appendItem):
54980        (WebCore::ContextMenu::itemWithAction):
54981        (WebCore::ContextMenu::itemAtIndex):
54982        (WebCore::ContextMenu::setPlatformDescription):
54983        (WebCore::ContextMenu::platformDescription):
54984        (WebCore::ContextMenu::releasePlatformDescription):
54985        * platform/chromium/ContextMenuItemChromium.cpp: Added.
54986        (WebCore::ContextMenuItem::ContextMenuItem):
54987        (WebCore::ContextMenuItem::~ContextMenuItem):
54988        (WebCore::ContextMenuItem::releasePlatformDescription):
54989        (WebCore::ContextMenuItem::type):
54990        (WebCore::ContextMenuItem::action):
54991        (WebCore::ContextMenuItem::title):
54992        (WebCore::ContextMenuItem::platformSubMenu):
54993        (WebCore::ContextMenuItem::setType):
54994        (WebCore::ContextMenuItem::setAction):
54995        (WebCore::ContextMenuItem::setTitle):
54996        (WebCore::ContextMenuItem::setSubMenu):
54997        (WebCore::ContextMenuItem::setChecked):
54998        (WebCore::ContextMenuItem::setEnabled):
54999        (WebCore::ContextMenuItem::enabled):
55000        * platform/chromium/CursorChromium.cpp: Added.
55001        (WebCore::Cursor::Cursor):
55002        (WebCore::Cursor::~Cursor):
55003        (WebCore::Cursor::operator=):
55004        (WebCore::pointerCursor):
55005        (WebCore::crossCursor):
55006        (WebCore::handCursor):
55007        (WebCore::iBeamCursor):
55008        (WebCore::waitCursor):
55009        (WebCore::helpCursor):
55010        (WebCore::eastResizeCursor):
55011        (WebCore::northResizeCursor):
55012        (WebCore::northEastResizeCursor):
55013        (WebCore::northWestResizeCursor):
55014        (WebCore::southResizeCursor):
55015        (WebCore::southEastResizeCursor):
55016        (WebCore::southWestResizeCursor):
55017        (WebCore::westResizeCursor):
55018        (WebCore::northSouthResizeCursor):
55019        (WebCore::eastWestResizeCursor):
55020        (WebCore::northEastSouthWestResizeCursor):
55021        (WebCore::northWestSouthEastResizeCursor):
55022        (WebCore::columnResizeCursor):
55023        (WebCore::rowResizeCursor):
55024        (WebCore::middlePanningCursor):
55025        (WebCore::eastPanningCursor):
55026        (WebCore::northPanningCursor):
55027        (WebCore::northEastPanningCursor):
55028        (WebCore::northWestPanningCursor):
55029        (WebCore::southPanningCursor):
55030        (WebCore::southEastPanningCursor):
55031        (WebCore::southWestPanningCursor):
55032        (WebCore::westPanningCursor):
55033        (WebCore::moveCursor):
55034        (WebCore::verticalTextCursor):
55035        (WebCore::cellCursor):
55036        (WebCore::contextMenuCursor):
55037        (WebCore::aliasCursor):
55038        (WebCore::progressCursor):
55039        (WebCore::noDropCursor):
55040        (WebCore::copyCursor):
55041        (WebCore::noneCursor):
55042        (WebCore::notAllowedCursor):
55043        (WebCore::zoomInCursor):
55044        (WebCore::zoomOutCursor):
55045        (WebCore::grabCursor):
55046        (WebCore::grabbingCursor):
55047        * platform/chromium/DragDataChromium.cpp: Added.
55048        (WebCore::containsHTML):
55049        (WebCore::DragData::createClipboard):
55050        (WebCore::DragData::containsURL):
55051        (WebCore::DragData::asURL):
55052        (WebCore::DragData::containsFiles):
55053        (WebCore::DragData::asFilenames):
55054        (WebCore::DragData::containsPlainText):
55055        (WebCore::DragData::asPlainText):
55056        (WebCore::DragData::containsColor):
55057        (WebCore::DragData::canSmartReplace):
55058        (WebCore::DragData::containsCompatibleContent):
55059        (WebCore::DragData::asFragment):
55060        (WebCore::DragData::asColor):
55061        * platform/chromium/EditorChromium.cpp: Added.
55062        (WebCore::Editor::newGeneralClipboard):
55063        * platform/chromium/FileChooserChromium.cpp: Added.
55064        (WebCore::FileChooser::basenameForWidth):
55065        * platform/chromium/FileSystemChromium.cpp: Added.
55066        (WebCore::deleteFile):
55067        (WebCore::deleteEmptyDirectory):
55068        (WebCore::getFileSize):
55069        (WebCore::getFileModificationTime):
55070        (WebCore::directoryName):
55071        (WebCore::pathByAppendingComponent):
55072        (WebCore::makeAllDirectories):
55073        (WebCore::fileExists):
55074        * platform/chromium/FileSystemChromiumLinux.cpp: Added.
55075        (WebCore::pathGetFileName):
55076        * platform/chromium/FileSystemChromiumMac.mm: Added.
55077        (WebCore::pathGetFileName):
55078        * platform/chromium/FileSystemChromiumWin.cpp: Added.
55079        (WebCore::pathGetFileName):
55080        * platform/chromium/FramelessScrollView.cpp: Added.
55081        (WebCore::FramelessScrollView::~FramelessScrollView):
55082        (WebCore::FramelessScrollView::invalidateScrollbarRect):
55083        (WebCore::FramelessScrollView::isActive):
55084        (WebCore::FramelessScrollView::invalidateRect):
55085        (WebCore::FramelessScrollView::hostWindow):
55086        (WebCore::FramelessScrollView::windowClipRect):
55087        (WebCore::FramelessScrollView::paintContents):
55088        (WebCore::FramelessScrollView::contentsResized):
55089        (WebCore::FramelessScrollView::visibleContentsResized):
55090        * platform/chromium/FramelessScrollView.h: Added.
55091        (WebCore::FramelessScrollView::FramelessScrollView):
55092        (WebCore::FramelessScrollView::client):
55093        (WebCore::FramelessScrollView::setClient):
55094        * platform/chromium/FramelessScrollViewClient.h: Added.
55095        * platform/chromium/ScrollbarThemeChromiumWin.cpp: Added.
55096        (WebCore::):
55097        (WebCore::ScrollbarThemeChromium::scrollbarThickness):
55098        (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
55099        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
55100        (WebCore::ScrollbarThemeChromium::paintButton):
55101        (WebCore::ScrollbarThemeChromium::paintThumb):
55102        (WebCore::ScrollbarThemeChromium::getThemeState):
55103        (WebCore::ScrollbarThemeChromium::getThemeArrowState):
55104        (WebCore::ScrollbarThemeChromium::getClassicThemeState):
55105        * platform/chromium/SoundChromiumPosix.cpp: Added.
55106        (WebCore::systemBeep):
55107        * platform/chromium/SoundChromiumWin.cpp: Added.
55108        (WebCore::systemBeep):
55109        * platform/chromium/SystemTimeChromium.cpp: Added.
55110        (WebCore::currentTime):
55111        (WebCore::userIdleTime):
55112        * platform/chromium/WidgetChromium.cpp: Added.
55113        (WebCore::Widget::Widget):
55114        (WebCore::Widget::~Widget):
55115        (WebCore::Widget::show):
55116        (WebCore::Widget::hide):
55117        (WebCore::Widget::setCursor):
55118        (WebCore::Widget::paint):
55119        (WebCore::Widget::setFocus):
55120        (WebCore::Widget::setIsSelected):
55121        (WebCore::Widget::frameRect):
55122        (WebCore::Widget::setFrameRect):
55123        * platform/chromium/WindowsVersion.cpp: Added.
55124        (WebCore::isVistaOrNewer):
55125        * platform/chromium/WindowsVersion.h: Added.
55126
551272009-01-13  Tor Arne Vestbø  <tavestbo@trolltech.com>
55128
55129        Reviewed by Simon Hausmann.
55130
55131        [Qt] Make sure media elements dispatch the 'loaded' event
55132
55133        We assume that when Phonon goes into paused state that we have the
55134        complete media file. Once we do media loading ourselves we can
55135        distinguish between loading the first frame and the complete media.
55136
55137        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
55138        (WebCore::MediaPlayerPrivate::updateStates):
55139
551402009-01-13  Tor Arne Vestbø  <tavestbo@trolltech.com>
55141
55142        Reviewed by Simon Hausmann.
55143
55144        [Qt] Add more verbose error output when loading NPAPI plugins
55145
55146        * plugins/qt/PluginPackageQt.cpp:
55147        (WebCore::PluginPackage::load):
55148
551492009-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
55150
55151        Reviewed by Tor Arne Vestbø.
55152
55153        Fix crash in the Qt port when deleting a popup from within a
55154        JavaScript onchange handler.
55155
55156        * platform/qt/QWebPopup.cpp:
55157        (WebCore::QWebPopup::QWebPopup): Perform the activation of the
55158        combobox item (i.e. the call to the JS handler) from a different
55159        call stack by using a queued connection.
55160
551612009-01-12  Holger Hans Peter Freyther  <zecke@selfish.org>
55162
55163        Reviewed by Tor Arne Vestbø.
55164
55165        [GIO] Make sure to untef the GFile and the GInputStream on destruction
55166
55167        Make sure to call cleanupGioOperation from the ResourceHandleInternal
55168        d'tor. Change the signature of cleanupGioOperation so we can do the
55169        cleanup of GIO next to the cleanup of SOUP.
55170
55171        This is happening with many tests from dom/html/level2/html e.g.
55172        LayoutTests/dom/html/level2/html/HTMLBodyElement07.html.
55173
55174        * platform/network/soup/ResourceHandleSoup.cpp:
55175        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
55176        (WebCore::cleanupGioOperation):
55177        (WebCore::closeCallback):
55178        (WebCore::readCallback):
55179        (WebCore::openCallback):
55180        (WebCore::queryInfoCallback):
55181
551822009-01-12  Holger Hans Peter Freyther  <zecke@selfish.org>
55183
55184        Reviewed by Tor Arne Vestbø.
55185
55186        [GIO] Attach the ResourceHandle to the GObject and get it from the GObject
55187
55188        https://bugs.webkit.org/show_bug.cgi?id=23116 discussed with Benjamin Otte
55189
55190        Sometimes it is not possible to cancel a pending GIO operation and the
55191        callback might be invoked with a pointer to an already destructed
55192        ResourceHandle. To avoid this issue we will attach the ResourceHandle
55193        to the GObject* and in the callback attempt to get the ResourceHandle
55194        from the GObject*. If no ResourceHandle is attached we silently fail
55195        as the cleanup has been already done.
55196
55197        This is happening with many tests from dom/html/level2/html e.g.
55198        LayoutTests/dom/html/level2/html/HTMLBodyElement07.html.
55199
55200        * platform/network/soup/ResourceHandleSoup.cpp:
55201        (WebCore::cleanupGioOperation):
55202        (WebCore::closeCallback):
55203        (WebCore::readCallback):
55204        (WebCore::openCallback):
55205        (WebCore::queryInfoCallback):
55206        (WebCore::ResourceHandle::startGio):
55207
552082009-01-12  Holger Hans Peter Freyther  <zecke@selfish.org>
55209
55210        Reviewed by Tor Arne Vestbø.
55211
55212        [GIO] Invoke cleanupGioOperation before calling didFail to avoid crashes
55213
55214        https://bugs.webkit.org/show_bug.cgi?id=23116
55215
55216        The ResourceHandle becomes invalid (e.g. got destructed) from within
55217        the invocation of didFail. Avoid this by cleaning up everything before
55218        calling didFail and simply return afterwards.
55219
55220        This is happening with many tests from dom/html/level2/html e.g.
55221        LayoutTests/dom/html/level2/html/HTMLBodyElement07.html.
55222
55223        * platform/network/soup/ResourceHandleSoup.cpp:
55224        (WebCore::readCallback):
55225        (WebCore::openCallback):
55226        (WebCore::queryInfoCallback):
55227
552282009-01-13  Tor Arne Vestbø  <tavestbo@trolltech.com>
55229
55230        Reviewed by Simon Hausmann.
55231
55232        Change how themes adjust mediaControls.css to match html4/quicks.css
55233
55234        Instead of providing the full style sheet, the themes provide extra
55235        overrides to the default style defined in UserAgentStyleSheetsData.
55236
55237        https://bugs.webkit.org/show_bug.cgi?id=23210
55238
55239        Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up
55240        build time for the Qt port.
55241
55242        * Resources/WebKitResources.qrc: Removed. Merged into WebCore.qrc
55243        * WebCore.pro:
55244        * WebCore.qrc: Added.
55245        * css/CSSStyleSelector.cpp:
55246        (WebCore::CSSStyleSelector::styleForElement):
55247        * css/qt/mediaControls-extras.css: Rename from html4-adjustments-qt.css
55248        * platform/qt/RenderThemeQt.cpp:
55249        (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
55250        * platform/qt/RenderThemeQt.h:
55251        * platform/qt/WebCoreResources.qrc: Removed.
55252        * platform/qt/html4-adjustments-qt.css: Rename to mediaControls-extras.css
55253        * rendering/RenderTheme.cpp:
55254        * rendering/RenderTheme.h:
55255        (WebCore::RenderTheme::extraMediaControlsStyleSheet):
55256
552572009-01-12  Gavin Barraclough  <barraclough@apple.com>
55258
55259        Reviewed by Oliver Hunt.
55260
55261        Deprecate JSValuePtr::getNumber() - two ways to get a number should  be enough.
55262
55263        * bindings/js/JSSQLTransactionCustom.cpp:
55264        (WebCore::JSSQLTransaction::executeSql):
55265        * bindings/objc/WebScriptObject.mm:
55266        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
55267
552682009-01-12  Chris Marrin  <cmarrin@apple.com>
55269
55270        Reviewed by Dan Bernstein.
55271
55272        Fixed https://bugs.webkit.org/show_bug.cgi?id=22919
55273
55274        I added a common getElapsedTime() function to AnimationBase which uses a combination of
55275        the techniques from KeyframeAnimation and AnimationBase to compute elapsedTime in all
55276        states.
55277
55278        * page/animation/AnimationBase.cpp:
55279        (WebCore::AnimationBase::progress):
55280        (WebCore::AnimationBase::getElapsedTime):
55281        * page/animation/AnimationBase.h:
55282        * page/animation/KeyframeAnimation.cpp:
55283        (WebCore::KeyframeAnimation::animate):
55284
552852009-01-12  Robert Blaut  <webkit@blaut.biz>
55286
55287        Reviewed by Darin Adler
55288
55289        Fix for <https://bugs.webkit.org/show_bug.cgi?id=22096>
55290        Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds
55291        instead of miliseconds
55292
55293        Test: fast/css/webkit-marquee-speed-unit-in-quirksmode.html
55294
55295        * css/CSSParser.cpp:
55296        (WebCore::CSSParser::validUnit): treat unitless values in quirks mode
55297        as miliseconds instead of seconds.
55298
552992009-01-12  David Hyatt  <hyatt@apple.com>
55300
55301        Apply the same idea as the previous fix but for matched declarations.
55302
55303        Reviewed by Dan Bernstein
55304
55305        * css/CSSStyleSelector.h:
55306
553072009-01-12  Brady Eidson  <beidson@apple.com>
55308
55309        Reviewed by Darin Adler
55310
55311        <rdar://problem/6468274> - Track Non-get requests in global history
55312
55313        * WebCore.base.exp:
55314
55315        * history/HistoryItem.cpp:
55316        (WebCore::HistoryItem::HistoryItem):
55317        * history/HistoryItem.h:
55318        (WebCore::HistoryItem::lastVisitWasHTTPNonGet):
55319        (WebCore::HistoryItem::setLastVisitWasHTTPNonGet):
55320
553212009-01-12  Kevin Ollivier  <kevino@theolliviers.com>
55322
55323        !ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header
55324        so it can be used by all builds.
55325
55326        * platform/graphics/Font.h:
55327        * platform/graphics/SimpleFontData.cpp:
55328        * svg/SVGFontFaceElement.cpp:
55329        * svg/SVGFontFaceElement.h:
55330
553312009-01-12  Kevin Ollivier  <kevino@theolliviers.com>
55332
55333        wx build typo fix.
55334
55335        * platform/graphics/wx/TransformationMatrixWx.cpp:
55336        (WebCore::TransformationMatrix::TransformationMatrix):
55337
553382009-01-12  David Hyatt  <hyatt@apple.com>
55339
55340        Make sure the set of matched rules has a reserved capacity of 32.  This prevents remalloc thrash as
55341        elements are matched, since the Vector is shrinking and growing over and over.  1% PLT speedup.
55342
55343        Reviewed by Oliver Hunt
55344
55345        * css/CSSStyleSelector.h:
55346
553472009-01-12  David Hyatt  <hyatt@apple.com>
55348
55349        Optimize Element::attributeChanged to just check if accessibility is enabled up front before looking at the
55350        two accessibility-related attributes.  This avoids the rest of the code for all attributes on the PLT.
55351        Tiny speedup.
55352
55353        Reviewed by Oliver Hunt
55354
55355        * dom/Element.cpp:
55356        (WebCore::Element::attributeChanged):
55357
553582009-01-12  David Hyatt  <hyatt@apple.com>
55359
55360        Optimize the retrieval of line height.  If the document is not using any first-line rules, just immediately
55361        default to the normal case.  Tiny speedup on PLT.
55362
55363        Reviewed by Oliver Hunt
55364
55365        * rendering/RenderFlow.cpp:
55366        (WebCore::RenderFlow::lineHeight):
55367
553682009-01-12  David Hyatt  <hyatt@apple.com>
55369
55370        Fix 0.6% regression in PLT.  Make sure not to waste time updating NSScrollView's can blit on scroll state
55371        in the ScrollView constructor, since this is always going to be properly updated by FrameView anyway.
55372
55373        Reviewed by Oliver Hunt
55374
55375        * platform/ScrollView.cpp:
55376        (WebCore::ScrollView::ScrollView):
55377
553782009-01-12  Simon Fraser  <simon.fraser@apple.com>
55379
55380        Reviewed by Dan Bernstein
55381
55382        https://bugs.webkit.org/show_bug.cgi?id=23273
55383
55384        In RenderBox::repaintLayerRectsForImage(), the repaint rect does not have
55385        to be computed in absolute coordintes. Instead, we compute a repaintRect
55386        relative to the RenderObject, which can repaint itself.
55387
55388        * rendering/RenderBox.cpp:
55389        (WebCore::RenderBox::repaintLayerRectsForImage):
55390
553912009-01-12  Simon Fraser  <simon.fraser@apple.com>
55392
55393        Reviewed by Dan Bernstein
55394
55395        https://bugs.webkit.org/show_bug.cgi?id=23220
55396
55397        Merge layoutDelta into LayoutState. This requires that we
55398        push even when layoutState is disabled, so that layoutDelta
55399        can still be stored.
55400
55401        * rendering/LayoutState.cpp:
55402        (WebCore::LayoutState::LayoutState):
55403        * rendering/LayoutState.h:
55404        (WebCore::LayoutState::LayoutState):
55405        * rendering/RenderBlock.cpp:
55406        (WebCore::RenderBlock::layoutBlock):
55407        (WebCore::RenderBlock::layoutBlockChildren):
55408        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
55409        * rendering/RenderBox.cpp:
55410        (WebCore::RenderBox::localToAbsolute):
55411        (WebCore::RenderBox::absoluteToLocal):
55412        (WebCore::RenderBox::computeAbsoluteRepaintRect):
55413        * rendering/RenderFlexibleBox.cpp:
55414        (WebCore::RenderFlexibleBox::layoutBlock):
55415        * rendering/RenderFlow.cpp:
55416        (WebCore::RenderFlow::absoluteClippedOverflowRect):
55417        * rendering/RenderLayer.cpp:
55418        (WebCore::RenderLayer::updateLayerPositions):
55419        * rendering/RenderTableCell.cpp:
55420        (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
55421        (WebCore::RenderTableCell::localToAbsolute):
55422        * rendering/RenderView.cpp:
55423        (WebCore::RenderView::pushLayoutState):
55424        * rendering/RenderView.h:
55425        (WebCore::RenderView::layoutDelta):
55426        (WebCore::RenderView::addLayoutDelta):
55427        (WebCore::RenderView::doingFullRepaint):
55428        (WebCore::RenderView::pushLayoutState):
55429        (WebCore::RenderView::popLayoutState):
55430        (WebCore::RenderView::layoutStateEnabled):
55431        (WebCore::RenderView::layoutState):
55432        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
55433        (WebCore::LayoutStateMaintainer::push):
55434        (WebCore::LayoutStateMaintainer::pop):
55435        * rendering/bidi.cpp:
55436        (WebCore::RenderBlock::layoutInlineChildren):
55437
554382009-01-12  Julien Chaffraix  <jchaffraix@pleyo.com>
55439
55440        Reviewed by Holger Freyther.
55441
55442        [Qt] Build fix after turning the fontCache to a singleton
55443        https://bugs.webkit.org/show_bug.cgi?id=23253
55444
55445        Add a stub implementation for WebCore::fontCache() and FontCache::FontCache().
55446
55447        * platform/graphics/qt/FontCacheQt.cpp:
55448        (WebCore::fontCache):
55449        (WebCore::FontCache::FontCache):
55450
554512009-01-12  Eric Roman  <eroman@chromium.org>
55452
55453        Reviewed by Darin Adler.
55454
55455        Fix some bugs with Selection::appendTrailingWhitespace().
55456        https://bugs.webkit.org/show_bug.cgi?id=23232
55457
55458        Test: editing/selection/doubleclick-whitespace-crash.html
55459
55460        * editing/Selection.cpp:
55461        (WebCore::makeSearchRange):
55462        (WebCore::Selection::appendTrailingWhitespace):
55463
554642009-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
55465
55466        Reviewed by Eric Seidel.
55467
55468        Add the first pieces of platform/graphics/chromium
55469        https://bugs.webkit.org/show_bug.cgi?id=23257
55470
55471        * platform/graphics/chromium/ColorChromium.cpp: Added.
55472        (WebCore::focusRingColor):
55473        * platform/graphics/chromium/FontCacheChromiumWin.cpp: Added.
55474        (WebCore::FontCache::platformInit):
55475        (WebCore::isStringASCII):
55476        (WebCore::LookupAltName):
55477        (WebCore::FontCodepage::):
55478        (WebCore::FontCodepage::if):
55479        (WebCore::createFontIndirectAndGetWinName):
55480        (WebCore::fontContainsCharacter):
55481        (WebCore::FontCache::getFontDataForCharacters):
55482        (WebCore::FontCache::alternateFamilyName):
55483        (WebCore::FontCache::getSimilarFontPlatformData):
55484        (WebCore::FontCache::getLastResortFallbackFont):
55485        (WebCore::toGDIFontWeight):
55486        (WebCore::FontCache::getGenericFontForScript):
55487        (WebCore::FillLogFont):
55488        (WebCore::FontCache::fontExists):
55489        (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData):
55490        (WebCore::traitsInFamilyEnumProc):
55491        (WebCore::FontCache::getTraitsInFamily):
55492        (WebCore::FontCache::createFontPlatformData):
55493        * platform/graphics/chromium/FontCacheLinux.cpp: Added.
55494        (WebCore::FontCache::platformInit):
55495        (WebCore::FontCache::getFontDataForCharacters):
55496        (WebCore::FontCache::alternateFamilyName):
55497        (WebCore::FontCache::getSimilarFontPlatformData):
55498        (WebCore::FontCache::getLastResortFallbackFont):
55499        (WebCore::FontCache::getTraitsInFamily):
55500        (WebCore::FontCache::createFontPlatformData):
55501        (WebCore::FontCache::getGenericFontForScript):
55502        * platform/graphics/chromium/FontChromiumWin.cpp: Added.
55503        (WebCore::windowsCanHandleTextDrawing):
55504        (WebCore::skiaDrawText):
55505        (WebCore::PaintSkiaText):
55506        (WebCore::Font::drawGlyphs):
55507        (WebCore::Font::selectionRectForComplexText):
55508        (WebCore::Font::drawComplexText):
55509        (WebCore::Font::floatWidthForComplexText):
55510        (WebCore::Font::offsetForPositionForComplexText):
55511
555122009-01-12  Darin Fisher  <darin@chromium.org>
55513
55514        Reviewed by Eric Seidel.
55515
55516        https://bugs.webkit.org/show_bug.cgi?id=23254
55517        Upstream page/chromium/
55518
55519        * page/chromium/AXObjectCacheChromium.cpp: Added.
55520        (WebCore::AXObjectCache::detachWrapper):
55521        (WebCore::AXObjectCache::attachWrapper):
55522        (WebCore::AXObjectCache::postNotification):
55523        (WebCore::AXObjectCache::postNotificationToElement):
55524        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
55525        * page/chromium/AccessibilityObjectChromium.cpp:
55526        * page/chromium/AccessibilityObjectWrapper.h:
55527        * page/chromium/ChromeClientChromium.h: Added.
55528        * page/chromium/DragControllerChromium.cpp: Added.
55529        (WebCore::DragController::dragOperation):
55530        (WebCore::DragController::isCopyKeyDown):
55531        (WebCore::DragController::maxDragImageSize):
55532        (WebCore::DragController::cleanupAfterSystemDrag):
55533        * page/chromium/EventHandlerChromium.cpp: Added.
55534        (WebCore::EventHandler::passMousePressEventToSubframe):
55535        (WebCore::EventHandler::passMouseMoveEventToSubframe):
55536        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
55537        (WebCore::EventHandler::passWheelEventToWidget):
55538        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
55539        (WebCore::EventHandler::passMouseDownEventToWidget):
55540        (WebCore::EventHandler::tabsToAllControls):
55541        (WebCore::EventHandler::eventActivatedView):
55542        (WebCore::EventHandler::createDraggingClipboard):
55543        (WebCore::EventHandler::focusDocumentView):
55544        (WebCore::EventHandler::accessKeyModifiers):
55545        * page/chromium/FrameChromium.cpp: Added.
55546        (WebCore::computePageRectsForFrame):
55547        (WebCore::Frame::dragImageForSelection):
55548        * page/chromium/FrameChromium.h: Added.
55549
555502009-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
55551
55552        Reviewed by Darin Adler.
55553
55554        https://bugs.webkit.org/show_bug.cgi?id=22936
55555        Fix uninitialized memory read error, reported by Purify.
55556
55557        * platform/graphics/SimpleFontData.cpp:
55558        (WebCore::SimpleFontData::SimpleFontData): Added initializer for
55559            m_unitsPerEm using cDefaultUnitsPerEm constant.
55560        * svg/SVGFontFaceElement.cpp:
55561        (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with
55562            the constant.
55563        * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant.
55564
555652009-01-12  Adam Treat  <adam.treat@torchmobile.com>
55566
55567        Reviewed by George Staikos.
55568
55569        Do not set fixedLayoutSize for anything other than the mainframe during
55570        the transition as this is a page level state like the viewportSize.
55571
55572        * loader/FrameLoaderClient.cpp:
55573        (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
55574
555752009-01-12  Julien Chaffraix  <jchaffraix@pleyo.com>
55576
55577        Reviewed by Darin Adler.
55578
55579        Bug 22861: Turn the FontCache into a singleton
55580        https://bugs.webkit.org/show_bug.cgi?id=22861
55581
55582        - Added fontCache() to get the global FontCache.
55583
55584        - Made all the methods in FontCache instance method.
55585
55586        - Changed FontCache:: to fontCache()-> in WebCore.
55587
55588        * WebCore.base.exp: Now export fontCache().
55589        * css/CSSFontFaceSource.cpp:
55590        (WebCore::CSSFontFaceSource::getFontData):
55591        * css/CSSFontSelector.cpp:
55592        (WebCore::CSSFontSelector::CSSFontSelector):
55593        (WebCore::CSSFontSelector::~CSSFontSelector):
55594        (WebCore::CSSFontSelector::addFontFaceRule):
55595        (WebCore::fontDataForGenericFamily):
55596        * platform/graphics/Font.cpp:
55597        (WebCore::Font::glyphDataForCharacter):
55598        * platform/graphics/FontCache.cpp:
55599        (WebCore::fontCache):
55600        (WebCore::FontCache::FontCache):
55601        * platform/graphics/FontCache.h:
55602        * platform/graphics/FontFallbackList.cpp:
55603        (WebCore::FontFallbackList::FontFallbackList):
55604        (WebCore::FontFallbackList::invalidate):
55605        (WebCore::FontFallbackList::releaseFontData):
55606        (WebCore::FontFallbackList::fontDataAt):
55607        (WebCore::FontFallbackList::fontDataForCharacters):
55608        (WebCore::FontFallbackList::setPlatformFont):
55609        * platform/graphics/SimpleFontData.cpp:
55610        (WebCore::SimpleFontData::~SimpleFontData):
55611        * platform/graphics/mac/FontCacheMac.mm:
55612        (WebCore::fontCacheATSNotificationCallback):
55613        * platform/graphics/mac/SimpleFontDataMac.mm:
55614        (WebCore::SimpleFontData::smallCapsFontData):
55615        * platform/graphics/win/FontCacheWin.cpp:
55616        (WebCore::getCJKCodePageMasks):
55617        * platform/graphics/win/SimpleFontDataWin.cpp:
55618        (WebCore::SimpleFontData::containsCharacters):
55619
556202009-01-11  Darin Adler  <darin@apple.com>
55621
55622        Reviewed by Dan Bernstein.
55623
55624        Bug 23247: createSVGPathSegCurvetoCubicSmoothAbs doesn't set y2 correctly
55625        https://bugs.webkit.org/show_bug.cgi?id=23247
55626
55627        Also fix problems where partially parsed paths will still have an effect
55628        rather than failing parsing and being ignored.
55629
55630        Test: dom/path-segments.html
55631
55632        * platform/graphics/Path.h:
55633        (WebCore::Path::swap): Added.
55634
55635        * svg/SVGParserUtilities.cpp:
55636        (WebCore::SVGPathParser::parseSVG): Removed unneeded special case for empty string.
55637        (WebCore::PathBuilder::build): Changed to not modify the path if parsing fails.
55638        (WebCore::SVGPathSegListBuilder::build): Changed to not modify the segment list if
55639        parsing fails.
55640        (WebCore::SVGPathSegListBuilder::svgMoveTo): Put the path element into the vector,
55641        not directly into the segment list.
55642        (WebCore::SVGPathSegListBuilder::svgLineTo): Ditto.
55643        (WebCore::SVGPathSegListBuilder::svgLineToHorizontal): Ditto.
55644        (WebCore::SVGPathSegListBuilder::svgLineToVertical): Ditto.
55645        (WebCore::SVGPathSegListBuilder::svgCurveToCubic): Ditto.
55646        (WebCore::SVGPathSegListBuilder::svgCurveToCubicSmooth): Ditto.
55647        (WebCore::SVGPathSegListBuilder::svgCurveToQuadratic): Ditto.
55648        (WebCore::SVGPathSegListBuilder::svgCurveToQuadraticSmooth): Ditto.
55649        (WebCore::SVGPathSegListBuilder::svgArcTo): Ditto.
55650        (WebCore::SVGPathSegListBuilder::svgClosePath): Ditto.
55651
55652        * svg/SVGPathSegCurvetoCubicSmooth.h:
55653        (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
55654        Set y2 to y2, not to y.
55655
556562009-01-11  Darin Adler  <darin@apple.com>
55657
55658        Reviewed by Oliver Hunt.
55659
55660        Bug 23102: turn on unused parameter warnings in WebCore
55661        https://bugs.webkit.org/show_bug.cgi?id=23102
55662
55663        Fourth step: Remove arguments entirely in the many cases where they are not
55664        needed at all. This step is a little less mechanical than the earlier ones.
55665
55666        * dom/DOMImplementation.cpp:
55667        (WebCore::DOMImplementation::isXMLMIMEType): Pass TextCaseSensitive when creating
55668        the regular expression, since we already specify a-zA-Z in our expression.
55669
55670        * dom/Document.cpp:
55671        (WebCore::Document::databaseThread): Don't pass in the document when creating
55672        a DatabaseThread.
55673
55674        * dom/Element.cpp:
55675        (WebCore::Element::createRareData): Don't pass the element when creating an
55676        ElementRareData.
55677        (WebCore::Element::detach): Don't pass the element when calling resetComputedStyle.
55678        (WebCore::Element::recalcStyle): Ditto.
55679
55680        * dom/ElementRareData.h: Remove the unused Element* from the constructor and
55681        the resetComputedStyle function.
55682
55683        * dom/EventTargetNode.cpp:
55684        (WebCore::EventTargetNode::dispatchEvent): Don't pass ec to dispatchGenericEvent.
55685        (WebCore::EventTargetNode::dispatchGenericEvent): Remove the unused ec argument.
55686        (WebCore::EventTargetNode::dispatchWindowEvent): Don't pass ec to dispatchGenericEvent.
55687        * dom/EventTargetNode.h: Remove the ExceptionCode& argument form disaptchGenericEvent.
55688
55689        * editing/ApplyStyleCommand.cpp: Remove the empty removeBlockStyle function.
55690        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Remove the unused
55691        start and end arguments.
55692        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Don't pass start
55693        and end to pushDownTextDecorationStyleAroundNode.
55694
55695        * editing/ApplyStyleCommand.h: Remove the empty removeBlockStyle function. Removed the
55696        unused start and end arguments from pushDownTextDecorationStyleAroundNode.
55697
55698        * editing/htmlediting.cpp: Removed include of unused RegularExpression.h header.
55699
55700        * html/HTMLTokenizer.cpp:
55701        (WebCore::Token::addAttribute): Removed unused Document* argument.
55702        (WebCore::HTMLTokenizer::parseTag): Don't pass document to addAttribute.
55703
55704        * html/HTMLTokenizer.h: Removed unused Document* argument to to addAttribute.
55705
55706        * page/DOMWindow.cpp:
55707        (WebCore::DOMWindow::localStorage): Don't pass the frame to storageArea.
55708
55709        * page/DragController.cpp:
55710        (WebCore::DragController::dragIsMove): Removed unused DragData argument.
55711        (WebCore::DragController::performDrag): Call concludeEditDrag rather than
55712        concludeDrag.
55713        (WebCore::DragController::tryDocumentDrag): Don't pass dragData to dragIsMove.
55714        (WebCore::DragController::concludeEditDrag): Renamed to make it clear this
55715        should only be called for edit drags. Removed the action mask argument. Also
55716        changed dragIsMove call sites to not pass dragData.
55717
55718        * page/DragController.h: Updated for above changes and tweaked comment format.
55719
55720        * page/Frame.cpp:
55721        (WebCore::createRegExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive
55722        when creating regular expressions for clarity. Call match instead of search,
55723        since both do the same thing except for with negative start offsets, and none
55724        used here are negative.
55725        (WebCore::Frame::matchLabelsAgainstElement): Ditto.
55726
55727        * page/Page.h: Moved TextCaseSensitivity from here to StringImpl.h in platform.
55728
55729        * page/mac/AccessibilityObjectWrapper.mm:
55730        (AXAttributeStringSetHeadingLevel): Removed unused object argument.
55731        (AXAttributedStringAppendText): Ditto.
55732        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Ditto.
55733
55734        * page/mac/FrameMac.mm:
55735        (WebCore::regExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive
55736        when creating regular expressions for clarity. Call match instead of search,
55737        since both do the same thing except for with negative start offsets, and none
55738        used here are negative.
55739        (WebCore::Frame::matchLabelsAgainstElement): Ditto.
55740
55741        * platform/graphics/SegmentedFontData.cpp:
55742        (WebCore::SegmentedFontData::containsCharacter): Added.
55743        (WebCore::SegmentedFontData::containsCharacters): Updated to check all characters
55744        instead of just the first one, using containsCharacter.
55745
55746        * platform/graphics/SegmentedFontData.h: Made more members private.
55747        Added containsCharacter function member.
55748
55749        * platform/mac/DragImageMac.mm:
55750        (WebCore::dragImageSize): Changed to use RetainPtr<NSImage> directly instead of
55751        DragImageRef for clarity, since this is platform-specific code.
55752        (WebCore::deleteDragImage): Ditto. Also remove argument name to get rid of unused
55753        variable warning.
55754        (WebCore::scaleDragImage): Ditto.
55755        (WebCore::dissolveDragImageToFraction): Ditto.
55756        (WebCore::createDragImageFromImage): Ditto.
55757        (WebCore::createDragImageIconForCachedImage): Ditto.
55758
55759        * platform/mac/WebFontCache.mm:
55760        (acceptableChoice): Removed the unused weight-related arguments.
55761        (betterChoice): Ditto.
55762        (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Ditto.
55763
55764        * platform/posix/FileSystemPOSIX.cpp: Removed the implementation of listDirectory
55765        because we'd rather get a link error rather than a runtime error if we use it
55766        for anything, and right now it's not used.
55767
55768        * platform/text/RegularExpression.cpp: Removed unused private data,
55769        including pattern, lastMatchString, lastMatchOffsets, lastMatchCount,
55770        and lastMatchPos. Made the RegularExpression::Private::regex be private
55771        and use an accessor function to get at it.
55772        (WebCore::RegularExpression::RegularExpression): Removed the const char* version
55773        of the constructor because it's not any more efficient. Changed the boolean
55774        constructor argument to use TextCaseSensitivity instead to make it less likely
55775        we'll use it wrong.
55776        (WebCore::RegularExpression::operator=): Since the only member is a single RefPtr,
55777        just use plain old assignment on it. The only reason we do this instead of using
55778        the compiler generated assignment operator is that we want the Private structure
55779        to be internal to the .cpp file.
55780        (WebCore::RegularExpression::match): Added a null check so we won't crash if
55781        we fail to compile the regular expression. Removed the code to handle multiple
55782        match strings, since that was unused.
55783
55784        * platform/text/RegularExpression.h: Changed the case sensitivity argument to use
55785        TextCaseSensitivity and not have a default value. Removed the default constructor,
55786        and the pattern, match, and pos functions.
55787
55788        * platform/text/StringImpl.h: Moved the TextCaseSensitivity enum here from
55789        Page.h, because we should eventually use it in all the places where we have
55790        an argument to control case sensitivity, starting with the functions in this
55791        class.
55792
55793        * platform/text/mac/ShapeArabic.c:
55794        (shapeUnicode): Removed the unused options and pErrorCode arguments. Even though
55795        this is code borrowed from ICU, this seems like a simple safe change to make.
55796        (shapeArabic): Don't pass options or pErrorCode in to shapeUnicode.
55797
55798        * rendering/RenderPath.cpp:
55799        (WebCore::RenderPath::RenderPath): Removed the unused style argument.
55800        Also removed the type check. The argument already has the correct type,
55801        so it's not helpful to upcast it and then check its type again, unless
55802        we have some reason to believe the type is not reliable. And we don't.
55803
55804        * rendering/RenderPath.h: Removed the RenderStyle* argument to the
55805        constructor. Also removed the explicit declaration of the destructor.
55806        It's not helpful or needed.
55807
55808        * rendering/RenderSVGInlineText.cpp:
55809        (WebCore::RenderSVGInlineText::localCaretRect): Updated the comment here to
55810        make it clear that just returning an empty rect is not a good implementation.
55811        Removed the argument names to get rid of the warning.
55812
55813        * rendering/RenderTreeAsText.cpp:
55814        (WebCore::printBorderStyle): Removed the unused RenderObject argument.
55815        (WebCore::operator<<): Updated for the change to printBorderStyle function.
55816
55817        * storage/DatabaseThread.cpp:
55818        (WebCore::DatabaseThread::DatabaseThread): Removed the unused document argument.
55819        * storage/DatabaseThread.h: Ditto.
55820
55821        * storage/LocalStorage.cpp:
55822        (WebCore::LocalStorage::storageArea): Removed the unused Frame* argument.
55823        * storage/LocalStorage.h: Ditto.
55824
55825        * svg/SVGElement.cpp:
55826        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't pass an exception
55827        code location to dispatchGenericEvent.
55828        * svg/SVGElementInstance.cpp:
55829        (WebCore::SVGElementInstance::dispatchEvent): Ditto.
55830
55831        * svg/SVGStyledTransformableElement.cpp: Removed include of unused RegularExpression.h.
55832        (WebCore::SVGStyledTransformableElement::createRenderer): Don't pass style in to
55833        the RenderPath constructor.
55834
55835        * svg/SVGTransformable.cpp: Removed include of unused RegularExpression.h.
55836
55837        * xml/XSLTProcessor.cpp:
55838        (WebCore::createFragmentFromSource): Removed unused sourceNode argument.
55839        (WebCore::XSLTProcessor::transformToFragment): Don't pass sourceNode to createFragmentFromSource.
55840
558412009-01-11  Alexey Proskuryakov  <ap@webkit.org>
55842
55843        Reviewed by Darin Adler.
55844
55845        https://bugs.webkit.org/show_bug.cgi?id=23165
55846        Disable application cache dynamic entries support.
55847
55848        * bindings/js/JSDOMApplicationCacheCustom.cpp:
55849        * loader/appcache/DOMApplicationCache.idl:
55850
558512009-01-11  Adam Treat  <adam.treat@torchmobile.com>
55852
55853        Reviewed by Darin Adler.
55854
55855        Correct coordinate transformation for deeply nested frames on resizing.  This
55856        fixes https://bugs.webkit.org/show_bug.cgi?id=20766.
55857
55858        Test: fast/frames/frame-deep-nested-resize.html
55859
55860        * rendering/RenderFrameSet.cpp:
55861        (WebCore::RenderFrameSet::userResize):
55862
558632009-01-11  Mark Rowe  <mrowe@apple.com>
55864
55865        Tiger build fix.  The connection parameter is still used on Tiger in this method.
55866
55867        * platform/network/mac/ResourceHandleMac.mm:
55868        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
55869
558702009-01-11  Darin Adler  <darin@apple.com>
55871
55872        Reviewed by Dan Bernstein.
55873
55874        Bug 23102: turn on unused parameter warnings in WebCore
55875        https://bugs.webkit.org/show_bug.cgi?id=23102
55876
55877        Third step: Deal with cases of arguments used only in assertions.
55878
55879        * dom/MessagePort.cpp:
55880        (WebCore::MessagePortCloseEventTask::performTask): Use ASSERT_UNUSED.
55881        * dom/Worker.cpp:
55882        (WebCore::Worker::notifyFinished): Ditto.
55883        * dom/XMLTokenizer.cpp:
55884        (WebCore::XMLTokenizer::notifyFinished): Ditto.
55885        * loader/appcache/ApplicationCacheGroup.cpp:
55886        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Ditto.
55887        * loader/appcache/ApplicationCacheStorage.cpp:
55888        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Ditto.
55889        * loader/icon/IconLoader.cpp:
55890        (WebCore::IconLoader::didReceiveData): Since loader and size are only
55891        used when logging, use UNUSED_PARAM when logging is disabled.
55892        * platform/mac/WidgetMac.mm:
55893        (WebCore::Widget::beforeMouseDown): Use ASSERT_UNUSED.
55894        * platform/network/mac/ResourceHandleMac.mm:
55895        (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Use the
55896        argument since it's probably a tiny bit more efficient and gets rid
55897        of the unused argument warning.
55898        * rendering/RenderListMarker.cpp:
55899        (WebCore::RenderListMarker::createInlineBox): Use ASSERT_UNUSED.
55900        * rendering/RenderObject.cpp:
55901        (WebCore::RenderObject::createInlineBox): Ditto.
55902        * rendering/RenderSVGInline.cpp:
55903        (WebCore::RenderSVGInline::createInlineBox): Use UNUSED_PARAM.
55904        I couldn't use ASSERT_UNUSED because it's a single assertion, but it's
55905        the only use for two different arguments.
55906        * rendering/RenderText.cpp:
55907        (WebCore::RenderText::createInlineBox): Use ASSERT_UNUSED.
55908        * rendering/RenderThemeMac.mm:
55909        (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]): Ditto.
55910
559112009-01-11  Simon Fraser  <simon.fraser@apple.com>
55912
55913        Reviewed by Oliver Hunt
55914
55915        https://bugs.webkit.org/show_bug.cgi?id=23242
55916
55917        Fix CanvasRenderingContext2D::transform to do a pre-multiply,
55918        rather than a post-multiply into m_transform. This bug did not affect
55919        drawing, but did cause m_transform to be incorrect, which impacted
55920        willDraw(), and isPointInPath.
55921
55922        Test: fast/canvas/canvas-incremental-repaint-2.html
55923
55924        * html/CanvasRenderingContext2D.cpp:
55925        (WebCore::CanvasRenderingContext2D::transform):
55926
559272009-01-11  Darin Adler  <darin@apple.com>
55928
55929        Reviewed by Dan Bernstein.
55930
55931        Bug 23102: turn on unused parameter warnings in WebCore
55932        https://bugs.webkit.org/show_bug.cgi?id=23102
55933
55934        Second step: Fix simple Objective-C cases where we need to use UNUSED_PARAM.
55935        That's because you can't omit an argument name in Objective-C methods.
55936
55937        * bindings/objc/DOMObject.mm:
55938        (-[DOMObject copyWithZone:]): Use UNUSED_PARAM. Also rename argument to include
55939        the word "unused" so we don't just start using it without removing the macro.
55940        * bindings/objc/WebScriptObject.mm:
55941        (+[WebUndefined allocWithZone:]): Ditto.
55942        (-[WebUndefined initWithCoder:]): Ditto.
55943        (-[WebUndefined encodeWithCoder:]): Ditto.
55944        (-[WebUndefined copyWithZone:]): Ditto.
55945        * page/mac/WebDashboardRegion.m:
55946        (-[WebDashboardRegion copyWithZone:]): Ditto.
55947        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
55948        (WebCore::mainThreadSetNeedsDisplay): Omit argument name.
55949        (-[WebCoreMovieObserver loadStateChanged:]): Use UNUSED_PARAM as above.
55950        (-[WebCoreMovieObserver rateChanged:]): Ditto.
55951        (-[WebCoreMovieObserver sizeChanged:]): Ditto.
55952        (-[WebCoreMovieObserver timeChanged:]): Ditto.
55953        (-[WebCoreMovieObserver didEnd:]): Ditto.
55954        (-[WebCoreMovieObserver newImageAvailable:]): Ditto.
55955        * platform/mac/ScrollbarThemeMac.mm:
55956        (+[ScrollbarPrefsObserver appearancePrefsChanged:]): Ditto.
55957        (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): Ditto.
55958        * platform/mac/SharedTimerMac.mm:
55959        (-[WebCorePowerNotifier didWake:]): Ditto.
55960        * platform/mac/WebCoreKeyGenerator.m:
55961        (-[WebCoreKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): Ditto.
55962        * platform/network/mac/ResourceHandleMac.mm:
55963        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto.
55964        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): Ditto.
55965        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
55966        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
55967        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto.
55968        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Ditto.
55969        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): Ditto.
55970        (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto.
55971        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
55972        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.
55973        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Ditto.
55974        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Ditto.
55975        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
55976        (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
55977        (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
55978        (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
55979        (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
55980
559812009-01-11  Dirk Schulze  <krit@webkit.org>
55982
55983        Reviewed by Darin Adler.
55984
55985        Move platform dependent strokeContains back to RenderPath, Path and delete
55986        unneeded Code in svg.
55987
55988        RenderPath clean-up for strokeContains
55989        [https://bugs.webkit.org/show_bug.cgi?id=22957]
55990
55991        * GNUmakefile.am:
55992        * WebCore.pro:
55993        * WebCore.vcproj/WebCore.vcproj:
55994        * WebCore.xcodeproj/project.pbxproj:
55995        * platform/graphics/Path.h:
55996        * platform/graphics/cairo/PathCairo.cpp:
55997        (WebCore::Path::strokeContains):
55998        * platform/graphics/cg/PathCG.cpp:
55999        (WebCore::Path::strokeContains):
56000        * platform/graphics/qt/PathQt.cpp:
56001        (WebCore::Path::strokeContains):
56002        * rendering/RenderPath.cpp:
56003        (WebCore::RenderPath::strokeContains):
56004        * svg/graphics/cairo/RenderPathCairo.cpp: Removed.
56005        * svg/graphics/cg/CgSupport.cpp: Removed.
56006        * svg/graphics/cg/CgSupport.h: Removed.
56007        * svg/graphics/cg/RenderPathCg.cpp: Removed.
56008        * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
56009        * svg/graphics/cg/SVGResourceMaskerCg.mm:
56010        * svg/graphics/qt/RenderPathQt.cpp: Removed.
56011
560122009-01-11  Holger Hans Peter Freyther  <zecke@selfish.org>
56013
56014        Reviewed by Anders Carlsson.
56015
56016        [GTK] make distcheck complains that distclean is not deleting JSWorkerContextBase.lut.h
56017
56018        make distcheck pass by adding JSWorkerContextBase.lut.h to the
56019        CLEANFILES that will be cleaned on a make distclean.
56020
56021        * GNUmakefile.am:
56022
560232009-01-11  Zalan Bujtas  <zbujtas@gmail.com>
56024
56025        Reviewed by Alexey Proskuryakov.
56026
56027        https://bugs.webkit.org/show_bug.cgi?id=23235
56028        Build fix for non-VIDEO builds.
56029
56030        * rendering/RenderTheme.cpp:
56031        * rendering/RenderTheme.h:
56032
560332009-01-11  Gabriella Toth  <gtoth@inf.u-szeged.hu>
56034
56035        Reviewed by Darin Adler.
56036
56037        https://bugs.webkit.org/show_bug.cgi?id=19287
56038        return value of malloc() is not checked in npruntime.cpp
56039
56040        Checking whether malloc can allocate memory or not. If it can't, CRASH macro is invoked
56041        (like in fastMalloc).
56042
56043        * bridge/npruntime.cpp:
56044        (_NPN_GetStringIdentifier):
56045        (_NPN_GetIntIdentifier):
56046        (NPN_InitializeVariantWithStringCopy):
56047        (_NPN_CreateObject):
56048
560492009-01-11  Glenn Wilson  <gwilson@google.com>
56050
56051        Reviewed by Darin Adler.
56052
56053        Changes radio buttons so they can be 'checked' even if they
56054        don't have the name attribute set.
56055
56056        See https://bugs.webkit.org/show_bug.cgi?id=21534
56057
56058        Test: fast/html/select-unnamed-radio.html
56059
56060        * html/HTMLInputElement.cpp:
56061        (WebCore::HTMLInputElement::preDispatchEventHandler):
56062
560632009-01-11  Bernhard Rosenkraenzer <bero@arklinux.ch>
56064
56065        Reviewed by Darin Adler.
56066
56067        https://bugs.webkit.org/show_bug.cgi?id=22205
56068        Fix compatibility with bison 2.4, partially based on older patch by
56069        Priit Laes <amd@store20.com>
56070
56071        * WebCore/css/CSSGrammar.y: Made compatible with bison 2.4
56072
560732009-01-11  Jeremy Moskovich  <jeremy@chromium.org>
56074
56075        Reviewed by Darin Adler.
56076
56077        https://bugs.webkit.org/show_bug.cgi?id=16001
56078        Incorrect assumption that selection is always contiguous LTR.
56079
56080        Test: editing/selection/extend-selection-bidi.html
56081
56082        * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::fillLineSelectionGap):
56083        Make this function  not assume a contiguous visual LTR selection range.
56084
560852009-01-11  Dmitry Titov  <dimich@chromium.org>
56086
56087        Reviewed by Darin Adler.
56088
56089        https://bugs.webkit.org/show_bug.cgi?id=23207
56090        Moved currentTime() to from WebCore to WTF.
56091
56092        Most of these files only have a different header file included.
56093        Various build files reflect removal of SystemTimeGtk, Wx, Qt and Linux
56094        which were removed since they only implemented currentTime().
56095
56096        * ForwardingHeaders/wtf/CurrentTime.h: Added.
56097        * GNUmakefile.am:
56098        * WebCore.base.exp:
56099        * WebCore.pro:
56100        * dom/ContainerNode.cpp:
56101        * dom/Document.cpp:
56102        * dom/Event.cpp:
56103        * history/CachedPage.cpp:
56104        * history/PageCache.cpp:
56105        * html/HTMLMediaElement.cpp:
56106        (WebCore::HTMLMediaElement::load):
56107        (WebCore::HTMLMediaElement::progressEventTimerFired):
56108        * html/HTMLTokenizer.cpp:
56109        * html/PreloadScanner.cpp:
56110        * inspector/InspectorController.cpp:
56111        * loader/Cache.cpp:
56112        (WebCore::Cache::pruneLiveResources):
56113        * loader/CachedImage.cpp:
56114        * loader/CachedResource.cpp:
56115        * loader/FrameLoader.cpp:
56116        * loader/ProgressTracker.cpp:
56117        * loader/icon/IconDatabase.cpp:
56118        * loader/icon/IconRecord.cpp:
56119        * page/DragController.cpp:
56120        * page/Frame.cpp:
56121        * page/FrameView.cpp:
56122        * page/animation/AnimationBase.cpp:
56123        * page/animation/AnimationController.cpp:
56124        * page/animation/KeyframeAnimation.cpp:
56125        * platform/SystemTime.h:
56126        * platform/Timer.cpp:
56127        * platform/graphics/BitmapImage.cpp:
56128        * platform/gtk/MouseEventGtk.cpp:
56129        * platform/gtk/SharedTimerGtk.cpp:
56130        * platform/gtk/SystemTimeGtk.cpp: Removed.
56131        * platform/gtk/SystemTimeLinux.cpp: Removed.
56132        * platform/mac/SystemTimeMac.cpp:
56133        * platform/qt/PlatformMouseEventQt.cpp:
56134        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
56135        * platform/qt/SharedTimerQt.cpp:
56136        * platform/qt/SharedTimerQt.h:
56137        * platform/qt/SystemTimeQt.cpp: Removed.
56138        * platform/win/SharedTimerWin.cpp:
56139        * platform/win/SystemTimeWin.cpp:
56140        * platform/wx/MouseEventWx.cpp:
56141        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
56142        * platform/wx/SharedTimerWx.cpp:
56143        * platform/wx/SystemTimeWx.cpp: Removed.
56144        * rendering/RenderImage.cpp:
56145        * rendering/RenderMedia.cpp:
56146        * svg/animation/SMILTimeContainer.cpp:
56147        * webcore-wx.bkl:
56148        * xml/XMLHttpRequest.cpp:
56149
561502009-01-11  Dmitry Titov  <dimich@chromium.org>
56151
56152        Reviewed by Darin Adler.
56153
56154        Make ScheduledAction (Timeout callback) able to execute the callback under WorkerContext.
56155        Part of 'Timers in Workers' work.
56156        https://bugs.webkit.org/show_bug.cgi?id=23223
56157
56158        * bindings/js/ScheduledAction.cpp:
56159        (WebCore::ScheduledAction::execute): new method that takes WorkerContext.
56160        (WebCore::ScheduledAction::executeFunctionInContext): Executes a JSFunction in proper context with 'this' object.
56161        * bindings/js/ScheduledAction.h:
56162
561632009-01-10  Eric Carlson  <eric.carlson@apple.com>
56164
56165        Reviewed by Eric Seidel.
56166
56167        https://bugs.webkit.org/show_bug.cgi?id=23210
56168        Make it easier for ports to define custom UI for media controls
56169
56170        * css/CSSStyleSelector.cpp:
56171        (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to
56172        get the media controller style sheet
56173
56174        * rendering/MediaControlElements.cpp:
56175        (WebCore::MediaControlInputElement::hitTest): Added
56176        * rendering/MediaControlElements.h: Updated
56177
56178        * rendering/RenderMedia.cpp:
56179        (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function
56180        so control elements don't necessarily have to be rectangular
56181
56182        * rendering/RenderTheme.cpp:
56183        (WebCore::RenderTheme::styleSheetForMediaControls):  Added
56184        (WebCore::RenderTheme::hitTestMediaControlPart):  Added
56185        * rendering/RenderTheme.h: Updated
56186
561872009-01-10  Simon Fraser  <simon.fraser@apple.com>
56188
56189        Reviewed by Dan Bernstein
56190
56191        https://bugs.webkit.org/show_bug.cgi?id=23222
56192
56193        We need to disable LayoutState when an object has transforms,
56194        because LayoutState is not transform-aware and therefore
56195        repaint rects can be computed incorrectly.
56196
56197        Test: fast/repaint/transform-disable-layoutstate.html
56198
56199        * rendering/RenderBlock.cpp:
56200        (WebCore::RenderBlock::layoutBlock):
56201        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
56202        * rendering/RenderFlexibleBox.cpp:
56203        (WebCore::RenderFlexibleBox::layoutBlock):
56204
562052009-01-09  Holger Hans Peter Freyther  <zecke@selfish.org>
56206
56207        Reviewed by Simon Hausmann.
56208
56209        [QT] Make SharedTimer use QBasicTimer
56210
56211        Kill the SharedTimerQt.h and the usage of signal and slots
56212        by using QBasicTimer.
56213
56214        * WebCore.pro:
56215        * platform/qt/SharedTimerQt.cpp:
56216        (WebCore::SharedTimerQt::SharedTimerQt):
56217        (WebCore::SharedTimerQt::inst):
56218        (WebCore::SharedTimerQt::start):
56219        (WebCore::SharedTimerQt::stop):
56220        (WebCore::SharedTimerQt::timerEvent):
56221        (WebCore::setSharedTimerFiredFunction):
56222        (WebCore::setSharedTimerFireTime):
56223        (WebCore::stopSharedTimer):
56224        * platform/qt/SharedTimerQt.h: Removed.
56225
562262009-01-09  Adam Bergkvist <adam.bergkvist@ericsson.com>
56227
56228        Reviewed by Holger Freyther.
56229
56230        [CURL] POST without body becomes GET
56231        https://bugs.webkit.org/show_bug.cgi?id=23182
56232
56233        Make sure that method is always set to POST even when the body is
56234        empty. Cleaned up httpBody null check.
56235
56236        * platform/network/curl/ResourceHandleManager.cpp:
56237        (WebCore::ResourceHandleManager::setupPOST):
56238
562392009-01-09  Adam Treat  <adam.treat@torchmobile.com>
56240
56241        Build fix.
56242
56243        * plugins/PluginView.cpp:
56244
562452009-01-09  Adele Peterson  <adele@apple.com>
56246
56247        Reviewed by Darin Adler.
56248
56249        Fix infinite recursion in clientPaddingLeft and clientPaddingRight.  This changes the code back to
56250        how it was before RenderTextControlSingleLine was split out from RenderTextControl.
56251
56252        No test added since this code is only exercised when trying to place a search field's recent searches popup menu.
56253
56254        * rendering/RenderTextControlSingleLine.cpp:
56255        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
56256        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
56257
562582009-01-09  Darin Adler  <darin@apple.com>
56259
56260        Reviewed by Jon Honeycutt.
56261
56262        Bug 22913: REGRESSION: Space bar doesn't scroll on windows
56263        https://bugs.webkit.org/show_bug.cgi?id=22913
56264        rdar://problem/6479834
56265
56266        * page/EventHandler.cpp:
56267        (WebCore::EventHandler::defaultKeyboardEventHandler): Added code to call
56268        defaultSpaceEventHandler.
56269        (WebCore::EventHandler::defaultSpaceEventHandler): Added. Scrolls down or up based
56270        on the shift key.
56271        * page/EventHandler.h: Added defaultSpaceEventHandler.
56272
56273        * platform/mac/ScrollViewMac.mm:
56274        (WebCore::ScrollView::platformScroll): Return false, because this function does
56275        not scroll. In an earlier version of this patch, I used this to prevent the
56276        patch from affecting the Mac, but I decided to use #if instead.
56277
562782009-01-09  Gavin Barraclough  <barraclough@apple.com>
56279
56280        Reviewed by Oliver Hunt.
56281
56282        Delete references to JSValue, removing this class.
56283
56284        * bindings/js/JSWorkerContextCustom.cpp:
56285        (WebCore::JSWorkerContext::self):
56286        * bindings/js/ScriptCallStack.h:
56287
562882009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>
56289
56290        Reviewed by Eric Seidel.
56291
56292        Add svg/graphics/skia files.
56293        https://bugs.webkit.org/show_bug.cgi?id=23147
56294
56295        * svg/graphics/skia/RenderPathSkia.cpp: Added.
56296        (WebCore::RenderPath::strokeContains):
56297        * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Added.
56298        (WebCore::SVGPaintServerPattern::setup):
56299        * svg/graphics/skia/SVGPaintServerSkia.cpp: Added.
56300        (WebCore::SVGPaintServer::draw):
56301        (WebCore::SVGPaintServer::teardown):
56302        (WebCore::SVGPaintServer::renderPath):
56303        * svg/graphics/skia/SVGResourceFilterSkia.cpp: Added.
56304        (WebCore::SVGResourceFilter::createPlatformData):
56305        (WebCore::SVGResourceFilter::prepareFilter):
56306        (WebCore::SVGResourceFilter::applyFilter):
56307        * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Added.
56308        (WebCore::SVGResourceMasker::applyMask):
56309
563102009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>
56311
56312        Reviewed by Eric Seidel.
56313
56314        Add SkiaFontWin to platform/graphics/chromium
56315        https://bugs.webkit.org/show_bug.cgi?id=23215
56316
56317        * platform/graphics/skia/SkiaFontWin.cpp: Added.
56318        (WebCore::CachedOutlineKey::CachedOutlineKey):
56319        (WebCore::operator==):
56320        (WebCore::CachedOutlineKeyHash::hash):
56321        (WebCore::CachedOutlineKeyHash::equal):
56322        (WebCore::FIXEDToSkScalar):
56323        (WebCore::deleteOutline):
56324        (WebCore::addPolyCurveToPath):
56325        (WebCore::getPathForGlyph):
56326        (WebCore::SkiaWinOutlineCache::lookupOrCreatePathForGlyph):
56327        (WebCore::SkiaWinOutlineCache::removePathsForFont):
56328        * platform/graphics/skia/SkiaFontWin.h: Added.
56329
563302009-01-09  Anders Carlsson  <andersca@apple.com>
56331
56332        Fix build.
56333
56334        * WebCore.LP64.exp:
56335
563362009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>
56337
56338        Reviewed by Eric Seidel.
56339
56340        Add PlatformContextSkia and PlatformGraphics.h to platform/graphics/skia
56341        https://bugs.webkit.org/show_bug.cgi?id=23215
56342
56343        * platform/graphics/skia/PlatformContextSkia.cpp: Added.
56344        (PlatformContextSkia::State::State):
56345        (PlatformContextSkia::State::~State):
56346        (PlatformContextSkia::State::applyAlpha):
56347        (PlatformContextSkia::PlatformContextSkia):
56348        (PlatformContextSkia::~PlatformContextSkia):
56349        (PlatformContextSkia::setCanvas):
56350        (PlatformContextSkia::save):
56351        (PlatformContextSkia::restore):
56352        (PlatformContextSkia::drawRect):
56353        (PlatformContextSkia::setupPaintCommon):
56354        (PlatformContextSkia::setupPaintForFilling):
56355        (PlatformContextSkia::setupPaintForStroking):
56356        (PlatformContextSkia::setDrawLooper):
56357        (PlatformContextSkia::setMiterLimit):
56358        (PlatformContextSkia::setAlpha):
56359        (PlatformContextSkia::setLineCap):
56360        (PlatformContextSkia::setLineJoin):
56361        (PlatformContextSkia::setPorterDuffMode):
56362        (PlatformContextSkia::setFillColor):
56363        (PlatformContextSkia::getDrawLooper):
56364        (PlatformContextSkia::getStrokeStyle):
56365        (PlatformContextSkia::setStrokeStyle):
56366        (PlatformContextSkia::setStrokeColor):
56367        (PlatformContextSkia::getStrokeThickness):
56368        (PlatformContextSkia::setStrokeThickness):
56369        (PlatformContextSkia::getTextDrawingMode):
56370        (PlatformContextSkia::setTextDrawingMode):
56371        (PlatformContextSkia::setUseAntialiasing):
56372        (PlatformContextSkia::fillColor):
56373        (PlatformContextSkia::beginPath):
56374        (PlatformContextSkia::addPath):
56375        (PlatformContextSkia::setFillRule):
56376        (PlatformContextSkia::setGradient):
56377        (PlatformContextSkia::setPattern):
56378        (PlatformContextSkia::setDashPathEffect):
56379        (PlatformContextSkia::paintSkPaint):
56380        (PlatformContextSkia::bitmap):
56381        (PlatformContextSkia::isPrinting):
56382        * platform/graphics/skia/PlatformContextSkia.h: Added.
56383        (PlatformContextSkia::currentPath):
56384        (PlatformContextSkia::canvas):
56385        (PlatformContextSkia::gdk_skia):
56386        * platform/graphics/skia/PlatformGraphics.h: Added.
56387
563882009-01-09  Dimitri Glazkov  <dglazkov@chromium.org>
56389
56390        Reviewed by Eric Seidel.
56391
56392        Add TransformationMatrixSkia to platform/graphics/skia
56393        https://bugs.webkit.org/show_bug.cgi?id=23215
56394
56395        * platform/graphics/skia/TransformationMatrixSkia.cpp: Added.
56396        (WebCore::TransformationMatrix::TransformationMatrix):
56397        (WebCore::TransformationMatrix::setMatrix):
56398        (WebCore::TransformationMatrix::map):
56399        (WebCore::TransformationMatrix::mapRect):
56400        (WebCore::TransformationMatrix::isIdentity):
56401        (WebCore::TransformationMatrix::reset):
56402        (WebCore::TransformationMatrix::scale):
56403        (WebCore::TransformationMatrix::rotate):
56404        (WebCore::TransformationMatrix::translate):
56405        (WebCore::TransformationMatrix::shear):
56406        (WebCore::TransformationMatrix::det):
56407        (WebCore::TransformationMatrix::inverse):
56408        (WebCore::TransformationMatrix::operator SkMatrix):
56409        (WebCore::TransformationMatrix::operator==):
56410        (WebCore::TransformationMatrix::operator*=):
56411        (WebCore::TransformationMatrix::operator*):
56412        (WebCore::TransformationMatrix::a):
56413        (WebCore::TransformationMatrix::setA):
56414        (WebCore::TransformationMatrix::b):
56415        (WebCore::TransformationMatrix::setB):
56416        (WebCore::TransformationMatrix::c):
56417        (WebCore::TransformationMatrix::setC):
56418        (WebCore::TransformationMatrix::d):
56419        (WebCore::TransformationMatrix::setD):
56420        (WebCore::TransformationMatrix::e):
56421        (WebCore::TransformationMatrix::setE):
56422        (WebCore::TransformationMatrix::f):
56423        (WebCore::TransformationMatrix::setF):
56424
564252009-01-09  Alexey Proskuryakov  <ap@webkit.org>
56426
56427        Reviewed by Darin Adler.
56428
56429        <rdar://problem/6477502> Repro crash reloading page using HTML5 AppCache on Windows
56430
56431        Test: http/tests/appcache/reload.html
56432
56433        On Windows, reloading resulted in the following sequence of events:
56434        1) A new main resource loader was created and associated with the cache. Its document loader
56435        was not associated with the cache yet.
56436        2) The old document loader was destroyed, and since it was the last one, ApplicationCacheGroup
56437        teardown started, with newestCache being zeroed out.
56438        3) The new document loader was associated with the cache group, and cache update started.
56439        4) Since newestCache was null, this caused many problems.
56440
56441        * loader/appcache/ApplicationCacheGroup.cpp:
56442        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Improve comments and assertions,
56443        no functional changes.
56444        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the cache group
56445        if its newest cache pointer is already saved for teardown. Note that the cache pointer
56446        validity is ensured by MainResourceLoader that holds a reference to it.
56447
564482009-01-09  Darin Fisher  <darin@chromium.org>
56449
56450        Reviewed by Eric Seidel.
56451
56452        https://bugs.webkit.org/show_bug.cgi?id=23214
56453        Upstream platform/network/chromium/
56454
56455        * platform/network/chromium/AuthenticationChallenge.h: Added.
56456        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
56457        (WebCore::AuthenticationChallenge::sourceHandle):
56458        * platform/network/chromium/AuthenticationChallengeChromium.cpp: Added.
56459        (WebCore::AuthenticationChallenge::platformCompare):
56460        * platform/network/chromium/CookieJarChromium.cpp: Added.
56461        (WebCore::setCookies):
56462        (WebCore::cookies):
56463        (WebCore::cookiesEnabled):
56464        * platform/network/chromium/DNSChromium.cpp: Added.
56465        (WebCore::prefetchDNS):
56466        * platform/network/chromium/NetworkStateNotifierChromium.cpp: Added.
56467        (WebCore::NetworkStateNotifier::updateState):
56468        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
56469        * platform/network/chromium/NetworkStateNotifierPrivate.h: Added.
56470        * platform/network/chromium/ResourceError.h: Added.
56471        (WebCore::ResourceError::ResourceError):
56472        * platform/network/chromium/ResourceRequest.h: Added.
56473        (WebCore::ResourceRequest::):
56474        (WebCore::ResourceRequest::ResourceRequest):
56475        (WebCore::ResourceRequest::frame):
56476        (WebCore::ResourceRequest::setFrame):
56477        (WebCore::ResourceRequest::setTargetType):
56478        (WebCore::ResourceRequest::targetType):
56479        (WebCore::ResourceRequest::originPid):
56480        (WebCore::ResourceRequest::setOriginPid):
56481        (WebCore::ResourceRequest::securityInfo):
56482        (WebCore::ResourceRequest::setSecurityInfo):
56483        (WebCore::ResourceRequest::doUpdatePlatformRequest):
56484        (WebCore::ResourceRequest::doUpdateResourceRequest):
56485        * platform/network/chromium/ResourceResponse.h:
56486        (WebCore::ResourceResponse::ResourceResponse):
56487        (WebCore::ResourceResponse::getSecurityInfo):
56488        (WebCore::ResourceResponse::setSecurityInfo):
56489        (WebCore::ResourceResponse::isContentFiltered):
56490        (WebCore::ResourceResponse::setIsContentFiltered):
56491        (WebCore::ResourceResponse::doUpdateResourceResponse):
56492
564932009-01-09  Peter Kasting  <pkasting@google.com>
56494
56495        Reviewed by David Hyatt.
56496
56497        https://bugs.webkit.org/show_bug.cgi?id=22995
56498        Fix flaky image animation by resetting the metadata for a frame when
56499        we get new data for that frame.  This fixes animations that halted
56500        when the next frame of the animation wasn't complete by the time the
56501        current frame's duration expired.
56502
56503        * platform/graphics/BitmapImage.cpp:
56504        (WebCore::BitmapImage::destroyDecodedData):
56505        (WebCore::BitmapImage::dataChanged):
56506        * platform/graphics/BitmapImage.h:
56507        (WebCore::FrameData::~FrameData):
56508        * platform/graphics/cairo/ImageCairo.cpp:
56509        (WebCore::FrameData::clear):
56510        * platform/graphics/cg/ImageCG.cpp:
56511        (WebCore::FrameData::clear):
56512        * platform/graphics/qt/ImageQt.cpp:
56513        (WebCore::FrameData::clear):
56514        * platform/graphics/wx/ImageWx.cpp:
56515        (WebCore::FrameData::clear):
56516
565172009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
56518
56519        Rubber-stamped by Tor Arne Vestbø.
56520
56521        Swap the .h and the .cpp output in the Qt build for the
56522        UserAgentStyleSheetData files, to put the definition in the .cpp file
56523        and the declaration in the header file.
56524
56525        * WebCore.pro:
56526
565272009-01-09  David Levin  <levin@chromium.org>
56528
56529        Reviewed by Oliver Hunt.
56530
56531        https://bugs.webkit.org/show_bug.cgi?id=23175
56532
56533        Added forwarding header.
56534
56535        * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
56536
565372009-01-09  Tor Arne Vestbø  <tavestbo@trolltech.com>
56538
56539        Reviewed by Simon Hausmann.
56540
56541        Prevent qmake from generating duplicate rules for embedded stylesheets
56542
56543        The STYLESHEETS_EMBED variable used to contain only one file name, but
56544        now that it is a list of files we need to change it to be a dependency
56545        for the stylesheet generator instead of the input.
56546
56547        * WebCore.pro:
56548
565492009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
56550
56551        Reviewed by Tor Arne Vestbø.
56552
56553        Fix qmake warning about missing test function, a contains() call was
56554        missing.
56555
56556        * WebCore.pro:
56557
565582009-01-09  Simon Hausmann  <simon.hausmann@nokia.com>
56559
56560        Rubber-stamped by Tor Arne Vestbø.
56561
56562        Add the Qt API headers to HEADERS, too, for improved completion in IDEs.
56563
56564        * WebCore.pro:
56565
565662009-01-09  David Levin  <levin@chromium.org>
56567
56568        Reviewed by Alexey Proskuryakov.
56569
56570        https://bugs.webkit.org/show_bug.cgi?id=23199
56571
56572        Fix deref's of string happening on two different threads.
56573
56574        No observable change in behavior, so no test.  However, there are asserts
56575        being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which
56576        will detect this issue while running the normal worker tests.
56577
56578        * dom/WorkerThread.cpp:
56579        (WebCore::WorkerThreadStartupData::create):
56580        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
56581        (WebCore::WorkerThread::WorkerThread):
56582        (WebCore::WorkerThread::workerThread):
56583        * dom/WorkerThread.h:
56584
565852009-01-08  Dan Bernstein  <mitz@apple.com>
56586
56587        Reviewed by Adam Roben.
56588
56589        - use native glyph support in Core Graphics when available
56590
56591        * platform/graphics/win/FontCGWin.cpp:
56592        (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if
56593        native glyph support is not available or stroking is required. Changed
56594        to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to
56595        request the use of native glyphs.
56596        * platform/graphics/win/FontCustomPlatformData.cpp:
56597        (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to
56598        wkSetFontPlatformInfo to attach the LOGFONT to the CGFont.
56599        * platform/graphics/win/FontPlatformDataCGWin.cpp:
56600        (WebCore::FontPlatformData::platformDataInit): Ditto.
56601
566022009-01-08  Peter Kasting  <pkasting@google.com>
56603
56604        Reviewed by Sam Weinig.
56605
56606        https://bugs.webkit.org/show_bug.cgi?id=22929
56607        Fix memory regression when decoding large animated GIFs.
56608
56609        * platform/graphics/cg/ImageSourceCG.cpp:
56610        (WebCore::ImageSource::clear):
56611
566122009-01-08  Scott Violet  <sky@chromium.org>
56613
56614        Reviewed by Eric Seidel (and Adam Barth).
56615
56616        Fix Images to return their file extension
56617        http://code.google.com/p/chromium/issues/detail?id=5827
56618
56619        * platform/graphics/skia/ImageSourceSkia.cpp:
56620        (WebCore::ImageSource::filenameExtension):
56621
566222009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56623
56624        Reviewed by Eric Seidel.
56625
56626        Add PathSkia and PatternSkia implementations to WebCore
56627        https://bugs.webkit.org/show_bug.cgi?id=23200
56628
56629        * platform/graphics/skia/PathSkia.cpp: Added.
56630        (WebCore::Path::Path):
56631        (WebCore::Path::~Path):
56632        (WebCore::Path::operator=):
56633        (WebCore::Path::isEmpty):
56634        (WebCore::Path::contains):
56635        (WebCore::Path::translate):
56636        (WebCore::Path::boundingRect):
56637        (WebCore::Path::moveTo):
56638        (WebCore::Path::addLineTo):
56639        (WebCore::Path::addQuadCurveTo):
56640        (WebCore::Path::addBezierCurveTo):
56641        (WebCore::Path::addArcTo):
56642        (WebCore::Path::closeSubpath):
56643        (WebCore::Path::addArc):
56644        (WebCore::Path::addRect):
56645        (WebCore::Path::addEllipse):
56646        (WebCore::Path::clear):
56647        (WebCore::convertPathPoints):
56648        (WebCore::Path::apply):
56649        (WebCore::Path::transform):
56650        (WebCore::Path::debugString):
56651        (WebCore::boundingBoxForCurrentStroke):
56652        (WebCore::Path::strokeBoundingRect):
56653        * platform/graphics/skia/PatternSkia.cpp: Added.
56654        (WebCore::shaderRule):
56655        (WebCore::Pattern::createPlatformPattern):
56656
566572009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56658
56659        Reviewed by Eric Seidel.
56660
56661        Add ImageSourceSkia to platform/graphics/skia
56662        https://bugs.webkit.org/show_bug.cgi?id=23200
56663
56664        ImageSourceSkia is mostly a hack to support our
56665        ICO decoder model.  See ImageSourceSkia.h for more
56666        explanation.  Eventually we'd like to make our ICO
56667        decoder lazy.
56668
56669        * platform/graphics/ImageSource.h: mark m_decoder as protected
56670        * platform/graphics/skia/ImageSourceSkia.cpp: Added.
56671        (WebCore::createDecoder):
56672        (WebCore::ImageSource::ImageSource):
56673        (WebCore::ImageSource::~ImageSource):
56674        (WebCore::ImageSource::clear):
56675        (WebCore::ImageSource::initialized):
56676        (WebCore::ImageSource::setData):
56677        (WebCore::ImageSource::isSizeAvailable):
56678        (WebCore::ImageSource::size):
56679        (WebCore::ImageSource::frameSizeAtIndex):
56680        (WebCore::ImageSource::repetitionCount):
56681        (WebCore::ImageSource::frameCount):
56682        (WebCore::ImageSource::createFrameAtIndex):
56683        (WebCore::ImageSource::frameIsCompleteAtIndex):
56684        (WebCore::ImageSource::frameDurationAtIndex):
56685        (WebCore::ImageSource::frameHasAlphaAtIndex):
56686        (WebCore::ImageSourceSkia::setData):
56687        (WebCore::ImageSource::filenameExtension):
56688        * platform/graphics/skia/ImageSourceSkia.h: Added.
56689
566902009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56691
56692        Reviewed by Eric Seidel.
56693
56694        Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia
56695        https://bugs.webkit.org/show_bug.cgi?id=23200
56696
56697        * platform/graphics/skia/NativeImageSkia.cpp: Added.
56698        (NativeImageSkia::NativeImageSkia):
56699        (NativeImageSkia::decodedSize):
56700        (NativeImageSkia::hasResizedBitmap):
56701        (NativeImageSkia::resizedBitmap):
56702        (NativeImageSkia::shouldCacheResampling):
56703        * platform/graphics/skia/NativeImageSkia.h: Added.
56704        (NativeImageSkia::setDataComplete):
56705        (NativeImageSkia::isDataComplete):
56706
567072009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56708
56709        Reviewed by Eric Seidel.
56710
56711        Add ImageBufferSkia and ImageSkia files.
56712        https://bugs.webkit.org/show_bug.cgi?id=23200
56713        For now we've left BitmapImage and BitmapImageSingleFrameSkia
56714        implementations in the ImageSkia file (like ImageCG has), but
56715        we intend to break them out into their own files.
56716
56717        * platform/graphics/skia/ImageBufferSkia.cpp: Added.
56718        (WebCore::ImageBufferData::ImageBufferData):
56719        (WebCore::ImageBuffer::ImageBuffer):
56720        (WebCore::ImageBuffer::~ImageBuffer):
56721        (WebCore::ImageBuffer::context):
56722        (WebCore::ImageBuffer::image):
56723        (WebCore::ImageBuffer::getImageData):
56724        (WebCore::ImageBuffer::putImageData):
56725        (WebCore::ImageBuffer::toDataURL):
56726        * platform/graphics/skia/ImageSkia.cpp: Added.
56727        (WebCore::):
56728        (WebCore::FrameData::clear):
56729        (WebCore::Image::loadPlatformResource):
56730        (WebCore::Image::drawPattern):
56731        (WebCore::BitmapImage::initPlatformData):
56732        (WebCore::BitmapImage::invalidatePlatformData):
56733        (WebCore::BitmapImage::checkForSolidColor):
56734        (WebCore::BitmapImage::draw):
56735        (WebCore::BitmapImageSingleFrameSkia::draw):
56736        (WebCore::BitmapImageSingleFrameSkia::create):
56737
567382009-01-08  James Robinson  <jamesr@google.com>
56739
56740        Reviewed by Mark Rowe.
56741        Landed by Pamela Greene.
56742
56743        WebCore::Event::timeStamp() is a simple accessor and should be const
56744
56745        https://bugs.webkit.org/show_bug.cgi?id=23176
56746
56747        * dom/Event.h:
56748        (WebCore::Event::timeStamp):
56749
567502009-01-08  Antti Koivisto  <antti@apple.com>
56751
56752        Reviewed by Oliver Hunt.
56753
56754        Fix <rdar://problem/6467206>
56755        Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994)
56756
56757        Use CachedResourceHandle in document resource map so resources get updated correctly when using
56758        using cache validation conditionals.
56759
56760        * loader/Cache.cpp:
56761        (WebCore::Cache::evict):
56762        * loader/DocLoader.cpp:
56763        (WebCore::DocLoader::~DocLoader):
56764        (WebCore::DocLoader::requestResource):
56765        (WebCore::DocLoader::setAutoLoadImages):
56766        (WebCore::DocLoader::removeCachedResource):
56767        * loader/DocLoader.h:
56768        (WebCore::DocLoader::cachedResource):
56769        (WebCore::DocLoader::allCachedResources):
56770        * loader/DocumentLoader.cpp:
56771        (WebCore::DocumentLoader::getSubresources):
56772        * loader/ImageLoader.cpp:
56773        (WebCore::ImageLoader::updateFromElement):
56774
567752009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56776
56777        Reviewed by Eric Seidel.
56778
56779        Add a cleaned-up GraphicsContextSkia implementation to WebKit.
56780        https://bugs.webkit.org/show_bug.cgi?id=23191
56781
56782        * platform/graphics/skia/GraphicsContextSkia.cpp: Added.
56783        (WebCore::):
56784        (WebCore::GraphicsContext::GraphicsContext):
56785        (WebCore::GraphicsContext::~GraphicsContext):
56786        (WebCore::GraphicsContext::platformContext):
56787        (WebCore::GraphicsContext::savePlatformState):
56788        (WebCore::GraphicsContext::restorePlatformState):
56789        (WebCore::GraphicsContext::beginTransparencyLayer):
56790        (WebCore::GraphicsContext::endTransparencyLayer):
56791        (WebCore::GraphicsContext::addInnerRoundedRectClip):
56792        (WebCore::GraphicsContext::addPath):
56793        (WebCore::GraphicsContext::beginPath):
56794        (WebCore::GraphicsContext::clearPlatformShadow):
56795        (WebCore::GraphicsContext::clearRect):
56796        (WebCore::GraphicsContext::clip):
56797        (WebCore::GraphicsContext::clipOut):
56798        (WebCore::GraphicsContext::clipOutEllipseInRect):
56799        (WebCore::GraphicsContext::clipPath):
56800        (WebCore::GraphicsContext::clipToImageBuffer):
56801        (WebCore::GraphicsContext::concatCTM):
56802        (WebCore::GraphicsContext::drawConvexPolygon):
56803        (WebCore::GraphicsContext::drawEllipse):
56804        (WebCore::GraphicsContext::drawFocusRing):
56805        (WebCore::GraphicsContext::drawLine):
56806        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
56807        (WebCore::GraphicsContext::drawLineForText):
56808        (WebCore::GraphicsContext::drawRect):
56809        (WebCore::GraphicsContext::fillPath):
56810        (WebCore::GraphicsContext::fillRect):
56811        (WebCore::GraphicsContext::fillRoundedRect):
56812        (WebCore::GraphicsContext::getCTM):
56813        (WebCore::GraphicsContext::roundToDevicePixels):
56814        (WebCore::GraphicsContext::scale):
56815        (WebCore::GraphicsContext::setAlpha):
56816        (WebCore::GraphicsContext::setCompositeOperation):
56817        (WebCore::GraphicsContext::setImageInterpolationQuality):
56818        (WebCore::GraphicsContext::setLineCap):
56819        (WebCore::GraphicsContext::setLineDash):
56820        (WebCore::GraphicsContext::setLineJoin):
56821        (WebCore::GraphicsContext::setMiterLimit):
56822        (WebCore::GraphicsContext::setPlatformFillColor):
56823        (WebCore::GraphicsContext::setPlatformShadow):
56824        (WebCore::GraphicsContext::setPlatformStrokeColor):
56825        (WebCore::GraphicsContext::setPlatformStrokeStyle):
56826        (WebCore::GraphicsContext::setPlatformStrokeThickness):
56827        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
56828        (WebCore::GraphicsContext::setURLForRect):
56829        (WebCore::GraphicsContext::setUseAntialiasing):
56830        (WebCore::GraphicsContext::strokeArc):
56831        (WebCore::GraphicsContext::strokePath):
56832        (WebCore::GraphicsContext::strokeRect):
56833        (WebCore::GraphicsContext::rotate):
56834        (WebCore::GraphicsContext::translate):
56835
568362009-01-08  David Hyatt  <hyatt@apple.com>
56837
56838        Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll.
56839
56840        Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for
56841        any scrollable views that may contain a WebView.  Does nothing on platforms other than the Mac, but
56842        might eventually be of interest to other platforms.
56843
56844        Reviewed by Oliver Hunt
56845
56846        * WebCore.base.exp:
56847        * page/Chrome.cpp:
56848        (WebCore::Chrome::scrollRectIntoView):
56849        * page/Chrome.h:
56850        * page/ChromeClient.h:
56851        (WebCore::ChromeClient::scrollRectIntoView):
56852        * platform/HostWindow.h:
56853        * platform/ScrollView.cpp:
56854        (WebCore::ScrollView::scrollRectIntoViewRecursively):
56855
568562009-01-08  Adam Treat  <adam.treat@torchmobile.com>
56857
56858        Reviewed by David Hyatt.
56859
56860        No need to make this part of HostWindow and moreover HostWindow should
56861        not have any reference to non-platform parts of WebCore.
56862
56863        * page/Chrome.h:
56864        * page/FrameView.cpp:
56865        (WebCore::FrameView::setContentsSize):
56866        * platform/HostWindow.h:
56867
568682009-01-08  Eric Carlson  <eric.carlson@apple.com>
56869
56870        Reviewed by Adele Peterson.
56871
56872        Simplify Mac interfaces for drawing media controller elements
56873
56874        <rdar://problem/6293969>
56875
56876        * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions
56877
56878        * platform/mac/WebCoreSystemInterface.h: Ditto
56879        * platform/mac/WebCoreSystemInterface.mm: Ditto
56880
56881        * rendering/MediaControlElements.h:
56882        (WebCore::): Add MediaControlElements enum
56883
56884        * rendering/RenderThemeMac.mm:
56885        (WebCore::RenderThemeMac::paintMediaFullscreenButton):  update for changed WebKitSystemInterface
56886        media controller functions
56887        (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
56888        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
56889        (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
56890        (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
56891        (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
56892        (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
56893
568942009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56895
56896        Reviewed by Eric Seidel.
56897
56898        Add two more files for platform/graphics/skia.
56899        https://bugs.webkit.org/show_bug.cgi?id=23191
56900
56901        * platform/graphics/skia/GradientSkia.cpp: Added.
56902        (WebCore::Gradient::platformDestroy):
56903        (WebCore::F2B):
56904        (WebCore::makeSkColor):
56905        (WebCore::totalStopsNeeded):
56906        (WebCore::fillStops):
56907        (WebCore::compareStops):
56908        (WebCore::Gradient::platformGradient):
56909        (WebCore::Gradient::fill):
56910        * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h.
56911        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
56912        (WebCore::GraphicsContextPlatformPrivate::context):
56913
569142009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56915
56916        Reviewed by Eric Seidel.
56917
56918        Commit the right files this time!  (Instead of the ugly unfixed ones.)
56919        https://bugs.webkit.org/show_bug.cgi?id=23191
56920
56921        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
56922        * platform/graphics/skia/FloatPointSkia.cpp:
56923        * platform/graphics/skia/FloatRectSkia.cpp:
56924        * platform/graphics/skia/IntPointSkia.cpp:
56925        * platform/graphics/skia/IntRectSkia.cpp:
56926        (WebCore::IntRect::operator SkRect):
56927        * platform/graphics/skia/SkiaUtils.cpp:
56928        (WebCore::):
56929        (WebCore::WebCoreCompositeToSkiaComposite):
56930        (WebCore::SkPMColorToWebCoreColor):
56931        (WebCore::IntersectRectAndRegion):
56932        (WebCore::ClipRectToCanvas):
56933        (WebCore::SkPathContainsPoint):
56934        (WebCore::scratchContext):
56935        * platform/graphics/skia/SkiaUtils.h:
56936        (WebCore::WebCoreFloatToSkScalar):
56937        (WebCore::WebCoreDoubleToSkScalar):
56938
569392009-01-08  Dimitri Glazkov  <dglazkov@chromium.org>
56940
56941        Reviewed by Eric Seidel.
56942
56943        Add the first few files from platform/graphics/skia
56944        https://bugs.webkit.org/show_bug.cgi?id=23191
56945
56946        These are all pretty simple.
56947        Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header.
56948        SkiaUtils needs to die, but that can come later, no need to block up-streaming now.
56949
56950        * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added.
56951        (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
56952        (WebCore::BitmapImageSingleFrameSkia::size):
56953        (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
56954        (WebCore::BitmapImageSingleFrameSkia::decodedSize):
56955        (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
56956        (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
56957        * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm.
56958        (WebCore::FloatPoint::FloatPoint):
56959        (WebCore::FloatPoint::operator SkPoint):
56960        * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
56961        (WebCore::FloatRect::FloatRect):
56962        (WebCore::FloatRect::operator SkRect):
56963        * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp.
56964        (WebCore::IntPoint::IntPoint):
56965        (WebCore::IntPoint::operator SkIPoint):
56966        (WebCore::IntPoint::operator SkPoint):
56967        * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
56968        (WebCore::IntRect::operator SkIRect):
56969        (WebCore::IntRect::operator SkRect):
56970        (WebCore::IntRect::IntRect):
56971        * platform/graphics/skia/SkiaUtils.cpp: Added.
56972        (WebCore::WebCorePointToSkiaPoint):
56973        (WebCore::WebCoreRectToSkiaRect):
56974        (WebCore::):
56975        (WebCore::WebCoreCompositeToSkiaComposite):
56976        (WebCore::InvScaleByte):
56977        (WebCore::SkPMColorToColor):
56978        (WebCore::SkPMColorToWebCoreColor):
56979        (WebCore::IntersectRectAndRegion):
56980        (WebCore::ClipRectToCanvas):
56981        (WebCore::SkPathContainsPoint):
56982        (WebCore::scratchContext):
56983        * platform/graphics/skia/SkiaUtils.h: Added.
56984        (WebCore::WebCoreFloatToSkScalar):
56985        (WebCore::WebCoreDoubleToSkScalar):
56986
569872009-01-08  Pierre-Olivier Latour  <pol@apple.com>
56988
56989        Reviewed by Dan Bernstein.
56990
56991        Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly.
56992
56993        Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations,
56994        instead of simply the "running" ones.
56995
56996        https://bugs.webkit.org/show_bug.cgi?id=23177
56997
56998        Tests: transitions/zero-duration-with-non-zero-delay-end.html
56999               transitions/zero-duration-with-non-zero-delay-start.html
57000
57001        * page/animation/AnimationBase.cpp:
57002        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
57003        * page/animation/AnimationController.cpp:
57004        (WebCore::AnimationControllerPrivate::animationTimerFired):
57005        * page/animation/CompositeAnimation.cpp:
57006        (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
57007
570082009-01-08  Alexey Proskuryakov  <ap@webkit.org>
57009
57010        Reviewed by Oliver Hunt.
57011
57012        <rdar://problem/6477501> Repro crash loading HTML5 AppCache manifest directly
57013
57014        The crash happened whenever a cached resource was downloaded, as opposed to used directly.
57015
57016        No test, as downloading cannot be tested automatically.
57017
57018        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
57019        Cancel downloads that do not have an associated ResourceHandle, such as downloads from the
57020        application cache. Activity window shows "The URL can't be shown", and the frame remains empty.
57021
570222009-01-08  Justin McPherson <justin.mcpherson@nokia.com>
57023
57024        Reviewed by Simon Hausmann.
57025
57026        Fix the Qt build on older X11 systems with special X paths.
57027
57028        * WebCore.pro: Use the x11 qmake config to pull in extra paths
57029        needed for NPAPI.
57030
570312009-01-08  Adam Roben  <aroben@apple.com>
57032
57033        Windows build fix after r39699
57034
57035        * DerivedSources.cpp: Added JSDOMStringList.cpp.
57036
570372009-01-08  Kent Hansen  <khansen@trolltech.com>
57038
57039        Reviewed by Simon Hausmann.
57040
57041        Fix copy & paste of images in the Qt port.
57042
57043        Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool.
57044
57045        * platform/qt/ClipboardQt.cpp:
57046        (WebCore::ClipboardQt::declareAndWriteDragImage):
57047
570482009-01-08  Hiroyuki Ikezoe  <poincare@ikezoe.net>
57049
57050        Reviewed by Holger Freyther.
57051
57052        https://bugs.webkit.org/show_bug.cgi?id=23127
57053
57054        Invoke pango_coverage_get with each Unicode character.
57055
57056        * platform/graphics/gtk/SimpleFontDataPango.cpp:
57057        (WebCore::SimpleFontData::containsCharacters):
57058
570592009-01-07  Alexey Proskuryakov  <ap@webkit.org>
57060
57061        Reviewed by Darin Adler.
57062
57063        Part one of
57064        https://bugs.webkit.org/show_bug.cgi?id=23165
57065        Add support for application cache dynamic entries
57066
57067        Test: http/tests/appcache/dynamic-entries-no-cache.html
57068
57069        * DerivedSources.make:
57070        * GNUmakefile.am:
57071        * WebCore.pro:
57072        * WebCore.scons:
57073        * WebCore.vcproj/WebCore.vcproj:
57074        * WebCore.xcodeproj/project.pbxproj:
57075        * WebCoreSources.bkl:
57076        Added new files.
57077
57078        * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem):
57079        Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom
57080        to resolve relative URLs correctly.
57081
57082        * bindings/js/JSDOMStringListCustom.cpp: Added.
57083        * dom/DOMStringList.cpp: Added.
57084        * dom/DOMStringList.h: Added.
57085        * dom/DOMStringList.idl: Added.
57086        Added an implementation of DOM 3 Core DOMStringList interface, which is returned by
57087        DOMApplicationCache items attribute.
57088
57089        * dom/StaticStringList.cpp: Added.
57090        * dom/StaticStringList.h: Added.
57091        An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this
57092        matches Firefox, as the spec doesn't say whether the returned list should be live or not).
57093
57094        * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be
57095        used in the near future.
57096
57097        * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length
57098        attribute and item(), we now have an items attribute that returns a DOMStringList, and a
57099        hasItem convenience method.
57100
57101        * loader/appcache/DOMApplicationCache.cpp:
57102        (WebCore::DOMApplicationCache::items):
57103        (WebCore::DOMApplicationCache::hasItem):
57104        * loader/appcache/DOMApplicationCache.h:
57105        Added implementations of items attribute and hasItem() (note that underlying ApplicationCache
57106        methods are still unimplemented though).
57107
57108        * page/DOMWindow.idl: Expose a DOMStringList global constructor.
57109
571102009-01-07  Chris Marrin  <cmarrin@apple.com>
57111
57112        Reviewed by Eric Seidel.
57113
57114        https://bugs.webkit.org/show_bug.cgi?id=23122
57115
57116        This completes the removal of dependencies on WebKit from the platform code
57117
57118        * css/CSSComputedStyleDeclaration.cpp:
57119        (WebCore::getDelayValue):
57120        (WebCore::getDurationValue):
57121        (WebCore::getTimingFunctionValue):
57122        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
57123        * css/CSSHelper.h:
57124        * css/CSSStyleSelector.cpp:
57125        (WebCore::CSSStyleSelector::mapAnimationDelay):
57126        (WebCore::CSSStyleSelector::mapAnimationDirection):
57127        (WebCore::CSSStyleSelector::mapAnimationDuration):
57128        (WebCore::CSSStyleSelector::mapAnimationIterationCount):
57129        (WebCore::CSSStyleSelector::mapAnimationName):
57130        (WebCore::CSSStyleSelector::mapAnimationPlayState):
57131        (WebCore::CSSStyleSelector::mapAnimationProperty):
57132        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
57133        * platform/animation/Animation.cpp:
57134        (WebCore::Animation::Animation):
57135        * platform/animation/Animation.h:
57136        (WebCore::Animation::initialAnimationDelay):
57137        (WebCore::Animation::initialAnimationDirection):
57138        (WebCore::Animation::initialAnimationDuration):
57139        (WebCore::Animation::initialAnimationIterationCount):
57140        (WebCore::Animation::initialAnimationName):
57141        (WebCore::Animation::initialAnimationPlayState):
57142        (WebCore::Animation::initialAnimationProperty):
57143        (WebCore::Animation::initialAnimationTimingFunction):
57144        * rendering/style/RenderStyle.h:
57145
571462008-01-07  Peter Kasting  <pkasting@google.com>
57147
57148        Reviewed by Sam Weinig.
57149
57150        https://bugs.webkit.org/show_bug.cgi?id=22929
57151
57152        Fix errors while decoding GIFs by not calling setData() repeatedly
57153        when it's not necessary.  Pushes the responsibility for calling
57154        setData() after clear() into the ImageSource which presumably knows
57155        better than BitmapImage what needs to be done.
57156
57157        NOTE: The above bug is mainly about a memory regression, which this
57158        patch does not fix.
57159
57160        * platform/graphics/BitmapImage.cpp:
57161        (WebCore::BitmapImage::destroyDecodedData):
57162        * platform/graphics/ImageSource.h:
57163        * platform/graphics/cairo/ImageSourceCairo.cpp:
57164        (WebCore::ImageSource::clear):
57165        * platform/graphics/cg/ImageSourceCG.cpp:
57166        (WebCore::ImageSource::clear):
57167        * platform/graphics/qt/ImageSourceQt.cpp:
57168        (WebCore::ImageSource::~ImageSource):
57169        (WebCore::ImageSource::clear):
57170        * platform/graphics/wx/ImageSourceWx.cpp:
57171        (WebCore::ImageSource::~ImageSource):
57172        (WebCore::ImageSource::clear):
57173
571742009-01-07  Justin Garcia  <justin.garcia@apple.com>
57175
57176        Reviewed by Darin Adler.
57177
57178        <rdar://problem/6355786> Find fails for queries that contain a line break
57179
57180        * editing/TextIterator.cpp:
57181        (WebCore::findPlainText): Allow find with queries that contain newlines.
57182
571832009-01-07  Dean Jackson  <dino@apple.com>
57184
57185        Reviewed by Dan Bernstein.
57186
57187        Allow removal of inline shorthand properties for
57188        animation, transition and transform origin. Also
57189        add getter for shorthand animation property.
57190
57191        https://bugs.webkit.org/show_bug.cgi?id=22605
57192
57193        Test: fast/css/transform-inline-style-remove.html
57194
57195        * css/CSSMutableStyleDeclaration.cpp:
57196        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
57197            Getter for animation property shorthand
57198        (WebCore::initShorthandMap):
57199            Adds initialisation for transform-origin, animation and transition
57200
572012009-01-07  Benjamin Otte  <otte@gnome.org>
57202
57203        Reviewed by Holger Freyther.
57204
57205        * platform/network/ResourceHandleInternal.h:
57206        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
57207        * platform/network/soup/ResourceHandleSoup.cpp:
57208        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
57209        (WebCore::parseDataUrl):
57210        (WebCore::ResourceHandle::startData): keep track of the idle handler
57211        we add and remove it in the destructor
57212
572132009-01-07  Dean Jackson  <dino@apple.com>
57214
57215        Reviewed by Darin Adler.
57216
57217        Finish renaming of AffineTransform to TransformationMatrix, this
57218        time ensuring that the platform implementations get the correct
57219        name. Also, clean up some whitespace cruft in old content.
57220
57221        https://bugs.webkit.org/show_bug.cgi?id=23151
57222
57223        * GNUmakefile.am:
57224        * WebCore.pro:
57225        * WebCore.scons:
57226        * WebCore.vcproj/WebCore.vcproj:
57227        * WebCore.xcodeproj/project.pbxproj:
57228        * platform/graphics/cairo/AffineTransformCairo.cpp: Removed.
57229        * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp.
57230        * platform/graphics/cg/AffineTransformCG.cpp: Removed.
57231        * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp.
57232        * platform/graphics/qt/AffineTransformQt.cpp: Removed.
57233        * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp.
57234        * platform/graphics/transforms/TransformationMatrix.cpp:
57235        * platform/graphics/transforms/TransformationMatrix.h:
57236        * platform/graphics/wx/AffineTransformWx.cpp: Removed.
57237        * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp.
57238        * webcore-wx.bkl:
57239
572402009-01-07  Anders Carlsson  <andersca@apple.com>
57241
57242        Another build fix.
57243
57244        * WebCore.LP64.exp:
57245
572462008-12-16  David Hyatt  <hyatt@apple.com>
57247
57248        Make Safari RSS behave nicely with full page zoom.  Need to add a new value to enable resetting of zoom
57249        back to the document-level default.
57250
57251        Reviewed by Darin Adler
57252
57253        * css/CSSParser.cpp:
57254        (WebCore::CSSParser::parseValue):
57255        * css/CSSStyleSelector.cpp:
57256        (WebCore::CSSStyleSelector::applyProperty):
57257        * css/CSSValueKeywords.in:
57258
572592009-01-07  Darin Adler  <darin@apple.com>
57260
57261        Reviewed by Oliver Hunt.
57262
57263        Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
57264        https://bugs.webkit.org/show_bug.cgi?id=23160
57265
57266        * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled.
57267
57268        * inspector/InspectorController.cpp:
57269        (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource
57270        so that there's no extra work the caller has to do when the inspector is disabled.
57271        * inspector/InspectorController.h: Ditto.
57272
57273        * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification,
57274        takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification.
57275
57276        * loader/FrameLoader.cpp:
57277        (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when
57278        there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled
57279        and if it's false, use recordMemoryCacheLoadForFutureClientNotification.
57280        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added.
57281        * loader/FrameLoader.h: Ditto.
57282
57283        * page/Page.cpp:
57284        (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior.
57285        (WebCore::Page::setMemoryCacheClientCallsEnabled): Added.
57286        * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled,
57287        and m_areMemoryCacheClientCallsEnabled.
57288
572892009-01-07  Ariya Hidayat  <ariya.hidayat@trolltech.com>
57290
57291        Rubber-stamped by Simon Hausmann.
57292
57293        Qt build fix after r39670.
57294
57295        * bridge/qt/qt_class.cpp:
57296        (JSC::Bindings::QtClass::fallbackObject):
57297        * bridge/qt/qt_class.h:
57298        * bridge/qt/qt_instance.cpp:
57299        (JSC::Bindings::QtInstance::mark):
57300        (JSC::Bindings::QtInstance::invokeMethod):
57301        (JSC::Bindings::QtInstance::defaultValue):
57302        (JSC::Bindings::QtInstance::stringValue):
57303        (JSC::Bindings::QtInstance::numberValue):
57304        (JSC::Bindings::QtInstance::booleanValue):
57305        (JSC::Bindings::QtInstance::valueOf):
57306        (JSC::Bindings::QtField::valueFromInstance):
57307        (JSC::Bindings::QtField::setValueToInstance):
57308        * bridge/qt/qt_instance.h:
57309        * bridge/qt/qt_runtime.cpp:
57310        (JSC::Bindings::valueRealType):
57311        (JSC::Bindings::convertValueToQVariant):
57312        (JSC::Bindings::convertQVariantToValue):
57313        (JSC::Bindings::findMethodIndex):
57314        (JSC::Bindings::QtRuntimeMetaMethod::call):
57315        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
57316        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
57317        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
57318        (JSC::Bindings::QtRuntimeConnectionMethod::call):
57319        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
57320        (JSC::Bindings::::setValueAt):
57321        (JSC::Bindings::::valueAt):
57322        * bridge/qt/qt_runtime.h:
57323        (JSC::Bindings::QtRuntimeMethod::createStructure):
57324
573252009-01-06  Justin Garcia  <justin.garcia@apple.com>
57326
57327        Reviewed by Oliver Hunt.
57328
57329        <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu
57330
57331        Can't create an automated test case for specific contextual menu items yet and
57332        a normal Copy doesn't cause a crash.
57333
57334        * platform/mac/PasteboardMac.mm:
57335        (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data.  It may,
57336        for example, have a purgeable or regular buffer.
57337
573382009-01-06  Mark Rowe  <mrowe@apple.com>
57339
57340        Reviewed by Geoff Garen.
57341
57342        Fix <https://bugs.webkit.org/show_bug.cgi?id=23157>.
57343        Bug 23157: Crashes on Acid 3
57344
57345        * dom/Document.cpp:
57346        (WebCore::Document::recalcStyle): Null-check the frame.
57347
573482009-01-05  Gavin Barraclough  <baraclough@apple.com>
57349
57350        Rubber Stamped by Oliver Hunt.
57351
57352        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
57353        See JavaScriptCore/ChangeLog for more detailed description.
57354
57355        * bindings/js/JSAttrCustom.cpp:
57356        (WebCore::JSAttr::setValue):
57357        * bindings/js/JSCSSRuleCustom.cpp:
57358        (WebCore::toJS):
57359        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
57360        (WebCore::JSCSSStyleDeclaration::nameGetter):
57361        (WebCore::JSCSSStyleDeclaration::customPut):
57362        * bindings/js/JSCSSValueCustom.cpp:
57363        (WebCore::toJS):
57364        * bindings/js/JSCanvasPixelArrayCustom.h:
57365        (WebCore::JSCanvasPixelArray::getByIndex):
57366        (WebCore::JSCanvasPixelArray::indexSetter):
57367        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
57368        (WebCore::toJS):
57369        (WebCore::toHTMLCanvasStyle):
57370        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
57371        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
57372        (WebCore::JSCanvasRenderingContext2D::fillStyle):
57373        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
57374        (WebCore::JSCanvasRenderingContext2D::setFillColor):
57375        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
57376        (WebCore::JSCanvasRenderingContext2D::strokeRect):
57377        (WebCore::JSCanvasRenderingContext2D::drawImage):
57378        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
57379        (WebCore::JSCanvasRenderingContext2D::setShadow):
57380        (WebCore::JSCanvasRenderingContext2D::createPattern):
57381        (WebCore::JSCanvasRenderingContext2D::putImageData):
57382        (WebCore::JSCanvasRenderingContext2D::fillText):
57383        (WebCore::JSCanvasRenderingContext2D::strokeText):
57384        * bindings/js/JSClipboardCustom.cpp:
57385        (WebCore::JSClipboard::types):
57386        (WebCore::JSClipboard::clearData):
57387        (WebCore::JSClipboard::getData):
57388        (WebCore::JSClipboard::setData):
57389        (WebCore::JSClipboard::setDragImage):
57390        * bindings/js/JSConsoleCustom.cpp:
57391        (WebCore::JSConsole::profiles):
57392        * bindings/js/JSCustomPositionCallback.cpp:
57393        (WebCore::JSCustomPositionCallback::handleEvent):
57394        * bindings/js/JSCustomPositionErrorCallback.cpp:
57395        (WebCore::JSCustomPositionErrorCallback::handleEvent):
57396        * bindings/js/JSCustomSQLStatementCallback.cpp:
57397        (WebCore::JSCustomSQLStatementCallback::handleEvent):
57398        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
57399        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
57400        * bindings/js/JSCustomSQLTransactionCallback.cpp:
57401        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
57402        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
57403        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
57404        * bindings/js/JSCustomVoidCallback.cpp:
57405        (WebCore::JSCustomVoidCallback::handleEvent):
57406        (WebCore::toVoidCallback):
57407        * bindings/js/JSCustomVoidCallback.h:
57408        * bindings/js/JSCustomXPathNSResolver.cpp:
57409        (WebCore::JSCustomXPathNSResolver::create):
57410        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
57411        * bindings/js/JSCustomXPathNSResolver.h:
57412        * bindings/js/JSDOMApplicationCacheCustom.cpp:
57413        (WebCore::JSDOMApplicationCache::add):
57414        (WebCore::JSDOMApplicationCache::remove):
57415        (WebCore::JSDOMApplicationCache::addEventListener):
57416        (WebCore::JSDOMApplicationCache::removeEventListener):
57417        * bindings/js/JSDOMBinding.cpp:
57418        (WebCore::jsStringOrNull):
57419        (WebCore::jsOwnedStringOrNull):
57420        (WebCore::jsStringOrUndefined):
57421        (WebCore::jsStringOrFalse):
57422        (WebCore::valueToStringWithNullCheck):
57423        (WebCore::valueToStringWithUndefinedOrNullCheck):
57424        (WebCore::reportException):
57425        (WebCore::reportCurrentException):
57426        (WebCore::setDOMException):
57427        (WebCore::objectToStringFunctionGetter):
57428        * bindings/js/JSDOMBinding.h:
57429        (WebCore::getDOMObjectWrapper):
57430        (WebCore::getDOMNodeWrapper):
57431        (WebCore::toJS):
57432        * bindings/js/JSDOMGlobalObject.cpp:
57433        (WebCore::JSDOMGlobalObject::findJSEventListener):
57434        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
57435        (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
57436        (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
57437        * bindings/js/JSDOMGlobalObject.h:
57438        * bindings/js/JSDOMWindowBase.cpp:
57439        (WebCore::createWindow):
57440        (WebCore::showModalDialog):
57441        (jsDOMWindowBaseCrypto):
57442        (jsDOMWindowBaseEvent):
57443        (jsDOMWindowBaseImage):
57444        (jsDOMWindowBaseMessageChannel):
57445        (jsDOMWindowBaseOption):
57446        (jsDOMWindowBaseXMLHttpRequest):
57447        (jsDOMWindowBaseAudio):
57448        (jsDOMWindowBaseWorker):
57449        (jsDOMWindowBaseXSLTProcessor):
57450        (setJSDOMWindowBaseEvent):
57451        (setJSDOMWindowBaseAudio):
57452        (setJSDOMWindowBaseImage):
57453        (setJSDOMWindowBaseMessageChannel):
57454        (setJSDOMWindowBaseOption):
57455        (setJSDOMWindowBaseWorker):
57456        (setJSDOMWindowBaseXMLHttpRequest):
57457        (setJSDOMWindowBaseXSLTProcessor):
57458        (WebCore::JSDOMWindowBase::childFrameGetter):
57459        (WebCore::JSDOMWindowBase::indexGetter):
57460        (WebCore::JSDOMWindowBase::namedItemGetter):
57461        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
57462        (WebCore::JSDOMWindowBase::put):
57463        (WebCore::JSDOMWindowBase::clear):
57464        (windowProtoFuncOpen):
57465        (windowProtoFuncShowModalDialog):
57466        (windowProtoFuncNotImplemented):
57467        (WebCore::JSDOMWindowBase::setReturnValueSlot):
57468        (WebCore::JSDOMWindowBase::installTimeout):
57469        (WebCore::toJS):
57470        (WebCore::toJSDOMWindow):
57471        * bindings/js/JSDOMWindowBase.h:
57472        * bindings/js/JSDOMWindowCustom.cpp:
57473        (WebCore::JSDOMWindow::lookupGetter):
57474        (WebCore::JSDOMWindow::lookupSetter):
57475        (WebCore::JSDOMWindow::setLocation):
57476        (WebCore::JSDOMWindow::postMessage):
57477        (WebCore::setTimeoutOrInterval):
57478        (WebCore::JSDOMWindow::setTimeout):
57479        (WebCore::JSDOMWindow::clearTimeout):
57480        (WebCore::JSDOMWindow::setInterval):
57481        (WebCore::JSDOMWindow::clearInterval):
57482        (WebCore::JSDOMWindow::atob):
57483        (WebCore::JSDOMWindow::btoa):
57484        (WebCore::JSDOMWindow::addEventListener):
57485        (WebCore::JSDOMWindow::removeEventListener):
57486        (WebCore::toDOMWindow):
57487        (WebCore::nonCachingStaticCloseFunctionGetter):
57488        (WebCore::nonCachingStaticBlurFunctionGetter):
57489        (WebCore::nonCachingStaticFocusFunctionGetter):
57490        (WebCore::nonCachingStaticPostMessageFunctionGetter):
57491        * bindings/js/JSDOMWindowCustom.h:
57492        (WebCore::JSDOMWindow::customPut):
57493        * bindings/js/JSDOMWindowShell.cpp:
57494        (WebCore::JSDOMWindowShell::put):
57495        (WebCore::JSDOMWindowShell::putWithAttributes):
57496        (WebCore::JSDOMWindowShell::lookupGetter):
57497        (WebCore::JSDOMWindowShell::lookupSetter):
57498        (WebCore::toJS):
57499        * bindings/js/JSDOMWindowShell.h:
57500        (WebCore::JSDOMWindowShell::createStructure):
57501        * bindings/js/JSDatabaseCustom.cpp:
57502        (WebCore::JSDatabase::changeVersion):
57503        (WebCore::JSDatabase::transaction):
57504        * bindings/js/JSDocumentCustom.cpp:
57505        (WebCore::JSDocument::location):
57506        (WebCore::JSDocument::setLocation):
57507        (WebCore::toJS):
57508        * bindings/js/JSElementCustom.cpp:
57509        (WebCore::JSElement::setAttribute):
57510        (WebCore::JSElement::setAttributeNode):
57511        (WebCore::JSElement::setAttributeNS):
57512        (WebCore::JSElement::setAttributeNodeNS):
57513        (WebCore::toJSNewlyCreated):
57514        * bindings/js/JSEventCustom.cpp:
57515        (WebCore::JSEvent::clipboardData):
57516        (WebCore::toJS):
57517        * bindings/js/JSEventListener.cpp:
57518        (WebCore::JSAbstractEventListener::handleEvent):
57519        (WebCore::eventParameterName):
57520        (WebCore::JSLazyEventListener::parseCode):
57521        * bindings/js/JSEventTarget.cpp:
57522        (WebCore::toJS):
57523        * bindings/js/JSEventTarget.h:
57524        * bindings/js/JSEventTargetBase.h:
57525        * bindings/js/JSEventTargetNodeCustom.cpp:
57526        (WebCore::JSEventTargetNode::addEventListener):
57527        (WebCore::JSEventTargetNode::removeEventListener):
57528        * bindings/js/JSGeolocationCustom.cpp:
57529        (WebCore::createPositionOptions):
57530        (WebCore::JSGeolocation::getCurrentPosition):
57531        (WebCore::JSGeolocation::watchPosition):
57532        * bindings/js/JSHTMLAllCollection.h:
57533        (WebCore::JSHTMLAllCollection::createStructure):
57534        * bindings/js/JSHTMLAppletElementCustom.cpp:
57535        (WebCore::JSHTMLAppletElement::customPut):
57536        (WebCore::JSHTMLAppletElement::nameGetter):
57537        * bindings/js/JSHTMLCollectionCustom.cpp:
57538        (WebCore::getNamedItems):
57539        (WebCore::callHTMLCollection):
57540        (WebCore::JSHTMLCollection::nameGetter):
57541        (WebCore::JSHTMLCollection::item):
57542        (WebCore::JSHTMLCollection::namedItem):
57543        (WebCore::toJS):
57544        * bindings/js/JSHTMLDocumentCustom.cpp:
57545        (WebCore::JSHTMLDocument::nameGetter):
57546        (WebCore::JSHTMLDocument::all):
57547        (WebCore::JSHTMLDocument::setAll):
57548        (WebCore::JSHTMLDocument::open):
57549        (WebCore::JSHTMLDocument::write):
57550        (WebCore::JSHTMLDocument::writeln):
57551        * bindings/js/JSHTMLEmbedElementCustom.cpp:
57552        (WebCore::JSHTMLEmbedElement::customPut):
57553        (WebCore::JSHTMLEmbedElement::nameGetter):
57554        * bindings/js/JSHTMLFormElementCustom.cpp:
57555        (WebCore::JSHTMLFormElement::nameGetter):
57556        * bindings/js/JSHTMLFrameElementCustom.cpp:
57557        (WebCore::JSHTMLFrameElement::setSrc):
57558        (WebCore::JSHTMLFrameElement::setLocation):
57559        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
57560        (WebCore::JSHTMLFrameSetElement::nameGetter):
57561        * bindings/js/JSHTMLIFrameElementCustom.cpp:
57562        (WebCore::JSHTMLIFrameElement::setSrc):
57563        * bindings/js/JSHTMLInputElementCustom.cpp:
57564        (WebCore::JSHTMLInputElement::selectionStart):
57565        (WebCore::JSHTMLInputElement::selectionEnd):
57566        * bindings/js/JSHTMLObjectElementCustom.cpp:
57567        (WebCore::JSHTMLObjectElement::customPut):
57568        (WebCore::JSHTMLObjectElement::nameGetter):
57569        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
57570        (WebCore::JSHTMLOptionsCollection::length):
57571        (WebCore::JSHTMLOptionsCollection::setLength):
57572        (WebCore::JSHTMLOptionsCollection::indexSetter):
57573        (WebCore::JSHTMLOptionsCollection::add):
57574        (WebCore::JSHTMLOptionsCollection::remove):
57575        * bindings/js/JSHTMLSelectElementCustom.cpp:
57576        (WebCore::JSHTMLSelectElement::remove):
57577        (WebCore::selectIndexSetter):
57578        (WebCore::JSHTMLSelectElement::indexSetter):
57579        * bindings/js/JSHTMLSelectElementCustom.h:
57580        * bindings/js/JSHistoryCustom.cpp:
57581        (WebCore::nonCachingStaticBackFunctionGetter):
57582        (WebCore::nonCachingStaticForwardFunctionGetter):
57583        (WebCore::nonCachingStaticGoFunctionGetter):
57584        (WebCore::JSHistory::customPut):
57585        * bindings/js/JSImageDataCustom.cpp:
57586        (WebCore::toJS):
57587        * bindings/js/JSInspectedObjectWrapper.cpp:
57588        (WebCore::JSInspectedObjectWrapper::wrap):
57589        (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
57590        * bindings/js/JSInspectedObjectWrapper.h:
57591        (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
57592        * bindings/js/JSInspectorCallbackWrapper.cpp:
57593        (WebCore::JSInspectorCallbackWrapper::wrap):
57594        (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
57595        * bindings/js/JSInspectorCallbackWrapper.h:
57596        (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
57597        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
57598        (WebCore::JSJavaScriptCallFrame::evaluate):
57599        (WebCore::JSJavaScriptCallFrame::thisObject):
57600        (WebCore::JSJavaScriptCallFrame::type):
57601        (WebCore::JSJavaScriptCallFrame::scopeChain):
57602        * bindings/js/JSLocationCustom.cpp:
57603        (WebCore::nonCachingStaticReplaceFunctionGetter):
57604        (WebCore::nonCachingStaticReloadFunctionGetter):
57605        (WebCore::nonCachingStaticAssignFunctionGetter):
57606        (WebCore::JSLocation::customPut):
57607        (WebCore::JSLocation::setHref):
57608        (WebCore::JSLocation::setProtocol):
57609        (WebCore::JSLocation::setHost):
57610        (WebCore::JSLocation::setHostname):
57611        (WebCore::JSLocation::setPort):
57612        (WebCore::JSLocation::setPathname):
57613        (WebCore::JSLocation::setSearch):
57614        (WebCore::JSLocation::setHash):
57615        (WebCore::JSLocation::replace):
57616        (WebCore::JSLocation::reload):
57617        (WebCore::JSLocation::assign):
57618        (WebCore::JSLocation::toString):
57619        * bindings/js/JSMessageChannelConstructor.h:
57620        * bindings/js/JSMessagePortCustom.cpp:
57621        (WebCore::JSMessagePort::startConversation):
57622        (WebCore::JSMessagePort::addEventListener):
57623        (WebCore::JSMessagePort::removeEventListener):
57624        * bindings/js/JSMimeTypeArrayCustom.cpp:
57625        (WebCore::JSMimeTypeArray::nameGetter):
57626        * bindings/js/JSNamedNodeMapCustom.cpp:
57627        (WebCore::JSNamedNodeMap::nameGetter):
57628        * bindings/js/JSNamedNodesCollection.cpp:
57629        (WebCore::JSNamedNodesCollection::lengthGetter):
57630        (WebCore::JSNamedNodesCollection::indexGetter):
57631        * bindings/js/JSNamedNodesCollection.h:
57632        (WebCore::JSNamedNodesCollection::createStructure):
57633        * bindings/js/JSNavigatorCustom.cpp:
57634        (WebCore::needsYouTubeQuirk):
57635        (WebCore::JSNavigator::appVersion):
57636        * bindings/js/JSNodeCustom.cpp:
57637        (WebCore::JSNode::insertBefore):
57638        (WebCore::JSNode::replaceChild):
57639        (WebCore::JSNode::removeChild):
57640        (WebCore::JSNode::appendChild):
57641        (WebCore::createWrapper):
57642        (WebCore::toJSNewlyCreated):
57643        (WebCore::toJS):
57644        * bindings/js/JSNodeFilterCondition.cpp:
57645        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
57646        (WebCore::JSNodeFilterCondition::acceptNode):
57647        * bindings/js/JSNodeFilterCondition.h:
57648        (WebCore::JSNodeFilterCondition::create):
57649        * bindings/js/JSNodeFilterCustom.cpp:
57650        (WebCore::JSNodeFilter::acceptNode):
57651        (WebCore::toNodeFilter):
57652        * bindings/js/JSNodeIteratorCustom.cpp:
57653        (WebCore::JSNodeIterator::nextNode):
57654        (WebCore::JSNodeIterator::previousNode):
57655        * bindings/js/JSNodeListCustom.cpp:
57656        (WebCore::callNodeList):
57657        (WebCore::JSNodeList::nameGetter):
57658        * bindings/js/JSPluginArrayCustom.cpp:
57659        (WebCore::JSPluginArray::nameGetter):
57660        * bindings/js/JSPluginCustom.cpp:
57661        (WebCore::JSPlugin::nameGetter):
57662        * bindings/js/JSPluginElementFunctions.cpp:
57663        (WebCore::runtimeObjectGetter):
57664        (WebCore::runtimeObjectPropertyGetter):
57665        (WebCore::runtimeObjectCustomPut):
57666        (WebCore::callPlugin):
57667        * bindings/js/JSPluginElementFunctions.h:
57668        * bindings/js/JSQuarantinedObjectWrapper.cpp:
57669        (WebCore::JSQuarantinedObjectWrapper::asWrapper):
57670        (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
57671        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
57672        (WebCore::JSQuarantinedObjectWrapper::put):
57673        (WebCore::JSQuarantinedObjectWrapper::construct):
57674        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
57675        (WebCore::JSQuarantinedObjectWrapper::call):
57676        * bindings/js/JSQuarantinedObjectWrapper.h:
57677        (WebCore::JSQuarantinedObjectWrapper::createStructure):
57678        * bindings/js/JSRGBColor.cpp:
57679        (WebCore::getJSRGBColor):
57680        (jsRGBColorRed):
57681        (jsRGBColorGreen):
57682        (jsRGBColorBlue):
57683        * bindings/js/JSRGBColor.h:
57684        (WebCore::JSRGBColor::createStructure):
57685        * bindings/js/JSSQLResultSetRowListCustom.cpp:
57686        (WebCore::JSSQLResultSetRowList::item):
57687        * bindings/js/JSSQLTransactionCustom.cpp:
57688        (WebCore::JSSQLTransaction::executeSql):
57689        * bindings/js/JSSVGElementInstanceCustom.cpp:
57690        (WebCore::JSSVGElementInstance::addEventListener):
57691        (WebCore::JSSVGElementInstance::removeEventListener):
57692        * bindings/js/JSSVGLengthCustom.cpp:
57693        (WebCore::JSSVGLength::value):
57694        (WebCore::JSSVGLength::convertToSpecifiedUnits):
57695        * bindings/js/JSSVGMatrixCustom.cpp:
57696        (WebCore::JSSVGMatrix::multiply):
57697        (WebCore::JSSVGMatrix::inverse):
57698        (WebCore::JSSVGMatrix::translate):
57699        (WebCore::JSSVGMatrix::scale):
57700        (WebCore::JSSVGMatrix::scaleNonUniform):
57701        (WebCore::JSSVGMatrix::rotate):
57702        (WebCore::JSSVGMatrix::rotateFromVector):
57703        (WebCore::JSSVGMatrix::flipX):
57704        (WebCore::JSSVGMatrix::flipY):
57705        (WebCore::JSSVGMatrix::skewX):
57706        (WebCore::JSSVGMatrix::skewY):
57707        * bindings/js/JSSVGPathSegCustom.cpp:
57708        (WebCore::toJS):
57709        * bindings/js/JSSVGPathSegListCustom.cpp:
57710        (WebCore::JSSVGPathSegList::clear):
57711        (WebCore::JSSVGPathSegList::initialize):
57712        (WebCore::JSSVGPathSegList::getItem):
57713        (WebCore::JSSVGPathSegList::insertItemBefore):
57714        (WebCore::JSSVGPathSegList::replaceItem):
57715        (WebCore::JSSVGPathSegList::removeItem):
57716        (WebCore::JSSVGPathSegList::appendItem):
57717        * bindings/js/JSSVGPointListCustom.cpp:
57718        (WebCore::finishGetter):
57719        (WebCore::finishSetter):
57720        (WebCore::finishSetterReadOnlyResult):
57721        (WebCore::JSSVGPointList::clear):
57722        (WebCore::JSSVGPointList::initialize):
57723        (WebCore::JSSVGPointList::getItem):
57724        (WebCore::JSSVGPointList::insertItemBefore):
57725        (WebCore::JSSVGPointList::replaceItem):
57726        (WebCore::JSSVGPointList::removeItem):
57727        (WebCore::JSSVGPointList::appendItem):
57728        * bindings/js/JSSVGTransformListCustom.cpp:
57729        (WebCore::finishGetter):
57730        (WebCore::finishSetter):
57731        (WebCore::finishSetterReadOnlyResult):
57732        (WebCore::JSSVGTransformList::clear):
57733        (WebCore::JSSVGTransformList::initialize):
57734        (WebCore::JSSVGTransformList::getItem):
57735        (WebCore::JSSVGTransformList::insertItemBefore):
57736        (WebCore::JSSVGTransformList::replaceItem):
57737        (WebCore::JSSVGTransformList::removeItem):
57738        (WebCore::JSSVGTransformList::appendItem):
57739        * bindings/js/JSStorageCustom.cpp:
57740        (WebCore::JSStorage::nameGetter):
57741        (WebCore::JSStorage::deleteProperty):
57742        (WebCore::JSStorage::customPut):
57743        * bindings/js/JSStyleSheetCustom.cpp:
57744        (WebCore::toJS):
57745        * bindings/js/JSStyleSheetListCustom.cpp:
57746        (WebCore::JSStyleSheetList::nameGetter):
57747        * bindings/js/JSTextCustom.cpp:
57748        (WebCore::toJSNewlyCreated):
57749        * bindings/js/JSTreeWalkerCustom.cpp:
57750        (WebCore::JSTreeWalker::parentNode):
57751        (WebCore::JSTreeWalker::firstChild):
57752        (WebCore::JSTreeWalker::lastChild):
57753        (WebCore::JSTreeWalker::nextSibling):
57754        (WebCore::JSTreeWalker::previousSibling):
57755        (WebCore::JSTreeWalker::previousNode):
57756        (WebCore::JSTreeWalker::nextNode):
57757        * bindings/js/JSWorkerContextBase.cpp:
57758        (WebCore::JSWorkerContextBase::put):
57759        * bindings/js/JSWorkerContextBase.h:
57760        * bindings/js/JSWorkerContextCustom.cpp:
57761        (WebCore::JSWorkerContext::self):
57762        (WebCore::JSWorkerContext::setSelf):
57763        (WebCore::JSWorkerContext::addEventListener):
57764        (WebCore::JSWorkerContext::removeEventListener):
57765        * bindings/js/JSWorkerCustom.cpp:
57766        (WebCore::JSWorker::addEventListener):
57767        (WebCore::JSWorker::removeEventListener):
57768        * bindings/js/JSXMLHttpRequestCustom.cpp:
57769        (WebCore::JSXMLHttpRequest::open):
57770        (WebCore::JSXMLHttpRequest::setRequestHeader):
57771        (WebCore::JSXMLHttpRequest::send):
57772        (WebCore::JSXMLHttpRequest::getResponseHeader):
57773        (WebCore::JSXMLHttpRequest::overrideMimeType):
57774        (WebCore::JSXMLHttpRequest::addEventListener):
57775        (WebCore::JSXMLHttpRequest::removeEventListener):
57776        (WebCore::JSXMLHttpRequest::responseText):
57777        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
57778        (WebCore::JSXMLHttpRequestUpload::addEventListener):
57779        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
57780        * bindings/js/JSXSLTProcessorCustom.cpp:
57781        (WebCore::JSXSLTProcessor::importStylesheet):
57782        (WebCore::JSXSLTProcessor::transformToFragment):
57783        (WebCore::JSXSLTProcessor::transformToDocument):
57784        (WebCore::JSXSLTProcessor::setParameter):
57785        (WebCore::JSXSLTProcessor::getParameter):
57786        (WebCore::JSXSLTProcessor::removeParameter):
57787        * bindings/js/ScheduledAction.cpp:
57788        (WebCore::ScheduledAction::ScheduledAction):
57789        (WebCore::ScheduledAction::execute):
57790        * bindings/js/ScheduledAction.h:
57791        * bindings/js/ScriptCallStack.cpp:
57792        (WebCore::ScriptCallStack::ScriptCallStack):
57793        (WebCore::ScriptCallStack::initialize):
57794        * bindings/js/ScriptController.cpp:
57795        (WebCore::ScriptController::createScriptObjectForPluginElement):
57796        * bindings/js/ScriptValue.cpp:
57797        (WebCore::ScriptValue::getString):
57798        (WebCore::ScriptValue::isNull):
57799        (WebCore::ScriptValue::isUndefined):
57800        * bindings/js/ScriptValue.h:
57801        (WebCore::ScriptValue::ScriptValue):
57802        (WebCore::ScriptValue::jsValue):
57803        * bindings/objc/WebScriptObject.mm:
57804        (-[WebScriptObject callWebScriptMethod:withArguments:]):
57805        (-[WebScriptObject evaluateWebScript:]):
57806        (-[WebScriptObject valueForKey:]):
57807        (-[WebScriptObject webScriptValueAtIndex:]):
57808        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
57809        * bindings/objc/WebScriptObjectPrivate.h:
57810        * bindings/scripts/CodeGeneratorJS.pm:
57811        * bridge/NP_jsobject.cpp:
57812        (_NPN_InvokeDefault):
57813        (_NPN_Invoke):
57814        (_NPN_Evaluate):
57815        (_NPN_GetProperty):
57816        (_NPN_HasMethod):
57817        (_NPN_Construct):
57818        * bridge/c/c_instance.cpp:
57819        (JSC::Bindings::CInstance::invokeMethod):
57820        (JSC::Bindings::CInstance::invokeDefaultMethod):
57821        (JSC::Bindings::CInstance::invokeConstruct):
57822        (JSC::Bindings::CInstance::defaultValue):
57823        (JSC::Bindings::CInstance::stringValue):
57824        (JSC::Bindings::CInstance::numberValue):
57825        (JSC::Bindings::CInstance::booleanValue):
57826        (JSC::Bindings::CInstance::valueOf):
57827        * bridge/c/c_instance.h:
57828        * bridge/c/c_runtime.cpp:
57829        (JSC::Bindings::CField::valueFromInstance):
57830        (JSC::Bindings::CField::setValueToInstance):
57831        * bridge/c/c_runtime.h:
57832        * bridge/c/c_utility.cpp:
57833        (JSC::Bindings::convertValueToNPVariant):
57834        (JSC::Bindings::convertNPVariantToValue):
57835        * bridge/c/c_utility.h:
57836        * bridge/jni/jni_instance.cpp:
57837        (JavaInstance::stringValue):
57838        (JavaInstance::numberValue):
57839        (JavaInstance::booleanValue):
57840        (JavaInstance::invokeMethod):
57841        (JavaInstance::defaultValue):
57842        (JavaInstance::valueOf):
57843        * bridge/jni/jni_instance.h:
57844        * bridge/jni/jni_jsobject.h:
57845        * bridge/jni/jni_jsobject.mm:
57846        (JavaJSObject::call):
57847        (JavaJSObject::eval):
57848        (JavaJSObject::getMember):
57849        (JavaJSObject::getSlot):
57850        (JavaJSObject::convertValueToJObject):
57851        (JavaJSObject::convertJObjectToValue):
57852        * bridge/jni/jni_objc.mm:
57853        (JSC::Bindings::dispatchJNICall):
57854        * bridge/jni/jni_runtime.cpp:
57855        (JavaArray::convertJObjectToArray):
57856        (JavaField::dispatchValueFromInstance):
57857        (JavaField::valueFromInstance):
57858        (JavaField::dispatchSetValueToInstance):
57859        (JavaField::setValueToInstance):
57860        (JavaArray::setValueAt):
57861        (JavaArray::valueAt):
57862        * bridge/jni/jni_runtime.h:
57863        * bridge/jni/jni_utility.cpp:
57864        (JSC::Bindings::convertArrayInstanceToJavaArray):
57865        (JSC::Bindings::convertValueToJValue):
57866        * bridge/jni/jni_utility.h:
57867        * bridge/objc/WebScriptObject.h:
57868        * bridge/objc/objc_class.h:
57869        * bridge/objc/objc_class.mm:
57870        (JSC::Bindings::ObjcClass::fallbackObject):
57871        * bridge/objc/objc_instance.h:
57872        * bridge/objc/objc_instance.mm:
57873        (ObjcInstance::invokeMethod):
57874        (ObjcInstance::invokeDefaultMethod):
57875        (ObjcInstance::setValueOfUndefinedField):
57876        (ObjcInstance::getValueOfUndefinedField):
57877        (ObjcInstance::defaultValue):
57878        (ObjcInstance::stringValue):
57879        (ObjcInstance::numberValue):
57880        (ObjcInstance::booleanValue):
57881        (ObjcInstance::valueOf):
57882        * bridge/objc/objc_runtime.h:
57883        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
57884        * bridge/objc/objc_runtime.mm:
57885        (JSC::Bindings::ObjcField::valueFromInstance):
57886        (JSC::Bindings::convertValueToObjcObject):
57887        (JSC::Bindings::ObjcField::setValueToInstance):
57888        (JSC::Bindings::ObjcArray::setValueAt):
57889        (JSC::Bindings::ObjcArray::valueAt):
57890        (JSC::Bindings::ObjcFallbackObjectImp::put):
57891        (JSC::Bindings::callObjCFallbackObject):
57892        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
57893        * bridge/objc/objc_utility.h:
57894        * bridge/objc/objc_utility.mm:
57895        (JSC::Bindings::convertValueToObjcValue):
57896        (JSC::Bindings::convertNSStringToString):
57897        (JSC::Bindings::convertObjcValueToValue):
57898        * bridge/runtime.cpp:
57899        (JSC::Bindings::Instance::getValueOfField):
57900        (JSC::Bindings::Instance::setValueOfField):
57901        * bridge/runtime.h:
57902        (JSC::Bindings::Class::fallbackObject):
57903        (JSC::Bindings::Instance::getValueOfUndefinedField):
57904        (JSC::Bindings::Instance::setValueOfUndefinedField):
57905        (JSC::Bindings::Instance::invokeDefaultMethod):
57906        (JSC::Bindings::Instance::invokeConstruct):
57907        (JSC::Bindings::Instance::valueOf):
57908        * bridge/runtime_array.cpp:
57909        (JSC::RuntimeArray::lengthGetter):
57910        (JSC::RuntimeArray::indexGetter):
57911        (JSC::RuntimeArray::put):
57912        * bridge/runtime_array.h:
57913        (JSC::RuntimeArray::createStructure):
57914        * bridge/runtime_method.cpp:
57915        (JSC::RuntimeMethod::lengthGetter):
57916        (JSC::callRuntimeMethod):
57917        * bridge/runtime_method.h:
57918        (JSC::RuntimeMethod::createStructure):
57919        * bridge/runtime_object.cpp:
57920        (JSC::RuntimeObjectImp::fallbackObjectGetter):
57921        (JSC::RuntimeObjectImp::fieldGetter):
57922        (JSC::RuntimeObjectImp::methodGetter):
57923        (JSC::RuntimeObjectImp::put):
57924        (JSC::RuntimeObjectImp::defaultValue):
57925        (JSC::callRuntimeObject):
57926        (JSC::callRuntimeConstructor):
57927        * bridge/runtime_object.h:
57928        (JSC::RuntimeObjectImp::createStructure):
57929        * inspector/InspectorController.cpp:
57930        * inspector/JavaScriptCallFrame.cpp:
57931        (WebCore::JavaScriptCallFrame::evaluate):
57932        * inspector/JavaScriptCallFrame.h:
57933        * inspector/JavaScriptProfile.cpp:
57934        (WebCore::toJS):
57935        * inspector/JavaScriptProfile.h:
57936        * inspector/JavaScriptProfileNode.cpp:
57937        (WebCore::toJS):
57938        * inspector/JavaScriptProfileNode.h:
57939        * xml/XMLHttpRequest.cpp:
57940        (WebCore::XMLHttpRequest::dropProtection):
57941
579422009-01-06  Pierre-Olivier Latour  <pol@apple.com>
57943
57944        Reviewed by Darin Adler.
57945
57946        Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT.
57947
57948        https://bugs.webkit.org/show_bug.cgi?id=23126
57949
57950        Test: animations/animation-controller-drt-api.html
57951
57952        * WebCore.base.exp:
57953        * page/animation/AnimationController.cpp:
57954        (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
57955        (WebCore::AnimationController::numberOfActiveAnimations):
57956        * page/animation/AnimationController.h:
57957        * page/animation/CompositeAnimation.cpp:
57958        (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
57959        (WebCore::CompositeAnimation::numberOfActiveAnimations):
57960        * page/animation/CompositeAnimation.h:
57961
579622009-01-06  Eric Seidel  <eric@webkit.org>
57963
57964        Reviewed by Gavin Barraclough.
57965
57966        Upstream 3 more files to get the WebCore-Chromium build a bit further.
57967
57968        * WebCore.scons:
57969        * page/chromium/AccessibilityObjectChromium.cpp: Added.
57970        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
57971        * page/chromium/AccessibilityObjectWrapper.h: Added.
57972        (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper):
57973        (WebCore::AccessibilityObjectWrapper::attached):
57974        (WebCore::AccessibilityObjectWrapper::accessibilityObject):
57975        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
57976        * platform/chromium/PasteboardPrivate.h: Added.
57977        (WebCore::PasteboardPrivate::):
57978
579792009-01-06  Chris Marrin  <cmarrin@apple.com>
57980
57981        Reviewed by David Hyatt.
57982
57983        Tests: animations/simultaneous-start-left.html
57984               animations/simultaneous-start-transform.html
57985
57986        Fixed https://bugs.webkit.org/show_bug.cgi?id=22870
57987
57988        I added calls beginAnimationUpdate() and endAnimationUpdate() calls
57989        to AnimationController. These are called by Document at the start
57990        and end of the recalcStyle cycle. Right now, I'm just using the
57991        beginAnimationUpdate() method to reset an animation time value.
57992        The first time the animation time is accessed after this reset I set
57993        it to the currentTime. So all animations in that cycle get the same
57994        start time.
57995
57996        The test cases checked in test this, but in the case of the 'left'
57997        test it actually doesn't make any difference in most cases. This is
57998        because values are clamped to whole pixels, so the start times would
57999        have to be pretty far off for the test to fail using the old
58000        currentTime() model. Still, under really heavy load, it's possible for
58001        the test to fail without these changes.
58002
58003        The 'transform' test is another story. It animates to the full resolution
58004        of a floating point number, so the test fails miserably without this
58005        fix.
58006
58007        * dom/Document.cpp:
58008        (WebCore::Document::recalcStyle):
58009        * page/animation/AnimationBase.cpp:
58010        (WebCore::AnimationBase::updateStateMachine):
58011        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
58012        (WebCore::AnimationBase::willNeedService):
58013        (WebCore::AnimationBase::progress):
58014        (WebCore::AnimationBase::goIntoEndingOrLoopingState):
58015        (WebCore::AnimationBase::beginAnimationUpdateTime):
58016        * page/animation/AnimationBase.h:
58017        * page/animation/AnimationController.cpp:
58018        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
58019        (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
58020        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
58021        (WebCore::AnimationController::updateAnimations):
58022        (WebCore::AnimationController::beginAnimationUpdateTime):
58023        (WebCore::AnimationController::beginAnimationUpdate):
58024        (WebCore::AnimationController::endAnimationUpdate):
58025        * page/animation/AnimationController.h:
58026        * page/animation/KeyframeAnimation.cpp:
58027        (WebCore::KeyframeAnimation::animate):
58028
580292009-01-06  Julien Chaffraix  <jchaffraix@webkit.org>
58030
58031        Reviewed by Nikolas Zimmermann.
58032
58033        Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions
58034        https://bugs.webkit.org/show_bug.cgi?id=22858
58035
58036        I had introduced an awkward situation using hasCustomJSWrapper and
58037        sometimes boolean parameter in order to ensure JS wrapper generated once
58038        or header included once.
58039
58040        Simplified the code by using a %seenTag hash to detect multiple definitions
58041        or inclusions and skipping it.
58042
58043        Also cleaned up a bit make_names.pl by using more explicit names and moving
58044        code to where it belongs.
58045
58046        * dom/make_names.pl:
58047        * html/HTMLTagNames.in: Necessary changes that were not detected by
58048        the previous syntax but will be required for autogenerating HTMLElementFactory.
58049
580502009-01-06  Anders Carlsson  <andersca@apple.com>
58051
58052        Reviewed by Sam Weinig.
58053
58054        Add a way for frame loader clients to always create a PluginDocument, regardless of
58055        the real document MIME type.
58056
58057        * loader/FrameLoader.cpp:
58058        (WebCore::FrameLoader::begin):
58059        (WebCore::FrameLoader::shouldUsePlugin):
58060        * loader/FrameLoaderClient.h:
58061        (WebCore::FrameLoaderClient::shouldUsePluginDocument):
58062
580632009-01-06  Dean Jackson  <dino@apple.com>
58064
58065        Reviewed by Dave Hyatt.
58066
58067        Extend Media Queries to cover transitions,
58068        animations, transform-2d and transform-3d
58069        http://webkit.org/specs/MediaQueriesExtensions.html
58070        Note that the implementation uses -webkit- prefixes
58071        even though the spec doesn't have them.
58072        https://bugs.webkit.org/show_bug.cgi?id=22494
58073
58074        Tests: fast/media/mq-animation.html
58075               fast/media/mq-transform-01.html
58076               fast/media/mq-transform-02.html
58077               fast/media/mq-transform-03.html
58078               fast/media/mq-transform-04.html
58079               fast/media/mq-transition.html
58080
58081        * css/MediaFeatureNames.h:
58082        * css/MediaQueryEvaluator.cpp:
58083        (WebCore::animationMediaFeatureEval):
58084        (WebCore::transitionMediaFeatureEval):
58085        (WebCore::transform_2dMediaFeatureEval):
58086        (WebCore::transform_3dMediaFeatureEval):
58087
580882009-01-06  Eric Seidel  <eric@webkit.org>
58089
58090        Reviewed by Oliver Hunt.
58091
58092        Bring the Chromium-WebCore build closer to building
58093        by upstreaming PlatformWidget.h add adding the JSC
58094        plugin bridge files to the build.
58095
58096        * WebCore.scons:
58097        * platform/chromium/PlatformWidget.h: Added.
58098
580992009-01-06  Eric Seidel  <eric@webkit.org>
58100
58101        Build fix only, no review.
58102
58103        Bring the Chromium-WebCore build back closer to building
58104        by adding files from recent commits.
58105
58106        * WebCore.scons:
58107
581082009-01-06  Alexey Proskuryakov  <ap@webkit.org>
58109
58110        Reviewed by Darin Adler.
58111
58112        <rdar://problem/6474973> REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data)
58113
58114        I could not reproduce the slowdown on my PowerPC test machine, but the change should bring
58115        performance back.
58116
58117        * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic.
58118        Prior to r39465, it was only used for cached converters, which was necessary because the
58119        first access to ICU or TEC one could happen on a secondary thread, but now they are all
58120        initialized from ThreadGlobalData constructor.
58121
581222009-01-06  David Smith  <catfish.man@gmail.com>
58123
58124        Reviewed by Darin Adler.
58125
58126        https://bugs.webkit.org/show_bug.cgi?id=23129
58127        Devirtualize Node::childNodes().
58128
581292009-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
58130
58131        Unreviewed build fix.
58132
58133        Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was
58134        added in Qt 4.5.
58135
58136        * platform/qt/CookieJarQt.cpp:
58137        (WebCore::setCookies):
58138        (WebCore::cookies):
58139
581402009-01-06  Zalan Bujtas  <zbujtas@gmail.com>
58141
58142        Reviewed by David Kilzer.
58143
58144        https://bugs.webkit.org/show_bug.cgi?id=23133
58145        Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to
58146        CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG)
58147
58148        NOTE: Property name fixes landed as part of r39648.
58149
58150        * css/CSSPrimitiveValueMappings.h:
58151        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
58152        (WebCore::CSSPrimitiveValue::operator EPointerEvents):
58153        * css/CSSPropertyNames.in:
58154        * css/SVGCSSPropertyNames.in:
58155
581562009-01-06  David Kilzer  <ddkilzer@apple.com>
58157
58158        BUILD FIX (r39634): Fix build for non-SVG builds (Wx)
58159
58160        * css/CSSPropertyNames.in: Added 'pointer-events'.
58161        * css/SVGCSSPropertyNames.in: Commented out pointer-events
58162        since it's now a plain CSS property.
58163
581642009-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
58165
58166        Reviewed by Lars Knoll.
58167
58168        Added support for HTTP-only cookies to the Qt build.
58169
58170        * platform/qt/CookieJarQt.cpp:
58171        (WebCore::setCookies): Don't set HTTP-only cookies through the DOM.
58172        (WebCore::cookies): Don't return HTTP-only cookies to the DOM.
58173
581742009-01-05  David Smith  <catfish.man@gmail.com>
58175
58176        Reviewed by Oliver Hunt.
58177
58178        https://bugs.webkit.org/show_bug.cgi?id=23084
58179        Avoid redundant AtomicString conversions
58180
58181        * dom/Node.cpp: Create an AtomicString early to avoid converting twice
58182        (WebCore::Node::getElementsByTagNameNS):
58183        * dom/QualifiedName.h: Use the appropriate AtomicString constructor instead of converting from a String
58184
581852009-01-05  Simon Fraser  <simon.fraser@apple.com>
58186
58187        Reviewed by Dave Hyatt
58188
58189        https://bugs.webkit.org/show_bug.cgi?id=22985
58190
58191        Add an assertion that clip rects are being used when painting with the same
58192        rootLayer that they were computed with.
58193
58194        Fix two issues detected by the assertion:
58195
58196        RenderLayer::updateClipRects() should not unconditionally update the clip rects
58197        on its parent, but stop when reaching rootLayer (just like calculateClipRects()).
58198
58199        We need to pass the temporaryClipRects flag down through reflection painting
58200        to handle the case of nested reflections.
58201
58202        Also use temporary clip rects in RenderTreeAsText, since that code does not
58203        reset the painting root for transformed layers, so cached clip rects will not
58204        match those used for painting.
58205
58206        * rendering/RenderLayer.cpp:
58207        (WebCore::RenderLayer::RenderLayer):
58208        (WebCore::RenderLayer::paintLayer):
58209        (WebCore::RenderLayer::updateClipRects):
58210        (WebCore::RenderLayer::clearClipRects):
58211        * rendering/RenderLayer.h:
58212        * rendering/RenderTreeAsText.cpp:
58213        (WebCore::writeLayers):
58214
582152009-01-05  Adam Treat  <adam.treat@torchmobile.com>
58216
58217        Fix the Qt build
58218
58219        * platform/graphics/qt/AffineTransformQt.cpp:
58220        (WebCore::TransformationMatrix::TransformationMatrix):
58221
582222009-01-05  Mark Rowe  <mrowe@apple.com>
58223
58224        Fix the build some more.
58225
58226        * platform/graphics/cairo/AffineTransformCairo.cpp:
58227        (WebCore::TransformationMatrix::TransformationMatrix):
58228
582292009-01-05  Oliver Hunt  <oliver@apple.com>
58230
58231        Reviewed by NOBODY (Build fix).
58232
58233        Fix Cairo/Gtk build
58234
58235        * platform/graphics/cairo/ImageBufferCairo.cpp:
58236        (WebCore::ImageBuffer::putImageData):
58237
582382009-01-05  Dean Jackson  <dino@apple.com>
58239
58240        Reviewed by Darin Adler.
58241
58242        Rename AffineTransform to TransformationMatrix in
58243        preparation for future enhancements (non-affine matrices)
58244
58245        https://bugs.webkit.org/show_bug.cgi?id=22943
58246
58247        * GNUmakefile.am:
58248        * WebCore.pro:
58249        * WebCore.scons:
58250        * WebCore.vcproj/WebCore.vcproj:
58251        * WebCore.xcodeproj/project.pbxproj:
58252        * WebCoreSources.bkl:
58253        * platform/graphics/transforms/AffineTransform.cpp: Removed.
58254        * platform/graphics/transforms/AffineTransform.h: Removed.
58255        * platform/graphics/transforms/TransformationMatrix.cpp: Copied from WebCore/platform/graphics/transforms/AffineTransform.cpp.
58256        * platform/graphics/transforms/TransformationMatrix.h: Copied from WebCore/platform/graphics/transforms/AffineTransform.h.
58257        * lots of other files with s/AffineTransform/TransformationMatrix/g
58258
582592008-01-05  Dean Jackson  <dino@apple.com>
58260
58261        Reviewed by David Hyatt.
58262
58263        Implement 'pointer-events' for HTML content. This involved
58264        adding a new value 'auto' which behaves as 'visiblePainted'
58265        in SVG content.
58266
58267        Moved the property out of the SVG CSS code and into
58268        the general CSS (both parsing and RenderStyle).
58269
58270        Changes to the hit testing functionality of the Render tree,
58271        specifically the nodeAtPoint methods. Where they used to
58272        test for visibility, they now use a helper function defined
58273        on base classes (RenderObject and InlineBox) that checks both
58274        visibility and pointer-events.
58275
58276        https://bugs.webkit.org/show_bug.cgi?id=11395
58277
58278        Tests: fast/events/pointer-events-2.html
58279               fast/events/pointer-events.html
58280
58281        * css/CSSComputedStyleDeclaration.cpp:
58282        (WebCore::):
58283        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58284        * css/CSSParser.cpp:
58285        (WebCore::CSSParser::parseValue):
58286        * css/CSSPrimitiveValueMappings.h:
58287        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
58288        (WebCore::CSSPrimitiveValue::operator EPointerEvents):
58289        * css/CSSStyleSelector.cpp:
58290        (WebCore::CSSStyleSelector::applyProperty):
58291        * css/SVGCSSComputedStyleDeclaration.cpp:
58292        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
58293        * css/SVGCSSStyleSelector.cpp:
58294        (WebCore::CSSStyleSelector::applySVGProperty):
58295        * manual-tests/pointer-events.html: Added.
58296        * rendering/EllipsisBox.cpp:
58297        (WebCore::EllipsisBox::nodeAtPoint):
58298        * rendering/InlineBox.h:
58299        (WebCore::InlineBox::visibleToHitTesting):
58300        * rendering/InlineFlowBox.cpp:
58301        (WebCore::InlineFlowBox::nodeAtPoint):
58302        * rendering/InlineTextBox.cpp:
58303        (WebCore::InlineTextBox::nodeAtPoint):
58304        * rendering/PointerEventsHitRules.cpp:
58305        (WebCore::PointerEventsHitRules::PointerEventsHitRules):
58306        * rendering/PointerEventsHitRules.h:
58307        (WebCore::PointerEventsHitRules::):
58308        * rendering/RenderBlock.cpp:
58309        (WebCore::RenderBlock::nodeAtPoint):
58310        * rendering/RenderBox.cpp:
58311        (WebCore::RenderBox::nodeAtPoint):
58312        * rendering/RenderObject.h:
58313        (WebCore::RenderObject::visibleToHitTesting):
58314        * rendering/RenderPath.cpp:
58315        (WebCore::RenderPath::nodeAtPoint):
58316        * rendering/RenderSVGImage.cpp:
58317        (WebCore::RenderSVGImage::nodeAtPoint):
58318        * rendering/RenderSVGText.cpp:
58319        (WebCore::RenderSVGText::nodeAtPoint):
58320        * rendering/RootInlineBox.cpp:
58321        (WebCore::RootInlineBox::nodeAtPoint):
58322        * rendering/TextControlInnerElements.cpp:
58323        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
58324        * rendering/style/RenderStyle.h:
58325        (WebCore::):
58326        (WebCore::InheritedFlags::setBitDefaults):
58327        (WebCore::InheritedFlags::pointerEvents):
58328        (WebCore::InheritedFlags::setPointerEvents):
58329        (WebCore::InheritedFlags::initialPointerEvents):
58330        * rendering/style/RenderStyleConstants.h:
58331        (WebCore::):
58332        * rendering/style/SVGRenderStyle.h:
58333        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
58334        (WebCore::SVGRenderStyle::setBitDefaults):
58335        * rendering/style/SVGRenderStyleDefs.h:
58336        * css/CSSValueKeywords.in:
58337        * css/SVGCSSValueKeywords.in:
58338
583392009-01-05  Oliver Hunt  <oliver@apple.com>
58340
58341        Reviewed by NOBODY (Build fix).
58342
58343        Fix Cairo/Gtk build
58344
58345        * platform/graphics/cairo/ImageBufferCairo.cpp:
58346        (WebCore::ImageBuffer::getImageData):
58347
583482009-01-05  Oliver Hunt  <oliver@apple.com>
58349
58350        Reviewed by Gavin Barraclough.
58351
58352        CanvasPixelArray performance is too slow
58353        <https://bugs.webkit.org/show_bug.cgi?id=23123>
58354
58355        Remove the WebCore CanvasPixelArray implementation and replace
58356        CPA usage with JSC::ByteArray.  Replace the JSCanvasPixelArray
58357        wrapper with an explicitly instantiated JSByteArray put on the
58358        JSImageData object as an ordinary ReadOnly, DontDelete property.
58359
58360        * DerivedSources.make:
58361        * ForwardingHeaders/runtime/ByteArray.h: Added.
58362        * ForwardingHeaders/runtime/JSByteArray.h: Added.
58363        * GNUmakefile.am:
58364        * WebCore.pro:
58365        * WebCore.scons:
58366        * WebCore.vcproj/WebCore.vcproj:
58367        * WebCore.xcodeproj/project.pbxproj:
58368        * bindings/js/JSCanvasPixelArrayCustom.h: Removed.
58369        * bindings/js/JSImageDataCustom.cpp:
58370        (WebCore::toJS):
58371        * html/CanvasPixelArray.cpp: Removed.
58372        * html/CanvasPixelArray.h: Removed.
58373        * html/CanvasPixelArray.idl: Removed.
58374        * html/CanvasRenderingContext2D.cpp:
58375        (WebCore::createEmptyImageData):
58376        * html/ImageData.cpp:
58377        (WebCore::ImageData::ImageData):
58378        * html/ImageData.h:
58379        (WebCore::ImageData::data):
58380        * html/ImageData.idl:
58381        * platform/graphics/cg/ImageBufferCG.cpp:
58382        (WebCore::ImageBuffer::getImageData):
58383        (WebCore::ImageBuffer::putImageData):
58384
583852009-01-05  Adam Treat  <adam.treat@torchmobile.com>
58386
58387        Reviewed by George Staikos.
58388
58389        Add notification for contentsSizeChanged which the Qt API will
58390        introduce.
58391
58392        * loader/EmptyClients.h:
58393        (WebCore::EmptyChromeClient::contentsSizeChanged):
58394        * page/Chrome.cpp:
58395        (WebCore::Chrome::contentsSizeChanged):
58396        * page/Chrome.h:
58397        * page/ChromeClient.h:
58398        * page/FrameView.cpp:
58399        (WebCore::FrameView::setContentsSize):
58400        * page/FrameView.h:
58401        * platform/HostWindow.h:
58402        * platform/ScrollView.h:
58403
584042009-01-05  Anders Carlsson  <andersca@apple.com>
58405
58406        Build fix.
58407
58408        * plugins/PluginView.h:
58409        (WebCore::PluginManualLoader::~PluginManualLoader):
58410
584112009-01-05  Anders Carlsson  <andersca@apple.com>
58412
58413        Reviewed by Kevin Decker.
58414
58415        Add an abstract PluginManualLoader class and make PluginView inherit from it.
58416
58417        Add some error checking that currently exists in WebKit (but not for long!)
58418
58419        * plugins/PluginView.cpp:
58420        (WebCore::PluginView::didReceiveResponse):
58421        (WebCore::PluginView::didReceiveData):
58422        (WebCore::PluginView::didFinishLoading):
58423        (WebCore::PluginView::didFail):
58424        * plugins/PluginView.h:
58425
584262009-01-05  Adam Treat  <adam.treat@torchmobile.com>
58427
58428        Reviewed by George Staikos.
58429
58430        Fixes FrameView to respect the state of scrollbarmode when it is explicitly
58431        set programatically via a webkit API.
58432
58433        * loader/FrameLoaderClient.cpp:
58434        (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
58435        * loader/FrameLoaderClient.h:
58436        * page/FrameView.cpp:
58437        (WebCore::FrameView::initScrollbars):
58438        (WebCore::FrameView::updateDefaultScrollbarState):
58439        * page/FrameView.h:
58440
584412009-01-05  Darin Adler  <darin@apple.com>
58442
58443        Reviewed by Dan Bernstein.
58444
58445        Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly
58446        https://bugs.webkit.org/show_bug.cgi?id=23109
58447
58448        Test: fast/text/find-backwards.html
58449
58450        * editing/TextIterator.cpp:
58451        (WebCore::SearchBuffer::append): Fix incorrect size passed to memcpy.
58452        (WebCore::SearchBuffer::search): Handle case where we have an empty buffer but
58453        we're at a break; must not try to search because ICU will give us an error.
58454        Fix incorrect size passed to memcpy and memmove.
58455        (WebCore::findPlainText): Fix case where we found a match and need to search
58456        again because we want to find the last match. We need to try again without
58457        adding any more text or handling the break before moving on.
58458
584592009-01-05  Adam Treat  <adam.treat@torchmobile.com>
58460
58461        Fix the Qt build
58462
58463        * bridge/runtime_object.cpp:
58464        (JSC::RuntimeObjectImp::put):
58465
584662009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58467
58468        Reviewed by Sam Weinig.
58469
58470        Fix platforms that don't have Workers enabled.
58471
58472        * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Create ThreadGlobalData in
58473        two stages, so that EventNames constructor can access the just-created atomic string table.
58474        This matches what happens in ThreadSpecific case.
58475
584762009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58477
58478        Suggested by Dave Levin.
58479
58480        Mac release build fix.
58481
58482        * WebCore.base.exp: Remove ThreadGlobalData::eventNames(), which is now inline.
58483
584842009-01-05  Darin Adler  <darin@apple.com>
58485
58486        * dom/Document.cpp: Fix build. Oops again.
58487
584882009-01-05  Darin Adler  <darin@apple.com>
58489
58490        Reviewed by Anders Carlsson.
58491
58492        Fix hang whenever following an anchor.
58493
58494        * dom/Document.cpp:
58495        (WebCore::Document::findAnchor): Oops!
58496
584972009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58498
58499        Reviewed by Darin Adler.
58500
58501        https://bugs.webkit.org/show_bug.cgi?id=23073
58502        <rdar://problem/6471129> Workers crash on Windows Release builds
58503
58504        * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData):
58505        * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::eventNames):
58506        Now that ThreadSpecific sets up the pointer before invoking data constructor, we can
58507        initialize EventNames right away.
58508
585092009-01-05  Darin Adler  <darin@apple.com>
58510
58511        Reviewed by Anders Carlsson.
58512
58513        Bug 23106: HTMLFormCollection::namedItem ignores caseSensitive argument
58514        https://bugs.webkit.org/show_bug.cgi?id=23106
58515
58516        This led me to a bunch of dead code. It turns out that HTML collections
58517        were carrying the case-insensitive code just so they could be used to
58518        find anchors, something we can do more simply and efficiently without
58519        creating a DOM HTMLCollection object.
58520
58521        No behavior change. Just adding a new function findAnchor function and
58522        removing some dead code.
58523
58524        * dom/Document.cpp:
58525        (WebCore::Document::findAnchor): Added.
58526        * dom/Document.h: Ditto.
58527
58528        * html/HTMLAnchorElement.cpp:
58529        (WebCore::HTMLAnchorElement::accessKey): Take and return AtomicString
58530        references for better efficiency.
58531        (WebCore::HTMLAnchorElement::setAccessKey): Ditto.
58532        (WebCore::HTMLAnchorElement::charset): Ditto.
58533        (WebCore::HTMLAnchorElement::setCharset): Ditto.
58534        (WebCore::HTMLAnchorElement::coords): Ditto.
58535        (WebCore::HTMLAnchorElement::setCoords): Ditto.
58536        (WebCore::HTMLAnchorElement::setHref): Ditto.
58537        (WebCore::HTMLAnchorElement::hreflang): Ditto.
58538        (WebCore::HTMLAnchorElement::setHreflang): Ditto.
58539        (WebCore::HTMLAnchorElement::name): Ditto.
58540        (WebCore::HTMLAnchorElement::setName): Ditto.
58541        (WebCore::HTMLAnchorElement::rel): Ditto.
58542        (WebCore::HTMLAnchorElement::setRel): Ditto.
58543        (WebCore::HTMLAnchorElement::rev): Ditto.
58544        (WebCore::HTMLAnchorElement::setRev): Ditto.
58545        (WebCore::HTMLAnchorElement::shape): Ditto.
58546        (WebCore::HTMLAnchorElement::setShape): Ditto.
58547        (WebCore::HTMLAnchorElement::setTarget): Ditto.
58548        (WebCore::HTMLAnchorElement::type): Ditto.
58549        (WebCore::HTMLAnchorElement::setType): Ditto.
58550        * html/HTMLAnchorElement.h: Ditto.
58551
58552        * html/HTMLCollection.cpp:
58553        (WebCore::HTMLCollection::checkForNameMatch): Changed argument to an
58554        AtomicString and removed the caseSensitive boolean, since we're now always
58555        case sensitive.
58556        (WebCore::HTMLCollection::namedItem): Ditto.
58557        (WebCore::HTMLCollection::nextNamedItem): Ditto.
58558        * html/HTMLCollection.h: Ditto.
58559        * html/HTMLFormCollection.cpp:
58560        (WebCore::HTMLFormCollection::getNamedItem): Ditto.
58561        (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
58562        (WebCore::HTMLFormCollection::nextNamedItemInternal): Ditto.
58563        (WebCore::HTMLFormCollection::namedItem): Ditto.
58564        (WebCore::HTMLFormCollection::nextNamedItem): Ditto.
58565        * html/HTMLFormCollection.h: Ditto.
58566        * html/HTMLSelectElement.cpp:
58567        (WebCore::HTMLSelectElement::namedItem): Ditto.
58568        * html/HTMLSelectElement.h: Ditto.
58569
58570        * loader/FrameLoader.cpp:
58571        (WebCore::FrameLoader::gotoAnchor): Use the new findAnchor function.
58572        * page/AccessibilityRenderObject.cpp:
58573        (WebCore::AccessibilityRenderObject::internalLinkElement): Ditto.
58574
585752009-01-05  Darin Adler  <darin@apple.com>
58576
58577        Reviewed by Anders Carlsson.
58578
58579        Bug 23104: minor mistakes in init functions for animation and transition events
58580        https://bugs.webkit.org/show_bug.cgi?id=23104
58581
58582        Test: fast/events/init-events.html
58583
58584        Also fixed two StorageEvent problems the test case uncovered:
58585
58586            Made document.createEvent("StorageEvent") work.
58587            Allow null values for StorageEvent.oldValue and StorageEvent.newValue.
58588
58589        * dom/Document.cpp:
58590        (WebCore::Document::createEvent): Sorted alphabetically by the name of the event
58591        class. Added StorageEvent.
58592
58593        * dom/UIEvent.idl: Fixed typo in a comment.
58594
58595        * dom/WebKitAnimationEvent.cpp:
58596        (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): Use all the arguments.
58597        * dom/WebKitTransitionEvent.cpp:
58598        (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): Ditto.
58599
58600        * storage/StorageEvent.idl: Use the ConvertNullToNullString keyword on the
58601        arguments to initStorageEvent so it can create events with null values for the
58602        oldValue and newValue, just like the real storage events. Note that the properties
58603        already had ConvertNullStringTo=Null, so this is just the other half of that.
58604
586052009-01-05  Darin Adler  <darin@apple.com>
58606
58607        Reviewed by Alexey Proskuryakov.
58608
58609        Bug 23102: turn on unused parameter warnings in WebCore
58610        https://bugs.webkit.org/show_bug.cgi?id=23102
58611
58612        First step: Fix the simple cases where we can just remove an argument name.
58613        Also made a few more things protected and private.
58614
58615        * many files
58616
586172009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58618
58619        Reviewed by Darin Adler.
58620
58621        https://bugs.webkit.org/show_bug.cgi?id=23115
58622        Create a version of ASSERT for use with otherwise unused variables
58623
58624        * loader/appcache/ApplicationCacheStorage.cpp:
58625        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Use the new ASSERT_UNUSED macro.
58626
586272009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58628
58629        Non-Mac build fix.
58630
58631        * loader/appcache/ApplicationCacheStorage.cpp: Include wtf/StringExtras.h for snprintf.
58632
586332009-01-05  Adam Treat  <adam.treat@torchmobile.com>
58634
58635        Reviewed by George Staikos.
58636
58637        Remove unnecessary methods from EmptyFrameLoaderClient
58638
58639        * loader/EmptyClients.h:
58640
586412009-01-05  Alexey Proskuryakov  <ap@webkit.org>
58642
58643        Reviewed by Darin Adler.
58644
58645        https://bugs.webkit.org/show_bug.cgi?id=23077
58646        Make application cache use SQLite built-in user_version
58647
58648        * loader/appcache/ApplicationCacheStorage.cpp:
58649        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Changed to track versions with
58650        PRAGMA user_version.
58651
58652        * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::):
58653        Used the occasion to get rid of the hole in bitmask that was a leftover from opportunistic
58654        cache entries.
58655
586562009-01-04  David Smith  <catfish.man@gmail.com>
58657
58658        Reviewed by Oliver Hunt.
58659
58660        https://bugs.webkit.org/show_bug.cgi?id=23084
58661        Avoid redundant AtomicString conversions
58662
58663        * dom/Node.cpp:
58664        (WebCore::Node::getElementsByTagName): Pass starAtom instead of "*"
58665        (WebCore::Node::getElementsByTagNameNS): Take an AtomicString for the namespace URI
58666        (WebCore::Node::isDefaultNamespace): Ditto
58667        (WebCore::Node::lookupPrefix): Ditto
58668        (WebCore::Node::lookupNamespacePrefix): Ditto
58669        * dom/Node.h: Ditto
58670
586712009-01-04  Darin Adler  <darin@apple.com>
58672
58673        Reviewed by Oliver Hunt.
58674
58675        Bug 23105: canvas setFillColor function ignores alpha argument
58676        https://bugs.webkit.org/show_bug.cgi?id=23105
58677
58678        Test: fast/canvas/set-colors.html
58679
58680        * html/CanvasRenderingContext2D.cpp:
58681        (WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead
58682        of ignoring it and always passing 1.
58683
58684        * html/CanvasStyle.cpp:
58685        (WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments.
58686        (WebCore::CanvasStyle::applyFillColor): Ditto.
58687
586882009-01-04  Darin Adler  <darin@apple.com>
58689
58690        Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors
58691        https://bugs.webkit.org/show_bug.cgi?id=23086
58692
58693        * editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile
58694        in the new search path if it's 0.
58695
586962009-01-04  David Kilzer  <ddkilzer@apple.com>
58697
58698        Don't install *.idl and *.in files as resources
58699
58700        Reviewed by Oliver Hunt.
58701
58702        Don't install these files as resources in the WebCore framework:
58703        - WMLAttributeNames.in
58704        - WMLTagNames.in
58705        - WorkerContext.idl
58706        - WorkerLocation.idl
58707        - WorkerNavigator.idl
58708
58709        * WebCore.xcodeproj/project.pbxproj: Removed resources.
58710
587112009-01-04  Simon Fraser  <simon.fraser@apple.com>
58712
58713        Reviewed by Darin Adler
58714
58715        https://bugs.webkit.org/show_bug.cgi?id=23090
58716
58717        If an object gets a Layout hint, and the style change will result in
58718        the creation of a RenderLayer, then we need to repaint the old position
58719        of the object. This was done for transform, but we have to test opacity too.
58720
58721        Test: fast/repaint/create-layer-repaint.html
58722
58723        * rendering/RenderObject.cpp:
58724        (WebCore::RenderObject::styleWillChange):
58725
587262009-01-04  Darin Adler  <darin@apple.com>
58727
58728        Reviewed by Dan Bernstein.
58729
58730        Bug 23103: Safari's auto-fill no longer works for <select> elements
58731        https://bugs.webkit.org/show_bug.cgi?id=23103
58732        rdar://problem/6472061
58733
58734        * bindings/objc/DOMHTML.mm:
58735        (-[DOMHTMLSelectElement _activateItemAtIndex:]): Implemented this.
58736
587372009-01-04  Adam Treat  <adam.treat@torchmobile.com>
58738
58739        Reviewed by George Staikos.
58740
58741        Add fixedLayoutSize feature to ScrollView to allow for controlling the
58742        layout beyond the constraint of the current viewports dynamic size
58743
58744        * css/MediaQueryEvaluator.cpp:
58745        (WebCore::heightMediaFeatureEval):
58746        (WebCore::widthMediaFeatureEval):
58747        * dom/Element.cpp:
58748        (WebCore::Element::clientWidth):
58749        (WebCore::Element::clientHeight):
58750        * loader/FrameLoaderClient.cpp:
58751        (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
58752        * loader/FrameLoaderClient.h:
58753        * page/FrameView.cpp:
58754        (WebCore::FrameView::layout):
58755        * platform/ScrollView.cpp:
58756        (WebCore::ScrollView::ScrollView):
58757        (WebCore::ScrollView::layoutWidth):
58758        (WebCore::ScrollView::layoutHeight):
58759        (WebCore::ScrollView::fixedLayoutSize):
58760        (WebCore::ScrollView::setFixedLayoutSize):
58761        (WebCore::ScrollView::useFixedLayout):
58762        (WebCore::ScrollView::setUseFixedLayout):
58763        * platform/ScrollView.h:
58764        * rendering/RenderView.cpp:
58765        (WebCore::RenderView::viewHeight):
58766        (WebCore::RenderView::viewWidth):
58767        * rendering/RenderView.h:
58768
587692009-01-03  Rob Buis  <rwlbuis@gmail.com>
58770
58771        Reviewed by Darin.
58772
58773        https://bugs.webkit.org/show_bug.cgi?id=22660
58774        SVG elements that are moved are nor fully invalidated/earsed
58775
58776        Mark the SVG root as needing a layout when its position changes.
58777
58778        Tests: svg/custom/circle-move-invalidation.svg
58779
58780        * rendering/RenderSVGRoot.cpp:
58781        (WebCore::RenderSVGRoot::position):
58782        * rendering/RenderSVGRoot.h:
58783
587842009-01-03  Steve Falkenburg  <sfalken@apple.com>
58785
58786        Build fix.
58787
58788        * loader/FrameLoader.h:
58789
587902009-01-02  Cary Clark  <caryclark@google.com>
58791
58792        Reviewed and landed by Darin Adler.
58793
58794        Bug 22963: write icons before reading them
58795        https://bugs.webkit.org/show_bug.cgi?id=22963
58796
58797        Reverse the order in the icon database main thread loop to
58798        write the pending icons to the database before trying
58799        to read any requested icons. This ensures that a requested icon
58800        has the correct data when read.
58801
58802        * loader/icon/IconDatabase.cpp:
58803        (WebCore::IconDatabase::syncThreadMainLoop):
58804
588052009-01-02  Darin Adler  <darin@apple.com>
58806
58807        * loader/FrameLoader.cpp:
58808        (WebCore::FrameLoader::loadItem): One small thing I forgot in my last check-in.
58809        This cuts down on the number of hash table operations during loading.
58810
588112009-01-02  Dmitry Titov  <dimich@chromium.org>
58812
58813        Reviewed and landed by Darin Adler.
58814
58815        https://bugs.webkit.org/show_bug.cgi?id=23025
58816        DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer.
58817        Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap.
58818        Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents
58819        unnecessary HashMap remove in case the Document is being destroyed.
58820
58821        * bindings/js/DOMTimer.cpp:
58822        (WebCore::DOMTimer::~DOMTimer): removes the id from the timeoutMap.
58823        (WebCore::DOMTimer::install):
58824        (WebCore::DOMTimer::removeById): simply uses 'delete this'.
58825        (WebCore::DOMTimer::fired): same.
58826        (WebCore::DOMTimer::contextDestroyed): same.
58827        * dom/Document.cpp:
58828        (WebCore::Document::removeTimeout): now it only removes the id from the map, does not delete the timer.
58829
588302009-01-02  Darin Adler  <darin@apple.com>
58831
58832        Reviewed by Sam Weinig.
58833
58834        Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
58835        inside its web view when resizing its window
58836        https://bugs.webkit.org/show_bug.cgi?id=23072
58837        rdar://problem/6368028
58838
58839        The first attempt at fixing this did not work.
58840        This time I was able to reproduce the bug and test the fix.
58841
58842        Bug 11212: REGRESSION: Activity window doesn't always list all files until refresh
58843        https://bugs.webkit.org/show_bug.cgi?id=11212
58844        rdar://problem/4959702
58845
58846        I had to fix this second bug because otherwise the WebKit code to trigger the first
58847        fix didn't run.
58848
58849        Also fixes memory use that kept growing as we maintained a set of all URLs loaded in
58850        a particular frame. Bad idea! It's bad enough that we do it for each document, but
58851        the old version kept the set around forever as you moved from one document to the next.
58852
58853        * html/HTMLFrameElementBase.cpp:
58854        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Change this so that we allow
58855        turning off scrolling when the quirk is enabled. We just don't allow turning it on.
58856        This fixes one of the two problems with the initial patch; the other fix is in WebKit.
58857
58858        * loader/DocumentLoader.h: Moved didTellClientAboutLoad and haveToldClientAboutLoad
58859        here from FrameLoader. The old way meant that a given frame would forever remember
58860        the URL of any resources loaded in that frame and never send any "loaded from cache"
58861        client calls about those URLs.
58862
58863        * loader/FrameLoader.cpp:
58864        (WebCore::FrameLoader::loadResourceSynchronously): Removed call to didTellCientAboutLoad.
58865        This is now handled by dispatchWillSendRequest, which is safer since that's the actual
58866        function that tells the client about the load.
58867        (WebCore::FrameLoader::loadedResourceFromMemoryCache): Changed calls to
58868        haveToldClientAboutLoad and didTellClientAboutLoad to call the document loader.
58869        Also removed the call in the case where we don't load from the cache, since
58870        dispatchWillSendRequest now takes care of it.
58871        (WebCore::FrameLoader::dispatchWillSendRequest): Put calls to didTellClientAboutLoad
58872        here. Call it both on the URL we pass in and the URL the client returns; we won't
58873        tell the client about either if it's loaded from the memory cache.
58874
58875        * loader/FrameLoader.h: Removed didTellClientAboutLoad, haveToldClientAboutLoad, and
58876        m_urlsClientKnowsAbout.
58877
58878        * loader/SubresourceLoader.cpp: Removed unneeded load function that called
58879        didTellClientAboutLoad. That's now taken care of in dispatchWillSendRequest.
58880
58881        * loader/SubresourceLoader.h: Removed load function. Also made all members private
58882        except for create and clearClient.
58883
588842009-01-02  Simon Fraser  <simon.fraser@apple.com>
58885
58886        Reviewed by Darin Adler
58887
58888        https://bugs.webkit.org/show_bug.cgi?id=23082
58889
58890        Fix GIF animation by ensuring that the signature of
58891        startAnimation() in the base class matches the method in BitmapImage.
58892
58893        Test: fast/backgrounds/animated-gif-as-background.html
58894
58895        * platform/graphics/Image.h:
58896        (WebCore::Image::startAnimation):
58897
588982009-01-02  David Smith  <catfish.man@gmail.com>
58899
58900        Reviewed by Darin Adler.
58901
58902        https://bugs.webkit.org/show_bug.cgi?id=22699
58903        Enable NodeList caching for getElementsByTagName
58904
58905        test: fast/dom/getelementsbytagnamens-mixed-namespaces.html
58906
58907        * dom/Document.cpp:
58908        (WebCore::FormElementKeyHash::hash): Use WTF::stringHashingStartValue
58909        * dom/Node.cpp:
58910        (WebCore::Node::getElementsByTagNameNS): Ensure rare data and add a node list cache
58911        (WebCore::NodeListsNodeData::invalidateCaches): Invalidate the tag name node list cache as well as the others
58912        (WebCore::NodeListsNodeData::isEmpty): Check the tag name node list cache as well as the others
58913        * dom/NodeRareData.h: Add m_tagNodeListCaches
58914        * dom/QualifiedName.cpp:
58915        * dom/QualifiedName.h: Move QNameHash to the header, make it work on QualifiedNames, and rename to QualifiedNameHash
58916        * dom/StyledElement.cpp:
58917        (WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue
58918        * dom/TagNodeList.cpp:
58919        (WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument
58920        * dom/TagNodeList.h:
58921        (WebCore::TagNodeList::create): Add a NodeList cache argument
58922        * platform/text/StringHash.h:
58923        (WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue
58924        * platform/text/TextEncodingRegistry.cpp:
58925        (WebCore::TextEncodingNameHash::hash): Use WTF::stringHashingStartValue
58926
589272009-01-02  Eric Carlson  <eric.carlson@apple.com>
58928
58929        Reviewed by Darin Adler
58930
58931        Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417>
58932        Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
58933
58934        * rendering/RenderVideo.cpp:
58935        (WebCore::RenderVideo::calcReplacedWidth): Multiply aspect ratio width by style()->effectiveZoom()
58936        (WebCore::RenderVideo::calcReplacedHeight): Multiply aspect ratio height by style()->effectiveZoom()
58937
589382009-01-02  David Kilzer  <ddkilzer@apple.com>
58939
58940        BUILD FIX (r39552): Add mediaControls.css to other build files
58941
58942        * GNUmakefile.am:
58943        * WebCore.pro:
58944        * WebCore.vcproj/WebCore.vcproj:
58945
589462009-01-02  David Kilzer  <ddkilzer@apple.com>
58947
58948        Try to fix Wx build after r39427
58949
58950        * platform/graphics/wx/PathWx.cpp:
58951        (WebCore::Path::strokeBoundingRect): Added stub.
58952
589532009-01-02  Alexey Proskuryakov  <ap@webkit.org>
58954
58955        Reviewed by Adele Peterson.
58956
58957        <rdar://problem/6471356> Failed assertion on quit
58958
58959        * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::~ThreadGlobalData):
58960        Only assert that empty string are all removed on secondary threads.
58961
589622009-01-02  David Kilzer  <ddkilzer@apple.com>
58963
58964        Bug 23081: These files are no longer part of the KDE libraries
58965
58966        <https://bugs.webkit.org/show_bug.cgi?id=23081>
58967
58968        Reviewed by Darin Adler.
58969
58970        Removed "This file is part of the KDE libraries" comment from
58971        source files.  Added or updated Apple copyrights as well.
58972
58973        No tests since there are only changes to comments.
58974
58975        * bridge/testbindings.cpp:
58976        * html/HTMLEntityNames.gperf:
58977        * loader/Cache.h:
58978        * loader/CachedCSSStyleSheet.h:
58979        * loader/CachedResourceClient.h:
58980        * loader/CachedResourceClientWalker.cpp:
58981        * loader/CachedResourceClientWalker.h:
58982        * loader/CachedScript.cpp:
58983        * loader/CachedScript.h:
58984        * loader/CachedXBLDocument.cpp:
58985        * loader/CachedXBLDocument.h:
58986        * loader/CachedXSLStyleSheet.cpp:
58987        * loader/CachedXSLStyleSheet.h:
58988        * rendering/GapRects.h:
58989        * xml/XMLSerializer.cpp:
58990
589912009-01-02  Simon Fraser  <simon.fraser@apple.com>
58992
58993        Reviewed by Darin Adler
58994
58995        Use an OwnPtr for m_chromeClient.
58996
58997        * svg/graphics/SVGImage.cpp:
58998        (WebCore::SVGImage::~SVGImage):
58999        (WebCore::SVGImage::dataChanged):
59000        * svg/graphics/SVGImage.h:
59001
590022009-01-02  Simon Fraser  <simon.fraser@apple.com>
59003
59004        Reviewed by Darin Adler
59005
59006        https://bugs.webkit.org/show_bug.cgi?id=22981
59007
59008        Repaints inside of an SVGImage were thrown on the floor,
59009        which broke incremental painting due to loading, or SVG animation.
59010        Fix this by assigning the SVGImage a ChromeClient subclass that passes
59011        along repaints via a new method on ImageObserver, which also takes
59012        a rect parameter for the changed rect, allowing incremental repaints.
59013        Fix RenderImage::imageChanged to take advantage of this changedRect to
59014        only repaint the changed parts of the image.
59015
59016        This also enables incremental painting for canvas-as-image, so
59017        add tests for that too.
59018
59019        Tests: fast/backgrounds/animated-svg-as-background.html
59020               fast/backgrounds/animated-svg-as-mask.html
59021               fast/canvas/canvas-as-image-incremental-repaint.html
59022               fast/canvas/canvas-as-image.html
59023               fast/images/animated-svg-as-image.html
59024
59025        * css/CSSCanvasValue.cpp:
59026        (WebCore::CSSCanvasValue::canvasChanged):
59027        * loader/CachedImage.cpp:
59028        (WebCore::CachedImage::notifyObservers):
59029        (WebCore::CachedImage::data):
59030        (WebCore::CachedImage::changedInRect):
59031        * loader/CachedImage.h:
59032        * loader/CachedResourceClient.h:
59033        (WebCore::CachedResourceClient::imageChanged):
59034        * platform/graphics/ImageObserver.h:
59035        * rendering/RenderBox.cpp:
59036        (WebCore::RenderBox::imageChanged):
59037        * rendering/RenderBox.h:
59038        * rendering/RenderImage.cpp:
59039        (WebCore::RenderImage::imageChanged):
59040        * rendering/RenderImage.h:
59041        * rendering/RenderListMarker.cpp:
59042        (WebCore::RenderListMarker::imageChanged):
59043        * rendering/RenderListMarker.h:
59044        * rendering/RenderObject.cpp:
59045        (WebCore::RenderObject::imageChanged):
59046        * rendering/RenderObject.h:
59047        (WebCore::RenderObject::imageChanged):
59048        * rendering/RenderSVGImage.cpp:
59049        (WebCore::RenderSVGImage::imageChanged):
59050        * rendering/RenderSVGImage.h:
59051        * rendering/RenderScrollbarPart.cpp:
59052        (WebCore::RenderScrollbarPart::imageChanged):
59053        * rendering/RenderScrollbarPart.h:
59054        * rendering/RenderTableCol.cpp:
59055        (WebCore::RenderTableCol::imageChanged):
59056        * rendering/RenderTableCol.h:
59057        * rendering/RenderTableRow.cpp:
59058        (WebCore::RenderTableRow::imageChanged):
59059        * rendering/RenderTableRow.h:
59060        * rendering/RenderTableSection.cpp:
59061        (WebCore::RenderTableSection::imageChanged):
59062        * rendering/RenderTableSection.h:
59063        * svg/graphics/SVGImage.cpp:
59064        (WebCore::SVGImageChromeClient::SVGImageChromeClient):
59065        (WebCore::SVGImageChromeClient::image):
59066        (WebCore::SVGImageChromeClient::chromeDestroyed):
59067        (WebCore::SVGImageChromeClient::repaint):
59068        (WebCore::SVGImage::SVGImage):
59069        (WebCore::SVGImage::~SVGImage):
59070        (WebCore::SVGImage::dataChanged):
59071        * svg/graphics/SVGImage.h:
59072
590732009-01-02  Eric Carlson  <eric.carlson@apple.com>
59074
59075        Reviewed by Darin Adler
59076
59077        https://bugs.webkit.org/show_bug.cgi?id=23043
59078
59079        Pull media controls css out of html4.css into separate file. Don't generate
59080        wml, svg, or media css globals unless the feature is enabled.
59081
59082        * DerivedSources.make:
59083            Don't include css for unused features.
59084
59085        * WebCore.xcodeproj/project.pbxproj:
59086            include mediaControls.css
59087
59088        * css/CSSStyleSelector.cpp:
59089        (WebCore::CSSStyleSelector::styleForElement):
59090            don't parse or add media css unless VIDEO feature is enabled and the target
59091            element is video or audio
59092
59093        * css/html4.css:
59094            moved media controls css to mediaControls.css
59095
59096        * css/mediaControls.css: Added.
59097
590982009-01-02  Alexey Proskuryakov  <ap@webkit.org>
59099
59100        Reviewed by Darin Adler.
59101
59102        https://bugs.webkit.org/show_bug.cgi?id=23022
59103        Fix multiple issues with appcache online whitelist handling
59104
59105        Test: http/tests/appcache/online-whitelist.html
59106
59107        * loader/appcache/ApplicationCache.cpp:
59108        (WebCore::ApplicationCache::isURLInOnlineWhitelist): Test whitelist entries as prefixes,
59109        making it possible to use them for CGI invocation (as required by HTML5).
59110
59111        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
59112        Re-ordered checks, so that resources that are cached, but are also listed in online whitelist
59113        are loaded from the cache. This is required by HTML5, although Firefox doesn't match.
59114
59115        * loader/appcache/ManifestParser.cpp:
59116        (WebCore::parseManifest):
59117        * loader/appcache/ManifestParser.h:
59118        * loader/appcache/ApplicationCache.h:
59119        (WebCore::ApplicationCache::onlineWhitelist):
59120        * loader/appcache/ApplicationCacheStorage.cpp:
59121        (WebCore::ApplicationCacheStorage::store):
59122        (WebCore::ApplicationCacheStorage::loadCache):
59123        Changed online whitelist to be a vector of URLs, which is better suited for the new algorithm.
59124
591252009-01-02  Darin Adler  <darin@apple.com>
59126
59127        Reviewed by Oliver Hunt.
59128
59129        Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
59130        https://bugs.webkit.org/show_bug.cgi?id=23072
59131        rdar://problem/6368028
59132
59133        * WebCore.base.exp: Updated.
59134        * WebCore.xcodeproj/project.pbxproj: Mark HTMLHeadElement.h Private so it can be used in WebKit.
59135
59136        * dom/Document.cpp:
59137        (WebCore::Document::Document): Initialize m_frameElementsShouldIgnoreScrolling to false.
59138        * dom/Document.h: Added setFrameElementsShouldIgnoreScrolling, frameElementsShouldIgnoreScrolling,
59139        and m_frameElementsShouldIgnoreScrolling.
59140
59141        * html/HTMLFrameElementBase.cpp:
59142        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Don't allow changes to the scrolling attribute
59143        to affect the scrolling mode if frameElementsShouldIgnoreScrolling() returns true. This is only
59144        triggered on Mac OS X when running the Dictionary application.
59145
591462009-01-02  Alexey Proskuryakov  <ap@webkit.org>
59147
59148        Reviewed by Darin Adler.
59149
59150        https://bugs.webkit.org/show_bug.cgi?id=23036
59151        <rdar://problem/6451666> Implement AppCache fallback entries (23036)
59152
59153        Test: http/tests/appcache/fallback.html
59154
59155        * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Use fallback
59156        entries if normal loading fails.
59157
59158        * loader/DocumentLoader.cpp:
59159        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Do not prevent normal
59160        loading for resources that match fallback namespaces - they are only loaded from the cache
59161        if that fails.
59162        (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Get a fallback entry for
59163        resource from associated appcache, or from passed in one, if any.
59164        (WebCore::DocumentLoader::scheduleLoadFallbackResourceFromApplicationCache): If a fallback
59165        entry for resourse exists, add it to pending substitute loads.
59166
59167        * loader/DocumentLoader.h: Added new functions for loading fallback data for resources.
59168
59169        * loader/ResourceLoader.h:
59170        * loader/ResourceLoader.cpp:
59171        (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): This function
59172        is called when normal loading fails (which includes network failures, 4xx and 5xx responses,
59173        and cross-origin redirects) to load appcache fallback data instead. It can use either the
59174        cache that is associated with the browsing context, or a custom one if association is yet
59175        to take place.
59176        (WebCore::ResourceLoader::willSendRequest): Try using fallback data.
59177        (WebCore::ResourceLoader::didReceiveResponse): Ditto.
59178        (WebCore::ResourceLoader::didFail): Ditto.
59179
59180        * loader/MainResourceLoader.cpp:
59181        (WebCore::MainResourceLoader::didReceiveResponse): Locate an appropriate cache and load
59182        fallback data from it if loading fails. The browsing context may still be associated with
59183        its previous document here, so the cache to load from must be passed explicitly.
59184        (WebCore::MainResourceLoader::didFail): Ditto.
59185        (WebCore::MainResourceLoader::load): Remove unnecessary check and FIXME.
59186
59187        * loader/appcache/ApplicationCache.cpp:
59188        (WebCore::ApplicationCache::setFallbackURLs):
59189        (WebCore::ApplicationCache::urlMatchesFallbackNamespace):
59190        * loader/appcache/ApplicationCache.h:
59191        (WebCore::ApplicationCache::fallbackURLs):
59192        * loader/appcache/ApplicationCacheStorage.cpp:
59193        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
59194        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
59195        (WebCore::ApplicationCacheStorage::store):
59196        (WebCore::ApplicationCacheStorage::loadCache):
59197        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
59198        * loader/appcache/ApplicationCacheStorage.h:
59199        * loader/appcache/ApplicationCacheGroup.cpp:
59200        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
59201        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
59202        * loader/appcache/ApplicationCacheGroup.h:
59203        Implement fallback map saving and loading, pass it to the cache.
59204
59205        * loader/appcache/ManifestParser.h: Use a correct data structure for fallback map - keys
59206        are matched by prefix, so HAshMap cannot be used.
59207
59208        * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Fix bugs in fallback section
59209        parsing.
59210
592112009-01-01  Oliver Hunt  <oliver@apple.com>
59212
59213        Reviewed by Dan Bernstein.
59214
59215        <rdar://problem/6450530> WebCore::FontPlatformData should not leak
59216
59217        Whoops, previous patch should also have fixed the font referencing in
59218        the constructor.
59219
59220        * WebCore.xcodeproj/project.pbxproj:
59221        * platform/graphics/mac/FontPlatformDataMac.mm:
59222        (WebCore::FontPlatformData::FontPlatformData):
59223
592242009-01-01  Oliver Hunt  <oliver@apple.com>
59225
59226        Reviewed by Dan Bernstein.
59227
59228        <rdar://problem/6450530> WebCore::FontPlatformData should not leak
59229
59230        Make sure we only adopt the new font, rather than re-referencing (and so leaking).
59231
59232        * platform/graphics/mac/FontPlatformDataMac.mm:
59233        (WebCore::FontPlatformData::setFont):
59234
592352009-01-01  Darin Adler  <darin@apple.com>
59236
59237        Reviewed by Dan Bernstein.
59238
59239        Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search)
59240        https://bugs.webkit.org/show_bug.cgi?id=23071
59241
59242        Also fix some things that Dan suggested during review of the ICU search patch that I forgot
59243        the first time around.
59244
59245        * editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that
59246        we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely.
59247        Removed unused m_atBreak data member from the non-ICU code path.
59248        (WebCore::TextIterator::TextIterator): Move null check up.
59249        (WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include
59250        collapsed whitespace. This was left over from an earlier version of the patch.
59251        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
59252        Move null check up.
59253
592542009-01-01  Simon Fraser  <simon.fraser@apple.com>
59255
59256        Reviewed by Darin Adler, Oliver Hunt
59257
59258        https://bugs.webkit.org/show_bug.cgi?id=23065
59259
59260        Enable incremental painting of canvas. This turns incremental painting
59261        back on, and fixes issues with stroke width and miters, calling willDraw()
59262        for strokeText and fillText, and taking shadows into account.
59263
59264        Test: fast/canvas/canvas-incremental-repaint.html
59265
59266        * html/CanvasRenderingContext2D.cpp:
59267        (WebCore::CanvasStrokeStyleApplier::CanvasStrokeStyleApplier):
59268        (WebCore::CanvasStrokeStyleApplier::strokeStyle):
59269        (WebCore::CanvasRenderingContext2D::stroke):
59270        (WebCore::CanvasRenderingContext2D::willDraw):
59271        (WebCore::CanvasRenderingContext2D::putImageData):
59272        (WebCore::CanvasRenderingContext2D::drawTextInternal):
59273        * html/CanvasRenderingContext2D.h:
59274        * html/HTMLCanvasElement.cpp:
59275        (WebCore::HTMLCanvasElement::willDraw):
59276        * platform/graphics/FloatRect.h:
59277        (WebCore::mapRect): new method to map a rect contained
59278        in one rect to an equivalent rect inside another rect.
59279
592802008-12-29  Konstantin Käfer  <kkaefer@gmail.com>
59281
59282        Reviewed by Tim Hatcher.
59283
59284        Fix for https://bugs.webkit.org/show_bug.cgi?id=17229
59285        <rdar://problem/5732829> Inspector should show properties of all JS objects in Console
59286
59287        Prints objects not as plain text but makes them expandable so that
59288        they can be inspected.
59289
59290        * inspector/front-end/Console.js:
59291        (): added a parameter "inline" to the WebInspector.Console._format function which indicates
59292            whether the object is printed in the context of another string (with console.log()) or
59293            as sole element.
59294        (.): objects and DOM nodes are now printed in an expandable form when they are printed alone
59295            (i.e. not in the context of a console.log() string) so that they can be inspected.
59296        * inspector/front-end/PropertiesSection.js:
59297        (WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings
59298            in that case, the Node is inserted into the title instead of the string value of the passed
59299            object. This is used for displaying linkified titles, for example when inspecting DOM nodes,
59300            the syntax highlighted HTML representation is shown instead of the plain source code.
59301        * inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector.
59302
593032009-01-01  Darin Adler  <darin@apple.com>
59304
59305        Reviewed by Dan Bernstein.
59306
59307        Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
59308        https://bugs.webkit.org/show_bug.cgi?id=23051
59309        rdar://problem/3574497
59310
59311        Test: editing/execCommand/findString-diacriticals.html
59312
59313        * editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new
59314        name, since it doesn't always use a circular buffer any more. Changed the interface
59315        so it can work well in the new chunky comparison mode for ICU search, and also
59316        added private data members for both the ICU-search and non-ICU-search code paths.
59317        (WebCore::TextIterator::TextIterator): Use the versions of the Range functions
59318        that don't take an exception code.
59319        (WebCore::TextIterator::handleTextBox): Added a special case to handle the position
59320        of a collapsed-away space better. This is not needed for search mechanism, but was
59321        helpful in an earlier version of this patch, and is still an improvement.
59322        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the
59323        versions of the Range functions that don't take an exception code.
59324        (WebCore::CharacterIterator::range): Ditto.
59325        (WebCore::characterSubrange): Added. Helper function used in both places below where
59326        we want to convert a range and character offsets into a subrange.
59327        (WebCore::WordAwareIterator::advance): Use the versions of the Range functions that
59328        don't take an exception code.
59329        (WebCore::createSearcher): Added.
59330        (WebCore::searcher): Added.
59331        (WebCore::lockSearcher): Added.
59332        (WebCore::unlockSearcher): Added.
59333        (WebCore::SearchBuffer::SearchBuffer): Added.
59334        (WebCore::SearchBuffer::~SearchBuffer): Added.
59335        (WebCore::SearchBuffer::append): Added.
59336        (WebCore::SearchBuffer::atBreak): Added.
59337        (WebCore::SearchBuffer::reachedBreak): Added.
59338        (WebCore::SearchBuffer::search): Added.
59339        (WebCore::SearchBuffer::length): Added.
59340        (WebCore::TextIterator::subrange): Changed to call the characterSubrange
59341        function above.
59342        (WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the
59343        Range functions that don't take an exception code. Also tweak some other details
59344        of the code.
59345        (WebCore::isAllCollapsibleWhitespace): Added.
59346        (WebCore::collapsedToBoundary): Added.
59347        (WebCore::findPlainText): Rewrote to use new interface and streamline the
59348        logic a bit.
59349
59350        Add the relevant files in the icu directory. As icu/README says, the "icu"
59351        directory is really just for Mac OS X, where we have the ICU library but not
59352        the headers installed. It should be moved inside platform/mac at some point
59353        to make this more clear (and the copy in JavaScriptCore should be moved
59354        somewhere similar for the same reason).
59355
59356        * icu/unicode/ucoleitr.h: Added.
59357        * icu/unicode/usearch.h: Added.
59358
593592009-01-01  Oliver Hunt  <oliver@apple.com>
59360
59361        Reviewed by Cameron Zwarich.
59362
59363        CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0
59364        <rdar://problem/5821130>
59365
59366        This was caused by a plugin instance calling into JS code that removed the plugin
59367        object.  This fix is to cache the global object locally in a ProtectedPtr so we don't
59368        need to rely on the continued existence of the plugin instance.
59369
59370        * bridge/NP_jsobject.cpp:
59371        (_NPN_InvokeDefault):
59372        (_NPN_Invoke):
59373        (_NPN_Evaluate):
59374        (_NPN_Construct):
59375
593762008-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
59377
59378        Reviewed by Holger Freyther.
59379
59380        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22964
59381
59382        MinGW build failure.
59383
59384        * platform/graphics/qt/SimpleFontDataQt.cpp:
59385        (WebCore::SimpleFontData::containsCharacters):
59386
593872008-12-31  Alexander V. Butenko  <alex@digiqube.com>
59388
59389        Reviewed by Holger Freyther.
59390
59391        https://bugs.webkit.org/show_bug.cgi?id=22750
59392        [gtk] webkit up to r39121 crash on image urls like
59393        http:///sitename.com
59394
59395        * platform/network/soup/ResourceHandleSoup.cpp:
59396        (WebCore::ResourceHandle::start):
59397
593982008-12-31  Hiroyuki Ikezoe  <poincare@ikezoe.net>
59399
59400        Reviewed by Holger Freyther.
59401
59402        https://bugs.webkit.org/show_bug.cgi?id=18310
59403
59404        * platform/graphics/gtk/SimpleFontDataPango.cpp:
59405        (WebCore::SimpleFontData::determinePitch): Do not invoke
59406        isFixedPitch() when the font is a custom font.
59407
594082008-12-31  Oliver Hunt  <oliver@apple.com>
59409
59410        Reviewed by Cameron Zwarich.
59411
59412        More work on Bug 3781: Animation via canvas could be faster
59413        <https://bugs.webkit.org/show_bug.cgi?id=3781>
59414
59415        Make use of the fast path parsing of color strings that Color
59416        uses.  This improves performance of '#rgb', '#rrggbb', etc and
59417        named (eg. 'green') colors.
59418
59419        Improves frame rate of test by around 40%
59420
59421        * html/CanvasStyle.cpp:
59422        (WebCore::CanvasStyle::applyStrokeColor):
59423        (WebCore::CanvasStyle::applyFillColor):
59424
594252008-12-30  Simon Fraser  <simon.fraser@apple.com>
59426
59427        Reviewed by Darin Adler
59428
59429        https://bugs.webkit.org/show_bug.cgi?id=23042
59430
59431        Rather than doing a repaint() inside of computeAbsoluteRepaintRect()
59432        when there is a reflection, compute the location of the rect inside
59433        the reflection and take the union of the unreflected and reflected rects.
59434
59435        Test: fast/repaint/reflection-redraw.html
59436
59437        * rendering/RenderBox.cpp:
59438        (WebCore::RenderBox::computeAbsoluteRepaintRect):
59439        * rendering/RenderObject.cpp:
59440        (WebCore::RenderObject::reflectedRect):
59441        * rendering/RenderObject.h:
59442
594432008-12-30  Dan Bernstein  <mitz@apple.com>
59444
59445        Reviewed by Adele Peterson.
59446
59447        - fix <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com
59448
59449        Test: fast/forms/placeholder-non-textfield.html
59450
59451        * html/HTMLInputElement.cpp:
59452        (WebCore::HTMLInputElement::parseMappedAttribute): Only call
59453        updatePlaceholderVisibility() when the placeholder attribute changes if
59454        the element is a text field.
59455
594562008-12-30  Oliver Hunt  <oliver@apple.com>
59457
59458        Reviewed by Antti Koivisto.
59459
59460        First step of Bug 3781: Animation via canvas could be faster
59461
59462        Amortise the cost of calling repaint by coalescing repaint rects
59463        while the canvas is drawn to.  In a later step we'll stop calling
59464        repaint() directly, and instead have all dirty canvases repaint
59465        at the end of JS execution.
59466
59467        * html/HTMLCanvasElement.cpp:
59468        (WebCore::HTMLCanvasElement::willDraw):
59469        (WebCore::HTMLCanvasElement::paint):
59470        * html/HTMLCanvasElement.h:
59471
594722008-12-30  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
59473
59474        Reviewed by Antti Koivisto.
59475
59476        Bug 22931: Using the inspector with purgeable resources leads to assertion failures
59477        <https://bugs.webkit.org/show_bug.cgi?id=22931>
59478
59479        Change InspectorResource::sourceString() so that it doesn't attempt to
59480        unsafely get the data of a purgeable CachedResource.
59481
59482        * inspector/InspectorController.cpp:
59483        (WebCore::InspectorResource::sourceString): Attempt to make a purgeable
59484        resource unpurgeable, and if this not possible, return an empty string.
59485        * loader/CachedResource.h: Make InspectorResource a friend of CachedResource.
59486
594872008-12-29  Alexey Proskuryakov  <ap@webkit.org>
59488
59489        Reviewed by Sam Weinig.
59490
59491        https://bugs.webkit.org/show_bug.cgi?id=23023
59492        Remove incomplete support for opportunistic appcache entries
59493
59494        No change in behavior, thus no test.
59495
59496        * loader/appcache/ApplicationCacheResource.h:
59497        (WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema
59498        version changes.
59499
59500        * loader/DocumentLoader.cpp:
59501        (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
59502        * loader/appcache/ApplicationCacheGroup.cpp:
59503        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
59504        * loader/appcache/ApplicationCacheResource.cpp:
59505        (WebCore::ApplicationCacheResource::dumpType):
59506
595072008-12-29  Dirk Schulze  <krit@webkit.org>
59508
59509        Reviewed by Oliver Hunt.
59510
59511        Add arcTo support for Cairo. This is needed by Canvas.
59512        Cairo has no native support for arcTo. We have to make our
59513        own implementation.
59514
59515        [Canvas] Cairo needs arcTo
59516        https://bugs.webkit.org/show_bug.cgi?id=23003
59517
59518        * platform/graphics/cairo/PathCairo.cpp:
59519        (WebCore::Path::addArcTo):
59520
595212008-12-29  Oliver Hunt  <oliver@apple.com>
59522
59523        Reviewed by Cameron Zwarich.
59524
59525        Bug 23030: Cannot setTransform with a non-invertible ctm
59526
59527        Removed a series of unnecessary and incorrect checks for an invertible
59528        transform.
59529
59530        Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html
59531
59532        * html/CanvasRenderingContext2D.cpp:
59533        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
59534        (WebCore::CanvasRenderingContext2D::setFillStyle):
59535            These properties are not effected by the current CTM, so there
59536            is no need to prevent them from being assigned.
59537
59538        (WebCore::CanvasRenderingContext2D::setTransform):
59539            The whole point of tracking whether the current CTM was expected to be
59540            non-invertible was to allow setTransform to be used when the CTM had become
59541            non-invertible.
59542
59543        (WebCore::CanvasRenderingContext2D::beginPath):
59544        (WebCore::CanvasRenderingContext2D::closePath):
59545            beginPath and closePath change the state of the path, but not any of
59546            its coordinates so there is no need prevent them from being called.
59547
595482008-12-29  Josh Roesslein  <jroesslein@gmail.com>
59549
59550        Reviewed by Oliver Hunt.
59551
59552        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22968
59553
59554        Context menu rendering error when full page zoomed
59555
59556        * page/ContextMenuController.cpp:
59557        (WebCore::ContextMenuController::handleContextMenuEvent):
59558
595592008-12-29  Sam Weinig  <sam@webkit.org>
59560
59561        Reviewed by Mark Rowe.
59562
59563        Add some basic memory statistic logging for Node.
59564
59565        * dom/Node.cpp:
59566        (WebCore::Node::dumpStatistics):
59567        (WebCore::Node::Node):
59568        (WebCore::Node::~Node):
59569        (WebCore::Node::setDocument):
59570        * dom/Node.h:
59571
595722008-12-29  Sam Weinig  <sam@webkit.org>
59573
59574        Reviewed by Anders Carlsson.
59575
59576        Remove one use of DeprecatedPtrList.
59577
59578        * css/CSSRuleList.cpp:
59579        (WebCore::CSSRuleList::~CSSRuleList):
59580        (WebCore::CSSRuleList::length):
59581        (WebCore::CSSRuleList::item):
59582        (WebCore::CSSRuleList::deleteRule):
59583        (WebCore::CSSRuleList::append):
59584        (WebCore::CSSRuleList::insertRule):
59585        * css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector.
59586        I measured no performance change and was comforted by the fact that we use a Vector
59587        for StyleList, which serves the exact same purpose.
59588
595892008-12-29  Adele Peterson  <adele@apple.com>
59590
59591        Reviewed by Brady Eidson.
59592
59593        Fix for https://bugs.webkit.org/show_bug.cgi?id=21797
59594        <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when
59595        running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html
59596
59597        Return early if the document is trying to get or set a cookie with an empty cookie url.
59598
59599        * dom/Document.cpp:
59600        (WebCore::Document::cookie):
59601        (WebCore::Document::setCookie):
59602
596032008-12-28  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
59604
59605        Reviewed by Sam Weinig.
59606
59607        Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions
59608        <https://bugs.webkit.org/show_bug.cgi?id=23016>
59609        <rdar://problem/6425077>
59610
59611        JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while
59612        reparsing all JS functions, which will execute JS in the inspector. Depending
59613        on the order in which functions are recompiled, a function could have a new
59614        body but other functions that have not been recompiled could have an optimized
59615        (in the sense of inline caching) call to it, bypassing the check of whether or
59616        not there is generated bytecode. This leads to a crash caused by accessing
59617        indices off of a null pointer.
59618
59619        To fix the problem, simply delay calling sourceParsed() until after all functions
59620        have been reparsed. The crash isn't 100% reproducible, but on the one test case
59621        I have, this makes it impossible to reproduce after a large number of attempts,
59622        when it used to happen every few attempts.
59623
59624        * inspector/JavaScriptDebugServer.cpp:
59625        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
59626
596272008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59628
59629        Rubber-stamped by Antti Koivisto.
59630        Oops, remove some last minute ASSERTS that are obviously wrong.
59631
59632        * rendering/RenderTextControlMultiLine.cpp:
59633        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
59634        * rendering/RenderTextControlSingleLine.cpp:
59635        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
59636
596372008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59638
59639        Reviewed by Antti Koivisto.
59640
59641        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23015
59642
59643        Don't rely on HTMLFormControlElement in RenderTextControl.
59644
59645        Introduce an abstract FormControlElement class, containing the
59646        valueMatchesRenderer/setValueMatchesRenderer, the only HTMLFormControlElement
59647        specific methods that RenderTextControl relies on.
59648
59649        This makes it possible for WML to reuse RenderTextControl.
59650        RenderTextControlSingleLine still relies on HTMLInputElement,
59651        this will change if WMLInputElement is introduced.
59652
59653        * GNUmakefile.am:
59654        * WebCore.vcproj/WebCore.vcproj:
59655        * WebCore.xcodeproj/project.pbxproj:
59656        * dom/FormControlElement.h: Added.
59657        (WebCore::FormControlElement::~FormControlElement):
59658        (WebCore::FormControlElement::FormControlElement):
59659        * html/HTMLFormControlElement.h:
59660        (WebCore::HTMLFormControlElement::valueMatchesRenderer):
59661        (WebCore::HTMLFormControlElement::setValueMatchesRenderer):
59662        * html/HTMLTextAreaElement.cpp:
59663        (WebCore::HTMLTextAreaElement::updateValue):
59664        * rendering/RenderTextControl.cpp:
59665        (WebCore::RenderTextControl::adjustInnerTextStyle):
59666        (WebCore::RenderTextControl::updateFromElement):
59667        (WebCore::RenderTextControl::setInnerTextValue):
59668        (WebCore::RenderTextControl::selectionChanged):
59669        (WebCore::RenderTextControl::formControlElement):
59670        * rendering/RenderTextControl.h:
59671        * rendering/RenderTextControlMultiLine.cpp:
59672        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
59673        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
59674        * rendering/RenderTextControlSingleLine.cpp:
59675        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
59676        (WebCore::RenderTextControlSingleLine::updateFromElement):
59677
596782008-12-28  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
59679
59680        Reviewed by Darin Adler.
59681
59682        Bug 23006: Many Loader::Host member functions are not safe to use reentrantly
59683        <https://bugs.webkit.org/show_bug.cgi?id=23006>
59684        <rdar://problem/6216106>
59685
59686        Many Loader::Host member functions set m_processingResource to true when they
59687        begin processing a resource and set it to false when they are done. Thanks to
59688        JavaScript and the web inspector, almost anything can happen during the
59689        processing of a resource, including these functions being called reentrantly,
59690        which is unsafe due to this way of using m_processingResource.
59691
59692        This can theoretically cause a Loader::Host to be used after it is freed,
59693        because when Loader::servedPendingRequests() is called, it will free Hosts
59694        that have m_processingResource set to false.
59695
59696        To fix this, we replace m_processingResource with m_numResourcesProcessing,
59697        which is incremented and decremented using a helper object, ProcessingResource.
59698
59699        There are no occurrences of crashes caused by this bug that are reproducible
59700        by multiple people, but this fixes the problem of m_processingResource being
59701        set to false while a Host is still alive.
59702
59703        * loader/loader.cpp:
59704        (WebCore::Loader::Host::Host):
59705        (WebCore::Loader::Host::didFinishLoading): Change to use ProcessingResource
59706        instead of manually setting m_processingResource.
59707        (WebCore::Loader::Host::didFail): Ditto.
59708        (WebCore::Loader::Host::didReceiveData): Ditto.
59709        * loader/loader.h:
59710        (WebCore::Loader::Host::ProcessingResource::ProcessingResource): Added.
59711        (WebCore::Loader::Host::ProcessingResource::~ProcessingResource): Added.
59712        (WebCore::Loader::Host::processingResource): Change to use m_numResourcesProcessing
59713        instead of just getting m_processingResource.
59714
597152008-12-28  Alexey Proskuryakov  <ap@webkit.org>
59716
59717        Reviewed by Darin Adler.
59718
59719        https://bugs.webkit.org/show_bug.cgi?id=23007
59720        REGRESSION: Timer-related crash when closing Web Inspector
59721
59722        Test: fast/dom/Window/remove-timeout-crash.html
59723
59724        * bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::fired): Besides deleting the timer, make
59725        sure to remove it from a Document map.
59726
597272008-12-28  Alexey Proskuryakov  <ap@webkit.org>
59728
59729        Reviewed by Anders Carlsson.
59730
59731        https://bugs.webkit.org/show_bug.cgi?id=23012
59732        Bring application cache manifest parsing up to date
59733
59734        Test: http/tests/appcache/manifest-parsing.html
59735
59736        * loader/appcache/ManifestParser.cpp:
59737        (WebCore::Mode): Added a constant for unknown sections, which are ignored when parsing. This
59738        is necessary for future extensions.
59739        (WebCore::parseManifest): Parse unknown sections correctly. Ignore trailing tokens in
59740        supported sections.
59741
597422008-12-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
59743
59744        Reviewed by Darin Adler.
59745
59746        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22996
59747
59748        RenderTextControl heavily depends on HTMLInputElement & HTMLTextAreaElement.
59749        It handles multi & single line text control rendering in one class. Split up
59750        in two new classes: RenderTextControlSingleLine & RenderTextControlMultiLine.
59751
59752        This has several benefits - code is more readable now, the memory usage
59753        for RenderTextControlMultiLine is reduced, as all stuff related to search fields
59754        lives in RenderTextControlSingleLine, and it's easier to introduce an
59755        abstraction for input/textarea-like elements for other HTML flavours like WML.
59756
59757        * GNUmakefile.am:
59758        * WebCore.order:
59759        * WebCore.pro:
59760        * WebCore.scons:
59761        * WebCore.vcproj/WebCore.vcproj:
59762        * WebCore.xcodeproj/project.pbxproj:
59763        * WebCoreSources.bkl:
59764        * html/HTMLInputElement.cpp:
59765        (WebCore::HTMLInputElement::createRenderer):
59766        (WebCore::HTMLInputElement::defaultEventHandler):
59767        (WebCore::HTMLInputElement::updatePlaceholderVisibility):
59768        (WebCore::HTMLInputElement::addSearchResult):
59769        (WebCore::HTMLInputElement::onSearch):
59770        * html/HTMLTextAreaElement.cpp:
59771        (WebCore::HTMLTextAreaElement::createRenderer):
59772        (WebCore::HTMLTextAreaElement::defaultEventHandler):
59773        * rendering/RenderTextControl.cpp:
59774        (WebCore::RenderTextControl::RenderTextControl):
59775        (WebCore::RenderTextControl::~RenderTextControl):
59776        (WebCore::RenderTextControl::styleDidChange):
59777        (WebCore::RenderTextControl::adjustInnerTextStyle):
59778        (WebCore::RenderTextControl::createSubtreeIfNeeded):
59779        (WebCore::RenderTextControl::textBlockHeight):
59780        (WebCore::RenderTextControl::textBlockWidth):
59781        (WebCore::RenderTextControl::updateFromElement):
59782        (WebCore::RenderTextControl::setInnerTextValue):
59783        (WebCore::RenderTextControl::setSelectionRange):
59784        (WebCore::RenderTextControl::visiblePositionForIndex):
59785        (WebCore::RenderTextControl::indexForVisiblePosition):
59786        (WebCore::RenderTextControl::subtreeHasChanged):
59787        (WebCore::RenderTextControl::scrollbarThickness):
59788        (WebCore::RenderTextControl::calcHeight):
59789        (WebCore::RenderTextControl::hitInnerTextBlock):
59790        (WebCore::RenderTextControl::forwardEvent):
59791        (WebCore::RenderTextControl::calcPrefWidths):
59792        (WebCore::RenderTextControl::selectionChanged):
59793        (WebCore::RenderTextControl::innerTextElement):
59794        * rendering/RenderTextControl.h:
59795        (WebCore::RenderTextControl::hasControlClip):
59796        (WebCore::RenderTextControl::canHaveChildren):
59797        (WebCore::RenderTextControl::avoidsFloats):
59798        (WebCore::RenderTextControl::isEdited):
59799        (WebCore::RenderTextControl::setEdited):
59800        * rendering/RenderTextControlMultiLine.cpp: Added.
59801        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
59802        (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
59803        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
59804        (WebCore::RenderTextControlMultiLine::layout):
59805        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
59806        (WebCore::RenderTextControlMultiLine::forwardEvent):
59807        (WebCore::RenderTextControlMultiLine::preferredContentWidth):
59808        (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
59809        (WebCore::RenderTextControlMultiLine::baselinePosition):
59810        (WebCore::RenderTextControlMultiLine::updateFromElement):
59811        (WebCore::RenderTextControlMultiLine::cacheSelection):
59812        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
59813        * rendering/RenderTextControlMultiLine.h: Added.
59814        (WebCore::RenderTextControlMultiLine::isTextArea):
59815        * rendering/RenderTextControlSingleLine.cpp: Added.
59816        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
59817        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
59818        (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
59819        (WebCore::RenderTextControlSingleLine::updatePlaceholderVisibility):
59820        (WebCore::RenderTextControlSingleLine::addSearchResult):
59821        (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
59822        (WebCore::RenderTextControlSingleLine::showPopup):
59823        (WebCore::RenderTextControlSingleLine::hidePopup):
59824        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
59825        (WebCore::RenderTextControlSingleLine::paint):
59826        (WebCore::RenderTextControlSingleLine::layout):
59827        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
59828        (WebCore::RenderTextControlSingleLine::forwardEvent):
59829        (WebCore::RenderTextControlSingleLine::styleDidChange):
59830        (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
59831        (WebCore::RenderTextControlSingleLine::textBlockWidth):
59832        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
59833        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
59834        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
59835        (WebCore::RenderTextControlSingleLine::updateFromElement):
59836        (WebCore::RenderTextControlSingleLine::cacheSelection):
59837        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
59838        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
59839        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
59840        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
59841        (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
59842        (WebCore::RenderTextControlSingleLine::autosaveName):
59843        (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
59844        (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
59845        (WebCore::RenderTextControlSingleLine::valueChanged):
59846        (WebCore::RenderTextControlSingleLine::itemText):
59847        (WebCore::RenderTextControlSingleLine::itemIsEnabled):
59848        (WebCore::RenderTextControlSingleLine::itemStyle):
59849        (WebCore::RenderTextControlSingleLine::menuStyle):
59850        (WebCore::RenderTextControlSingleLine::clientInsetLeft):
59851        (WebCore::RenderTextControlSingleLine::clientInsetRight):
59852        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
59853        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
59854        (WebCore::RenderTextControlSingleLine::listSize):
59855        (WebCore::RenderTextControlSingleLine::selectedIndex):
59856        (WebCore::RenderTextControlSingleLine::itemIsSeparator):
59857        (WebCore::RenderTextControlSingleLine::itemIsLabel):
59858        (WebCore::RenderTextControlSingleLine::itemIsSelected):
59859        (WebCore::RenderTextControlSingleLine::setTextFromItem):
59860        (WebCore::RenderTextControlSingleLine::fontSelector):
59861        (WebCore::RenderTextControlSingleLine::hostWindow):
59862        (WebCore::RenderTextControlSingleLine::createScrollbar):
59863        * rendering/RenderTextControlSingleLine.h: Added.
59864        (WebCore::RenderTextControlSingleLine::hasControlClip):
59865        (WebCore::RenderTextControlSingleLine::isTextField):
59866        (WebCore::RenderTextControlSingleLine::placeholderIsVisible):
59867        (WebCore::RenderTextControlSingleLine::popupIsVisible):
59868        (WebCore::RenderTextControlSingleLine::shouldPopOver):
59869        (WebCore::RenderTextControlSingleLine::valueShouldChangeOnHotTrack):
59870        * rendering/TextControlInnerElements.cpp:
59871        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
59872        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
59873
598742008-12-28  Dmitry Titov  <dimich@chromium.org>
59875
59876        Reviewed by Darin Adler.
59877
59878        https://bugs.webkit.org/show_bug.cgi?id=22755
59879        Prepare to add create/remove timeout methods to JSWorkerContext by moving
59880        timer-specific code from JSDOMWindowBase to DOMTimer.
59881        Moved everything JS-related from DOMTimer to ScheduledAction.
59882        Now ScheduledAction is what it wanted to be all the time: a JS engine-specific
59883        container for timer callback that knows how to invoke it.
59884        DOMTimer is not anymore JS-specific.
59885
59886        This is mostly moving the code around. No intended functional changes.
59887
59888        * bindings/js/DOMTimer.cpp:
59889        (WebCore::DOMTimer::DOMTimer):
59890        (WebCore::DOMTimer::~DOMTimer):
59891        (WebCore::DOMTimer::install):
59892        (WebCore::DOMTimer::removeById):
59893        (WebCore::DOMTimer::fired):
59894        (WebCore::DOMTimer::stop):
59895        * bindings/js/DOMTimer.h:
59896        * bindings/js/JSDOMWindowBase.cpp:
59897        (WebCore::JSDOMWindowBase::installTimeout):
59898        (WebCore::JSDOMWindowBase::removeTimeout):
59899        * bindings/js/JSDOMWindowBase.h:
59900        * bindings/js/ScheduledAction.cpp:
59901        (WebCore::ScheduledAction::execute):
59902        * bindings/js/ScheduledAction.h:
59903        * dom/Document.cpp:
59904        (WebCore::Document::addTimeout):
59905
599062008-12-26  Zalan Bujtas  <zbujtas@gmail.com>
59907
59908        Reviewed by Darin Adler.
59909
59910        https://bugs.webkit.org/show_bug.cgi?id=22999
59911        Check if database thread exists.
59912
59913        * storage/Database.cpp:
59914        (WebCore::Database::openAndVerifyVersion):
59915        (WebCore::Database::markAsDeletedAndClose):
59916        (WebCore::Database::tableNames):
59917
599182008-12-26  Alexey Proskuryakov  <ap@webkit.org>
59919
59920        Reviewed by Darin Adler.
59921
59922        https://bugs.webkit.org/show_bug.cgi?id=23001
59923        A call to applicationCache.update() from a cached event listener should be ignored
59924
59925        Test: http/tests/appcache/idempotent-update.html
59926
59927        * loader/appcache/ApplicationCacheGroup.cpp:
59928        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Only reset m_status after
59929        dispatching events.
59930
599312008-12-26  Alexey Proskuryakov  <ap@webkit.org>
59932
59933        Reviewed by Darin Adler.
59934
59935        https://bugs.webkit.org/show_bug.cgi?id=22997
59936        ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource()
59937
59938        Tests: http/tests/appcache/top-frame-1.html
59939               http/tests/appcache/top-frame-2.html
59940               http/tests/appcache/top-frame-3.html
59941               http/tests/appcache/top-frame-4.html
59942
59943        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):
59944        Fixed one more instance of top level frame being used for caching purposes.
59945
599462008-12-26  Dmitry Titov  <dimich@chromium.org>
59947
59948        Reviewed by Darin Adler.
59949
59950        https://bugs.webkit.org/show_bug.cgi?id=22987
59951        Fix for broken test editing/execCommand/5763082.html
59952
59953        * editing/CompositeEditCommand.cpp:
59954        (WebCore::CompositeEditCommand::mergeIdenticalElements): Used local RefPtr to hold onto
59955        function parameter across multiple calls.
59956
599572008-12-25  Alexey Proskuryakov  <ap@webkit.org>
59958
59959        Reviewed by Darin Adler.
59960
59961        https://bugs.webkit.org/show_bug.cgi?id=22993
59962        Application cache shouldn't be inherited by subframes
59963
59964        <rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType()
59965        This crash happened because main resource for subframe was looked up in top frame's
59966        appcache. If not for the spec change, it could have been fixed by preventing the load
59967        altogether.
59968
59969        Test: http/tests/appcache/foreign-iframe-main.html
59970        I intend to write additional tests for the behavior change.
59971
59972        * loader/DocumentLoader.cpp:
59973        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
59974        * loader/DocumentLoader.h:
59975        (WebCore::DocumentLoader::applicationCache):
59976        * loader/MainResourceLoader.cpp:
59977        (WebCore::MainResourceLoader::load):
59978        * loader/appcache/DOMApplicationCache.cpp:
59979        (WebCore::DOMApplicationCache::associatedCache):
59980        Removed DocumentLoader::topLevelApplicationCache(), and changed callers accordingly.
59981
59982        * loader/appcache/ApplicationCacheGroup.cpp:
59983        (WebCore::ApplicationCacheGroup::selectCache):
59984        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
59985        Removed checks for the frame being top-level one, now that subframes are cached independently.
59986
599872008-12-25  Antti Koivisto  <antti@apple.com>
59988
59989        Reviewed by Oliver Hunt.
59990
59991        <rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient
59992
59993        Disallow turning resources that are being revalidated to purgable state.
59994
59995        No test, the condition is difficult to produce in DRT.
59996
59997        * loader/CachedCSSStyleSheet.cpp:
59998        (WebCore::CachedCSSStyleSheet::allClientsRemoved):
59999        * loader/CachedImage.cpp:
60000        (WebCore::CachedImage::destroyDecodedData):
60001        * loader/CachedResource.cpp:
60002        (WebCore::CachedResource::isSafeToMakePurgeable):
60003        (WebCore::CachedResource::makePurgeable):
60004        * loader/CachedResource.h:
60005        * loader/CachedScript.cpp:
60006        (WebCore::CachedScript::destroyDecodedData):
60007
600082008-12-25  Alexey Proskuryakov  <ap@webkit.org>
60009
60010        Qt build fix.
60011
60012        * WebCore.pro: Added ThreadGlobalData.cpp.
60013
600142008-12-24  Mark Rowe  <mrowe@apple.com>
60015
60016        Build fix.
60017
60018        * WebCore.base.exp:  Remove a symbol from the export file now that it is no longer generated.
60019
600202008-12-24  Holger Hans Peter Freyther  <zecke@selfish.org>
60021
60022        Unreviewed build fix to find addSubresourceURL
60023
60024        This is needed to compile on WebKit/Gtk+
60025
60026        * css/CSSFontFaceSrcValue.cpp:
60027
600282008-12-23  Alexey Proskuryakov  <ap@webkit.org>
60029
60030        Reviewed by Darin Adler.
60031
60032        https://bugs.webkit.org/show_bug.cgi?id=22980
60033        WebCore uses more thread specific keys than it really needs
60034
60035        Consolidated ThreadSpecific data into a single ThreadGlobalData structure.
60036
60037        * GNUmakefile.am:
60038        * WebCore.base.exp:
60039        * WebCore.scons:
60040        * WebCore.vcproj/WebCore.vcproj:
60041        * WebCore.xcodeproj/project.pbxproj:
60042        * WebCoreSources.bkl:
60043        * dom/EventNames.cpp:
60044        * dom/EventNames.h:
60045        (WebCore::eventNames):
60046        * page/Frame.cpp:
60047        (WebCore::Frame::Frame):
60048        * platform/ThreadGlobalData.cpp: Added.
60049        (WebCore::threadGlobalData):
60050        (WebCore::ThreadGlobalData::ThreadGlobalData):
60051        (WebCore::ThreadGlobalData::~ThreadGlobalData):
60052        * platform/ThreadGlobalData.h: Added.
60053        (WebCore::ThreadGlobalData::eventNames):
60054        (WebCore::ThreadGlobalData::emptyString):
60055        (WebCore::ThreadGlobalData::atomicStringTable):
60056        (WebCore::ThreadGlobalData::cachedConverterICU):
60057        (WebCore::ThreadGlobalData::cachedConverterTEC):
60058        * platform/text/AtomicString.cpp:
60059        (WebCore::stringTable):
60060        (WebCore::AtomicString::add):
60061        (WebCore::AtomicString::remove):
60062        (WebCore::AtomicString::find):
60063        (WebCore::AtomicString::init):
60064        * platform/text/StringImpl.cpp:
60065        (WebCore::StringImpl::empty):
60066        * platform/text/StringImpl.h:
60067        * platform/text/TextCodecICU.cpp:
60068        (WebCore::ICUConverterWrapper::~ICUConverterWrapper):
60069        (WebCore::cachedConverterICU):
60070        * platform/text/TextCodecICU.h:
60071        (WebCore::ICUConverterWrapper::ICUConverterWrapper):
60072        * platform/text/mac/TextCodecMac.cpp:
60073        (WebCore::cachedConverterTEC):
60074        * platform/text/mac/TextCodecMac.h:
60075        (WebCore::TECConverterWrapper::TECConverterWrapper):
60076        (WebCore::TECConverterWrapper::~TECConverterWrapper):
60077
600782008-12-23  Mark Rowe  <mrowe@apple.com>
60079
60080        Build fix.
60081
60082        * WebCore.xcodeproj/project.pbxproj: CSSPropertyNames.h is a generated file so it needs to be explicitly copied
60083        into the PrivateHeaders directory, rather than relying on the automatic copying of headers which runs before the
60084        derived sources are generated.
60085
600862008-12-23  Simon Fraser  <simon.fraser@apple.com>
60087
60088        Reviewed by Dan Bernstein
60089
60090        https://bugs.webkit.org/show_bug.cgi?id=22941
60091
60092        If the document element has opacity, we need to erase the view background to
60093        white before painting.
60094
60095        Test: fast/backgrounds/opacity-on-document-element.html
60096
60097        * rendering/RenderView.cpp:
60098        (WebCore::rendererObscuresBackground):
60099
601002008-12-23  Simon Fraser  <simon.fraser@apple.com>
60101
60102        Reviewed by Dan Bernstein
60103
60104        https://bugs.webkit.org/show_bug.cgi?id=21910
60105
60106        Fix SVGImage painting by ensuring that the SVGImage resizes its FrameView correctly.
60107        Otherwise the FrameView is left at 0x0, and nothing paints.
60108
60109        * svg/graphics/SVGImage.cpp:
60110        (WebCore::SVGImage::draw):
60111
601122008-12-23  Darin Adler  <darin@apple.com>
60113
60114        Reviewed by John Sullivan.
60115
60116        - improve robustness of undo/redo in HTML editing to fix the following bugs
60117          <https://bugs.webkit.org/show_bug.cgi?id=19703> Crash in WebCore::InsertNodeBeforeCommand::doUnapply()
60118          <rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo
60119
60120        Major categories of improvements:
60121
60122            1) Added null checks.
60123            2) Eliminated type casts without corresponding type checks.
60124            3) Avoided possible infinite loops by building up lists of nodes to operate on
60125               before starting to make DOM changes.
60126            4) Use more RefPtr.
60127
60128        No test at this time, but test cases should follow in separate patches.
60129
60130        * WebCore.xcodeproj/project.pbxproj: Set the role of CSSPropertyNames.h to Private so it
60131        can be used in other Private headers, specifically editing ones.
60132
60133        * css/CSSStyleSelector.cpp:
60134        (WebCore::CSSStyleSelector::locateCousinList): Adopt parentElement.
60135        (WebCore::CSSStyleSelector::locateSharedStyle): Ditto.
60136        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
60137
60138        * dom/Element.cpp: (WebCore::Element::cloneElement): Added.
60139        * dom/Element.h: Added cloneElement and an implementation of parentElement.
60140        * dom/Node.h: Moved parentElement from here to Element.h and changed its
60141        implementation so it will return 0 when the parent is not an element
60142        (document, document fragment, etc.).
60143
60144        * editing/AppendNodeCommand.cpp:
60145        (WebCore::AppendNodeCommand::AppendNodeCommand): Made parent be an Element.
60146        Moved assertions from doApply in here.
60147        (WebCore::AppendNodeCommand::doApply): Simplified to just a single unchecked
60148        appendChild call.
60149        (WebCore::AppendNodeCommand::doUnapply): Simplified to just a single remove call.
60150        * editing/AppendNodeCommand.h: Updated.
60151
60152        * editing/ApplyStyleCommand.cpp:
60153        (WebCore::createStyleSpanElement): Eliminate casting by creating an element in a more
60154        direct way with new instead of createElementNS.
60155        (WebCore::ApplyStyleCommand::ApplyStyleCommand): Use PassRefPtr.
60156        (WebCore::ApplyStyleCommand::removeCSSStyle): Use CSSPropertyID.
60157        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Use cloneElement.
60158        * editing/ApplyStyleCommand.h:
60159
60160        * editing/BreakBlockquoteCommand.cpp:
60161        (WebCore::BreakBlockquoteCommand::doApply): Use Element* and cloneElement.
60162
60163        * editing/CompositeEditCommand.cpp:
60164        (WebCore::CompositeEditCommand::applyStyledElement): Use PassRefPtr and unsigned.
60165        (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
60166        (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
60167        (WebCore::CompositeEditCommand::insertNodeAfter): Ditto.
60168        (WebCore::CompositeEditCommand::insertNodeAt): Ditto.
60169        (WebCore::CompositeEditCommand::appendNode): Ditto.
60170        (WebCore::CompositeEditCommand::removeChildrenInRange): Ditto. Also use a vector to
60171        make the list of children in case removing them has side effects.
60172        (WebCore::CompositeEditCommand::removeNode): Ditto.
60173        (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
60174        (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Ditto.
60175        (WebCore::CompositeEditCommand::splitTextNode): Ditto.
60176        (WebCore::CompositeEditCommand::splitElement): Ditto.
60177        (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
60178        (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
60179        (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
60180        (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
60181        (WebCore::CompositeEditCommand::inputText): Ditto.
60182        (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
60183        (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
60184        (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
60185        (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition): Ditto.
60186        (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
60187        (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Implement by calling
60188        setNodeAttribute instead of with its own SimpleEditCommand.
60189        (WebCore::CompositeEditCommand::setNodeAttribute): Ditto.
60190        (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
60191        (WebCore::CompositeEditCommand::appendBlockPlaceholder): Ditto.
60192        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto.
60193        (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Ditto. Don't
60194        bother using an undoable operation to put the break element into the paragraph
60195        element because there's no need to split them and redo this when doing undo/redo.
60196        (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
60197        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
60198        * editing/CompositeEditCommand.h: Ditto.
60199
60200        * editing/DeleteFromTextNodeCommand.cpp:
60201        (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Use unsigned.
60202        (WebCore::DeleteFromTextNodeCommand::doApply): Eliminated inappropriate assertions.
60203        (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
60204        * editing/DeleteFromTextNodeCommand.h:
60205
60206        * editing/DeleteSelectionCommand.cpp:
60207        (WebCore::DeleteSelectionCommand::removeNode): Use PassRefPtr.
60208        (WebCore::DeleteSelectionCommand::deleteTextFromNode): Ditto.
60209        * editing/DeleteSelectionCommand.h:
60210
60211        * editing/FormatBlockCommand.cpp:
60212        (WebCore::FormatBlockCommand::FormatBlockCommand): Use AtomicString.
60213        (WebCore::FormatBlockCommand::doApply): Use Element.
60214        * editing/FormatBlockCommand.h:
60215
60216        * editing/IndentOutdentCommand.cpp:
60217        (WebCore::createIndentBlockquoteElement): Use new to create the element
60218        instead of calling a function so we have a more specific type.
60219        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
60220        Use RefPtr and Element.
60221        (WebCore::IndentOutdentCommand::indentRegion): Ditto.
60222        (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.
60223        * editing/IndentOutdentCommand.h:
60224
60225        * editing/InsertIntoTextNodeCommand.cpp:
60226        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
60227        Use unsigned. Added an assertion.
60228        (WebCore::InsertIntoTextNodeCommand::doApply): Eliminated inappropriate assertions.
60229        (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
60230        * editing/InsertIntoTextNodeCommand.h:
60231
60232        * editing/InsertLineBreakCommand.cpp:
60233        (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use Element.
60234        (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.
60235
60236        * editing/InsertListCommand.cpp:
60237        (WebCore::InsertListCommand::doApply): Use Element.
60238
60239        * editing/InsertNodeBeforeCommand.cpp:
60240        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Moved assertions
60241        here from doApply.
60242        (WebCore::InsertNodeBeforeCommand::doApply): Eliminated inappropriate assertions.
60243        Added a null check.
60244        (WebCore::InsertNodeBeforeCommand::doUnapply): Simplified to just a single remove call.
60245
60246        * editing/InsertParagraphSeparatorCommand.cpp:
60247        (WebCore::InsertParagraphSeparatorCommand::doApply): Use Element and cloneElement.
60248
60249        * editing/JoinTextNodesCommand.cpp:
60250        (WebCore::JoinTextNodesCommand::doApply): Eliminated inappropriate assertions.
60251        Added some runtime checks. Don't store anything in m_offset.
60252        (WebCore::JoinTextNodesCommand::doUnapply): Ditto.
60253        * editing/JoinTextNodesCommand.h:
60254
60255        * editing/MergeIdenticalElementsCommand.cpp:
60256        (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Moved
60257        an assertion here from doApply.
60258        (WebCore::MergeIdenticalElementsCommand::doApply): Eliminated inappropriate assertions.
60259        Added a null check. Changed implementation to use remove to avoid null parent issue.
60260        Use a vector of nodes to avoid possible infinite loop if mutation happens while iterating.
60261        (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
60262
60263        * editing/ModifySelectionListLevel.cpp:
60264        (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange): Use Element*.
60265        (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
60266        * editing/ModifySelectionListLevel.h:
60267
60268        * editing/RemoveCSSPropertyCommand.cpp:
60269        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Use PassRefPtr and
60270        CSSPropertyID. Also renamed m_decl to m_style.
60271        (WebCore::RemoveCSSPropertyCommand::doApply): Eliminated inappropriate assertions.
60272        (WebCore::RemoveCSSPropertyCommand::doUnapply): Ditto.
60273
60274        * editing/RemoveNodeAttributeCommand.cpp: Removed contents of this file. To be deleted.
60275        Use SetNodeAttributeCommand instead.
60276        * editing/RemoveNodeAttributeCommand.h: Ditto.
60277
60278        * editing/RemoveNodeCommand.cpp:
60279        (WebCore::RemoveNodeCommand::RemoveNodeCommand): Moved assertions here from doApply.
60280        Don't initialize m_refChild here; rather do it in doApply.
60281        (WebCore::RemoveNodeCommand::doApply): Eliminated inappropriate assertions. Added
60282        checks and streamlined implementation.
60283        (WebCore::RemoveNodeCommand::doUnapply): Ditto.
60284        * editing/RemoveNodeCommand.h:
60285
60286        * editing/RemoveNodePreservingChildrenCommand.cpp:
60287        (WebCore::RemoveNodePreservingChildrenCommand::doApply): Use a vector.
60288
60289        * editing/ReplaceSelectionCommand.cpp:
60290        (WebCore::ReplacementFragment::insertFragmentForTestRendering): Removed now-unneeded cast.
60291
60292        * editing/SetNodeAttributeCommand.cpp:
60293        (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Use AtomicString.
60294        Removed assertion that prevents us from using this to remove an attribute.
60295        (WebCore::SetNodeAttributeCommand::doApply): Eliminated inappropriate assertions.
60296        (WebCore::SetNodeAttributeCommand::doUnapply): Ditto.
60297        * editing/SetNodeAttributeCommand.h:
60298
60299        * editing/SplitElementCommand.cpp:
60300        (WebCore::SplitElementCommand::SplitElementCommand): Moved assertion here from doApply.
60301        (WebCore::SplitElementCommand::doApply): Check some more invariants and use a vector
60302        to avoid possible infinite loops.
60303        (WebCore::SplitElementCommand::doUnapply): Ditto.
60304
60305        * editing/SplitTextNodeCommand.cpp:
60306        (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Moved assertions and comment
60307        here from doApply.
60308        (WebCore::SplitTextNodeCommand::doApply): Check for null and failures when applying.
60309        (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
60310
60311        * editing/SplitTextNodeContainingElementCommand.cpp:
60312        (WebCore::SplitTextNodeContainingElementCommand::doApply): Use Element.
60313
60314        * editing/WrapContentsInDummySpanCommand.cpp:
60315        (WebCore::WrapContentsInDummySpanCommand::doApply): Check for null and ignore failures.
60316        Don't reuse the dummy span. Simplified logic.
60317        (WebCore::WrapContentsInDummySpanCommand::doUnapply): Ditto.
60318
60319        * editing/htmlediting.cpp:
60320        (WebCore::isBlock): Make sure this returns true only for elements.
60321        (WebCore::enclosingBlock): Return an Element*.
60322        (WebCore::enclosingTableCell): Ditto.
60323        (WebCore::enclosingList): Return an HTMLElement*.
60324        (WebCore::outermostEnclosingList): Return an HTMLElement*.
60325        (WebCore::createDefaultParagraphElement): Return an HTMLElement*.
60326        (WebCore::createBreakElement): Return an HTMLElement*.
60327        (WebCore::createOrderedListElement): Return an HTMLElement*.
60328        (WebCore::createUnorderedListElement): Return an HTMLElement*.
60329        (WebCore::createListItemElement): Return an HTMLElement*.
60330        (WebCore::createHTMLElement): Return an HTMLElement*.
60331        * editing/htmlediting.h:
60332
60333        * editing/markup.cpp:
60334        (WebCore::createFragmentFromText): Use createBreakElement and use Element*.
60335
60336        * page/MouseEventWithHitTestResults.cpp:
60337        (WebCore::MouseEventWithHitTestResults::targetNode): Use parentElement.
60338
603392008-12-23  Darin Adler  <darin@apple.com>
60340
60341        Reviewed by Dan Bernstein.
60342
60343        * dom/Node.h: Tweak comments and order of bits that Sam moved
60344        here last night.
60345        * dom/Node.cpp: Ditto.
60346
603472008-12-22  Julien Chaffraix  <jchaffraix@webkit.org>
60348
60349        Reviewed by Darin Adler.
60350
60351        Bug 11106: Some XMLHttpRequest URI resolving tests fail
60352        https://bugs.webkit.org/show_bug.cgi?id=11106
60353
60354        Use the ScriptExecutionContext to resolve the URI when calling open in JavaScript.
60355        The previous code was using the containing DOMWindow to do so which would fail for
60356        XMLHttpRequest object being passed between iframe.
60357
60358        Tests: http/tests/xmlhttprequest/uri-resolution-opera-open-004.html
60359               http/tests/xmlhttprequest/uri-resolution-opera-open-005.html
60360               http/tests/xmlhttprequest/uri-resolution-opera-open-006.html
60361               http/tests/xmlhttprequest/uri-resolution-opera-open-007.html
60362               http/tests/xmlhttprequest/uri-resolution-opera-open-008.html
60363               http/tests/xmlhttprequest/uri-resolution-opera-open-009.html
60364               http/tests/xmlhttprequest/uri-resolution-opera-open-010.html
60365
60366        * bindings/js/JSXMLHttpRequestCustom.cpp:
60367        (WebCore::JSXMLHttpRequest::open): Use the ScriptExecutionContext
60368        to resolve the URL.
60369
60370        * dom/Document.cpp:
60371        (WebCore::Document::virtualCompleteURL): Virtual method added to
60372        avoid performance hit on completeURL call.
60373
60374        * dom/Document.h:
60375        * dom/ScriptExecutionContext.h:
60376        (WebCore::ScriptExecutionContext::completeURL): Non-virtual method
60377        that wrap the call to the virtual call.
60378        * dom/WorkerContext.cpp:
60379        (WebCore::WorkerContext::virtualCompleteURL): Pure virtual method.
60380        * dom/WorkerContext.h:
60381
603822008-12-23  Darin Adler  <darin@apple.com>
60383
60384        Reviewed by Dan Bernstein.
60385
60386        - https://bugs.webkit.org/show_bug.cgi?id=22978
60387          a couple tweaks to the new strokeBoundingRect functions
60388
60389        * platform/graphics/cairo/PathCairo.cpp:
60390        (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext
60391        if the applier is non-null.
60392
60393        * platform/graphics/cg/PathCG.cpp:
60394        (WebCore::putBytesNowhere): Added.
60395        (WebCore::createScratchContext): Changed to use a "/dev/null" type
60396        function to discard bytes rather than using a data object. This
60397        eliminates the possibility that memory will be used if someone draws
60398        into the scratch context by accident. Also moved to the top of the
60399        file; it was in a slightly strange place before.
60400        (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext
60401        if the applier is non-null. Simplify the empty path special case.
60402
604032008-12-22  Sam Weinig  <sam@webkit.org>
60404
60405        Reviewed by Mark Rowe.
60406
60407        Save a word in all Elements by moving the 5 loose bits to Node,
60408        where we had 16 spare.
60409
60410        * dom/Element.cpp:
60411        (WebCore::Element::Element):
60412        * dom/Element.h:
60413        * dom/Node.cpp:
60414        (WebCore::Node::Node):
60415        * dom/Node.h:
60416
604172008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60418
60419        Reviewed by George Staikos.
60420
60421        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22972
60422
60423        Add WML <meta> element support. All needed functionality is present
60424        in Document::processHttpEquiv, already covered by tests.
60425
60426        * GNUmakefile.am:
60427        * WebCore.pro:
60428        * WebCore.vcproj/WebCore.vcproj:
60429        * WebCore.xcodeproj/project.pbxproj:
60430        * wml/WMLMetaElement.cpp: Added.
60431        (WebCore::WMLMetaElement::WMLMetaElement):
60432        (WebCore::WMLMetaElement::parseMappedAttribute):
60433        (WebCore::WMLMetaElement::insertedIntoDocument):
60434        * wml/WMLMetaElement.h: Added.
60435        * wml/WMLTagNames.in:
60436
604372008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60438
60439        Rubber-stamped by Darin Adler.
60440
60441        Don't reference specific layout tests in comments.
60442
60443        * html/HTMLFormElement.cpp:
60444        (WebCore::HTMLFormElement::createFormData):
60445
604462008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60447
60448        Reviewed by George Staikos.
60449
60450        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22965
60451
60452        Add WML <head> element support. Doesn't require a WMLHeadElement.
60453        No functional behaviour, as we already created a WMLElement for headTag, by default.
60454        It's just cleaner to list <head> in WMLTagNames, forwarding to a WMLElement constructor.
60455
60456        * wml/WMLTagNames.in:
60457
604582008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60459
60460        Reviewed by George Staikos.
60461
60462        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22971
60463
60464        Fix regression caused by the HTMLFormElement refactorization.
60465        File form elements without a name have to be included in multipart/form-data
60466        submission. Cover this behaviour with a new test case.
60467
60468        Test: http/tests/misc/empty-file-formdata.html
60469
60470        * html/HTMLFormElement.cpp:
60471        (WebCore::HTMLFormElement::createFormData):
60472        * wml/WMLTagNames.in:
60473
604742008-12-22  David Kilzer  <ddkilzer@apple.com>
60475
60476        <rdar://problem/6438298> Bump schema version for app cache
60477
60478        Reviewed by Alexey Proskuryakov.
60479
60480        * loader/appcache/ApplicationCacheStorage.cpp: Increment
60481        SchemaVersion from 2 to 3.
60482
604832008-12-22  David Kilzer  <ddkilzer@apple.com>
60484
60485        Use Deque in CSSStyleSheet::addSubresourceStyleURLs()
60486
60487        Reviewed by Darin Adler.
60488
60489        * css/CSSStyleSheet.cpp:
60490        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Replaced
60491        use of ListHashSet with more efficient Deque.
60492
604932008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60494
60495        Reviewed by Sam Weinig.
60496
60497        Fix obvious crash fix for WML enabled builds.
60498
60499        * css/CSSStyleSelector.cpp:
60500        (WebCore::CSSStyleSelector::adjustRenderStyle):
60501
605022008-12-22  David Kilzer  <ddkilzer@apple.com>
60503
60504        Bug 11850: Webarchive fails to save images referenced in CSS
60505
60506        <https://bugs.webkit.org/show_bug.cgi?id=11850>
60507
60508        Reviewed by Darin Adler.
60509
60510        This entry contains two parts since the tests for adding a
60511        completeURL() method to StyleSheet and CSSStyleSheet (part 1) depend
60512        on Bug 11850 being fixed (part 2).
60513
60514        --
60515
60516        Tests: http/tests/webarchive/test-css-url-encoding-shift-jis.html
60517               http/tests/webarchive/test-css-url-encoding-utf-8.html
60518               http/tests/webarchive/test-css-url-encoding.html
60519
60520        Added completeURL() methods to StyleSheet and CSSStyleSheet that
60521        match the behavior of Document::completeURL().  Most notably,
60522        CSSStyleSheet::completeURL() uses the charset of the stylesheet
60523        (if it exists) to construct URLs, just like Document::completeURL().
60524
60525        * css/CSSParser.cpp:
60526        (WebCore::CSSParser::parseValue): Use CSSStyleSheet::completeURL().
60527        (WebCore::CSSParser::parseContent): Ditto.
60528        (WebCore::CSSParser::parseFillImage): Ditto.
60529        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
60530        (WebCore::CSSParser::parseBorderImage): Ditto.
60531
60532        * css/CSSStyleSheet.cpp:
60533        (WebCore::CSSStyleSheet::completeURL): Added.
60534        * css/CSSStyleSheet.h:
60535        (WebCore::CSSStyleSheet::completeURL): Added declaration.
60536
60537        * css/StyleSheet.cpp:
60538        (WebCore::StyleSheet::completeURL): Added.
60539        * css/StyleSheet.h:
60540        (WebCore::StyleSheet::completeURL): Added declaration.
60541
60542        * dom/Document.cpp:
60543        (WebCore::Document::completeURL): Added comment referring to the new
60544        completeURL() methods in StyleSheet and CSSStyleSheet.
60545
60546        --
60547
60548        Tests: webarchive/test-css-url-resources-in-stylesheets.html
60549               webarchive/test-css-url-resources-inline-styles.html
60550
60551        Walk stylesheets and inline style attributes for url() references
60552        when building a list of URLs to include in a webarchive.  Note that
60553        not all URLs found this way will be included in the webarchive if
60554        they were not used (and thus not downloaded) when laying out the
60555        page.
60556
60557        The key method for CSS stylesheets is
60558        CSSStyleSheet::addSubresourceStyleURLs() which iterates over all
60559        CSSStyleSheet objects recursively referenced from its own stylesheet
60560        through @import rules.  Starting with the CSSRule objects in each
60561        sheet and continuing down through the CSSMutableStyleDeclaration and
60562        CSSValue objects, addSubresourceStyleURLs() methods are called to
60563        gather URLs.
60564
60565        For inline style attributes in HTML DOM elements,
60566        StyledElement::addSubresourceAttributeURLs() calls
60567        CSSMutableStyleDeclaration::addSubresourceStyleURLs() to gather URLs
60568        from each element, hence the need to call
60569        addSubresourceAttributeURLs() on superclasses when the method is
60570        implemented on the element class itself.
60571
60572        * css/CSSBorderImageValue.cpp:
60573        (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added.
60574        * css/CSSBorderImageValue.h:
60575        (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added
60576        declaration.
60577
60578        * css/CSSFontFaceRule.cpp:
60579        (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added.
60580        * css/CSSFontFaceRule.h:
60581        (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added
60582        declaration.
60583
60584        * css/CSSFontFaceSrcValue.cpp:
60585        (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added.
60586        * css/CSSFontFaceSrcValue.h:
60587        (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added
60588        declaration.
60589
60590        * css/CSSImportRule.cpp:
60591        (WebCore::CSSImportRule::addSubresourceStyleURLs): Added.
60592        * css/CSSImportRule.h:
60593        (WebCore::CSSImportRule::addSubresourceStyleURLs): Added
60594        declaration.
60595
60596        * css/CSSMutableStyleDeclaration.cpp:
60597        (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added.
60598        Iterates over m_properties vector of CSSProperty objects calling
60599        addSubresourceStyleURLs() on each property's CSSValue object.
60600        * css/CSSMutableStyleDeclaration.h:
60601        (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added
60602        declaration.
60603
60604        * css/CSSPrimitiveValue.cpp:
60605        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added.
60606        * css/CSSPrimitiveValue.h:
60607        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added
60608        declaration.
60609
60610        * css/CSSReflectValue.cpp:
60611        (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added.
60612        * css/CSSReflectValue.h:
60613        (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added
60614        declaration.
60615
60616        * css/CSSRule.h:
60617        (WebCore::CSSRule::addSubresourceStyleURLs): Added.  Virtual
60618        method with empty implementation that's overridden by subclasses
60619        as needed.
60620
60621        * css/CSSStyleRule.cpp:
60622        (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added.
60623        * css/CSSStyleRule.h:
60624        (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added
60625        declaration.
60626
60627        * css/CSSStyleSheet.cpp:
60628        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated to
60629        call CSSRule::addSubresourceStyleURLs on each rule to extract
60630        URLs.  Removed unneeded baseURL parameter now that the
60631        completeURL() method exists.
60632        * css/CSSStyleSheet.h:
60633        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated
60634        declaration.
60635
60636        * css/CSSValue.h:
60637        (WebCore::CSSValue::addSubresourceStyleURLs): Added.  Virtual
60638        method with empty implementation that's overridden by subclasses
60639        as needed.
60640
60641        * css/CSSValueList.cpp:
60642        (WebCore::CSSValueList::addSubresourceStyleURLs): Added.
60643        Iterates over m_values vector of CSSValue objects calling
60644        addSubresourceStyleURLs() on each.
60645        * css/CSSValueList.h:
60646        (WebCore::CSSValueList::addSubresourceStyleURLs): Added
60647        declaration.
60648
60649        * css/StyleSheet.h:
60650        (WebCore::StyleSheet::addSubresourceStyleURLs): Updated
60651        declaration to remove unneeded baseURL parameter.
60652
60653        * dom/ProcessingInstruction.cpp:
60654        (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
60655        Fixed to use the StyleBase::baseURL() method to get the
60656        stylesheet's URL instead of calling Document::completeURL().
60657
60658        * dom/StyledElement.cpp:
60659        (WebCore::StyledElement::addSubresourceAttributeURLs): Added method
60660        to extract URLs from inline style declarations.
60661        * dom/StyledElement.h:
60662        (WebCore::StyledElement::addSubresourceAttributeURLs): Added
60663        declaration.
60664
60665        * html/HTMLBodyElement.cpp:
60666        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Call
60667        addSubresourceAttributeURLs() in superclass to extract URLs
60668        from inline style declarations.
60669        * html/HTMLEmbedElement.cpp:
60670        (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
60671        * html/HTMLImageElement.cpp:
60672        (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
60673        * html/HTMLInputElement.cpp:
60674        (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
60675        * html/HTMLLinkElement.cpp:
60676        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
60677        * html/HTMLObjectElement.cpp:
60678        (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
60679        * html/HTMLParamElement.cpp:
60680        (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
60681        * html/HTMLScriptElement.cpp:
60682        (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
60683        * html/HTMLStyleElement.cpp:
60684        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
60685        * html/HTMLTableCellElement.cpp:
60686        (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
60687        * html/HTMLTableElement.cpp:
60688        (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
60689        * svg/SVGCursorElement.cpp:
60690        (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Ditto.
60691        * svg/SVGFEImageElement.cpp:
60692        (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
60693        * svg/SVGImageElement.cpp:
60694        (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
60695        * svg/SVGScriptElement.cpp:
60696        (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
60697
606982008-12-22  Dhananjoy Chutia  <dhanrd@gmail.com>
60699
60700        Reviewed by David Kilzer.
60701
60702        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22959
60703        Memory leak fixes for WebKit+soup
60704
60705        * platform/network/soup/ResourceHandleSoup.cpp:
60706        (WebCore::finishedCallback):
60707
607082008-12-22  Alexey Proskuryakov  <ap@webkit.org>
60709
60710        Reviewed by Darin Adler.
60711
60712        <rdar://problem/6277060> ASSERTION FAILED: !m_cacheBeingUpdated if the manifest is not available
60713
60714        Tests: http/tests/appcache/404-manifest.html
60715               http/tests/appcache/fail-on-update.html
60716
60717        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::stopLoading):
60718        Removed the incorrect assertion.
60719
60720        * loader/appcache/ApplicationCacheGroup.h: Added an explanation of somewhat nonintuitive
60721        m_currentHandle handling.
60722
607232008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60724
60725        Reviewed by Alexey Proskuryakov & George Staikos.
60726
60727        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22961
60728
60729        Add WML <fieldset> element support.
60730        Unlike HTML's <fieldset> element, WML doesn't provide a <legend> child element
60731        to describe the <fieldset>. WML instead offers a 'title' attribute on the <fieldset>
60732        element. To integrate within the existing RenderFieldset code, we just create an
60733        internal <insertedLegend> element as first child for a WML <fieldset> element, containing
60734        the title attribute value.
60735
60736        * GNUmakefile.am:
60737        * WebCore.pro:
60738        * WebCore.vcproj/WebCore.vcproj:
60739        * WebCore.xcodeproj/project.pbxproj:
60740        * css/CSSStyleSelector.cpp:
60741        (WebCore::CSSStyleSelector::adjustRenderStyle):
60742        * css/wml.css:
60743        * rendering/RenderFieldset.cpp:
60744        (WebCore::RenderFieldset::RenderFieldset):
60745        (WebCore::RenderFieldset::findLegend):
60746        * rendering/RenderFieldset.h:
60747        * rendering/RenderLegend.cpp:
60748        (WebCore::RenderLegend::RenderLegend):
60749        * rendering/RenderLegend.h:
60750        * wml/WMLFieldSetElement.cpp: Added.
60751        (WebCore::WMLFieldSetElement::WMLFieldSetElement):
60752        (WebCore::WMLFieldSetElement::~WMLFieldSetElement):
60753        (WebCore::WMLFieldSetElement::parseMappedAttribute):
60754        (WebCore::WMLFieldSetElement::insertedIntoDocument):
60755        (WebCore::WMLFieldSetElement::removedFromDocument):
60756        (WebCore::WMLFieldSetElement::createRenderer):
60757        * wml/WMLFieldSetElement.h: Added.
60758        * wml/WMLInsertedLegendElement.cpp: Added.
60759        (WebCore::WMLInsertedLegendElement::WMLInsertedLegendElement):
60760        (WebCore::WMLInsertedLegendElement::~WMLInsertedLegendElement):
60761        (WebCore::WMLInsertedLegendElement::createRenderer):
60762        * wml/WMLInsertedLegendElement.h: Added.
60763        * wml/WMLTagNames.in:
60764
607652008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60766
60767        Not reviewed. Try to fix clean Mac builds, set role=private for FormDataBuilder.h
60768
60769        * WebCore.xcodeproj/project.pbxproj:
60770
607712008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60772
60773        Rubber-stamped by George Staikos.
60774
60775        Unify all TorchMobile copyright lines. Consolidate in a single line, as requested by Mark Rowe, some time ago.
60776
60777        * css/CSSStyleSelector.cpp:
60778        * css/wml.css:
60779        * dom/DOMImplementation.cpp:
60780        * dom/Document.cpp:
60781        * dom/Document.h:
60782        * dom/XMLTokenizer.cpp:
60783        * dom/XMLTokenizerLibxml2.cpp:
60784        * dom/XMLTokenizerQt.cpp:
60785        * history/BackForwardList.cpp:
60786        * history/BackForwardList.h:
60787        * loader/FrameLoader.cpp:
60788        * loader/FrameLoader.h:
60789        * loader/MainResourceLoader.cpp:
60790        * page/Page.cpp:
60791        * page/Page.h:
60792        * platform/MIMETypeRegistry.cpp:
60793        * platform/network/FormDataBuilder.cpp:
60794        * platform/network/FormDataBuilder.h:
60795        * platform/qt/MIMETypeRegistryQt.cpp:
60796        * wml/WMLAElement.cpp:
60797        * wml/WMLAElement.h:
60798        * wml/WMLAccessElement.cpp:
60799        * wml/WMLAccessElement.h:
60800        * wml/WMLAnchorElement.cpp:
60801        * wml/WMLAnchorElement.h:
60802        * wml/WMLBRElement.cpp:
60803        * wml/WMLBRElement.h:
60804        * wml/WMLCardElement.cpp:
60805        * wml/WMLCardElement.h:
60806        * wml/WMLDoElement.cpp:
60807        * wml/WMLDoElement.h:
60808        * wml/WMLDocument.cpp:
60809        * wml/WMLDocument.h:
60810        * wml/WMLElement.cpp:
60811        * wml/WMLElement.h:
60812        * wml/WMLErrorHandling.cpp:
60813        * wml/WMLErrorHandling.h:
60814        * wml/WMLEventHandlingElement.cpp:
60815        * wml/WMLEventHandlingElement.h:
60816        * wml/WMLGoElement.cpp:
60817        * wml/WMLGoElement.h:
60818        * wml/WMLImageElement.cpp:
60819        * wml/WMLImageElement.h:
60820        * wml/WMLImageLoader.cpp:
60821        * wml/WMLImageLoader.h:
60822        * wml/WMLIntrinsicEvent.cpp:
60823        * wml/WMLIntrinsicEvent.h:
60824        * wml/WMLIntrinsicEventHandler.cpp:
60825        * wml/WMLIntrinsicEventHandler.h:
60826        * wml/WMLNoopElement.cpp:
60827        * wml/WMLNoopElement.h:
60828        * wml/WMLOnEventElement.cpp:
60829        * wml/WMLOnEventElement.h:
60830        * wml/WMLPElement.cpp:
60831        * wml/WMLPElement.h:
60832        * wml/WMLPageState.cpp:
60833        * wml/WMLPageState.h:
60834        * wml/WMLPostfieldElement.cpp:
60835        * wml/WMLPostfieldElement.h:
60836        * wml/WMLPrevElement.cpp:
60837        * wml/WMLPrevElement.h:
60838        * wml/WMLRefreshElement.cpp:
60839        * wml/WMLRefreshElement.h:
60840        * wml/WMLSetvarElement.cpp:
60841        * wml/WMLSetvarElement.h:
60842        * wml/WMLTableElement.cpp:
60843        * wml/WMLTableElement.h:
60844        * wml/WMLTaskElement.cpp:
60845        * wml/WMLTaskElement.h:
60846        * wml/WMLTemplateElement.cpp:
60847        * wml/WMLTemplateElement.h:
60848        * wml/WMLTimerElement.cpp:
60849        * wml/WMLTimerElement.h:
60850        * wml/WMLVariables.cpp:
60851        * wml/WMLVariables.h:
60852
608532008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60854
60855        Reviewed by George Staikos.
60856
60857        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22638
60858
60859        Add POST method support to WMLGoElement. GET & POST over HTTP
60860        covered by a new set of WML HTTP layout tests.
60861
60862        Tests: http/tests/wml/go-task-get-method-accept-charset.html
60863               http/tests/wml/go-task-get-method.html
60864               http/tests/wml/go-task-post-method-accept-charset.html
60865               http/tests/wml/go-task-post-method.html
60866
60867        * wml/WMLGoElement.cpp:
60868        (WebCore::WMLGoElement::WMLGoElement):
60869        (WebCore::WMLGoElement::registerPostfieldElement):
60870        (WebCore::WMLGoElement::parseMappedAttribute):
60871        (WebCore::WMLGoElement::executeTask):
60872        (WebCore::WMLGoElement::preparePOSTRequest):
60873        (WebCore::WMLGoElement::prepareGETRequest):
60874        (WebCore::WMLGoElement::createFormData):
60875        * wml/WMLGoElement.h:
60876        * wml/WMLPostfieldElement.cpp:
60877        (WebCore::encodedString):
60878        (WebCore::WMLPostfieldElement::encodeData):
60879        * wml/WMLPostfieldElement.h:
60880
608812008-12-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
60882
60883        Reviewed by Darin Adler and George Staikos.
60884
60885        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22949
60886
60887        Refactor HTMLFormElement to share a maximum level of code between HTMLFormElement & WMLGoElement.
60888        Create a new helper class 'FormDataBuilder', which is hold as member variable in those classes.
60889        It encapsulates all functionality needed to generate a FormData object, usable for HTML/WML form
60890        submission, including boundary string generation, multi-part form handling etc.
60891
60892        No functional changes, no test cases affected.
60893        WMLGoElement will be converted in a follow-up patch.
60894
60895        * GNUmakefile.am:
60896        * WebCore.pro:
60897        * WebCore.scons:
60898        * WebCore.vcproj/WebCore.vcproj:
60899        * WebCore.xcodeproj/project.pbxproj:
60900        * WebCoreSources.bkl:
60901        * html/HTMLFormElement.cpp:
60902        (WebCore::HTMLFormElement::HTMLFormElement):
60903        (WebCore::HTMLFormElement::dataEncoding):
60904        (WebCore::HTMLFormElement::createFormData):
60905        (WebCore::HTMLFormElement::submit):
60906        (WebCore::HTMLFormElement::parseMappedAttribute):
60907        * html/HTMLFormElement.h:
60908        (WebCore::HTMLFormElement::enctype):
60909        (WebCore::HTMLFormElement::encoding):
60910        (WebCore::HTMLFormElement::setEncoding):
60911        (WebCore::HTMLFormElement::acceptCharset):
60912        * platform/network/FormDataBuilder.cpp: Added.
60913        (WebCore::FormDataBuilder::FormDataBuilder):
60914        (WebCore::FormDataBuilder::~FormDataBuilder):
60915        (WebCore::FormDataBuilder::parseEncodingType):
60916        (WebCore::FormDataBuilder::parseMethodType):
60917        (WebCore::FormDataBuilder::dataEncoding):
60918        (WebCore::appendString):
60919        (WebCore::FormDataBuilder::beginMultiPartHeader):
60920        (WebCore::FormDataBuilder::addBoundaryToMultiPartHeader):
60921        (WebCore::FormDataBuilder::addFileNameToMultiPartHeader):
60922        (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader):
60923        (WebCore::FormDataBuilder::finishMultiPartHeader):
60924        (WebCore::FormDataBuilder::clear):
60925        (WebCore::FormDataBuilder::addKeyValuePairAsFormData):
60926        (WebCore::FormDataBuilder::encodeStringAsFormData):
60927        (WebCore::FormDataBuilder::generateUniqueBoundaryString):
60928        * platform/network/FormDataBuilder.h: Added.
60929        (WebCore::FormDataBuilder::isPostMethod):
60930        (WebCore::FormDataBuilder::setIsPostMethod):
60931        (WebCore::FormDataBuilder::isMultiPartForm):
60932        (WebCore::FormDataBuilder::setIsMultiPartForm):
60933        (WebCore::FormDataBuilder::encodingType):
60934        (WebCore::FormDataBuilder::setEncodingType):
60935        (WebCore::FormDataBuilder::acceptCharset):
60936        (WebCore::FormDataBuilder::setAcceptCharset):
60937        (WebCore::FormDataBuilder::encodedData):
60938        (WebCore::FormDataBuilder::multiPartData):
60939
609402008-12-21  Dirk Schulze  <krit@webkit.org>
60941
60942        Reviewed by Darin Adler, Nikolas Zimmermann.
60943
60944        Move the the platform dependent strokeBBox functionality out of RenderPath
60945        into Path with strokeBoundingRect.
60946
60947        RenderPath clean-up for strokeBoundingBox
60948        [https://bugs.webkit.org/show_bug.cgi?id=22902]
60949
60950        * GNUmakefile.am:
60951        * WebCore.xcodeproj/project.pbxproj:
60952        * platform/graphics/GraphicsContext.h:
60953        * platform/graphics/Path.h:
60954        * platform/graphics/StrokeStyleApplier.h: Added.
60955        (WebCore::StrokeStyleApplier::~StrokeStyleApplier):
60956        * platform/graphics/cairo/PathCairo.cpp:
60957        (WebCore::Path::strokeBoundingRect):
60958        * platform/graphics/cg/PathCG.cpp:
60959        (WebCore::createScratchContext):
60960        (WebCore::scratchContext):
60961        (WebCore::Path::strokeBoundingRect):
60962        * platform/graphics/qt/GraphicsContextQt.cpp:
60963        (WebCore::GraphicsContext::pen):
60964        * platform/graphics/qt/PathQt.cpp:
60965        (WebCore::Path::strokeBoundingRect):
60966        * rendering/RenderPath.cpp:
60967        (WebCore::StrokeBoundingRectStyleApplier::StrokeBoundingRectStyleApplier):
60968        (WebCore::StrokeBoundingRectStyleApplier::strokeStyle):
60969        (WebCore::RenderPath::relativeBBox):
60970        * rendering/RenderPath.h:
60971        * svg/graphics/cairo/RenderPathCairo.cpp:
60972        * svg/graphics/cg/RenderPathCg.cpp:
60973        * svg/graphics/qt/RenderPathQt.cpp:
60974
609752008-12-20  David Kilzer  <ddkilzer@apple.com>
60976
60977        Fix typo "CSSAferRuleValue" to "CSSAfterRuleValue"
60978
60979        * html/PreloadScanner.cpp:
60980        (WebCore::PreloadScanner::tokenizeCSS):
60981        * html/PreloadScanner.h:
60982        (WebCore::PreloadScanner::CSSState):
60983
609842008-12-19  Alexey Proskuryakov  <ap@webkit.org>
60985
60986        Reviewed by Geoff Garen.
60987
60988        <rdar://problem/6454076> Random crashes on JS raytracer
60989
60990        No test, because the crash is not readily reproducible.
60991
60992        * platform/text/StringImpl.cpp:
60993        (WebCore::StringImpl::empty):
60994        * platform/text/StringImpl.h:
60995        Made empty string per-thread.
60996
609972008-12-19  Anders Carlsson  <andersca@apple.com>
60998
60999        Reviewed by Sam Weinig.
61000
61001        Replace some uses of HardRetain etc with RetainPtr.
61002
61003        * platform/mac/DragImageMac.mm:
61004        * platform/mac/SharedBufferMac.mm:
61005        (WebCore::SharedBuffer::createCFData):
61006        * rendering/RenderThemeMac.mm:
61007        * svg/graphics/cg/SVGResourceFilterCg.mm:
61008        (WebCore::SVGResourceFilter::prepareFilter):
61009        (WebCore::SVGResourceFilter::applyFilter):
61010        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
61011        * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
61012        (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
61013
610142008-12-19  miggilin  <mr.diggilin@gmail.com>
61015
61016        Reviewed by Kevin Ollivier.
61017
61018        Add Context Menu support to wx bindings.
61019
61020        https://bugs.webkit.org/show_bug.cgi?id=22675
61021
61022        * platform/ContextMenu.h:
61023        * platform/ContextMenuItem.h:
61024        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
61025        * platform/wx/ContextMenuItemWx.cpp: Added.
61026        * platform/wx/ContextMenuWx.cpp: Added.
61027        * platform/wx/LocalizedStringsWx.cpp:
61028        * platform/wx/TemporaryLinkStubs.cpp:
61029        * webcore-wx.bkl:
61030
61031
610322008-12-19  Beth Dakin  <bdakin@apple.com>
61033
61034        Reviewed by Darin Adler.
61035
61036        Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a
61037        crash occurs at
61038        AccessibilityTable::isTableExposableThroughAccessibility() when
61039        attempting to create a link in a rich text message
61040
61041        We need to disable Accessibility Tables until we get this fixed for
61042        real to prevent rampant crashing.
61043
61044        * page/AccessibilityTable.cpp:
61045        (WebCore::AccessibilityTable::AccessibilityTable):
61046
610472008-12-19  Simon Fraser  <simon.fraser@apple.com>
61048
61049        Reviewed by Darin Adler
61050
61051        https://bugs.webkit.org/show_bug.cgi?id=22938
61052
61053        When the document element is transformed, we need to paint
61054        the view background to avoid unpainted areas.
61055
61056        Test: fast/transforms/transformed-document-element.html
61057
61058        * rendering/RenderView.cpp:
61059        (WebCore::RenderView::paintBoxDecorations):
61060
610612008-12-19  Steve Falkenburg  <sfalken@apple.com>
61062
61063        Fix build.
61064
61065        * WebCore.vcproj/WebCore.vcproj:
61066
610672008-12-19  Kevin Ollivier  <kevino@theolliviers.com>
61068
61069        wx build fixes after recent changes.
61070
61071        * WebCoreSources.bkl:
61072        * platform/graphics/wx/ImageSourceWx.cpp:
61073        (WebCore::ImageSource::clear):
61074        * webcore-base.bkl:
61075
610762008-12-19  Holger Hans Peter Freyther  <zecke@selfish.org>
61077
61078        Reviewed by Sam Weinig.
61079
61080        [GTK] Fix make distcheck again
61081
61082        These files were moved to WebCore/platform/animation
61083        and WebCore/platform/graphics/transforms.
61084
61085        * GNUmakefile.am:
61086
610872008-12-19  Gustavo Noronha Silva  <gns@gnome.org>
61088
61089        Reviewed by Holger Freyther.
61090
61091        https://bugs.webkit.org/show_bug.cgi?id=22900
61092
61093        Fix AtomicString usage, so that building works.
61094
61095        * platform/network/soup/ResourceHandleSoup.cpp:
61096
610972008-12-19  Adam Roben  <aroben@apple.com>
61098
61099        Windows build fix on older versions of CFNetwork after r39393
61100
61101        * platform/network/cf/ResourceHandleCFNet.cpp:
61102        (WebCore::highestSupportedCFURLConnectionClientVersion): Changed
61103        preprocessor directives not to leave in unreachable code on old
61104        versions of CFNetwork.
61105
611062008-12-19  Antti Koivisto  <antti@apple.com>
61107
61108        Comment fix.
61109
61110        * platform/PurgeableBuffer.h:
61111
611122008-12-19  Holger Hans Peter Freyther  <zecke@selfish.org>
61113
61114        [GTK] Build fix by adding the new files.
61115
61116        * GNUmakefile.am:
61117
611182008-12-19  Jade Han <jade.han@nokia.com>
61119
61120        Reviewed by Tor Arne Vestbø.
61121
61122        [Qt] Allow conversion of JavaScript Number and Boolean types to Qt types
61123
61124        https://bugs.webkit.org/show_bug.cgi?id=22880
61125
61126        * bridge/qt/qt_runtime.cpp:
61127        (JSC::Bindings::convertValueToQVariant):
61128
611292008-12-19  Tor Arne Vestbø  <tavestbo@trolltech.com>
61130
61131        Reviewed by Holger Freyther.
61132
61133        Implement ImageDecoder::filenameExtension() for Qt
61134
61135        * platform/graphics/qt/ImageDecoderQt.cpp:
61136        (WebCore::ImageDecoderQt::filenameExtension):
61137        * platform/graphics/qt/ImageDecoderQt.h:
61138        * platform/graphics/qt/ImageSourceQt.cpp:
61139        (WebCore::ImageSource::filenameExtension):
61140
611412008-12-19  Adam Barth  <abarth@webkit.org>
61142
61143        Reviewed by Darin Alder.
61144
61145        Implement ImageSource::filenameExtension for Cario
61146          https://bugs.webkit.org/show_bug.cgi?id=22905
61147
61148        * platform/graphics/cairo/ImageSourceCairo.cpp:
61149        (WebCore::ImageSource::filenameExtension):
61150        * platform/image-decoders/ImageDecoder.h:
61151        * platform/image-decoders/bmp/BMPImageDecoder.h:
61152        (WebCore::BMPImageDecoder::filenameExtension):
61153        * platform/image-decoders/gif/GIFImageDecoder.h:
61154        (WebCore::GIFImageDecoder::filenameExtension):
61155        * platform/image-decoders/ico/ICOImageDecoder.h:
61156        (WebCore::ICOImageDecoder::filenameExtension):
61157        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
61158        (WebCore::JPEGImageDecoder::filenameExtension):
61159        * platform/image-decoders/png/PNGImageDecoder.h:
61160        (WebCore::PNGImageDecoder::filenameExtension):
61161        * platform/image-decoders/xbm/XBMImageDecoder.h:
61162        (WebCore::XBMImageDecoder::filenameExtension):
61163
611642008-12-18  Dan Bernstein  <mitz@apple.com>
61165
61166        Reviewed by Sam Weinig.
61167
61168        - avoid using the ResourceHandle-level credential storage, if any,
61169          unless the client opts to use it; when use of the credential
61170          storage is disallowed, all authentication challenges are sent to
61171          the client.
61172        - let the FrameLoaderClient decide whether to use the credential
61173          storage.
61174
61175        * loader/EmptyClients.h:
61176        (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added.
61177        Returns false.
61178        * loader/FrameLoader.cpp:
61179        (WebCore::FrameLoader::shouldUseCredentialStorage): Added. Calls through
61180        to the FrameLoaderClient.
61181        * loader/FrameLoader.h: Declared shouldUseCredentialStorage().
61182        * loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage().
61183        * loader/ResourceLoader.cpp:
61184        (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls
61185        through to the FrameLoader.
61186        * loader/ResourceLoader.h:
61187        (WebCore::ResourceLoader::shouldUseCredentialStorage): Implemented this
61188        ResourceHandleClient method.
61189        * loader/SubresourceLoader.cpp:
61190        (WebCore::SubresourceLoader::shouldUseCredentialStorage): Added.
61191        Overrides the ResourceLoader implementation by letting the client
61192        supply the return value. If the client does not do this, continues
61193        with the ResourceLoader behavior of asking the FrameLoader.
61194        * loader/SubresourceLoader.h: Removed an unused #include and declared
61195        shouldUseCredentialStorage().
61196        * loader/SubresourceLoaderClient.h:
61197        (WebCore::SubresourceLoaderClient::getShouldUseCredentialStorage):
61198        Added a default implementation which returns false, meaning the client
61199        does not wish to decide whether the credential storage should be used.
61200        * platform/network/ResourceHandle.h: Removed unused forward declarations.
61201        Declared a new member function, shouldUseCredentialStorage(), on Mac and
61202        CFNetwork-using builds.
61203        * platform/network/ResourceHandleClient.h:
61204        (WebCore::ResourceHandleClient::shouldUseCredentialStorage): Added this
61205        default implementation that returns false.
61206        * platform/network/cf/ResourceHandleCFNet.cpp:
61207        (WebCore::findCFNetworkModule): Added. Returns a handle to the CFNetwork
61208        module.
61209        (WebCore::cfNetworkVersion): Added. Returns the high word of the
61210        CFNetwork library's product version.
61211        (WebCore::highestSupportedCFURLConnectionClientVersion): Added. Returns
61212        the highest version of the CFURLConnectionClient structure supported by
61213        the CFNetwork library. The only reason to check this at runtime is
61214        that WebKit may be linking at runtime against an older version of
61215        CFNetwork than the one it was built with, as is the case with nightly
61216        builds.
61217        (WebCore::shouldUseCredentialStorageCallback): Added this
61218        CFURLConnection callback which calls through to
61219        ResourceHandle::shouldUseCredentialStorage().
61220        (WebCore::ResourceHandle::start): Pass a version 3 CFURLConnectionClient
61221        including the shouldUseCredentialStorage callback. At runtime, clamp the
61222        client structure version down to the highest supported by CFNetwork.
61223        (WebCore::ResourceHandle::shouldUseCredentialStorage): Added. Calls through
61224        to the client if there is one. Otherwise returns false.
61225        * platform/network/mac/ResourceHandleMac.mm:
61226        (WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
61227        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
61228        Added this delegate method which callls through to
61229        ResourceHandle::shouldUseCredentialStorage().
61230
612312008-12-18  David Kilzer  <ddkilzer@apple.com>
61232
61233        Reset role to "Private" on 6 header files to fix clean builds after r39378
61234
61235        Reviewed by BUILD FIX.
61236
61237        * WebCore.xcodeproj/project.pbxproj: Added back "Private" role
61238        that was lost on 6 headers when they were "moved":
61239        AffineTransform.h, Animation.h, AnimationList.h,
61240        TimingFunction.h, TransformOperation.h and
61241        TransformOperations.h.
61242
612432008-12-18  Pamela Greene  <pam@chromium.org>
61244
61245        Reviewed by Dan Bernstein.
61246
61247        Add initializer for m_textDirectionSubmenuInclusionBehavior.
61248        https://bugs.webkit.org/show_bug.cgi?id=22926
61249
61250        * page/Settings.cpp:
61251        (WebCore::Settings::Settings): Initialize m_textDirectionSubmenuInclusionBehavior
61252
612532008-12-18  Sam Weinig  <sam@webkit.org>
61254
61255        Reviewed by John Sullivan.
61256
61257        Add new FrameLoaderClient method to indicate the first visually
61258        non-empty layout based on an heuristic.  Right now that heuristic
61259        is the first layout after an image, text or plugin has been added
61260        to the render tree, but I can imagine it becoming much smarter.
61261
61262        * loader/EmptyClients.h:
61263        (WebCore::EmptyFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
61264        * loader/FrameLoader.cpp:
61265        (WebCore::FrameLoader::didFirstVisuallyNonEmptyLayout):
61266        * loader/FrameLoader.h:
61267        * loader/FrameLoaderClient.h:
61268        * page/FrameView.cpp:
61269        (WebCore::FrameViewPrivate::reset):
61270        (WebCore::FrameView::layout):
61271        (WebCore::FrameView::performPostLayoutTasks):
61272        (WebCore::FrameView::setIsVisuallyNonEmpty):
61273        * page/FrameView.h:
61274        * rendering/RenderImage.cpp:
61275        (WebCore::RenderImage::RenderImage):
61276        * rendering/RenderPartObject.cpp:
61277        (WebCore::RenderPartObject::RenderPartObject):
61278        * rendering/RenderText.cpp:
61279        (WebCore::RenderText::RenderText):
61280
612812008-12-18  Darin Adler  <darin@apple.com>
61282
61283        Reviewed by Sam Weinig.
61284
61285        - fix <rdar://problem/6449841> reduce memory use of ResourceResponseBase by removing two maps
61286
61287        We were parsing the cache-control and pragma header field values into maps.
61288        I changed that so instead we only cache two bits with the data we were actually
61289        using. Later we might want to move this responsibility out of this class entirely;
61290        we can cache it at the higher level instead.
61291
61292        * loader/CachedResource.cpp:
61293        (WebCore::CachedResource::mustRevalidate): Changed to call a specific API to get at
61294        the bits in quest instead of a general "cache control directives" API.
61295
61296        * platform/network/ResourceResponseBase.cpp:
61297        (WebCore::ResourceResponseBase::setHTTPHeaderField): Remove the logic for the
61298        pragma header field since no one is using this for now.
61299        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Eliminated the return
61300        value and made this function have side effects only. Changed it so it's the caller's
61301        responsibility to check m_haveParsedCacheControl. Set m_cacheControlContainsNoCache
61302        and m_cacheControlContainsMustRevalidate rather than keeping a map around.
61303
61304        * platform/network/ResourceResponseBase.h:
61305        (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Added.
61306        (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): Added.
61307        (WebCore::ResourceResponseBase::ResourceResponseBase): Updated since I removed
61308        m_haveParsedCacheControl and renamed m_haveParsedCacheControlHeader to remove
61309        the imprecise use of the term "header".
61310
613112008-12-18  Steve Falkenburg  <sfalken@apple.com>
61312
61313        Build fix.
61314        Delete 2nd copy of code in these files.
61315
61316        * platform/animation/Animation.cpp:
61317        * platform/animation/Animation.h:
61318        * platform/animation/AnimationList.cpp:
61319        * platform/animation/AnimationList.h:
61320        * platform/animation/TimingFunction.h:
61321        * platform/graphics/transforms/AffineTransform.cpp:
61322        * platform/graphics/transforms/AffineTransform.h:
61323        * platform/graphics/transforms/IdentityTransformOperation.h:
61324        * platform/graphics/transforms/MatrixTransformOperation.cpp:
61325        * platform/graphics/transforms/MatrixTransformOperation.h:
61326        * platform/graphics/transforms/RotateTransformOperation.cpp:
61327        * platform/graphics/transforms/RotateTransformOperation.h:
61328        * platform/graphics/transforms/ScaleTransformOperation.cpp:
61329        * platform/graphics/transforms/ScaleTransformOperation.h:
61330        * platform/graphics/transforms/SkewTransformOperation.cpp:
61331        * platform/graphics/transforms/SkewTransformOperation.h:
61332        * platform/graphics/transforms/TransformOperation.h:
61333        * platform/graphics/transforms/TransformOperations.cpp:
61334        * platform/graphics/transforms/TransformOperations.h:
61335        * platform/graphics/transforms/TranslateTransformOperation.cpp:
61336        * platform/graphics/transforms/TranslateTransformOperation.h:
61337
613382008-12-18  Dimitri Glazkov  <dglazkov@chromium.org>
61339
61340        Reviewed by Geoffrey Garen.
61341
61342        https://bugs.webkit.org/show_bug.cgi?id=22859
61343        Abstract away the use of JSDOMWindow in CachedPage and introduce
61344        ScriptCachedPageData abstraction.
61345
61346        * GNUmakefile.am: Added ScriptCachedPageData to project.
61347        * WebCore.pro: Added ScriptCachedPageData to project.
61348        * WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project.
61349        * WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to
61350            project.
61351        * bindings/js/ScriptCachedPageData.cpp: Added.
61352        (WebCore::ScriptCachedPageData::ScriptCachedPageData):
61353        (WebCore::ScriptCachedPageData::~ScriptCachedPageData):
61354        (WebCore::ScriptCachedPageData::restore):
61355        (WebCore::ScriptCachedPageData::clear):
61356        * bindings/js/ScriptCachedPageData.h: Added.
61357        * history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with
61358            ScriptCachedPageData.
61359        (WebCore::CachedPage::CachedPage):
61360        (WebCore::CachedPage::domWindow):
61361        (WebCore::CachedPage::restore):
61362        (WebCore::CachedPage::clear):
61363        * history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with
61364            ScriptCachedPageData.
61365
613662008-12-18  Chris Marrin  <cmarrin@apple.com>
61367
61368        Reviewed by Dave Hyatt.
61369
61370        https://bugs.webkit.org/show_bug.cgi?id=22888
61371
61372        To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform
61373
61374        * WebCore.xcodeproj/project.pbxproj:
61375        * platform/animation: Added.
61376        * platform/animation/Animation.cpp: Copied from WebCore/rendering/style/Animation.cpp.
61377        * platform/animation/Animation.h: Copied from WebCore/rendering/style/Animation.h.
61378        * platform/animation/AnimationList.cpp: Copied from WebCore/rendering/style/AnimationList.cpp.
61379        * platform/animation/AnimationList.h: Copied from WebCore/rendering/style/AnimationList.h.
61380        * platform/animation/TimingFunction.h: Copied from WebCore/rendering/style/TimingFunction.h.
61381        * platform/graphics/AffineTransform.cpp: Removed.
61382        * platform/graphics/AffineTransform.h: Removed.
61383        * platform/graphics/transforms: Added.
61384        * platform/graphics/transforms/AffineTransform.cpp: Copied from WebCore/platform/graphics/AffineTransform.cpp.
61385        * platform/graphics/transforms/AffineTransform.h: Copied from WebCore/platform/graphics/AffineTransform.h.
61386        * platform/graphics/transforms/IdentityTransformOperation.h: Copied from WebCore/rendering/style/IdentityTransformOperation.h.
61387        * platform/graphics/transforms/MatrixTransformOperation.cpp: Copied from WebCore/rendering/style/MatrixTransformOperation.cpp.
61388        * platform/graphics/transforms/MatrixTransformOperation.h: Copied from WebCore/rendering/style/MatrixTransformOperation.h.
61389        * platform/graphics/transforms/RotateTransformOperation.cpp: Copied from WebCore/rendering/style/RotateTransformOperation.cpp.
61390        * platform/graphics/transforms/RotateTransformOperation.h: Copied from WebCore/rendering/style/RotateTransformOperation.h.
61391        * platform/graphics/transforms/ScaleTransformOperation.cpp: Copied from WebCore/rendering/style/ScaleTransformOperation.cpp.
61392        * platform/graphics/transforms/ScaleTransformOperation.h: Copied from WebCore/rendering/style/ScaleTransformOperation.h.
61393        * platform/graphics/transforms/SkewTransformOperation.cpp: Copied from WebCore/rendering/style/SkewTransformOperation.cpp.
61394        * platform/graphics/transforms/SkewTransformOperation.h: Copied from WebCore/rendering/style/SkewTransformOperation.h.
61395        * platform/graphics/transforms/TransformOperation.h: Copied from WebCore/rendering/style/TransformOperation.h.
61396        * platform/graphics/transforms/TransformOperations.cpp: Copied from WebCore/rendering/style/TransformOperations.cpp.
61397        * platform/graphics/transforms/TransformOperations.h: Copied from WebCore/rendering/style/TransformOperations.h.
61398        * platform/graphics/transforms/TranslateTransformOperation.cpp: Copied from WebCore/rendering/style/TranslateTransformOperation.cpp.
61399        * platform/graphics/transforms/TranslateTransformOperation.h: Copied from WebCore/rendering/style/TranslateTransformOperation.h.
61400        * rendering/style/Animation.cpp: Removed.
61401        * rendering/style/Animation.h: Removed.
61402        * rendering/style/AnimationList.cpp: Removed.
61403        * rendering/style/AnimationList.h: Removed.
61404        * rendering/style/IdentityTransformOperation.h: Removed.
61405        * rendering/style/MatrixTransformOperation.cpp: Removed.
61406        * rendering/style/MatrixTransformOperation.h: Removed.
61407        * rendering/style/RotateTransformOperation.cpp: Removed.
61408        * rendering/style/RotateTransformOperation.h: Removed.
61409        * rendering/style/ScaleTransformOperation.cpp: Removed.
61410        * rendering/style/ScaleTransformOperation.h: Removed.
61411        * rendering/style/SkewTransformOperation.cpp: Removed.
61412        * rendering/style/SkewTransformOperation.h: Removed.
61413        * rendering/style/TimingFunction.h: Removed.
61414        * rendering/style/TransformOperation.h: Removed.
61415        * rendering/style/TransformOperations.cpp: Removed.
61416        * rendering/style/TransformOperations.h: Removed.
61417        * rendering/style/TranslateTransformOperation.cpp: Removed.
61418        * rendering/style/TranslateTransformOperation.h: Removed.
61419
614202008-12-18  Cameron Zwarich  <zwarich@apple.com>
61421
61422        Reviewed by Geoff Garen.
61423
61424        Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
61425        <https://bugs.webkit.org/show_bug.cgi?id=21855>
61426        <rdar://problem/6278244>
61427
61428        If JavaScript is not currently executing, the handleEvent member function
61429        of JSAbstractEventListener should set the dynamic global object to the
61430        global object of the context in which the event occurred.
61431
61432        If this is not set, then JavaScriptCore will simply take the global object
61433        of the context where the event handler function was created, which may be
61434        a different frame. This will cause the popup blocker to incorrectly block
61435        windows opened from onclick events inside of an iframe whose handler was
61436        created in the outer frame, as it will check the outer frame and see that
61437        it is not processing any events.
61438
61439        * bindings/js/JSEventListener.cpp:
61440        (WebCore::JSAbstractEventListener::handleEvent):
61441
614422008-12-17  Simon Fraser  <simon.fraser@apple.com>
61443
61444        Reviewed by Dave Hyatt
61445
61446        https://bugs.webkit.org/show_bug.cgi?id=22570
61447
61448        Add the ability to compute clip rects independently from
61449        caching them on the RenderLayer. When painting reflections, use
61450        such temporarily computed clipRects, otherwise the layer may cache
61451        clipRects which are invalid, since they have been computed with
61452        a rootLayer that is not the one usually used to paint.
61453
61454        Test: fast/reflections/reflection-overflow-hidden.html
61455
61456        * rendering/RenderLayer.cpp:
61457        (WebCore::RenderLayer::paintLayer):
61458        (WebCore::RenderLayer::hitTestLayer):
61459        (WebCore::RenderLayer::updateClipRects):
61460        (WebCore::RenderLayer::calculateClipRects):
61461        (WebCore::RenderLayer::calculateRects):
61462        * rendering/RenderLayer.h:
61463        (WebCore::ClipRects::ClipRects):
61464        (WebCore::ClipRects::reset):
61465        (WebCore::ClipRects::overflowClipRect):
61466        (WebCore::ClipRects::setOverflowClipRect):
61467        (WebCore::ClipRects::fixedClipRect):
61468        (WebCore::ClipRects::setFixedClipRect):
61469        (WebCore::ClipRects::posClipRect):
61470        (WebCore::ClipRects::setPosClipRect):
61471        (WebCore::ClipRects::setFixed):
61472        (WebCore::ClipRects::operator==):
61473        (WebCore::ClipRects::operator=):
61474        * rendering/RenderReplica.cpp:
61475        (WebCore::RenderReplica::paint):
61476
614772008-12-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61478
61479        Reviewed by Simon Hausmann.
61480
61481        https://bugs.webkit.org/show_bug.cgi?id=22618
61482
61483        Fix MinGW QtWebKit linking problems and also make the
61484        QtWebKit build system more robust.
61485
61486        * WebCore.pro:
61487
614882008-12-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
61489
61490        Reviewed by Maciej Stachowiak.
61491
61492        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22866
61493
61494        wml.css is based on an older copy of html4.css. Synchronize them.
61495        Remove all entries, that are irrelevant for WML.
61496
61497        Fix <do> appearance: should behave like HTMLs <button>.
61498
61499        * css/wml.css:
61500
615012008-12-17  Yury Semikhatsky <yurys@google.com>
61502
61503        Reviewed by Timothy Hatcher.
61504        Landed by Adam Barth.
61505
61506        Added more checks that WebInspector.panels.{resources,scripts} are
61507        defined where they are accessed from other panels and WebInspector
61508        (some panels are not yet supported in Chrome).
61509
61510        * inspector/front-end/Console.js:
61511        (WebInspector.Console.prototype.addMessage):
61512        (WebInspector.Console.prototype.clearMessages):
61513        (WebInspector.Console.prototype.completions):
61514        * inspector/front-end/ObjectPropertiesSection.js:
61515        (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
61516        * inspector/front-end/ScriptsPanel.js:
61517        (WebInspector.ScriptsPanel.prototype.get searchableViews):
61518        (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource):
61519        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
61520        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
61521        * inspector/front-end/SourceView.js:
61522        (WebInspector.SourceView.prototype._addBreakpoint):
61523        * inspector/front-end/inspector.js:
61524        (WebInspector.addResource):
61525        (WebInspector.removeResource):
61526        (WebInspector.showResourceForURL):
61527
615282008-12-17  Cary Clark  < caryclark@google.com>
61529
61530        Reviewed by Darin Adler.
61531        Landed by Adam Barth.
61532
61533        Add ENABLE_TEXT_CARET to permit the ANDROID platform
61534        to invalidate and draw the caret in a separate thread.
61535
61536        * page/Frame.cpp:
61537        (WebCore::Frame::clearCaretRectIfNeeded): Body of
61538        function does nothing if text caret is disabled.
61539        (WebCore::Frame::selectionLayoutChanged): Do nothing
61540        if text caret is disabled and the caret only blinked.
61541        (WebCore::Frame::caretBlinkTimerFired):
61542        (WebCore::Frame::paintCaret):
61543        (WebCore::Frame::paintDragCaret): Body of
61544        functions does nothing if text caret is disabled.
61545
615462008-12-16  Darin Adler  <darin@apple.com>
61547
61548        Reviewed and landed by Cameron Zwarich.
61549
61550        Change the style of AtomicString::add() to match Identifier:add().
61551
61552        * platform/text/AtomicString.cpp:
61553        (WebCore::AtomicString::add):
61554
615552008-12-16  Adele Peterson  <adele@apple.com>
61556
61557        Reviewed by Darin Adler.
61558
61559        Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
61560        <rdar://problem/6247724> RenderThemeWin buttons have weird heavy text
61561
61562        * rendering/RenderThemeWin.cpp:
61563        (WebCore::fillFontDescription): Add version that takes a font size.
61564        (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size.
61565        This will match Firefox.
61566
615672008-12-16  Stephanie Lewis  <slewis@apple.com>
61568
61569        Another build fix.
61570
61571        * platform/text/AtomicString.h:
61572        (WebCore::AtomicString::AtomicString):
61573
615742008-12-16  Stephanie Lewis  <slewis@apple.com>
61575
61576        Windows Build Fix.
61577
61578        * platform/text/AtomicString.h:
61579        (WebCore::AtomicString::AtomicString):
61580        (WebCore::AtomicString::createCFString):
61581
615822008-12-16  Peter Kasting  <pkasting@google.com>
61583
61584        Reviewed by David Hyatt.
61585
61586        https://bugs.webkit.org/show_bug.cgi?id=22885
61587        Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.
61588
61589        * platform/image-decoders/gif/GIFImageDecoder.cpp:
61590        (WebCore::GIFImageDecoder::frameComplete):
61591
615922008-12-16  Stephanie Lewis  <slewis@apple.com>
61593
61594        Reviewed by Geoff Garen.
61595
61596        Change HTTPHeaderMap to use an AtomicString as its key.
61597        Shaves ~1MB off of the Mozilla Memory Test
61598        No functionality difference
61599
61600        * WebCore.xcodeproj/project.pbxproj:
61601        * inspector/InspectorController.cpp:
61602        (WebCore::addHeaders):
61603        * loader/appcache/ApplicationCacheStorage.cpp:
61604        (WebCore::parseHeader):
61605        * platform/network/HTTPHeaderMap.h:
61606        * platform/network/ResourceRequestBase.cpp:
61607        (WebCore::ResourceRequestBase::httpHeaderField):
61608        (WebCore::ResourceRequestBase::setHTTPHeaderField):
61609        (WebCore::ResourceRequestBase::addHTTPHeaderField):
61610        * platform/network/ResourceRequestBase.h:
61611        * platform/network/ResourceResponseBase.cpp:
61612        (WebCore::ResourceResponseBase::httpHeaderField):
61613        (WebCore::ResourceResponseBase::setHTTPHeaderField):
61614        * platform/network/ResourceResponseBase.h:
61615        * platform/text/StringHash.h:
61616        (WebCore::CaseFoldingHash::hash):
61617        (WebCore::CaseFoldingHash::equal):
61618        * xml/XMLHttpRequest.cpp:
61619        (WebCore::isSetCookieHeader):
61620        (WebCore::XMLHttpRequest::setRequestHeader):
61621        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
61622        (WebCore::XMLHttpRequest::getRequestHeader):
61623        (WebCore::XMLHttpRequest::getResponseHeader):
61624        * xml/XMLHttpRequest.h:
61625
616262008-12-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
61627
61628        Reviewed by Darin Adler.
61629
61630        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876
61631
61632        Remove legacy randomNumber() functionality from HTMLFormElement, and use the new wtf/RandomNumber.h.
61633        Also remove an uneeded QFileInfo include while I'm at it - there is no Qt usage in this file.
61634
61635        * ForwardingHeaders/wtf/RandomNumber.h: Added.
61636        * html/HTMLFormElement.cpp:
61637        (WebCore::getUniqueBoundaryString):
61638
616392008-12-16 Yael Aharon <yael.aharon@nokia.com>
61640
61641        Reviewed by Tor Arne Vestbø.
61642
61643        Qt/Win build fix
61644
61645        * platform/win/SystemTimeWin.cpp:
61646
616472008-12-16  Kalle Vahlman  <kalle.vahlman@movial.com>
61648
61649        Reviewed by Holger Freyther.
61650
61651        [CURL] memory leak of ResouceHandles
61652        http://bugs.webkit.org/show_bug.cgi?id=20777
61653
61654        Fix ResourceHandle ref management to be consistent and correct.
61655        Original patch from Marco Barisione.
61656
61657        * platform/network/curl/ResourceHandleCurl.cpp:
61658        (WebCore::ResourceHandle::start):
61659        * platform/network/curl/ResourceHandleManager.cpp:
61660        (WebCore::ResourceHandleManager::removeFromCurl):
61661        (WebCore::ResourceHandleManager::add):
61662        (WebCore::ResourceHandleManager::removeScheduledJob):
61663
616642008-12-16  Simon Hausmann  <simon.hausmann@nokia.com>
61665
61666        Fix the Qt build.
61667
61668        * platform/graphics/qt/ImageSourceQt.cpp:
61669        (WebCore::ImageSource::clear): Adjust to new signature.
61670
616712008-12-15  Mark Rowe  <mrowe@apple.com>
61672
61673        Rubber-stamped by Cameron Zwarich.
61674
61675        <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
61676
61677        * Configurations/Base.xcconfig:
61678        * Configurations/DebugRelease.xcconfig:
61679
616802008-12-15  Adele Peterson  <adele@apple.com>
61681
61682        Reviewed by Darin Adler.
61683
61684        Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
61685        <rdar://problem/6417316> RenderThemeWin buttons are too short/thin
61686
61687        * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle):
61688        Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
61689
616902008-12-15  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
61691
61692        Reviewed by Oliver Hunt.
61693
61694        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865
61695
61696        Add complete WML <table> / <tr> / <td> element support.
61697        Proper handling of all table related attributes, including tests.
61698
61699        Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)
61700               fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
61701               fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
61702               fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
61703               fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)
61704
61705        * GNUmakefile.am:
61706        * WebCore.pro:
61707        * WebCore.vcproj/WebCore.vcproj:
61708        * WebCore.xcodeproj/project.pbxproj:
61709        * rendering/RenderObject.cpp:
61710        (WebCore::RenderObject::offsetParent):
61711        * rendering/RenderTableRow.cpp:
61712        (WebCore::RenderTableRow::addChild):
61713        * wml/WMLTableElement.cpp: Added.
61714        (WebCore::WMLTableElement::WMLTableElement):
61715        (WebCore::WMLTableElement::~WMLTableElement):
61716        (WebCore::WMLTableElement::mapToEntry):
61717        (WebCore::WMLTableElement::parseMappedAttribute):
61718        (WebCore::WMLTableElement::finishParsingChildren):
61719        * wml/WMLTableElement.h: Added.
61720        * wml/WMLTagNames.in:
61721
617222008-12-15  Darin Adler  <darin@apple.com>
61723
61724        Reviewed by Sam Weinig.
61725
61726        - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window
61727
61728        Test: fast/dom/Window/window-custom-prototype.html
61729
61730        Replaced toGlobalObject with the more generally useful unwrappedObject.
61731
61732        * bindings/js/JSDOMWindowShell.cpp:
61733        (WebCore::JSDOMWindowShell::unwrappedObject): Added.
61734        * bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
61735        * bindings/js/JSQuarantinedObjectWrapper.h:
61736        (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.
61737
617382008-12-15  Gustavo Noronha Silva  <kov@kov.eti.br>
61739
61740        Reviewed by Mark Rowe.
61741
61742        https://bugs.webkit.org/show_bug.cgi?id=22686
61743
61744        GTK+ build fix.
61745
61746        * GNUmakefile.am:
61747
617482008-12-15  Sam Weinig  <sam@webkit.org>
61749
61750        Reviewed by Darin Adler.
61751
61752        Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
61753        Geolocation PositionOptions cannot be an arbitrary object.
61754
61755        Allow the PositionOptions to be a vanilla JS object and parse it
61756        appropriately.
61757
61758        * DerivedSources.make: Remove PositionOptions.
61759        * GNUmakefile.am: Ditto.
61760        * WebCore.pro: Ditto.
61761        * WebCore.vcproj/WebCore.vcproj: Ditto.
61762        * WebCore.xcodeproj/project.pbxproj: Ditto.
61763        * WebCoreSources.bkl: Ditto.
61764
61765        * bindings/js/JSGeolocationCustom.cpp:
61766        (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy
61767        and timeout fields from a vanilla JS object in order to create the
61768        PositionOptions object, checking for exceptions as necessary.
61769        (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions
61770        instead of toPositionOptions.
61771        (WebCore::JSGeolocation::watchPosition): Ditto.
61772        * page/PositionOptions.idl: Removed
61773
617742008-12-15  Peter Kasting  <pkasting@google.com>
61775
61776        Reviewed by David Hyatt.
61777
61778        https://bugs.webkit.org/show_bug.cgi?id=22108
61779        Large animated GIFs weren't always animating.  The code that deleted
61780        the entire decoder after each frame of a large image was resulting in
61781        us forgetting the loop count, breaking animations intermittently.
61782
61783        Instead of throwing the whole decoder away, we're more careful to just
61784        delete frames we don't care about.  This additionally addresses
61785        problems in the Cairo and Chromium ports with excessive peak memory
61786        use and CPU use when decoding large animated GIFs because it leads to
61787        much less redecoding (O(n) instead of O(n^2) CPU, and O(1) instead of
61788        O(n) memory).
61789
61790        This change has less impact on the CG decoder, which seems to throw
61791        away frames automatically when their external references are dropped;
61792        this means the CG decoder didn't suffer from the peak memory usage
61793        issue before (and still doesn't), but it also still burns excessive
61794        CPU redecoding earlier frames, that in theory it wouldn't need to
61795        redecode if it would judiciously save the most recent frames.  At
61796        least this patch plumbs some useful info to the ImageSource so it can
61797        help guide the CG decoder heuristics in the future.
61798
61799        * platform/graphics/BitmapImage.cpp:
61800        (WebCore::frameBytes):
61801        (WebCore::BitmapImage::destroyDecodedData):
61802        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
61803        (WebCore::BitmapImage::destroyMetadataAndNotify):
61804        (WebCore::BitmapImage::clearFrame):
61805        (WebCore::BitmapImage::cacheFrame):
61806        (WebCore::BitmapImage::dataChanged):
61807        (WebCore::BitmapImage::startAnimation):
61808        (WebCore::BitmapImage::resetAnimation):
61809        (WebCore::BitmapImage::internalAdvanceAnimation):
61810        * platform/graphics/BitmapImage.h:
61811        * platform/graphics/GeneratedImage.h:
61812        (WebCore::GeneratedImage::destroyDecodedData):
61813        * platform/graphics/Image.h:
61814        * platform/graphics/ImageSource.h:
61815        * platform/graphics/cairo/ImageSourceCairo.cpp:
61816        (WebCore::ImageSource::~ImageSource):
61817        (WebCore::ImageSource::clear):
61818        * platform/graphics/cg/ImageSourceCG.cpp:
61819        (WebCore::ImageSource::~ImageSource):
61820        (WebCore::ImageSource::clear):
61821        * platform/graphics/cg/PDFDocumentImage.h:
61822        (WebCore::PDFDocumentImage::destroyDecodedData):
61823        * platform/graphics/qt/StillImageQt.h:
61824        (WebCore::StillImage::destroyDecodedData):
61825        * platform/image-decoders/ImageDecoder.h:
61826        (WebCore::RGBA32Buffer::clear):
61827        (WebCore::ImageDecoder::clearFrameBufferCache):
61828        * platform/image-decoders/gif/GIFImageDecoder.cpp:
61829        (WebCore::GIFImageDecoder::repetitionCount):
61830        (WebCore::GIFImageDecoder::clearFrameBufferCache):
61831        (WebCore::GIFImageDecoder::initFrameBuffer):
61832        * platform/image-decoders/gif/GIFImageDecoder.h:
61833        * platform/image-decoders/gif/GIFImageReader.h:
61834        (GIFImageReader::GIFImageReader):
61835        * svg/graphics/SVGImage.h:
61836        (WebCore::SVGImage::destroyDecodedData):
61837
618382008-12-15  Cameron Zwarich  <zwarich@apple.com>
61839
61840        Reviewed by Darin Adler.
61841
61842        Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
61843        <https://bugs.webkit.org/show_bug.cgi?id=22562>
61844        <rdar://problem/6414593>
61845
61846        Restore the Frame's DOMWindow to its previous value when going back in
61847        the back/forward cache. The fact that it was not getting set before may
61848        have always caused some subtle bugs with the back/forward cache, but
61849        after r37971, it causes no events to fire after restoring a page.
61850
61851        Previously, ScriptController::clearScriptObjects() was calling
61852        clearPlatformScriptObjects(), which was not actually clearing any
61853        objects, only updating them to reflect some change in state. Since the
61854        window shell was not updated until after the call to clearScriptObjects(),
61855        this didn't actually make that much sense.
61856
61857        We rename clearPlatformScriptObjects() to reflect its actual purpose and
61858        call it after the window shell has been updated rather than before.
61859
61860        Unfortunately, there is no way to test this with a layout test because
61861        it involves the back/forward cache.
61862
61863        * bindings/js/ScriptController.cpp:
61864        (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from
61865        clearPlatformScriptObjects(), because the only nonempty implementation
61866        doesn't actually clear any objects, it updates them. Also made public.
61867        (WebCore::ScriptController::clearScriptObjects): Remove the call to
61868        clearPlatformScriptObjects().
61869        * bindings/js/ScriptController.h:
61870        * bindings/js/ScriptControllerMac.mm:
61871        (WebCore::ScriptController::updatePlatformScriptObjects):
61872        * history/CachedPage.cpp:
61873        (WebCore::CachedPage::domWindow): Added.
61874        * history/CachedPage.h:
61875        * loader/FrameLoader.cpp:
61876        (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects().
61877        (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects().
61878        (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
61879        * page/Frame.cpp:
61880        (WebCore::Frame::setDOMWindow): Added.
61881        (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
61882        * page/Frame.h:
61883
618842008-12-15  Antti Koivisto  <antti@apple.com>
61885
61886        Reviewed by Darin Adler.
61887
61888        When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
61889        https://bugs.webkit.org/show_bug.cgi?id=17998
61890
61891        - Enable conditional revalidation for reloads by default.
61892        - Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
61893        - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader.
61894          Instead synthezise the policy on demand.
61895
61896        This speeds up reloads and makes them use way less bandwidth.
61897
61898        * WebCore.base.exp:
61899        * loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate.
61900        (WebCore::):
61901        * loader/DocLoader.cpp:
61902        (WebCore::DocLoader::DocLoader):
61903        (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate.
61904        (WebCore::DocLoader::requestResource):
61905        (WebCore::DocLoader::cachePolicy):
61906        * loader/DocLoader.h: Get rid of m_cachePolicy member.
61907        * loader/FrameLoader.cpp:
61908        (WebCore::ScheduledRedirection::ScheduledRedirection):
61909            Add parameter to differentiate refresh from other types of redirects.
61910            m_cachePolicy was used for signaling this before.
61911        (WebCore::isBackForwardLoadType):
61912        (WebCore::FrameLoader::FrameLoader):
61913        (WebCore::FrameLoader::changeLocation):
61914        (WebCore::FrameLoader::stopLoading):
61915        (WebCore::FrameLoader::receivedFirstData):
61916        (WebCore::FrameLoader::write):
61917        (WebCore::FrameLoader::startIconLoader):
61918        (WebCore::FrameLoader::restoreDocumentState):
61919        (WebCore::FrameLoader::scheduleHTTPRedirection):
61920        (WebCore::FrameLoader::scheduleLocationChange):
61921        (WebCore::FrameLoader::scheduleRefresh):
61922        (WebCore::FrameLoader::redirectionTimerFired):
61923        (WebCore::FrameLoader::canCachePage):
61924        (WebCore::FrameLoader::loadURL):
61925        (WebCore::FrameLoader::reload):
61926            Differentiate between revalidation and reload.
61927            No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.
61928        (WebCore::FrameLoader::transitionToCommitted):
61929        (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
61930        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
61931        (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
61932        (WebCore::FrameLoader::shouldScrollToAnchor):
61933        (WebCore::FrameLoader::loadItem):
61934        (WebCore::FrameLoader::updateHistoryForReload):
61935        (WebCore::FrameLoader::updateHistoryForCommit):
61936        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
61937        * loader/FrameLoader.h:
61938        * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin
61939        (WebCore::):
61940        * loader/NavigationAction.cpp:
61941        (WebCore::navigationType):  Support FrameLoadTypeReloadFromOrigin
61942        * loader/loader.cpp:
61943        (WebCore::Loader::Host::servePendingRequests):
61944
619452008-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
61946
61947        Reviewed by Simon Hausmann.
61948
61949        Add null checks to PlatformScreenQt
61950
61951        The other ports do the null checks and JSDOMWindowBase is
61952        at least one caller that is passing 0.
61953
61954        * platform/qt/PlatformScreenQt.cpp:
61955        (WebCore::screenDepth):
61956        (WebCore::screenDepthPerComponent):
61957        (WebCore::screenIsMonochrome):
61958        (WebCore::screenRect):
61959        (WebCore::screenAvailableRect):
61960
619612008-12-15  Alexey Proskuryakov  <ap@webkit.org>
61962
61963        Reviewed by Oliver Hunt.
61964
61965        <rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time
61966
61967        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
61968        Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation
61969        made RegisterFile allocaiton fail after a while.
61970
619712008-12-13  Darin Adler  <darin@apple.com>
61972
61973        Reviewed by Sam Weinig.
61974
61975        - half of https://bugs.webkit.org/show_bug.cgi?id=17425
61976          eliminate DeprecatedPtrList
61977
61978        * dom/Document.cpp:
61979        (WebCore::Document::removeImage): Change to set slots in the vector
61980        to 0 rather than removing items from a list.
61981        (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process
61982        the list. Since we now use a "set to zero" design, we don't need to
61983        be careful about where the iterator points while iterating the list,
61984        instead we just have to skip zeros.
61985
61986        * dom/Document.h: Use Vector instead of DeprecatedPtrList.
61987
61988        * dom/EventTargetNode.cpp:
61989        (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead
61990        of a DeprecatedPtrList for the list of nodes to handle. Also streamlined
61991        the logic a bit and used goto in a couple key places.
61992
61993        * dom/Node.cpp:
61994        (WebCore::Node::eventParentNode): Moved this function into this file
61995        because it's a virtual function so already can't be inlined. Also updated
61996        to return a ContainerNode, so it needs to be in a place where the
61997        definition of ContainerNode is visible, not the header file.
61998
61999        * dom/Node.h: Changed return type of eventParentNode to ContainerNode
62000        and moved its definition into the cpp file.
62001
62002        * dom/XMLTokenizerLibxml2.cpp:
62003        (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to
62004        deleteAllValues here instead of setAutoDelete in the constructor, since
62005        we're using Deque instead of DeprecatedPtrList.
62006        (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the
62007        code to use an OwnPtr since the deque won't delete the callback object.
62008
62009        * editing/ApplyStyleCommand.cpp:
62010        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a
62011        Vector instead of a DeprecatedPtrList.
62012
62013        * svg/SVGElement.cpp:
62014        (WebCore::SVGElement::eventParentNode): Moved this function into this file
62015        because it's a virtual function so already can't be inlined. Also updated
62016        to return a ContainerNode.
62017
62018        * svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*,
62019        made eventParentNode return a ContainerNode*, and made m_shadowParent a
62020        ContainerNode*.
62021
620222008-12-14  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
62023
62024        Reviewed by George Staikos.
62025
62026        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22857
62027
62028        Jumps within a WML deck using <go> task elements fail. Manual reloading
62029        is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
62030        to prevent the problem.
62031
62032        Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
62033        and determineActiveCard, to fix a side-effect of executing a <go> task:
62034        when switching cards within a deck the active card was changed before the load
62035        was fired which resulted in a flash effect on the screen, and doing unnecessary work.
62036
62037        Test: wml/go-task-animation.html
62038
62039        * wml/WMLCardElement.cpp:
62040        (WebCore::WMLCardElement::findNamedCardInDocument):
62041        (WebCore::WMLCardElement::determineActiveCard):
62042        * wml/WMLCardElement.h:
62043        * wml/WMLDocument.cpp:
62044        (WebCore::WMLDocument::finishedParsing):
62045        * wml/WMLGoElement.cpp:
62046        (WebCore::WMLGoElement::executeTask):
62047        (WebCore::WMLGoElement::prepareGETRequest):
62048        * wml/WMLGoElement.h:
62049
620502008-12-14  Dirk Schulze  <krit@webkit.org>
62051
62052        Reviewed by Oliver Hunt.
62053
62054        Fixes an issue in cairo. A fully transparent color can cause wrong
62055        drawings on canvas' composite.
62056
62057        https://bugs.webkit.org/show_bug.cgi?id=22846
62058        [CAIRO] Canvas: transparent color and composite
62059
62060        Test: fast/canvas/canvas-transparency-and-composite.html
62061
62062        * platform/graphics/cairo/GraphicsContextCairo.cpp:
62063        (WebCore::GraphicsContext::fillPath):
62064        (WebCore::GraphicsContext::strokePath):
62065
620662008-12-13  Julien Chaffraix  <jchaffraix@webkit.org>
62067
62068        Reviewed by Darin Adler.
62069
62070        Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
62071        https://bugs.webkit.org/show_bug.cgi?id=22665
62072
62073        Remove setCreatedByParser from frame and iframe.
62074
62075        * html/HTMLElementFactory.cpp:
62076        (WebCore::frameConstructor):
62077        (WebCore::iframeConstructor):
62078        (WebCore::objectConstructor):
62079        * html/HTMLFrameElement.cpp:
62080        (WebCore::HTMLFrameElement::HTMLFrameElement):
62081        * html/HTMLFrameElement.h:
62082        * html/HTMLFrameElementBase.cpp:
62083        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
62084        * html/HTMLFrameElementBase.h:
62085        * html/HTMLFrameOwnerElement.cpp:
62086        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
62087        * html/HTMLFrameOwnerElement.h:
62088        (WebCore::HTMLFrameOwnerElement::createdByParser):
62089        * html/HTMLIFrameElement.cpp:
62090        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
62091        * html/HTMLIFrameElement.h:
62092        * html/HTMLPlugInElement.cpp:
62093        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
62094        * html/HTMLTagNames.in:
62095
620962008-12-13  Alexey Proskuryakov  <ap@webkit.org>
62097
62098        Reviewed by Darin Adler.
62099
62100        https://bugs.webkit.org/show_bug.cgi?id=22843
62101        Auto-generate JSWorkerContext
62102
62103        * bindings/scripts/CodeGeneratorJS.pm:
62104        * dom/WorkerContext.idl: Added.
62105        * page/DOMWindow.idl:
62106        Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and
62107        WorkerContext.
62108
62109        * bindings/js/WorkerScriptController.cpp:
62110        (WebCore::WorkerScriptController::initScript):
62111        Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.
62112
62113        * DerivedSources.make:
62114        * GNUmakefile.am:
62115        * WebCore.pro:
62116        * WebCore.scons:
62117        * WebCore.vcproj/WebCore.vcproj:
62118        * WebCore.xcodeproj/project.pbxproj:
62119        * bindings/js/JSWorkerContext.cpp: Removed.
62120        * bindings/js/JSWorkerContext.h: Removed.
62121        * bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp.
62122        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
62123        (WebCore::JSWorkerContextBase::~JSWorkerContextBase):
62124        (WebCore::JSWorkerContextBase::scriptExecutionContext):
62125        (WebCore::getJSWorkerContextBaseTable):
62126        (WebCore::):
62127        (WebCore::JSWorkerContextBase::put):
62128        * bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
62129        * bindings/js/JSWorkerContextCustom.cpp: Added.
62130        (WebCore::JSWorkerContext::customGetOwnPropertySlot):
62131        (WebCore::JSWorkerContext::mark):
62132        (WebCore::JSWorkerContext::self):
62133        (WebCore::JSWorkerContext::setSelf):
62134        (WebCore::JSWorkerContext::addEventListener):
62135        (WebCore::JSWorkerContext::removeEventListener):
62136        Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll
62137        need to add some global objects to it in the future, as it is done in JSDOMWindowBase.
62138
62139        * page/WorkerNavigator.cpp:
62140        * page/WorkerNavigator.h:
62141        Added ENABLE(WORKERS) ifdefs.
62142
621432008-12-13  Darin Adler  <darin@apple.com>
62144
62145        - fix Release build
62146
62147        * dom/Node.cpp:
62148        (WebCore::Node::rareData): Remove inappropriate inline directive.
62149
621502008-12-13  Darin Adler  <darin@apple.com>
62151
62152        Reviewed by Dan Bernstein.
62153
62154        - fix https://bugs.webkit.org/show_bug.cgi?id=18734
62155          REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
62156          <rdar://problem/5892415>
62157
62158        Test: fast/forms/textarea-selection-preservation.html
62159
62160        The regression reported was caused by the fact that the renderer code had
62161        a bug where it would constantly think the newline at the end of text was
62162        missing, and so it would replace all the text even though it wasn't changing,
62163        which would destroy the selection.
62164
62165        When writing the regression test I discovered another problem: The value
62166        property in HTMLTextAreaElement was intentionally changing the selection
62167        to the end of the textarea, but doing that even when the value wasn't changing.
62168
62169        This patch fixes both and the test checks both.
62170
62171        * html/HTMLTextAreaElement.cpp:
62172        (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is
62173        not changing.
62174
62175        * rendering/RenderTextControl.cpp:
62176        (WebCore::RenderTextControl::text): Add a newline character for each <br>
62177        element encountered in the control
62178
621792008-12-13  Darin Adler  <darin@apple.com>
62180
62181        - file deletion part of https://bugs.webkit.org/show_bug.cgi?id=17497
62182          eliminate DeprecatedValueList
62183
62184        * GNUmakefile.am: Removed references to deleted files.
62185        * WebCore.pro: Ditto.
62186        * WebCore.scons: Ditto.
62187        * WebCore.vcproj/WebCore.vcproj: Ditto.
62188        * WebCore.xcodeproj/project.pbxproj: Ditto.
62189        * WebCoreSources.bkl: Ditto.
62190
62191        * platform/DeprecatedPtrQueue.h: Removed.
62192        * platform/DeprecatedValueList.h: Removed.
62193        * platform/DeprecatedValueListImpl.cpp: Removed.
62194        * platform/DeprecatedValueListImpl.h: Removed.
62195
621962008-12-13  Darin Adler  <darin@apple.com>
62197
62198        Reviewed by Anders Carlsson.
62199
62200        - https://bugs.webkit.org/show_bug.cgi?id=17497
62201          eliminate DeprecatedValueList
62202
62203        * css/CSSStyleDeclaration.cpp: Removed unneeded include.
62204
62205        * dom/Document.cpp:
62206        (WebCore::Document::removeAllEventListenersFromAllNodes):
62207        Set the removed flag on the window event listeners in case we
62208        are in the middle of dispatching events on this window.
62209        (WebCore::Document::clear): Ditto.
62210        (WebCore::Document::handleWindowEvent): Changed to use a vector
62211        instead of a DeprecatedPtrList.
62212        (WebCore::Document::windowInlineEventListenerForType): Ditto.
62213        (WebCore::Document::removeWindowInlineEventListenerForType): Ditto.
62214        Also added a call to setRemoved, which is needed here just as in
62215        other functions that remove.
62216        (WebCore::Document::removeWindowEventListener): Ditto.
62217        (WebCore::Document::hasWindowEventListener): Ditto.
62218
62219        * dom/Document.h: Changed RegisteredEventListenerList to
62220        RegisteredEventListeners.
62221
62222        * dom/Element.cpp:
62223        (WebCore::Element::attach): Use a function to access rare data instead
62224        of getting directly at the data field.
62225        (WebCore::Element::focus): Ditto.
62226        (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.
62227
62228        * dom/ElementRareData.h: Use "using" to make things that are protected
62229        in NodeRareData be public here.
62230
62231        * dom/EventTarget.h: Removed include of DeprecatedValueList and
62232        related declearations that weren't needed. Tweaked the definitions
62233        of the forbidEventDispatch functions too.
62234
62235        * dom/EventTargetNode.cpp:
62236        (WebCore::EventTargetNode::EventTargetNode): Eliminated code that
62237        was used to initialized m_regdListeners.
62238        (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of
62239        m_regdListeners. Changed code to use eventListeners() instead of
62240        m_regdListeners.
62241        (WebCore::EventTargetNode::eventListeners): Added.
62242        (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners.
62243        (WebCore::EventTargetNode::removedFromDocument): Ditto.
62244        (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto.
62245        (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto.
62246        (WebCore::EventTargetNode::addEventListener): Ditto.
62247        (WebCore::EventTargetNode::removeEventListener): Ditto.
62248        (WebCore::EventTargetNode::removeAllEventListeners): Ditto.
62249        Also added code to call setRemoved on all the listeners.
62250        (WebCore::EventTargetNode::handleLocalEvents): Ditto.
62251        (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation.
62252        (WebCore::EventTargetNode::removeInlineEventListenerForType): Use
62253        the new event listeners vector. Also added missing call to setRemoved.
62254        (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.
62255
62256        * dom/EventTargetNode.h: Added a new RegisteredEventListenerVector
62257        type and replaced the old localEventListeners function with a new
62258        eventListeners function. Removed m_regdListeners.
62259
62260        * dom/Node.cpp:
62261        (WebCore::Node::childNodes): Removed unneeded std prefix.
62262        (WebCore::Node::setFocus): Use function instead of going directly
62263        at rare data.
62264        (WebCore::Node::rareDataFocused): Ditto.
62265        (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix.
62266        (WebCore::Node::getElementsByName): Ditto.
62267        (WebCore::Node::getElementsByClassName): Ditto.
62268        (WebCore::Node::compareDocumentPosition): Ditto.
62269
62270        * dom/Node.h: Removed unneeded forward declaration of
62271        RegisteredEventListener. This is now in EventTargetNode.
62272
62273        * dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it
62274        private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private.
62275        Added listeners and ensureListeners functions as well as isFocused,
62276        setFocused, and focus-appearance functions. Made all data members private.
62277
62278        * dom/RegisteredEventListener.cpp: Removed operator ==.
62279        * dom/RegisteredEventListener.h: Removed operator == and !=.
62280
62281        * svg/SVGElement.cpp:
62282        (WebCore::hasLoadListener): Rewrote to work with the vector.
62283        * svg/SVGUseElement.cpp:
62284        (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
62285
622862008-12-13  Holger Hans Peter Freyther  <zecke@selfish.org>
62287
62288        Reviewed by Dan Bernstein.
62289
62290        https://bugs.webkit.org/show_bug.cgi?id=22824
62291
62292        Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH). With r39206
62293        floatWidth always used the complex path causing a regression
62294        in the pixel tests.
62295
62296        * platform/graphics/Font.cpp:
62297        (WebCore::Font::floatWidth): Use the fast path again
62298
622992008-12-13  Dirk Schulze  <krit@webkit.org>
62300
62301        Reviewed by Darin Adler.
62302
62303        Fixes behavior of gradients on empty path in canvas/Cg
62304
62305        https://bugs.webkit.org/show_bug.cgi?id=22844
62306        [Cg] Canvas fill() draws gradients even without a path
62307
62308        Test: fast/canvas/canvas-gradient-without-path.html
62309
62310        * html/CanvasRenderingContext2D.cpp:
62311        (WebCore::CanvasRenderingContext2D::fill):
62312        (WebCore::CanvasRenderingContext2D::stroke):
62313
623142008-12-13  Kevin Ollivier  <kevino@theolliviers.com>
62315
62316        wx build fix.
62317
62318        * platform/graphics/wx/ImageSourceWx.cpp:
62319        (WebCore::ImageSource::filenameExtension):
62320
623212008-12-12  Brent Fulgham  <bfulgham@gmail.com>
62322
62323        Reviewed by Oliver Hunt.
62324
62325        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22805
62326
62327        Provides implementation of image dragging logic for Windows Cairo
62328        back-end.
62329
62330        * platform/win/DragImageCGWin.cpp:
62331        (WebCore::deallocContext): Add a generic CGContextRef destructor.
62332        * platform/win/DragImageCairoWin.cpp:
62333        (WebCore::deallocContext): Add a generic cairo_* destructor.
62334        (WebCore::allocImage):  New implementation to allocate a Cairo
62335        surface of a specified size.
62336        (WebCore::createCairoContextFromBitmap): New implementation to
62337        create a Cairo surface from a Windows BITMAP.
62338        (WebCore::scaleDragImage): Replace stub with implementation to
62339        actually create a scaled image.
62340        (WebCore::createDragImageFromImage): Replace stub with implementation
62341        to actually create an image.
62342
623432008-12-12  Dean Jackson  <dino@apple.com>
62344
62345        Reviewed by Darin Adler.
62346
62347        Expose WebKitAnimationEvent, WebKitTransitionEvent,
62348        WebKitCSSTransformValue, WebKitCSSKeyframeRule and
62349        WebKitCSSKeyframesRule to Window object.
62350        This required generating constructors for the event
62351        interfaces.
62352
62353        https://bugs.webkit.org/show_bug.cgi?id=20560
62354
62355        * dom/WebKitAnimationEvent.idl:
62356        * dom/WebKitTransitionEvent.idl:
62357        * page/DOMWindow.idl:
62358
623592008-12-12  Dave Moore  <davemoore@google.com>
62360
62361        Reviewed by Eric Seidel.
62362
62363        Fixed https://bugs.webkit.org/show_bug.cgi?id=22798
62364
62365        In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData
62366        is created on the stack (called data). One of its fields, charsConsumed, is
62367        unitialized, leading to random values after calling walk() on the
62368        SVGTextRunWalker created with it. I now initialize the variable
62369
62370        This bug was revealed in our Purify run. I don't know of any specific incorrect
62371        behavior caused by it but it would lead to the charsConsumed field having a
62372        a wrong value.
62373
62374        * svg/SVGFont.cpp:
62375        (WebCore::Font::drawTextUsingSVGFont):
62376
623772008-12-12  Beth Dakin  <bdakin@apple.com>
62378
62379        Rubber Stamped by Steve Falkenburg.
62380
62381        Build fix.
62382
62383        * platform/KURL.h:
62384
623852008-12-12  Brett Wilson  <brettw@chromium.org>
62386
62387        Reviewed by Darin Adler.
62388
62389        Add the ability so that Google-URL can optionally be used in a build
62390        of WebKit without changing the shared header. The guts of KURL are
62391        optionally ifdefed out, and the replacement code goes in a different
62392        header to avoid polluting KURL.h
62393
62394        * platform/KURL.cpp:
62395        * platform/KURL.h:
62396        (WebCore::KURL::string):
62397        (WebCore::KURL::operator const String&):
62398        (WebCore::KURL::operator JSC::UString):
62399        (WebCore::KURL::operator NSString*):
62400        (WebCore::KURL::parsed):
62401        (WebCore::KURL::utf8String):
62402        (WebCore::KURL::isNull):
62403        (WebCore::KURL::isEmpty):
62404        (WebCore::KURL::isValid):
62405        (WebCore::KURL::hostStart):
62406        (WebCore::KURL::hostEnd):
62407        (WebCore::KURL::pathStart):
62408        (WebCore::KURL::pathEnd):
62409        (WebCore::KURL::pathAfterLastSlash):
62410
624112008-12-11  Steve Falkenburg  <sfalken@apple.com>
62412
62413        Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer.
62414        The code previously called DeleteTimerQueueTimer in the timer callback proc.
62415
62416        The new technique simplifies the code, since we now create and delete timers on the
62417        same thread, and don't access the timer queue or timer handles in the callback.
62418        This allows us to remove some mutex use, and more importantly, it solves a race
62419        condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer.
62420
62421        Since the timer callback isn't passed the timer handle, we were retrieving that handle
62422        via a global. If the timer callback code was entered, but then a new timer was immediately
62423        scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer),
62424        there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer
62425        and then immediately deleted once the already running callback acquired the mutex and
62426        then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing.
62427
62428        Reviewed by Oliver Hunt.
62429
62430        * platform/win/SharedTimerWin.cpp:
62431        (WebCore::queueTimerProc): Don't delete the timer in the callback.
62432        (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer.
62433        (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly.
62434
624352008-12-12  Kai Brüning  <kai@granus.net>
62436
62437        Reviewed and tweaked by Darin Adler.
62438
62439        - fix https://bugs.webkit.org/show_bug.cgi?id=18205
62440          DOMNode objects are garbage collected although there are strong references
62441          <rdar://problem/6441200>
62442
62443        Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak
62444        memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm),
62445        JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm).
62446        BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style
62447        procedural map table for Tiger systems.
62448
62449        No regression tests yet since we don't currently run any tests in GC mode.
62450
62451        * bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches
62452        * bindings/objc/DOMInternal.mm:
62453        (WebCore::createWrapperCache): Contains the compile-time check for map table creation
62454        (WebCore::getDOMWrapper): HashMap -> NSMapTable
62455        (WebCore::addDOMWrapper): ditto
62456        (WebCore::removeDOMWrapper): ditto
62457        * bindings/objc/DOMObject.mm: removed [DOMObject finalize]
62458        * bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize]
62459        (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable
62460        (WebCore::setWrapperForRGB): ditto
62461        (WebCore::removeWrapperForRGB): ditto
62462        * bindings/objc/WebScriptObject.mm:
62463        (WebCore::getJSWrapper): HashMap -> NSMapTable
62464        (WebCore::addJSWrapper): ditto
62465        (WebCore::removeJSWrapper): ditto
62466        (-[WebScriptObject finalize]): removed call of removeJSWrapper()
62467
624682008-12-12  Dimitri Glazkov  <dglazkov@chromium.org>
62469
62470        Reviewed by Alexey Proskuryakov.
62471
62472        https://bugs.webkit.org/show_bug.cgi?id=22813
62473        Remove unused references to JSDOMBinding, CallFrame, and JSLock.
62474
62475        * dom/Node.cpp: Removed CallFrame and JSLock header includes.
62476        * loader/FrameLoader.cpp: Removed JSDOMBinding header include.
62477
624782008-12-12  Holger Hans Peter Freyther  <zecke@selfish.org>
62479
62480        Reviewed by Simon Hausmann.
62481
62482        Update the WebKit.qrc and add a script to automatically generate the file.
62483
62484        With the way rcc and qmake work this can not be done at build time
62485        as the WebKit.qrc must sit inside the directory that contains the files
62486        and at build time we may not change the content of the source directory.
62487
62488        * inspector/front-end/WebKit.qrc: Updated with new script
62489
624902008-12-12  Oliver Hunt  <oliver@apple.com>
62491
62492        Reviewed by Alexey Proskuryakov.
62493
62494        REGRESSION: Canvas is broken in high dpi mode
62495        <rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823>
62496
62497        Simply made sure that we correctly scale the graphics context to
62498        account for the difference between logical and buffer resolution.
62499
62500        * html/HTMLCanvasElement.cpp:
62501        (WebCore::HTMLCanvasElement::createImageBuffer):
62502        (WebCore::HTMLCanvasElement::baseTransform):
62503
625042008-12-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
62505
62506        Rubber-stamped by Oliver Hunt.
62507
62508        Share PluginView::paintMissingPluginIcon() between ports
62509
62510        Also, enable this feature for Qt/X11, Qt/Mac and GTK
62511
62512        * plugins/PluginView.cpp:
62513        (WebCore::PluginView::paintMissingPluginIcon):
62514        * plugins/gtk/PluginViewGtk.cpp:
62515        (WebCore::PluginView::paint):
62516        * plugins/mac/PluginViewMac.cpp:
62517        (WebCore::PluginView::paint):
62518        * plugins/qt/PluginViewQt.cpp:
62519        (WebCore::PluginView::paint):
62520        * plugins/win/PluginViewWin.cpp:
62521
625222008-12-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
62523
62524        Reviewed by Simon Hausmann.
62525
62526        [Qt/Mac] Implement PluginView::updatePluginWidget()
62527
62528        We should update the window and clip rect regardless of whether or
62529        not the plugin has been loaded, for example to ensure that the
62530        missing plugin image is placed correctly.
62531
62532        * plugins/mac/PluginViewMac.cpp:
62533        (WebCore::PluginView::setNPWindowIfNeeded):
62534        (WebCore::PluginView::updatePluginWidget):
62535
625362008-12-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
62537
62538        Rubber-stamped by Oliver Hunt.
62539
62540        Make PluginView::updatePluginWidget() non-const
62541
62542        We can do this now since frameRectsChanged() is no longer const. This
62543        also allows us to get rid of the mutables in the PluginView.
62544
62545        * platform/qt/TemporaryLinkStubs.cpp:
62546        (PluginView::updatePluginWidget):
62547        * plugins/PluginView.h:
62548        * plugins/gtk/PluginViewGtk.cpp:
62549        (WebCore::PluginView::updatePluginWidget):
62550        * plugins/mac/PluginViewMac.cpp:
62551        (WebCore::PluginView::updatePluginWidget):
62552        * plugins/qt/PluginViewQt.cpp:
62553        (WebCore::PluginView::updatePluginWidget):
62554        * plugins/win/PluginViewWin.cpp:
62555        (WebCore::PluginView::updatePluginWidget):
62556        * plugins/wx/PluginViewWx.cpp:
62557        (WebCore::PluginView::updatePluginWidget):
62558
625592008-12-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
62560
62561        Reviewed by Simon Hausmann.
62562
62563        Implement ImageSource::filenameExtension() for the Qt port
62564
62565        We're using QImageReader::imageFormat().toLower() to check
62566        that the image format is supported, and if it is we store
62567        the resulting extension when creating the ImageDecoderQt.
62568
62569        * platform/graphics/qt/ImageDecoderQt.cpp:
62570        (WebCore::ImageDecoderQt::create):
62571        (WebCore::ImageDecoderQt::ImageDecoderQt):
62572        (WebCore::ImageDecoderQt::imageFormat):
62573        * platform/graphics/qt/ImageDecoderQt.h:
62574        * platform/graphics/qt/ImageSourceQt.cpp:
62575        (WebCore::ImageSource::setData):
62576        (WebCore::ImageSource::filenameExtension):
62577
625782008-12-11  Stephanie Lewis  <slewis@apple.com>
62579
62580        Reviewed by Geoff Garen
62581
62582        Account for the size of the response and request headers as well as other overhead
62583        when calculating the size a resource takes up in the cache.  Halts unbounded
62584        growth in the cache.  Reduced stress test memory high water marks by > 50%.
62585
62586        Uses estimates gathered from the stress test to set the overhead size.
62587        A version of the patch was created that calculated most of the sizes, but it was
62588        decided that the patch was still at a basic level an estimate.  What gains it made
62589        in accuracy was offset by the complexity involved in creating and updating the
62590        estimate.
62591
62592        * loader/Cache.cpp:
62593        (WebCore::Cache::resourceAccessed):
62594        (WebCore::Cache::TypeStatistic::addResource):
62595        (WebCore::Cache::dumpLRULists):
62596        * loader/CachedResource.cpp:
62597        (WebCore::CachedResource::overheadSize):
62598        * loader/CachedResource.h:
62599        (WebCore::CachedResource::size):
62600
626012008-12-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
62602
62603        Reviewed by Holger Freyther.
62604
62605        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22814
62606
62607        Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
62608        the only difference that WML defines a second source attribute 'localsrc', that
62609        takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
62610        fails, the user agent should try loading the 'src' attribute. If both fail the
62611        'alt' fallback content will be used - just like in HTML.
62612
62613        Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)
62614               fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
62615               fast/wml/img-src.wml (<img> and 'src' attribute)
62616
62617        * GNUmakefile.am:
62618        * WebCore.vcproj/WebCore.vcproj:
62619        * WebCore.xcodeproj/project.pbxproj:
62620        * rendering/HitTestResult.cpp:
62621        (WebCore::HitTestResult::altDisplayString):
62622        (WebCore::HitTestResult::absoluteImageURL):
62623        * rendering/RenderImage.cpp:
62624        (WebCore::RenderImage::updateAltText):
62625        * wml/WMLImageElement.cpp: Added.
62626        (WebCore::WMLImageElement::WMLImageElement):
62627        (WebCore::WMLImageElement::~WMLImageElement):
62628        (WebCore::WMLImageElement::mapToEntry):
62629        (WebCore::WMLImageElement::parseMappedAttribute):
62630        (WebCore::WMLImageElement::attach):
62631        (WebCore::WMLImageElement::createRenderer):
62632        (WebCore::WMLImageElement::insertedIntoDocument):
62633        (WebCore::WMLImageElement::isURLAttribute):
62634        (WebCore::WMLImageElement::imageSourceAttributeName):
62635        (WebCore::WMLImageElement::altText):
62636        * wml/WMLImageElement.h: Added.
62637        (WebCore::WMLImageElement::useFallbackAttribute):
62638        (WebCore::WMLImageElement::setUseFallbackAttribute):
62639        * wml/WMLImageLoader.cpp: Added.
62640        (WebCore::WMLImageLoader::WMLImageLoader):
62641        (WebCore::WMLImageLoader::~WMLImageLoader):
62642        (WebCore::WMLImageLoader::dispatchLoadEvent):
62643        (WebCore::WMLImageLoader::sourceURI):
62644        (WebCore::WMLImageLoader::notifyFinished):
62645        * wml/WMLImageLoader.h: Added.
62646        * wml/WMLTagNames.in:
62647
626482008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
62649
62650        Reviewed by Darin Adler.
62651
62652        https://bugs.webkit.org/show_bug.cgi?id=22043
62653
62654        Do not run into the WebCore::DocumentLoader::updateLoading
62655        ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.
62656
62657        Do not call setPrimaryLoadComplete when the
62658        activeDocumentLoader has already been replaced. This can happen
62659        when a script executed from within FramerLoader::didFinishLoading will
62660        navigate to another URL.
62661
62662        The assertion is caused by existing tests (e.g.
62663        fast/history/clicked-link-is-visited.html) reproducing this with
62664        network backends not equal to curl is tough or maybe not
62665        even possible.
62666
62667        * loader/DocumentLoader.cpp:
62668        (WebCore::DocumentLoader::setPrimaryLoadComplete):
62669
626702008-12-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
62671
62672        Reviewed by Eric Seidel.
62673
62674        - Remove some dead, commented-out code from WMLAElement.
62675        - Add missing virtual destructor for <noop>, as suggested by Alexey.
62676        - Refactor addHTMLAlignment in a static helper function to share with WML.
62677
62678        * html/HTMLElement.cpp:
62679        (WebCore::HTMLElement::addHTMLAlignment):
62680        (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
62681        * html/HTMLElement.h:
62682        * wml/WMLAElement.cpp:
62683        (WebCore::WMLAElement::defaultEventHandler):
62684        * wml/WMLNoopElement.cpp:
62685        (WebCore::WMLNoopElement::~WMLNoopElement):
62686        * wml/WMLNoopElement.h:
62687
626882008-12-10  Oliver Hunt  <oliver@apple.com>
62689
62690        Reviewed by Adele Peterson.
62691
62692        <rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
62693        <https://bugs.webkit.org/show_bug.cgi?id=22804>
62694
62695        This issue was caused by css generated content resulting in non-svg flowboxes
62696        being injected into SVG content.  As SVG spec does not describe behaviour in
62697        this case, and neither Opera nor Firefox displays such generated content, so
62698        now we make svg text layout and rendering just ignore any such content.
62699
62700        Test: svg/css/crash-css-generated-content.xhtml
62701
62702        * rendering/SVGRootInlineBox.cpp:
62703        (WebCore::SVGRootInlineBox::buildLayoutInformation):
62704        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
62705        (WebCore::SVGRootInlineBox::buildTextChunks):
62706
627072008-12-11  Cameron Zwarich  <zwarich@apple.com>
62708
62709        Reviewed by Dave Hyatt.
62710
62711        Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
62712        <https://bugs.webkit.org/show_bug.cgi?id=21256>
62713        <rdar://problem/6362978>
62714
62715        The ScrollView refactoring in r36906 caused the ScrollView and the
62716        platform widget to disagree about whether optimizing scrolling via
62717        blitting is allowed. The easiest way to fix this is to make ScrollView
62718        simply ask the platform widget whether this is safe on platforms that
62719        are affected.
62720
62721        It is not possible to write a layout test for this bug because it
62722        involves the back/forward cache.
62723
62724        * platform/ScrollView.cpp:
62725        (WebCore::ScrollView::ScrollView):
62726        (WebCore::ScrollView::setCanBlitOnScroll):
62727        (WebCore::ScrollView::canBlitOnScroll):
62728        (WebCore::ScrollView::platformSetCanBlitOnScroll):
62729        (WebCore::ScrollView::platformCanBlitOnScroll):
62730        * platform/ScrollView.h:
62731        * platform/mac/ScrollViewMac.mm:
62732        (WebCore::ScrollView::platformSetCanBlitOnScroll):
62733        (WebCore::ScrollView::platformCanBlitOnScroll):
62734        * platform/wx/ScrollViewWx.cpp:
62735        (WebCore::ScrollView::platformSetCanBlitOnScroll):
62736        (WebCore::ScrollView::platformCanBlitOnScroll):
62737
627382008-12-11  Brent Fulgham  <bfulgham@gmail.com>
62739
62740        Reviewed by Adam Roben.
62741
62742        https://bugs.webkit.org/show_bug.cgi?id=22808
62743
62744        Correct build break due to malformed XML in Visual Studio project
62745        following @r39205 change.
62746
62747        * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
62748
627492008-12-10  Chris Marrin  <cmarrin@apple.com>
62750
62751        Reviewed by Dave Hyatt.
62752
62753        Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
62754
62755        This gets rid of the per-animation timers which were used when an animation
62756        started, ended and looped. Their job is now done by the main AnimationController's
62757        timer. It is now set to fire as needed. For instance, if there is a delay, it will
62758        fire after the delay time and then every 30ms to run the animation. The start, loop
62759        and end events are generated as needed during the firing of this timer.
62760
62761        I had to add one more bit of code. When animation timers used to fire the animation events.
62762        This would always happen from the RunLoop, so any style changes that happened in the
62763        event handler would get picked up on the next updateRendering() call. But now the start
62764        event is generated during the styleIsAvailable() call, which is in the middle of the
62765        updateRendering() cycle. And calling an event handler in the middle of updateRendering()
62766        is not allowed and causes style changes to get missed. We already have a mechanism in
62767        AnimationController to defer updateRendering() calls. So I added logic to defer all
62768        event handling to there. Now, I put any request for event handling into a list and ask
62769        for a deferred updateRendering() call. When that deferred timer fires, I go through that
62770        list, send all the events and then call updateRendering().
62771
62772        * page/animation/AnimationBase.cpp:
62773        (WebCore::AnimationBase::AnimationBase):
62774        (WebCore::AnimationBase::updateStateMachine):
62775        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
62776        (WebCore::AnimationBase::willNeedService):
62777        (WebCore::AnimationBase::goIntoEndingOrLoopingState):
62778        * page/animation/AnimationBase.h:
62779        * page/animation/AnimationController.cpp:
62780        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
62781        (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
62782        (WebCore::AnimationControllerPrivate::addEventToDispatch):
62783        (WebCore::AnimationControllerPrivate::animationTimerFired):
62784        (WebCore::AnimationController::addEventToDispatch):
62785        * page/animation/AnimationController.h:
62786        * page/animation/CompositeAnimation.cpp:
62787        (WebCore::CompositeAnimationPrivate::updateTransitions):
62788        (WebCore::CompositeAnimationPrivate::willNeedService):
62789        (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
62790        (WebCore::CompositeAnimation::willNeedService):
62791        (WebCore::CompositeAnimation::getAnimationForProperty):
62792        * page/animation/CompositeAnimation.h:
62793        * page/animation/ImplicitAnimation.cpp:
62794        (WebCore::ImplicitAnimation::animate):
62795        (WebCore::ImplicitAnimation::onAnimationEnd):
62796        (WebCore::ImplicitAnimation::sendTransitionEvent):
62797        * page/animation/ImplicitAnimation.h:
62798        * page/animation/KeyframeAnimation.cpp:
62799        (WebCore::KeyframeAnimation::animate):
62800        (WebCore::KeyframeAnimation::sendAnimationEvent):
62801        * page/animation/KeyframeAnimation.h:
62802        (WebCore::KeyframeAnimation::setUnanimatedStyle):
62803
628042008-12-11  Simon Hausmann  <simon.hausmann@nokia.com>
62805
62806        Fix the Qt build with an empty filenameExtension() implementation.
62807
62808        * platform/graphics/qt/ImageSourceQt.cpp:
62809        (WebCore::ImageSource::filenameExtension):
62810
628112008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
62812
62813        Reviewed by Simon Hausmann.
62814
62815        Fix crash in the cairo implementation of the SVGPaintServer
62816
62817        For SVGFonts the RenderObject can be zero. The existing SVGFont
62818        test cases is exposing this bug. Qt and other ports have fixed
62819        this issue by adding null checks as well.
62820
62821        * svg/graphics/cairo/SVGPaintServerCairo.cpp:
62822        (WebCore::SVGPaintServer::renderPath):
62823
628242008-12-11  Holger Freyther  <zecke@selfish.org>
62825
62826        Reviewed by Simon Hausmann.
62827
62828        https://bugs.webkit.org/show_bug.cgi?id=20953
62829
62830        Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
62831        handling. FontQt.cpp from now on is only implementing the complex path. Create
62832        FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
62833        the framework set by the Font code.
62834
62835        Sharing the Font.cpp implementation allows the Qt port to support
62836        the CSS font faces and SVG fonts.
62837
62838        Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
62839        easily deprecate it.
62840
62841        This commit is removing a lot of #ifdefs from Font.h as the Qt Font
62842        implementation is now in line with the rest of WebCore.
62843
62844        * WebCore.pro:
62845        * platform/graphics/Font.h: Remove #ifdefs
62846        (WebCore::Font::letterSpacing):
62847        (WebCore::Font::setLetterSpacing):
62848        (WebCore::Font::isPlatformFont):
62849        * platform/graphics/FontFallbackList.h:
62850        * platform/graphics/SimpleFontData.cpp:
62851        (WebCore::SimpleFontData::SimpleFontData):
62852        (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
62853        on Qt, move the initialisation over.
62854        (WebCore::SimpleFontData::~SimpleFontData):
62855        * platform/graphics/SimpleFontData.h:
62856        (WebCore::SimpleFontData::getQtFont):
62857        * platform/graphics/qt/FontCacheQt.cpp:
62858        (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
62859        (WebCore::FontCache::releaseFontData): Add to build
62860        * platform/graphics/qt/FontCustomPlatformData.cpp:
62861        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
62862        (WebCore::FontCustomPlatformData::fontPlatformData):
62863        (WebCore::createFontCustomPlatformData):
62864        * platform/graphics/qt/FontCustomPlatformData.h:
62865        * platform/graphics/qt/FontFallbackListQt.cpp: Added.
62866        (WebCore::FontFallbackList::FontFallbackList):
62867        (WebCore::FontFallbackList::invalidate):
62868        (WebCore::FontFallbackList::releaseFontData):
62869        (WebCore::FontFallbackList::determinePitch):
62870        (WebCore::FontFallbackList::fontDataAt):
62871        (WebCore::FontFallbackList::fontDataForCharacters):
62872        (WebCore::FontFallbackList::setPlatformFont):
62873        * platform/graphics/qt/FontPlatformData.h:
62874        (WebCore::FontPlatformData::font):
62875        (WebCore::FontPlatformData::size):
62876        * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
62877        (WebCore::FontPlatformData::FontPlatformData):
62878        * platform/graphics/qt/FontQt.cpp:
62879        (WebCore::Font::drawComplexText):
62880        (WebCore::Font::floatWidthForComplexText):
62881        (WebCore::Font::offsetForPositionForComplexText):
62882        (WebCore::Font::selectionRectForComplexText):
62883        (WebCore::Font::font):
62884        * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
62885        (WebCore::Font::drawComplexText):
62886        (WebCore::Font::floatWidthForComplexText):
62887        (WebCore::Font::offsetForPositionForComplexText):
62888        (WebCore::Font::selectionRectForComplexText):
62889        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
62890        (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
62891        (WebCore::GlyphPageTreeNode::pruneTreeFontData):
62892        * platform/graphics/qt/SimpleFontDataQt.cpp:
62893        (WebCore::SimpleFontData::determinePitch):
62894        (WebCore::SimpleFontData::containsCharacters):
62895        (WebCore::SimpleFontData::platformInit):
62896        (WebCore::SimpleFontData::platformGlyphInit):
62897        (WebCore::SimpleFontData::platformDestroy):
62898        * platform/qt/RenderThemeQt.cpp:
62899        (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
62900
629012008-12-11  Holger Freyther  <zecke@selfish.org>
62902
62903        Reviewed by Simon Hausmann.
62904
62905        https://bugs.webkit.org/show_bug.cgi?id=20953
62906
62907        For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
62908        implementation. This is one of the reasons why the Qt port is currently not
62909        using WebCore/platform/graphics/Font.cpp. By allowing to not use
62910        the simple/fast-path the Qt port will be able to use it.
62911
62912        Introduce USE(FONT_FAST_PATH) and define it for every port but the
62913        Qt one.
62914
62915        * platform/graphics/Font.cpp:
62916        (WebCore::Font::drawText):
62917        (WebCore::Font::floatWidth):
62918        (WebCore::Font::selectionRectForText):
62919        (WebCore::Font::offsetForPosition):
62920        * platform/graphics/Font.h:
62921
629222008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
62923
62924        Reviewed by Darin Adler.
62925
62926        https://bugs.webkit.org/show_bug.cgi?id=20953
62927
62928        Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
62929        will allow the Qt port to share most of WebCore::Font
62930        implementation but the fast path. Qt does not provide the API to get
62931        individual Glyphs making the fast path hard to support.
62932
62933
62934        * GNUmakefile.am:
62935        * WebCore.vcproj/WebCore.vcproj:
62936        * WebCore.xcodeproj/project.pbxproj:
62937        * WebCoreSources.bkl:
62938        * platform/graphics/Font.cpp:
62939        * platform/graphics/FontFastPath.cpp: Added.
62940        (WebCore::Font::glyphDataForCharacter):
62941
629422008-12-11  Robert Carr  <racarr@svn.gnome.org>
62943
62944        Reviewed by Holger Freyther.
62945
62946        https://bugs.webkit.org/show_bug.cgi?id=22560
62947
62948        Code in PlatformScreenGtk for screenDepth and screenRect can not
62949        assume that the platformWindow for the widget has a valid "window"
62950        member. For example in the case of, a new browser view opening as a
62951        child of a GtkNotebook, but never being switched to, or manually
62952        realized. Solve by using the toplevel window of the widget, rather
62953        than the widget itself.
62954
62955        * platform/gtk/PlatformScreenGtk.cpp:
62956        (WebCore::screenDepth):
62957        (WebCore::screenRect):
62958
629592008-12-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
62960
62961        Reviewed by Darin Adler and Holger Freyther.
62962
62963        Make Widget::frameRectsChanged() and overrides non-const
62964
62965        This will hopefully allow us to get rid of some of the mutables in
62966        the classes that react to the callback by changing their own state.
62967
62968        * platform/ScrollView.cpp:
62969        (WebCore::ScrollView::frameRectsChanged):
62970        * platform/ScrollView.h:
62971        * platform/Widget.h:
62972        (WebCore::Widget::frameRectsChanged):
62973        * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
62974        this was more complex and did the same thing, changed const of
62975        the leftover frameRectsChanged() method.
62976        (ScrollbarGtk::frameRectsChanged):
62977        * platform/gtk/ScrollbarGtk.h:
62978        * plugins/PluginView.cpp:
62979        (WebCore::PluginView::frameRectsChanged):
62980        * plugins/PluginView.h:
62981
629822008-12-11  Holger Hans Peter Freyther  <zecke@selfish.org>
62983
62984        Reviewed and implemented with Tor Arne Vestbø.
62985
62986        Reimplement RenderTheme::caretBlinkInterval for Qt.
62987
62988        The QApplication::cursorFlashTime is in milliseconds and describes
62989        the whole cycle while WebCore expects half a cycle.
62990
62991        * platform/qt/RenderThemeQt.cpp:
62992        (WebCore::RenderThemeQt::caretBlinkInterval):
62993        * platform/qt/RenderThemeQt.h:
62994
629952008-12-09  Trenton Schulz <trenton.schulz@nokia.com>
62996
62997        Reviewed by Tor Arne Vestbø.
62998
62999        [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
63000
63001        * plugins/mac/PluginViewMac.cpp:
63002        (WebCore::tigerOrBetter):
63003        (WebCore::PluginView::globalMousePosForPlugin):
63004
630052008-12-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
63006
63007        Reviewed by Eric Seidel and George Staikos.
63008
63009        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
63010
63011        Add WML <template> support. The <template> element is specified at deck-level
63012        and declares a template for all <card> elements in the document.
63013
63014        * GNUmakefile.am:
63015        * WebCore.vcproj/WebCore.vcproj:
63016        * WebCore.xcodeproj/project.pbxproj:
63017        * editing/htmlediting.cpp:
63018        (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
63019        * wml/WMLCardElement.cpp:
63020        (WebCore::WMLCardElement::WMLCardElement):
63021        (WebCore::WMLCardElement::setTemplateElement):
63022        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
63023        (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
63024        * wml/WMLCardElement.h:
63025        (WebCore::WMLCardElement::templateElement):
63026        * wml/WMLDoElement.cpp:
63027        (WebCore::WMLDoElement::insertedIntoDocument):
63028        * wml/WMLDocument.cpp:
63029        (WebCore::WMLDocument::finishedParsing):
63030        * wml/WMLErrorHandling.cpp:
63031        (WebCore::errorMessageForErrorCode):
63032        * wml/WMLErrorHandling.h:
63033        (WebCore::):
63034        * wml/WMLEventHandlingElement.cpp:
63035        (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
63036        * wml/WMLEventHandlingElement.h:
63037        (WebCore::WMLEventHandlingElement::doElements):
63038        * wml/WMLTagNames.in:
63039        * wml/WMLTemplateElement.cpp: Added.
63040        (WebCore::WMLTemplateElement::WMLTemplateElement):
63041        (WebCore::WMLTemplateElement::~WMLTemplateElement):
63042        (WebCore::WMLTemplateElement::parseMappedAttribute):
63043        (WebCore::WMLTemplateElement::registerTemplatesInDocument):
63044        * wml/WMLTemplateElement.h: Added.
63045        * wml/WMLTimerElement.cpp:
63046        (WebCore::WMLTimerElement::timerFired):
63047
630482008-12-09  Dmitry Titov  <dimich@chromium.org>
63049
63050        Reviewed by Darin Adler.
63051
63052        Fix memory leak - need to call stopActiveDOMObjects
63053        when cached pages get destroyed.
63054        https://bugs.webkit.org/show_bug.cgi?id=22753
63055
63056        * dom/Document.cpp:
63057        (WebCore::Document::detach):
63058
630592008-12-10  Alice Liu  <alice.liu@apple.com>
63060
63061        Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
63062
63063        Reviewed by Darin Adler.
63064
63065        * manual-tests/drag-image-to-desktop.html: Added.
63066
630672008-12-10  Alice Liu  <alice.liu@apple.com>
63068
63069        fixed https://bugs.webkit.org/show_bug.cgi?id=20685
63070
63071        Reviewed by Darin Adler.
63072
63073        Manual test case is manual-tests/drag-image-to-desktop.html
63074
63075        Added new files to projects
63076        * WebCore.vcproj/WebCore.vcproj:
63077        * WebCore.xcodeproj/project.pbxproj:
63078
63079        * page/DragController.cpp:
63080        (WebCore::DragController::startDrag):
63081        * platform/MIMETypeRegistry.cpp:
63082        (WebCore::initializeSupportedImageMIMETypes):
63083        (WebCore::initializeSupportedImageMIMETypesForEncoding):
63084
63085        These changes add a method to obtain the extension for an image
63086        * platform/graphics/BitmapImage.cpp:
63087        (WebCore::BitmapImage::filenameExtension):
63088        * platform/graphics/BitmapImage.h:
63089        * platform/graphics/Image.h:
63090        (WebCore::Image::filenameExtension):
63091        * platform/graphics/ImageSource.h:
63092        * platform/graphics/cairo/ImageSourceCairo.cpp:
63093        (WebCore::ImageSource::filenameExtension):
63094        * platform/graphics/cg/ImageSourceCG.cpp:
63095        (WebCore::ImageSource::filenameExtension):
63096
63097        These changes added a utility that returns the preferred extension for a UTI
63098        * platform/graphics/cg/ImageSourceCG.h: Added.
63099        * platform/graphics/cg/ImageSourceCGMac.mm: Added.
63100        (WebCore::MIMETypeForImageSourceType):
63101        (WebCore::preferredExtensionForImageSourceType):
63102        * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
63103        (WebCore::MIMETypeForImageSourceType):
63104        (WebCore::preferredExtensionForImageSourceType):
63105
63106        * platform/mac/MIMETypeRegistryMac.mm:
63107        moved getMIMETypeForUTI to ImageSourceCGMac.mm
63108
63109        Ask image for its file extension instead of relying on MIME type and file path
63110        * platform/win/ClipboardWin.cpp:
63111        (WebCore::createGlobalImageFileDescriptor):
63112
63113        Remove extraneous code from getPreferredExtensionForMIMEType.
63114        Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
63115        * platform/win/MIMETypeRegistryWin.cpp:
63116        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
63117
631182008-12-10  Simon Fraser  <simon.fraser@apple.com>
63119
63120        Reviewed by Antti Koivisto
63121
63122        <rdar://problem/6431224>
63123
63124        When updating the value of a slider, don't mark the parents
63125        as needing layout, because the size of the slider can never
63126        change. This fixes full-page repaints in some cases.
63127
63128        * rendering/RenderSlider.cpp:
63129        (WebCore::RenderSlider::updateFromElement):
63130
631312008-12-10  Simon Fraser  <simon.fraser@apple.com>
63132
63133        Potential build fix. The forward declaration of FloatPoint should
63134        be inside the WebCore namespace.
63135
63136        * platform/graphics/FloatPoint3D.h:
63137
631382008-12-10  Simon Fraser  <simon.fraser@apple.com>
63139
63140        Reviewed by Sam Weinig.
63141
63142        https://bugs.webkit.org/show_bug.cgi?id=22793
63143
63144        Cleanup FloatPoint3D: inline the getters and setters,
63145        fix a potential divide-by-zero in normalize(), and add
63146        a FloatPoint constructor.
63147
63148        * platform/graphics/FloatPoint3D.cpp:
63149        (WebCore::FloatPoint3D::FloatPoint3D):
63150        (WebCore::FloatPoint3D::normalize):
63151        * platform/graphics/FloatPoint3D.h:
63152        (WebCore::FloatPoint3D::x):
63153        (WebCore::FloatPoint3D::setX):
63154        (WebCore::FloatPoint3D::y):
63155        (WebCore::FloatPoint3D::setY):
63156        (WebCore::FloatPoint3D::z):
63157        (WebCore::FloatPoint3D::setZ):
63158
631592008-12-09  Julien Chaffraix  <jchaffraix@webkit.org>
63160
63161        Reviewed by Eric Seidel.
63162
63163        Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
63164        https://bugs.webkit.org/show_bug.cgi?id=22665
63165
63166        - Removed setCreatedByParser from style and link elements.
63167
63168        - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
63169
63170        * dom/XMLTokenizer.cpp:
63171        * dom/XMLTokenizer.h:
63172        * dom/XMLTokenizerLibxml2.cpp:
63173        (WebCore::XMLTokenizer::startElementNs):
63174        * dom/XMLTokenizerQt.cpp:
63175        (WebCore::XMLTokenizer::parseStartElement):
63176        * html/HTMLElementFactory.cpp:
63177        (WebCore::linkConstructor):
63178        (WebCore::styleConstructor):
63179        * html/HTMLLinkElement.cpp:
63180        (WebCore::HTMLLinkElement::HTMLLinkElement):
63181        * html/HTMLLinkElement.h:
63182        * html/HTMLStyleElement.cpp:
63183        (WebCore::HTMLStyleElement::HTMLStyleElement):
63184        * html/HTMLStyleElement.h:
63185        * html/HTMLTagNames.in:
63186        * svg/SVGStyleElement.cpp:
63187        (WebCore::SVGStyleElement::SVGStyleElement):
63188        * svg/SVGStyleElement.h:
63189        * svg/svgtags.in:
63190
631912008-12-10  Brady Eidson  <beidson@apple.com>
63192
63193        Reviewed by Darin
63194
63195        https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
63196        Dialog when going back to a page from whence you submitted a form
63197
63198        http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
63199        http requests, which caused the networking layer to have an incomplete set of headers
63200        just before consulting the Policy Delegate.  This caused a cache miss and incorrectly made
63201        us believe we'd be resubmitting the form.
63202
63203        * loader/FrameLoader.cpp:
63204        (WebCore::FrameLoader::loadItem):  Being careful to maintain the new behavior required by
63205          the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
63206          setting all the headers before the networking layer is asked about the cache lookup.
63207
632082008-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
63209
63210        Reviewed by Timothy Hatcher.
63211
63212        Add back ability to end all profiling via console by invoking profileEnd
63213        with no arguments.
63214
63215        * page/Console.cpp:
63216        (WebCore::Console::profileEnd): Removed title null-checking and
63217            subsequent early exit.
63218
632192008-12-10  Pierre-Olivier Latour  <pol@apple.com>
63220
63221        Reviewed by Darin Adler.
63222
63223        KeyframeAnimation::animate() needs to compute the elapsed animation time
63224        properly taking into account its paused state.
63225
63226        https://bugs.webkit.org/show_bug.cgi?id=22773
63227
63228        Test: animations/animation-drt-api-multiple-keyframes.html
63229
63230        * page/animation/KeyframeAnimation.cpp:
63231        (WebCore::KeyframeAnimation::animate):
63232
632332008-12-10  Simon Fraser  <simon.fraser@apple.com>
63234
63235        Reviewed by Dan Bernstein
63236
63237        Part of
63238        https://bugs.webkit.org/show_bug.cgi?id=22570
63239
63240        Rename methods on RenderLayer for clarity:
63241            clearClipRects -> clearClipRectsIncludingDescendants
63242            clearClipRect  -> clearClipRects
63243
63244        * rendering/RenderBox.cpp:
63245        (WebCore::RenderBox::destroy):
63246        * rendering/RenderLayer.cpp:
63247        (WebCore::RenderLayer::updateLayerPosition):
63248        (WebCore::RenderLayer::removeOnlyThisLayer):
63249        (WebCore::RenderLayer::insertOnlyThisLayer):
63250        (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
63251        (WebCore::RenderLayer::clearClipRects):
63252        * rendering/RenderLayer.h:
63253        * rendering/RenderObject.cpp:
63254        (WebCore::RenderObject::styleWillChange):
63255        * rendering/RenderWidget.cpp:
63256        (WebCore::RenderWidget::destroy):
63257
632582008-12-10  Kevin Ollivier  <kevino@theolliviers.com>
63259
63260        wx build fix after the script call stack/frame additions.
63261
63262        * WebCoreSources.bkl:
63263
632642008-12-10   Srinivasa Rao M. Hamse  <msrinirao@gmail.com>
63265
63266        Reviewed by Holger Freyther.
63267
63268        F1-F12 key mappings for WebKit Gtk Port
63269
63270        * platform/gtk/KeyEventGtk.cpp:
63271        (WebCore::windowsKeyCodeForKeyEvent):
63272
632732008-12-10  Enrico Ros  <enrico.ros@m31.com>
63274
63275        Reviewed by Simon Hausmann.
63276
63277        Fix the Qt build when SVG is disabled. A broken dependancy caused
63278        unnecessary rebuilds even with no changes.
63279
63280        * WebCore.pro: fix a broken build dependancy
63281
632822008-12-10  Hironori Bono  <hbono@chromium.org>
63283
63284        Reviewed by Alexey Proskuryakov.
63285
63286        Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
63287        https://bugs.webkit.org/show_bug.cgi?id=21820
63288
63289        <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
63290        <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
63291
63292        Tests: editing/deleting/delete-ligature-001.html
63293               editing/deleting/delete-ligature-002.html
63294               editing/deleting/delete-ligature-003.html
63295
63296        * editing/TypingCommand.cpp:
63297        (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
63298        of a ligature which consists of multiple Unicode characters when deleting it with
63299        a backspace key.
63300
633012008-12-10  David Levin  <levin@chromium.org>
63302
63303        Reviewed by Alexey Proskuryakov.
63304
63305        https://bugs.webkit.org/show_bug.cgi?id=22177
63306        Fix the windows build by removing calls to notifyFormStateChanged
63307        where they didn't appear in the original reviewed patch.
63308
63309        * html/HTMLInputElement.cpp:
63310        (WebCore::HTMLInputElement::type):
63311        (WebCore::HTMLInputElement::attach):
63312
633132008-12-09  Adam Barth  <abarth@webkit.org>
63314
63315        Reviewed by Sam Weinig.
63316
63317        Add ScriptController::updateSecurityOrigin to notify the bindings
63318        that a document's securityOrigin has been updated.  This is used by
63319        V8 to update its security context.
63320
63321        * bindings/js/ScriptController.cpp:
63322        (WebCore::ScriptController::updateSecurityOrigin):
63323        * bindings/js/ScriptController.h:
63324        * dom/Document.cpp:
63325        (WebCore::Document::setDomain):
63326
633272008-12-09  Eric Seidel  <eric@webkit.org>
63328
63329        No review, build fix only.
63330
63331        Fix a few config issues to let the Chromium Windows WebCore build get further.
63332
63333        * WebCore.scons:
63334
633352008-12-09  Brett Wilson  <brettw@chromium.org>
63336
63337        Reviewed by Dave Hyatt.
63338
63339        https://bugs.webkit.org/show_bug.cgi?id=22177
63340
63341        Add a callback on ChromeClient that the state of form elements on
63342        the page has changed. This is to allow clients implementing session
63343        saving to know when the current state is dirty.
63344
63345        * html/HTMLInputElement.cpp:
63346        (WebCore::notifyFormStateChanged):
63347        (WebCore::HTMLInputElement::setInputType):
63348        (WebCore::HTMLInputElement::type):
63349        (WebCore::HTMLInputElement::attach):
63350        (WebCore::HTMLInputElement::setValue):
63351        (WebCore::HTMLInputElement::setValueFromRenderer):
63352        (WebCore::HTMLInputElement::setFileListFromRenderer):
63353        * html/HTMLSelectElement.cpp:
63354        (WebCore::HTMLSelectElement::setSelectedIndex):
63355        * html/HTMLTextAreaElement.cpp:
63356        (WebCore::notifyFormStateChanged):
63357        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
63358        (WebCore::HTMLTextAreaElement::updateValue):
63359        (WebCore::HTMLTextAreaElement::setValue):
63360        * loader/EmptyClients.h:
63361        (WebCore::EmptyChromeClient::formStateDidChange):
63362        * page/ChromeClient.h:
63363
633642008-12-09  Sam Weinig  <sam@webkit.org>
63365
63366        Reviewed by Darin Adler.
63367
63368        https://bugs.webkit.org/show_bug.cgi?id=19762
63369
63370        Fix intermittent crash in buildbot. The CSSCursorImageValues and
63371        SVGCursorElements held onto raw SVGElement pointers without any
63372        guarantee that the element is still around.
63373
63374        We did not fix the design that resulted in this issue, we just fixed
63375        the pointer lifetimes.
63376
63377        * css/CSSCursorImageValue.cpp:
63378        (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
63379        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
63380        (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
63381        is destroyed.
63382        * css/CSSCursorImageValue.h: Added removeReferencedElement.
63383
63384        * svg/SVGCursorElement.cpp:
63385        (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
63386        (WebCore::SVGCursorElement::addClient): Set up a back pointer.
63387        (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
63388
63389        * svg/SVGElement.cpp:
63390        (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
63391        (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
63392        to remove the element from their sets.
63393        * svg/SVGElement.h:
63394        (WebCore::SVGElement::setCursorElement): Added.
63395        (WebCore::SVGElement::setCursorImageValue): Added.
63396
633972008-12-09  David Hyatt  <hyatt@apple.com>
63398
63399        Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
63400        frame/iframe.  If any of them set a custom style, it will be used.  The scrollbars do not update dynamically
63401        yet as you switch from page to page (until they are destroyed and recreated).
63402
63403        Reviewed by Adele
63404
63405        * page/FrameView.cpp:
63406        (WebCore::FrameView::createScrollbar):
63407
634082008-12-09  Ojan Vafai  <ojan@chromium.org>
63409
63410        Reviewed by Dave Hyatt.
63411
63412        https://bugs.webkit.org/show_bug.cgi?id=22689
63413        Match Firefox button metrics on Windows.
63414
63415        * rendering/RenderButton.cpp:
63416        (WebCore::RenderButton::addChild):
63417        (WebCore::RenderButton::styleDidChange):
63418        (WebCore::RenderButton::setupInnerStyle):
63419        * rendering/RenderButton.h:
63420        * rendering/RenderTheme.cpp:
63421        (WebCore::RenderTheme::adjustButtonInnerStyle):
63422        * rendering/RenderTheme.h:
63423        * rendering/RenderThemeWin.cpp:
63424        (WebCore::RenderThemeWin::adjustSliderThumbSize):
63425        (WebCore::RenderThemeWin::adjustButtonInnerStyle):
63426        * rendering/RenderThemeWin.h:
63427
634282008-12-09  Darin Fisher  <darin@chromium.org>
63429
63430        Fixes bustages.
63431
63432        https://bugs.webkit.org/show_bug.cgi?id=22631
63433        Adding missing files from previous commit.
63434
63435        * bindings/js/ScriptCallFrame.cpp: Added.
63436        (WebCore::ScriptCallFrame::ScriptCallFrame):
63437        (WebCore::ScriptCallFrame::~ScriptCallFrame):
63438        (WebCore::ScriptCallFrame::argumentAt):
63439        * bindings/js/ScriptCallFrame.h: Added.
63440        (WebCore::ScriptCallFrame::functionName):
63441        (WebCore::ScriptCallFrame::sourceURL):
63442        (WebCore::ScriptCallFrame::lineNumber):
63443        (WebCore::ScriptCallFrame::argumentCount):
63444        * bindings/js/ScriptCallStack.cpp: Added.
63445        (WebCore::ScriptCallStack::ScriptCallStack):
63446        (WebCore::ScriptCallStack::~ScriptCallStack):
63447        (WebCore::ScriptCallStack::at):
63448        (WebCore::ScriptCallStack::size):
63449        (WebCore::ScriptCallStack::initialize):
63450        * bindings/js/ScriptCallStack.h: Added.
63451        (WebCore::ScriptCallStack::state):
63452
634532008-12-09  Dimitri Glazkov  <dglazkov@chromium.org>
63454
63455        Reviewed by Timothy Hatcher.
63456
63457        https://bugs.webkit.org/show_bug.cgi?id=22631
63458        Streamline Console.cpp, abstract out the use of JSC::ExecState and
63459        JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
63460        abstractions.
63461
63462        * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
63463        * WebCore.pro:  Added ScriptCallFrame and ScriptCallStack to build
63464        * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
63465        ScriptCallStack to project
63466        * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
63467        ScriptCallStack to project
63468        * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
63469        * bindings/js/ScriptCallFrame.cpp: Added.
63470        (WebCore::ScriptCallFrame::ScriptCallFrame):
63471        (WebCore::ScriptCallFrame::~ScriptCallFrame):
63472        (WebCore::ScriptCallFrame::argumentAt):
63473        * bindings/js/ScriptCallFrame.h: Added.
63474        (WebCore::ScriptCallFrame::functionName):
63475        (WebCore::ScriptCallFrame::sourceURL):
63476        (WebCore::ScriptCallFrame::lineNumber):
63477        (WebCore::ScriptCallFrame::argumentCount):
63478        * bindings/js/ScriptCallStack.cpp: Added.
63479        (WebCore::ScriptCallStack::ScriptCallStack):
63480        (WebCore::ScriptCallStack::~ScriptCallStack):
63481        (WebCore::ScriptCallStack::at):
63482        (WebCore::ScriptCallStack::size):
63483        (WebCore::ScriptCallStack::initialize):
63484        * bindings/js/ScriptCallStack.h: Added.
63485        (WebCore::ScriptCallStack::ScriptCallStack):
63486        (WebCore::ScriptCallStack::~ScriptCallStack):
63487        (WebCore::ScriptCallStack::state):
63488        (WebCore::ScriptCallStack::at):
63489        (WebCore::ScriptCallStack::size):
63490        (WebCore::ScriptCallStack::initialize):
63491        * bindings/js/ScriptString.h: Added missing PlatformString include.
63492        (WebCore::ScriptString::ScriptString): Added default constructor.
63493        (WebCore::ScriptString::operator==): Added equality operator.
63494        (WebCore::ScriptString::operator!=):
63495        * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
63496        (WebCore::ScriptValue::isNull):
63497        (WebCore::ScriptValue::isUndefined):
63498        * bindings/js/ScriptValue.h: Added isNull and isUndefined
63499        * bindings/scripts/CodeGeneratorJS.pm: Add handling for
63500        CustomArgumentHandling attribute.
63501        * inspector/InspectorController.cpp: Refactored to use
63502        ScriptCallFrame and ScriptCallStack.
63503        (WebCore::ConsoleMessage::ConsoleMessage):
63504        (WebCore::InspectorController::addMessageToConsole):
63505        (WebCore::InspectorController::startGroup):
63506        (WebCore::InspectorController::addScriptConsoleMessage):
63507        (WebCore::InspectorController::count):
63508        (WebCore::InspectorController::startTiming):
63509        (WebCore::InspectorController::stopTiming):
63510        * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
63511        ScriptCallStack.
63512        * inspector/front-end/Console.js: Modified to use argument value itself
63513        rather than f.name for stack trace.
63514        * page/Console.cpp: Refactored to use ScriptCallFrame and
63515        ScriptCallStack.
63516        (WebCore::getFirstArgumentAsString):
63517        (WebCore::Console::addMessage):
63518        (WebCore::Console::debug):
63519        (WebCore::Console::error):
63520        (WebCore::Console::info):
63521        (WebCore::Console::log):
63522        (WebCore::Console::dir):
63523        (WebCore::Console::dirxml):
63524        (WebCore::Console::trace):
63525        (WebCore::Console::assertCondition):
63526        (WebCore::Console::count):
63527        (WebCore::Console::profile):
63528        (WebCore::Console::profileEnd):
63529        (WebCore::Console::time):
63530        (WebCore::Console::timeEnd):
63531        (WebCore::Console::group):
63532        (WebCore::Console::warn):
63533        * page/Console.h:
63534        * page/Console.idl: Removed Custom attributes, added
63535        CustomArgumentHandling attributes, and tweaked argument defs.
63536
635372008-12-09  Darin Adler  <darin@apple.com>
63538
63539        Try to fix non-Mac builds.
63540
63541        * GNUmakefile.am: Added NavigatorBase.
63542        * WebCore.pro: Ditto.
63543        * WebCore.scons: Ditto.
63544        * WebCore.vcproj/WebCore.vcproj: Ditto.
63545        * WebCoreSources.bkl: Ditto.
63546
63547        Unrelated tweak sitting in my tree.
63548
63549        * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
63550
635512008-12-09  Darin Adler  <darin@apple.com>
63552
63553        Try to fix Tiger build.
63554
63555        * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
63556
635572008-12-09  Alexey Proskuryakov  <ap@webkit.org>
63558
63559        Reviewed by Darin Adler.
63560
63561        https://bugs.webkit.org/show_bug.cgi?id=22719
63562        Implement Navigator object in Workers
63563
63564        Test: fast/workers/worker-navigator.html
63565
63566        * DerivedSources.make:
63567        * GNUmakefile.am:
63568        * WebCore.pro:
63569        * WebCore.vcproj/WebCore.vcproj:
63570        * WebCore.xcodeproj/project.pbxproj:
63571        Added WorkerNavigator sources.
63572
63573        * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
63574        Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
63575        but it is not the same interface that is available on Windows).
63576
63577        * dom/Worker.cpp:
63578        (WebCore::Worker::notifyFinished):
63579        * dom/WorkerContext.cpp:
63580        (WebCore::WorkerContext::WorkerContext):
63581        (WebCore::WorkerContext::navigator):
63582        * dom/WorkerContext.h:
63583        (WebCore::WorkerContext::create):
63584        * dom/WorkerThread.cpp:
63585        (WebCore::WorkerThread::create):
63586        (WebCore::WorkerThread::WorkerThread):
63587        (WebCore::WorkerThread::workerThread):
63588        * dom/WorkerThread.h:
63589        Pass a pre-computed user agent string into worker, because it cannot call a client method
63590        directly, and pre-computing is easier than sending a synchronous message to the main thread.
63591
63592        * page/Navigator.cpp:
63593        * page/Navigator.h:
63594        * page/NavigatorBase.cpp: Added.
63595        * page/NavigatorBase.h: Added.
63596        Factor out common (and uncommon, but very similar) functionality into a base class.
63597
63598        * page/WorkerNavigator.cpp: Added.
63599        * page/WorkerNavigator.h: Added.
63600        * page/WorkerNavigator.idl: Added.
63601        Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
63602
63603        * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
63604        Make networkStateNotifier() static constructor thread safe. The object is created on the
63605        thread it is first called from, while callbacks are registered on the main thread. Calls to
63606        onLine() from other threads are safe, because it is just loading a boolean.
63607
63608        * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
63609        Schedule notifications on main event loop, not the current one.
63610
636112008-12-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
63612
63613        Rubber-stamped by Alexey Proskuryakov.
63614
63615        Forgot to update Qt/WML build - add some new files to the build.
63616
63617        * WebCore.pro:
63618
636192008-12-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
63620
63621        Reviewed by Alexey Proskuryakov.
63622
63623        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
63624
63625        Implement the GET method for WMLGoElement, and some test covering it's behaviour.
63626        Update all build systems supporting WML that haven't been updated since a while.
63627
63628        Add WMLPostField stub implementation, needed for implementing POST method.
63629
63630        Tests: wml/go-task-get-method-external-deck-with-href.html
63631               wml/go-task-get-method-external-deck.html
63632               wml/go-task-get-method-same-deck.html
63633
63634        * GNUmakefile.am:
63635        * WebCore.vcproj/WebCore.vcproj:
63636        * WebCore.xcodeproj/project.pbxproj:
63637        * dom/Document.cpp:
63638        (WebCore::Document::resetWMLPageState):
63639        * wml/WMLCardElement.cpp:
63640        * wml/WMLCardElement.h:
63641        * wml/WMLEventHandlingElement.cpp:
63642        (WebCore::WMLCardElement::registerDoElement):
63643        * wml/WMLEventHandlingElement.h:
63644        * wml/WMLGoElement.cpp:
63645        (WebCore::WMLGoElement::WMLGoElement):
63646        (WebCore::WMLGoElement::registerPostfieldElement):
63647        (WebCore::WMLGoElement::parseMappedAttribute):
63648        (WebCore::WMLGoElement::executeTask):
63649        (WebCore::WMLGoElement::parseContentType):
63650        (WebCore::WMLGoElement::preparePOSTRequest):
63651        (WebCore::WMLGoElement::prepareGETRequest):
63652        * wml/WMLGoElement.h:
63653        * wml/WMLPostfieldElement.cpp: Added.
63654        (WebCore::WMLPostfieldElement::WMLPostfieldElement):
63655        (WebCore::WMLPostfieldElement::parseMappedAttribute):
63656        (WebCore::WMLPostfieldElement::insertedIntoDocument):
63657        * wml/WMLPostfieldElement.h: Added.
63658        (WebCore::WMLPostfieldElement::name):
63659        (WebCore::WMLPostfieldElement::value):
63660        * wml/WMLTagNames.in:
63661
636622008-12-08  Peter Kasting  <pkasting@google.com>
63663
63664        Reviewed by Anders Carlsson.
63665
63666        https://bugs.webkit.org/show_bug.cgi?id=16814
63667        Allow ports to disable ActiveX->NPAPI conversion for Media Player.
63668        Improve handling of miscellaneous ActiveX objects.
63669
63670        * rendering/RenderPartObject.cpp:
63671        (WebCore::mapClassIdToServiceType):
63672        (WebCore::shouldUseChildEmbedOfObject):
63673        (WebCore::RenderPartObject::updateWidget):
63674
636752008-12-08  Darin Adler  <darin@apple.com>
63676
63677        Reviewed by John Sullivan.
63678
63679        - fix https://bugs.webkit.org/show_bug.cgi?id=22409
63680          REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
63681
63682        Tests: editing/execCommand/enabling-and-selection-2.html
63683               editing/execCommand/enabling-and-selection.html
63684
63685        * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
63686        (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
63687        An invisible selection with a position that selects no characters doesn't count
63688        as a visible selection.
63689        (WebCore::enabledVisibleSelectionAndMark): Ditto.
63690
636912008-12-08  David Kilzer  <ddkilzer@apple.com>
63692
63693        Remove duplicate entries from WebCore project.
63694
63695        Reviewed by Eric Seidel.
63696
63697        Bug 22555: Sort "children" sections in Xcode project files.
63698        <https://bugs.webkit.org/show_bug.cgi?id=22555>
63699
63700        Recipe for removing duplicates:
63701        $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
63702        $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
63703
63704        * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
63705
637062008-12-08  Julien Chaffraix  <jchaffraix@webkit.org>
63707
63708        Reviewed by Darin Adler.
63709
63710        Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
63711        https://bugs.webkit.org/show_bug.cgi?id=22665
63712
63713        Remove setCreatedByParser from the script elements (HTML and SVG).
63714
63715        * dom/XMLTokenizer.cpp:
63716        (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
63717        call to setCreatedByParser for the 2 elements.
63718
63719        * dom/make_names.pl: Modified to call the constructor with
63720        the createByParser parameter if 'constructorNeedsCreatedByParser'
63721        is set.
63722
63723        * html/HTMLElementFactory.cpp:
63724        (WebCore::scriptConstructor):
63725        * html/HTMLScriptElement.cpp:
63726        (WebCore::HTMLScriptElement::HTMLScriptElement):
63727        * html/HTMLScriptElement.h:
63728        * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
63729        to script.
63730        * svg/SVGScriptElement.cpp:
63731        (WebCore::SVGScriptElement::SVGScriptElement):
63732        * svg/SVGScriptElement.h:
63733        * svg/svgtags.in: Added constructorNeedsCreatedByParser
63734        to script.
63735
637362008-12-08  David Kilzer  <ddkilzer@apple.com>
63737
63738        Bug 22555: Sort "children" sections in Xcode project files
63739
63740        <https://bugs.webkit.org/show_bug.cgi?id=22555>
63741
63742        Reviewed by Eric Seidel.
63743
63744        * WebCore.xcodeproj/project.pbxproj: Sorted.
63745        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
63746
637472008-12-08  Tony Chang  <tony@chromium.org>
63748
63749        Reviewed by Eric Seidel.
63750
63751        Add a bool to GraphicsContext so that shadows can ignore
63752        transformations.  This is needed by HTML canvas element
63753        where the spec says shadows are applied w/o transformations.
63754        https://bugs.webkit.org/show_bug.cgi?id=22580
63755
63756        No functional changes, thus no tests.
63757
63758        * html/CanvasRenderingContext2D.cpp:
63759        (WebCore::CanvasRenderingContext2D::setShadow):
63760        (WebCore::CanvasRenderingContext2D::applyShadow):
63761        * html/HTMLCanvasElement.cpp:
63762        (WebCore::HTMLCanvasElement::createImageBuffer):
63763        * platform/graphics/GraphicsContext.cpp:
63764        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
63765        * platform/graphics/GraphicsContext.h:
63766        * platform/graphics/GraphicsContextPrivate.h:
63767        (WebCore::GraphicsContextState::GraphicsContextState):
63768        * platform/graphics/cg/GraphicsContextCG.cpp:
63769        (WebCore::GraphicsContext::setPlatformShadow):
63770
637712008-12-08  Julien Chaffraix  <jchaffraix@webkit.org>
63772
63773        Reviewed by Darin Adler.
63774
63775        Bug 17897: Not Rendering Images Imported from XHTML Document
63776        <rdar://problem/5827614>
63777
63778        When we were loading document with XMLHttpRequest that contained images, the images
63779        would not be fetched as they would not be displayed. However if we inserted such
63780        an image element into a rendered document, we would not fetch the image and thus never
63781        display it.
63782
63783        Now we check if the image has been loaded when we insert an HTMLImageElement into a
63784        document.
63785        To enable this, the image loader has an error flag. To avoid doing several attempts
63786        when we know that the image is in error, we store the failed URL.
63787        However Firefox and Opera ignore errors when the 'src' attribute changes and thus
63788        we also have an updateFromElementIgnoringPreviousError to match the other browser.
63789
63790        Tests: http/tests/misc/image-blocked-src-change.html
63791               http/tests/misc/image-blocked-src-no-change.html
63792               http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
63793               http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
63794
63795        * html/HTMLEmbedElement.cpp:
63796        (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
63797        * html/HTMLImageElement.cpp:
63798        (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
63799        (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
63800        an image.
63801
63802        * html/HTMLInputElement.cpp:
63803        (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
63804        * html/HTMLObjectElement.cpp:
63805        (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
63806        * html/HTMLVideoElement.cpp:
63807        (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
63808        * loader/ImageLoader.cpp:
63809        (WebCore::ImageLoader::setImage): Added an assertion.
63810        (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
63811        multiple errors in the console for a single image load).
63812
63813        (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
63814        before calling updateFromElement.
63815
63816        (WebCore::ImageLoader::notifyFinished): Added an assertion.
63817        * loader/ImageLoader.h:
63818        * svg/SVGImageElement.cpp:
63819        (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
63820
638212008-12-08  David Hyatt  <hyatt@apple.com>
63822
63823        Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
63824        custom CSS scrollbars.
63825
63826        Reviewed by Eric Seidel
63827
63828        * page/FrameView.cpp:
63829        (WebCore::FrameView::createScrollbar):
63830        * page/FrameView.h:
63831        * platform/ScrollView.cpp:
63832        (WebCore::ScrollView::setHasHorizontalScrollbar):
63833        (WebCore::ScrollView::setHasVerticalScrollbar):
63834        (WebCore::ScrollView::createScrollbar):
63835        * platform/ScrollView.h:
63836
638372008-12-08  Dan Bernstein  <mitz@apple.com>
63838
63839        Reviewed by John Sullivan.
63840
63841        - WebCore part of tracking the global history item for a WebView
63842
63843        * loader/FrameLoader.cpp:
63844        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
63845        global history item to the current back/forward list item, respecting
63846        private browsing mode.
63847        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
63848        case.
63849        (WebCore::FrameLoader::goToItem): Ditto in this case.
63850        (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
63851        creates a new global history item, set the page's global history item
63852        to it.
63853        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
63854        Ditto.
63855        * page/Page.cpp:
63856        (WebCore::Page::setGlobalHistoryItem): Added this setter.
63857        * page/Page.h: Added a m_globalHistoryItem data member.
63858        (WebCore::Page::globalHistoryItem): Added this getter.
63859
638602008-12-08  Antti Koivisto  <antti@apple.com>
63861
63862        Reviewed by Dave Kilzer.
63863
63864        A few stylistic fixes suggested by Dave Kilzer.
63865
63866        * css/CSSPrimitiveValue.cpp:
63867        (WebCore::CSSPrimitiveValue::createIdentifier):
63868        (WebCore::CSSPrimitiveValue::create):
63869
638702008-12-08  Alexey Proskuryakov  <ap@webkit.org>
63871
63872        Reviewed by Darin Adler.
63873
63874        https://bugs.webkit.org/show_bug.cgi?id=22737
63875        Try debug version when locating CFNetwork
63876
63877        * platform/network/cf/ResourceRequestCFNet.cpp:
63878        (WebCore::findCFNetworkModule):
63879        (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
63880        (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
63881        * platform/network/win/CookieJarCFNetWin.cpp:
63882        (WebCore::findCFNetworkModule):
63883        (WebCore::findIsHTTPOnlyFunction):
63884
638852008-12-08  Aaron Boodman  <aa@chromium.org>
63886
63887        Reviewed by Stephanie Lewis.
63888
63889        https://bugs.webkit.org/show_bug.cgi?id=22301
63890        Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
63891
63892        * loader/FrameLoader.cpp:
63893        (WebCore::FrameLoader::finishedParsing):
63894
638952008-12-08  Trenton Schulz <trenton.schulz@nokia.com>
63896
63897        Rubber-stamped by Tor Arne Vestbø.
63898
63899        Fix build warning on Mac
63900
63901        * platform/text/mac/StringImplMac.mm:
63902
639032008-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
63904
63905        Fix the Qt build.
63906
63907        * bridge/qt/qt_runtime.cpp:
63908        (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
63909          constructor.
63910
639112008-12-08  Oliver Hunt  <oliver@apple.com>
63912
63913        Reviewed by Alexey Proskuryakov.
63914
63915        Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
63916        <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
63917
63918        This regression was caused by r39059 replacing the protector on the active
63919        animation with a protector on just the composition.  It turns out that both
63920        protectors are necessary.
63921
63922        Test: transitions/transition-duration-cleared-in-transitionend-crash.html
63923
63924        * page/animation/AnimationBase.cpp:
63925        (WebCore::AnimationBase::animationTimerCallbackFired):
63926
639272008-12-08  Dmitry Titov  <dimich@chromium.org>
63928
63929        Reviewed by Alexey Proskuryakov.
63930
63931        https://bugs.webkit.org/show_bug.cgi?id=22732
63932        Remove unused files PausedTimeouts.h,.cpp
63933        The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
63934
63935        * GNUmakefile.am:
63936        * WebCore.pro:
63937        * WebCore.scons:
63938        * WebCore.vcproj/WebCore.vcproj:
63939        * WebCore.xcodeproj/project.pbxproj:
63940        * WebCoreSources.bkl:
63941          These are build files which had PausedTimeouts referenced.
63942
63943        * bindings/js/PausedTimeouts.cpp: Removed.
63944        * bindings/js/PausedTimeouts.h: Removed.
63945        * bindings/js/ScriptController.cpp: Removed '#include'
63946        * page/Chrome.cpp: Removed '#include' and unused variable.
63947
639482008-12-07  Simon Fraser  <simon.fraser@apple.com>
63949
63950        Reviewed by Dan Bernstein
63951
63952        https://bugs.webkit.org/show_bug.cgi?id=22594
63953
63954        Fix issues which break reading inline style for -webkit-transition
63955        and -webkit-transform-origin.
63956
63957        Test: fast/css/transform-inline-style.html
63958
63959        * css/CSSMutableStyleDeclaration.cpp:
63960        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
63961        for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
63962        so that these shorthand properties are returned correctly.
63963        * css/CSSParser.cpp:
63964        (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
63965        with the correct CSSValueAll and CSSValueNone identifiers, not the
63966        RenderStyle-level cAnimateAll, cAnimateNone.
63967        * css/CSSStyleSelector.cpp:
63968        (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
63969        and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
63970
639712008-12-07  Antti Koivisto  <antti@apple.com>
63972
63973        Reviewed by Darin Adler.
63974
63975        https://bugs.webkit.org/show_bug.cgi?id=22717
63976        Make CSS values use less memory
63977
63978        Share CSSPrimitiveValue objects for commonly used values including
63979        - idents
63980        - colors
63981        - small integers
63982
63983        This reduces the amount CSSPrimitiveValue instances by > 80%.
63984
63985        * css/CSSPrimitiveValue.cpp:
63986        (WebCore::CSSPrimitiveValue::createIdentifier):
63987        (WebCore::CSSPrimitiveValue::createColor):
63988        (WebCore::CSSPrimitiveValue::create):
63989        * css/CSSPrimitiveValue.h:
63990        (WebCore::CSSPrimitiveValue::create):
63991
639922008-12-07  Antti Koivisto  <antti@apple.com>
63993
63994        Reviewed by Darin Adler.
63995
63996        https://bugs.webkit.org/show_bug.cgi?id=22717
63997        Make CSS values use less memory
63998
63999        Get CSSValues off from the common StyleBase base class. They don't
64000        need a parent pointer or anything else there and there is no real
64001        reason to have them in same data structures with other CSSOM objects.
64002
64003        Disabled (instead of refactoring around the lack of common base) the ability
64004        to have style declaration blocks as CSS variable values. They don't exist in
64005        the spec so I wasn't sure if they have future or not. It would not be hard to
64006        get them back. CSS variables are in any case an experimental feature and
64007        not enabled by default.
64008
64009        * css/CSSInitialValue.h:
64010        (WebCore::CSSInitialValue::createExplicit):
64011        (WebCore::CSSInitialValue::createImplicit):
64012        * css/CSSParser.cpp:
64013        (WebCore::CSSParser::addVariableDeclarationBlock):
64014        * css/CSSParser.h:
64015        * css/CSSValue.h:
64016        (WebCore::CSSValue::~CSSValue):
64017        (WebCore::CSSValue::parserValue):
64018        * css/CSSVariablesDeclaration.cpp:
64019        (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
64020        (WebCore::CSSVariablesDeclaration::getVariableValue):
64021        (WebCore::CSSVariablesDeclaration::removeVariable):
64022        (WebCore::CSSVariablesDeclaration::addParsedVariable):
64023        (WebCore::CSSVariablesDeclaration::getParsedVariable):
64024        (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
64025        * css/CSSVariablesDeclaration.h:
64026        (WebCore::CSSVariablesDeclaration::create):
64027        * css/StyleBase.h:
64028
640292008-12-07  Dirk Schulze  <krit@webkit.org>
64030
64031        Reviewed by Oliver Hunt.
64032
64033        Add gradient and pattern support for strokeRect on canvas/Cg.
64034
64035        Canvas strokeRect() doesn't support gradients
64036        https://bugs.webkit.org/show_bug.cgi?id=19790
64037
64038        Test: fast/canvas/canvas-strokeRect.html
64039
64040        * platform/graphics/cg/GraphicsContextCG.cpp:
64041        (WebCore::GraphicsContext::strokeRect):
64042
640432008-12-06  Dirk Schulze  <krit@webkit.org>
64044
64045        Reviewed by Oliver Hunt.
64046
64047        Add support for setTransform() in canvas.
64048
64049        <canvas> lacks transform() and setTransform()
64050        https://bugs.webkit.org/show_bug.cgi?id=16604
64051
64052        Test: fast/canvas/canvas-setTransform.html
64053
64054        * html/CanvasRenderingContext2D.cpp:
64055        (WebCore::CanvasRenderingContext2D::State::State):
64056        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
64057        (WebCore::CanvasRenderingContext2D::setFillStyle):
64058        (WebCore::CanvasRenderingContext2D::scale):
64059        (WebCore::CanvasRenderingContext2D::rotate):
64060        (WebCore::CanvasRenderingContext2D::translate):
64061        (WebCore::CanvasRenderingContext2D::transform):
64062        (WebCore::CanvasRenderingContext2D::setTransform):
64063        (WebCore::CanvasRenderingContext2D::beginPath):
64064        (WebCore::CanvasRenderingContext2D::closePath):
64065        (WebCore::CanvasRenderingContext2D::moveTo):
64066        (WebCore::CanvasRenderingContext2D::lineTo):
64067        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
64068        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
64069        (WebCore::CanvasRenderingContext2D::arcTo):
64070        (WebCore::CanvasRenderingContext2D::arc):
64071        (WebCore::CanvasRenderingContext2D::rect):
64072        (WebCore::CanvasRenderingContext2D::fill):
64073        (WebCore::CanvasRenderingContext2D::stroke):
64074        (WebCore::CanvasRenderingContext2D::clip):
64075        (WebCore::CanvasRenderingContext2D::isPointInPath):
64076        (WebCore::CanvasRenderingContext2D::clearRect):
64077        (WebCore::CanvasRenderingContext2D::fillRect):
64078        (WebCore::CanvasRenderingContext2D::strokeRect):
64079        (WebCore::CanvasRenderingContext2D::drawImage):
64080        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
64081        (WebCore::CanvasRenderingContext2D::willDraw):
64082        (WebCore::CanvasRenderingContext2D::drawTextInternal):
64083        * html/CanvasRenderingContext2D.h:
64084        * html/CanvasRenderingContext2D.idl:
64085        * html/HTMLCanvasElement.cpp:
64086        (WebCore::HTMLCanvasElement::baseTransform):
64087        * html/HTMLCanvasElement.h:
64088        * platform/graphics/ImageBuffer.h:
64089        (WebCore::ImageBuffer::baseTransform):
64090
640912008-12-06  Antti Koivisto  <antti@apple.com>
64092
64093        Reviewed by Darin Adler.
64094
64095        Also copy m_implicit field. Darin wanted this change commited separately.
64096
64097        * css/CSSProperty.h:
64098        (WebCore::CSSProperty::operator=):
64099
641002008-12-06  Antti Koivisto  <antti@apple.com>
64101
64102        Reviewed by Darin Adler.
64103
64104        https://bugs.webkit.org/show_bug.cgi?id=22379
64105        Make CSSOM use less memory
64106
64107        Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
64108
64109        Taught setter functions to use existing slots to avoid memory moves, plus some
64110        other optimizations.
64111
64112        * WebCore.xcodeproj/project.pbxproj:
64113        * css/CSSMutableStyleDeclaration.cpp:
64114        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
64115        (WebCore::CSSMutableStyleDeclaration::operator=):
64116        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
64117        (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
64118        (WebCore::CSSMutableStyleDeclaration::removeProperty):
64119        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
64120        (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
64121        (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
64122        (WebCore::CSSMutableStyleDeclaration::setProperty):
64123        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
64124        (WebCore::CSSMutableStyleDeclaration::setStringProperty):
64125        (WebCore::CSSMutableStyleDeclaration::setImageProperty):
64126        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
64127        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
64128        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
64129        (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
64130        (WebCore::CSSMutableStyleDeclaration::length):
64131        (WebCore::CSSMutableStyleDeclaration::item):
64132        (WebCore::CSSMutableStyleDeclaration::cssText):
64133        (WebCore::CSSMutableStyleDeclaration::setCssText):
64134        (WebCore::CSSMutableStyleDeclaration::merge):
64135        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
64136        (WebCore::CSSMutableStyleDeclaration::copy):
64137        (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
64138        * css/CSSMutableStyleDeclaration.h:
64139        (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
64140        (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
64141        (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
64142        (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
64143        (WebCore::CSSMutableStyleDeclaration::create):
64144        (WebCore::CSSMutableStyleDeclaration::begin):
64145        (WebCore::CSSMutableStyleDeclaration::end):
64146        (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
64147        (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
64148        (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
64149        (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
64150        (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
64151        * css/CSSProperty.h:
64152        (WTF::):
64153        * css/CSSStyleDeclaration.cpp:
64154        (WebCore::CSSStyleDeclaration::diff):
64155        (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
64156        * css/CSSStyleSelector.cpp:
64157        (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
64158        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
64159        (WebCore::CSSStyleSelector::applyDeclarations):
64160        * dom/EventTarget.h:
64161        * editing/ApplyStyleCommand.cpp:
64162        (WebCore::StyleChange::init):
64163        (WebCore::ApplyStyleCommand::isHTMLStyleNode):
64164        (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
64165        (WebCore::ApplyStyleCommand::removeCSSStyle):
64166        * editing/Editor.cpp:
64167        (WebCore::Editor::selectionStartHasStyle):
64168        (WebCore::updateState):
64169        * editing/ReplaceSelectionCommand.cpp:
64170        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
64171        * editing/markup.cpp:
64172        (WebCore::appendStartMarkup):
64173
641742008-12-06  Simon Fraser  <simon.fraser@apple.com>
64175
64176        Reviewed by Antti Koivisto, Dan Bernstein
64177
64178        https://bugs.webkit.org/show_bug.cgi?id=22088
64179
64180        Fix logic related to repainting when transform changes:
64181        If an object has a layer, and the transform changes, then we need
64182        to do a repaintIncludingDescendants(), not just a repaint.
64183
64184        Test: fast/repaint/transform-repaint-descendants.html
64185
64186        * rendering/RenderObject.cpp:
64187        (WebCore::RenderObject::styleWillChange):
64188
641892008-12-06  Simon Fraser  <simon.fraser@apple.com>
64190
64191        Reviewed by Dan Bernstein
64192
64193        https://bugs.webkit.org/show_bug.cgi?id=15739
64194
64195        When painting the selection on a replaced element, paint
64196        using local coordinates so that the selection is correctly
64197        painted for transformed elements.
64198
64199        Test: fast/replaced/selection-rect-transform.html
64200
64201        * rendering/RenderReplaced.cpp:
64202        (WebCore::RenderReplaced::paint):
64203
642042008-12-06  Simon Fraser  <simon.fraser@apple.com>
64205
64206        Reviewed by Dave Hyatt
64207
64208        https://bugs.webkit.org/show_bug.cgi?id=15671
64209
64210        Fix caret rendering to behave correctly with transforms:
64211        * Rename caretRect() methods to localCaretRect() and
64212          absoluteCaretBounds() as appropriate
64213        * Fix localCaretRect() methods to return a rect in the
64214          appropriate coordinates.
64215        * Pass tx, ty down through the paintCaret() methods, after fixing them
64216          up to account for differences between contents coords, and renderer-local
64217          coords (via RenderBlock::offsetForContents()).
64218        * Remove m_caretPositionOnLayout from SelectionController, and instead
64219          call invalidateSelection() from RenderLayer::scrollToOffset(), because
64220          we can no longer assume simple x/y offsets from scrolling with transforms.
64221        * Move the logic to compute which RenderObject actually paints the caret into
64222          SelectionController::caretRenderer(), rather than having it in RenderBlock.
64223        * SelectionController now computes and caches a local caret rect. For invalidation,
64224          it computes the absolute bounds of that (possibly transformed) local rect.
64225          The local rect is computed in the coordinate system of the RenderObject that
64226          will paint the caret (this may require offsetting from the actual renderer
64227          at the start of the selection).
64228        * Fix LayoutState(RenderObject* root) to take transforms into account
64229        * Make offsetFromContainer() a virtual method on RenderObject, and implement
64230          the RenderObject version. It's used to map from selection start renderer
64231          to caret renderer.
64232
64233        Test: fast/transforms/transformed-caret.html
64234
64235        * WebCore.base.exp:
64236        * editing/DeleteSelectionCommand.cpp:
64237        (WebCore::DeleteSelectionCommand::mergeParagraphs):
64238        * editing/SelectionController.cpp:
64239        (WebCore::SelectionController::SelectionController):
64240        (WebCore::absoluteCaretY):
64241        (WebCore::SelectionController::modify):
64242        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
64243        (WebCore::SelectionController::layout):
64244        (WebCore::SelectionController::caretRenderer):
64245        (WebCore::SelectionController::localCaretRect):
64246        (WebCore::SelectionController::absoluteCaretBounds):
64247        (WebCore::SelectionController::caretRepaintRect):
64248        (WebCore::SelectionController::recomputeCaretRect):
64249        (WebCore::SelectionController::invalidateCaretRect):
64250        (WebCore::SelectionController::paintCaret):
64251        (WebCore::SelectionController::caretRendersInsideNode):
64252        * editing/SelectionController.h:
64253        * editing/VisiblePosition.cpp:
64254        (WebCore::VisiblePosition::localCaretRect):
64255        (WebCore::VisiblePosition::absoluteCaretBounds):
64256        (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
64257        * editing/VisiblePosition.h:
64258        * editing/mac/SelectionControllerMac.mm:
64259        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
64260        * html/HTMLElement.cpp:
64261        (WebCore::HTMLElement::isContentEditable):
64262        * page/AccessibilityRenderObject.cpp:
64263        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
64264        * page/Frame.cpp:
64265        (WebCore::Frame::firstRectForRange):
64266        (WebCore::Frame::selectionLayoutChanged):
64267        (WebCore::Frame::paintCaret):
64268        (WebCore::Frame::paintDragCaret):
64269        (WebCore::Frame::revealSelection):
64270        (WebCore::Frame::revealCaret):
64271        * page/Frame.h:
64272        * rendering/LayoutState.cpp:
64273        (WebCore::LayoutState::LayoutState):
64274        * rendering/RenderBlock.cpp:
64275        (WebCore::RenderBlock::paintCaret):
64276        (WebCore::RenderBlock::paintObject):
64277        (WebCore::RenderBlock::positionForCoordinates):
64278        (WebCore::RenderBlock::offsetForContents):
64279        * rendering/RenderBlock.h:
64280        * rendering/RenderBox.cpp:
64281        (WebCore::RenderBox::localCaretRect):
64282        * rendering/RenderBox.h:
64283        * rendering/RenderFlow.cpp:
64284        (WebCore::RenderFlow::localCaretRect):
64285        * rendering/RenderFlow.h:
64286        * rendering/RenderLayer.cpp:
64287        (WebCore::RenderLayer::scrollToOffset):
64288        * rendering/RenderObject.cpp:
64289        (WebCore::RenderObject::localCaretRect):
64290        * rendering/RenderObject.h:
64291        * rendering/RenderSVGInlineText.cpp:
64292        (WebCore::RenderSVGInlineText::localCaretRect):
64293        * rendering/RenderSVGInlineText.h:
64294        * rendering/RenderText.cpp:
64295        (WebCore::RenderText::RenderText):
64296        (WebCore::RenderText::localCaretRect):
64297        * rendering/RenderText.h:
64298
642992008-12-06  David Kilzer  <ddkilzer@apple.com>
64300
64301        Bug 22711: Current svn (build 39065) fails to compile
64302
64303        <https://bugs.webkit.org/show_bug.cgi?id=22711>
64304
64305        BUILD FIX for r39065: Forgot parentheses after "document".
64306
64307        Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
64308        <https://bugs.webkit.org/show_bug.cgi?id=22666>
64309
64310        * svg/SVGFEImageElement.cpp:
64311        (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
64312        document to document().
64313
643142008-12-06  Dmitry Titov  <dimich@chromium.org>
64315
64316        Reviewed by Alexey Proskuryakov.
64317
64318        https://bugs.webkit.org/show_bug.cgi?id=22710
64319        Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
64320
64321        * bindings/js/DOMTimer.cpp:
64322        (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
64323
643242008-12-06  David Kilzer  <ddkilzer@apple.com>
64325
64326        Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
64327
64328        <https://bugs.webkit.org/show_bug.cgi?id=22666>
64329
64330        Reviewed by Darin Adler.
64331
64332        When creating a webarchive from WebCore::LegacyWebArchive::create(),
64333        HashSet<String>, Vector<KURL> and Vector<String> were all used to
64334        store a list of URLs for resources found in the document.  Instead
64335        use a single ListHashSet<KURL> to store the list and resolve the
64336        relative URLs as they're added.  We use a new inline method called
64337        WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
64338        to prevent "null" KURL objects from crashing in the KURL hashing
64339        function.
64340
64341        * WebCore.base.exp: Changed export of
64342        WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
64343        argument instead of a Vector<KURL>.
64344
64345        * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
64346        header for use in WebKit.
64347
64348        * css/CSSStyleSheet.cpp:
64349        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
64350        addSubresourceURLStrings().  Changed to use ListHashSet<KURL>
64351        instead of HashSet<String>.  Cleaned up code.
64352        * css/CSSStyleSheet.h:
64353        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
64354        * css/StyleSheet.h:
64355        (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
64356
64357        * dom/Node.cpp:
64358        (WebCore::Node::getSubresourceURLs): Changed to use
64359        ListHashSet<KURL> instead of Vector<KURL>.  Cleaned up code.
64360        * dom/Node.h:
64361        (WebCore::Node::getSubresourceURLs): Ditto.
64362        (WebCore::Node::addSubresourceAttributeURLs): Renamed from
64363        getSubresourceAttributeStrings().  Changed to use ListHashSet<KURL>
64364        instead of Vector<String>.
64365        (WebCore::addSubresourceURL): Added.  Safely adds new KURL objects
64366        to a ListHashSet<KURL> object.  A "null" KURL object will cause the
64367        hash function to crash since it contains a null StringImpl.  Used in
64368        Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
64369        the style subsystem.
64370
64371        * dom/ProcessingInstruction.cpp:
64372        (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
64373        Renamed from getSubresourceAttributeStrings().  Changed to use
64374        ListHashSet<KURL> instead of Vector<String>.  Use
64375        WebCore::addSubresourceURL() to add new KURL objects.
64376        * dom/ProcessingInstruction.h: Ditto.
64377        * html/HTMLBodyElement.cpp:
64378        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
64379        * html/HTMLBodyElement.h: Ditto.
64380        * html/HTMLEmbedElement.cpp:
64381        (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
64382        * html/HTMLEmbedElement.h: Ditto.
64383        * html/HTMLImageElement.cpp:
64384        (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
64385        * html/HTMLImageElement.h: Ditto.
64386        * html/HTMLInputElement.cpp:
64387        (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
64388        * html/HTMLInputElement.h: Ditto.
64389        * html/HTMLLinkElement.cpp:
64390        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
64391        * html/HTMLLinkElement.h: Ditto.
64392        * html/HTMLObjectElement.cpp:
64393        (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
64394        * html/HTMLObjectElement.h: Ditto.
64395        * html/HTMLParamElement.cpp:
64396        (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
64397        * html/HTMLParamElement.h: Ditto.
64398        * html/HTMLScriptElement.cpp:
64399        (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
64400        * html/HTMLScriptElement.h: Ditto.
64401        * html/HTMLStyleElement.cpp:
64402        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
64403        * html/HTMLStyleElement.h: Ditto.
64404        * html/HTMLTableCellElement.cpp:
64405        (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
64406        * html/HTMLTableCellElement.h: Ditto.
64407        * html/HTMLTableElement.cpp:
64408        (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
64409        * html/HTMLTableElement.h: Ditto.
64410
64411        * loader/archive/cf/LegacyWebArchive.cpp:
64412        (WebCore::LegacyWebArchive::create): Changed from using
64413        HashSet<String> to ListHashSet<KURL> for tracking unique
64414        subresources.  Changed from using Vector<KURL> to ListHashSet<KURL>
64415        when calling WebCore::Node::getSubresourceURLs().  Cleaned up code.
64416
64417        * svg/SVGCursorElement.cpp:
64418        (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
64419        from getSubresourceAttributeStrings().  Changed to use
64420        ListHashSet<KURL> instead of Vector<String>.  Use
64421        WebCore::addSubresourceURL() to add new KURL objects.
64422        * svg/SVGCursorElement.h: Ditto.
64423        * svg/SVGFEImageElement.cpp:
64424        (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
64425        * svg/SVGFEImageElement.h: Ditto.
64426        * svg/SVGImageElement.cpp:
64427        (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
64428        * svg/SVGImageElement.h: Ditto.
64429        * svg/SVGScriptElement.cpp:
64430        (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
64431        * svg/SVGScriptElement.h: Ditto.
64432
644332008-12-05  Brett Wilson  <brettw@chromium.org>
64434
64435        Reviewed by Darin Adler.
64436
64437        Make the page group use the proper link hashing functions rather than
64438        calling the string hash functions directly. Add Chromium-specfic ifdefs
64439        in the visited link computation functions to allow integration.
64440
64441        * page/PageGroup.cpp:
64442        (WebCore::PageGroup::isLinkVisited):
64443        (WebCore::PageGroup::addVisitedLink):
64444        * platform/LinkHash.cpp:
64445        (WebCore::visitedLinkHash):
64446        * platform/LinkHash.h:
64447
644482008-12-05  Chris Marrin  <cmarrin@apple.com>
64449
64450        Reviewed by Dave Hyatt.
64451
64452        Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
64453        For iteration and end events, previous fixes to prevent the deletion of
64454        Animation objects (ref counting and hanging onto a ref during event callbacks)
64455        was sufficient to prevent dangling pointers. But start events are sent in
64456        the styleAvailable() call, which iterates over CompositeAnimation objects,
64457        which are not ref counted. So that object can get destroyed in the event
64458        handler while still active. So I added refcounting for CompositeAnimations.
64459
64460        Additionally, when am iterating over the CompositingAnimation list, it can
64461        be deleted, which mutates the list. So I now make one pass over the list
64462        building a vector of CompositeAnimation objects that need to be called and
64463        then iterate over that vector to make the actual calls.
64464
64465        Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
64466        the Animation objects it owns, I now keep a ref to the CompositeAnimation
64467        in the timer callback for the iteration and end events. That means I no
64468        longer need to keep a ref to the Animation objects themselves in that timer
64469        callback, since the CompositeAnimation already has one.
64470
64471        Tests: animations/animation-iteration-event-destroy-renderer.html
64472               animations/animation-start-event-destroy-renderer.html
64473
64474        * page/animation/AnimationBase.cpp:
64475        (WebCore::AnimationBase::updateStateMachine):
64476        (WebCore::AnimationBase::animationTimerCallbackFired):
64477        * page/animation/AnimationController.cpp:
64478        (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
64479        (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
64480        (WebCore::AnimationControllerPrivate::clear):
64481        (WebCore::AnimationControllerPrivate::styleAvailable):
64482        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
64483        (WebCore::AnimationControllerPrivate::animationTimerFired):
64484        (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
64485        (WebCore::AnimationControllerPrivate::suspendAnimations):
64486        (WebCore::AnimationControllerPrivate::resumeAnimations):
64487        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
64488        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
64489        (WebCore::AnimationController::updateAnimations):
64490        (WebCore::AnimationController::setAnimationStartTime):
64491        (WebCore::AnimationController::setTransitionStartTime):
64492        * page/animation/CompositeAnimation.cpp:
64493        (WebCore::CompositeAnimationPrivate::animationController):
64494        (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
64495        (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
64496        (WebCore::CompositeAnimationPrivate::clearRenderer):
64497        (WebCore::CompositeAnimation::clearRenderer):
64498        (WebCore::CompositeAnimation::animationController):
64499        (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
64500        * page/animation/CompositeAnimation.h:
64501        (WebCore::CompositeAnimation::create):
64502
645032008-12-05  David Kilzer  <ddkilzer@apple.com>
64504
64505        Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
64506
64507        <https://bugs.webkit.org/show_bug.cgi?id=22609>
64508        <rdar://problem/6331749>
64509
64510        Reviewed by Darin Adler.
64511
64512        Initial patch by Yosen Lin.  Adapted for ToT WebKit by David Kilzer.
64513
64514        Added back the code that generates a "compact" hash (instead of a
64515        perfect hash) as a build-time option using the
64516        ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
64517
64518        * bindings/scripts/CodeGeneratorJS.pm:
64519        (GenerateImplementation): Compute the number of elements that will
64520        be stored in each hash table and pass it to GenerateHashTable().
64521        (GenerateHashTable): Added new second parameter representing the
64522        number of elements to store in the compact hash table.  Added back
64523        code to compute compact hash tables.  Generate both hash table sizes
64524        and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
64525
645262008-12-05  Brett Wilson  <brettw@chromium.org>
64527
64528        Fix build bustage from previous patch.
64529
64530        * css/CSSSelector.h:
64531
645322008-12-05  Brett Wilson  <brettw@chromium.org>
64533
64534        Reviewed by Eric Seidel.
64535
64536        Add a missing include for OwnPtr to make CSSSelector compile without
64537        precompiled headers.
64538
64539        * css/CSSSelector.h:
64540
645412008-12-05  Finnur Thorarinsson  <finnur.webkit@gmail.com>
64542
64543        Reviewed by Darin Adler.
64544
64545        Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
64546        without relying on high-level WebCore types, as requested by Dave Hyatt.
64547
64548        No functional changes, thus no test cases.
64549
64550        * page/FrameView.cpp:
64551        (WebCore::FrameView::getTickmarks):
64552        * page/FrameView.h:
64553        * platform/ScrollbarClient.h:
64554
645552008-12-05  Dean Jackson  <dino@apple.com>
64556
64557        Reviewed by David Hyatt.
64558
64559        Make sure Window event listeners also tell the
64560        Document about the event type, so noisy events
64561        will be dispatched even if nothing in the document
64562        is listening.
64563        https://bugs.webkit.org/show_bug.cgi?id=20572
64564
64565        * dom/Document.cpp:
64566        (WebCore::Document::addWindowEventListener):
64567
645682008-12-05  Adam Roben  <aroben@apple.com>
64569
64570        Windows build fix after r39026
64571
64572        * platform/network/cf/ResourceRequestCFNet.cpp:
64573        (WebCore::ResourceRequest::doUpdatePlatformRequest):
64574        (WebCore::ResourceRequest::doUpdateResourceRequest):
64575        Add some missing .get()s.
64576
645772008-12-05  Alexey Proskuryakov  <ap@webkit.org>
64578
64579        Tiger build fix.
64580
64581        * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
64582
645832008-12-05  Alexey Proskuryakov  <ap@webkit.org>
64584
64585        Reviewed by Darin Adler.
64586
64587        <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
64588        in Safari before opening a mail message in Mail
64589
64590        * platform/mac/WebCoreObjCExtras.mm:
64591        (WebCoreObjCFinalizeOnMainThread):
64592        Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
64593        Tiger and post-Tiger behavior in line.
64594
64595        * bindings/objc/DOMRGBColor.mm:
64596        (+[DOMRGBColor initialize]):
64597        * bindings/objc/WebScriptObject.mm:
64598        (+[WebScriptObject initialize]):
64599        * page/mac/AccessibilityObjectWrapper.mm:
64600        (+[AccessibilityObjectWrapper initialize]):
64601        * platform/mac/SharedBufferMac.mm:
64602        (+[WebCoreSharedBufferData initialize]):
64603        Call JSC::initializeThreading();
64604
646052008-12-05  Alexey Proskuryakov  <ap@webkit.org>
64606
64607        Reviewed by Darin Adler.
64608
64609        <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
64610
64611        * platform/network/ResourceRequestBase.cpp:
64612        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
64613        * platform/network/ResourceRequestBase.h:
64614        * platform/network/cf/ResourceRequestCFNet.cpp:
64615        (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
64616        (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
64617        (WebCore::setContentDispositionEncodingFallbackArray):
64618        (WebCore::copyContentDispositionEncodingFallbackArray):
64619        (WebCore::ResourceRequest::doUpdatePlatformRequest):
64620        (WebCore::ResourceRequest::doUpdateResourceRequest):
64621        * platform/network/mac/ResourceRequestMac.mm:
64622        (WebCore::ResourceRequest::doUpdateResourceRequest):
64623        (WebCore::ResourceRequest::doUpdatePlatformRequest):
64624        Added a way to specify encoding fallback list for Content-Disposition header.
64625
64626        * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
64627        pass a list of encodings to try when decoding Content-Disposition header, as described
64628        in comments.
64629
646302008-12-05  Alexey Proskuryakov  <ap@webkit.org>
64631
64632        Reviewed by Darin Adler.
64633
64634        https://bugs.webkit.org/show_bug.cgi?id=22672
64635        ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
64636
64637        Test: http/tests/xmlhttprequest/send-on-abort.html
64638
64639        * dom/ScriptExecutionContext.cpp:
64640        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
64641        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
64642        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
64643        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
64644        Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
64645
64646        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
64647        reverts a recent change that made the behavior slightly closer to Firefox - but the
64648        compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
64649
646502008-12-05  Tobias König <tobias.koenig@nokia.com>
64651
64652        Reviewed by Simon Hausmann.
64653
64654        Record required package dependencies for the Qt build for a correct
64655        pkg-config file.
64656
64657        * WebCore.pro:
64658
646592008-12-05  Tor Arne Vestbø  <tavestbo@trolltech.com>
64660
64661        Rubber-stamped by Simon Hausmann.
64662
64663        [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
64664
64665        * plugins/mac/PluginPackageMac.cpp:
64666        (WebCore::PluginPackage::fetchInfo):
64667        (WebCore::PluginPackage::isPluginBlacklisted):
64668
646692008-12-05  Jungshik Shin  <jshin@chromium.org>
64670
64671        Reviewed by Alexey Proskuryakov.
64672
64673        https://bugs.webkit.org/show_bug.cgi?id=22472
64674
64675        Revises charset alias map for TextCodecICU.
64676        - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
64677        - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
64678        - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
64679          mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
64680          alias 'dos-874' to 'windows-874'.
64681        - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
64682          Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
64683          directly going to 'GBK'.
64684        - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
64685
64686        Tests: fast/encoding/char-decoding-mac.html
64687               fast/encoding/char-decoding.html
64688
64689        * platform/text/TextCodecICU.cpp:
64690        (WebCore::TextCodecICU::registerExtendedEncodingNames):
64691
646922008-12-04  Kevin Watters  <kevinwatters@gmail.com>
64693
64694        Reviewed by Kevin Ollivier.
64695
64696        Add a MIME mapping for the .htm extension to wx and GTK ports.
64697
64698        https://bugs.webkit.org/show_bug.cgi?id=22668
64699
64700        * platform/gtk/MIMETypeRegistryGtk.cpp:
64701        (WebCore::):
64702        * platform/wx/MimeTypeRegistryWx.cpp:
64703        (WebCore::):
64704
647052008-12-04  Kevin Watters  <kevinwatters@gmail.com>
64706
64707        Reviewed by Kevin Ollivier.
64708
64709        Implement basic text paste support in wx and add notImplemented stubs
64710        to catch other methods.
64711
64712        https://bugs.webkit.org/show_bug.cgi?id=22667
64713
64714        * platform/wx/PasteboardWx.cpp:
64715        (WebCore::Pasteboard::canSmartReplace):
64716        (WebCore::Pasteboard::plainText):
64717        (WebCore::Pasteboard::documentFragment):
64718        (WebCore::Pasteboard::writeImage):
64719
647202008-12-04  Kevin Ollivier  <kevino@theolliviers.com>
64721
64722        wx build fix for !USE(WXGC) build config.
64723
64724        * platform/graphics/wx/PathWx.cpp:
64725        (WebCore::Path::contains):
64726        (WebCore::Path::addLineTo):
64727        (WebCore::Path::addQuadCurveTo):
64728        (WebCore::Path::addBezierCurveTo):
64729        (WebCore::Path::addArcTo):
64730        (WebCore::Path::closeSubpath):
64731        (WebCore::Path::addArc):
64732        (WebCore::Path::addRect):
64733        (WebCore::Path::addEllipse):
64734        (WebCore::Path::transform):
64735        (WebCore::Path::apply):
64736        (WebCore::Path::isEmpty):
64737
647382008-12-04  Kevin Watters  <kevinwatters@gmail.com>
64739
64740        Reviewed by Kevin Ollivier.
64741
64742        Turn off styled controls until we can implement them properly.
64743
64744        https://bugs.webkit.org/show_bug.cgi?id=22662
64745
64746        * platform/wx/RenderThemeWx.cpp:
64747        (WebCore::RenderThemeWx::isControlStyled):
64748
647492008-12-04  Kevin Watters  <kevinwatters@gmail.com>
64750
64751        Reviewed by Kevin Ollivier.
64752
64753        wx implementations for Path API.
64754
64755        https://bugs.webkit.org/show_bug.cgi?id=22661
64756
64757        * platform/graphics/wx/PathWx.cpp:
64758        (WebCore::Path::~Path):
64759        (WebCore::Path::contains):
64760        (WebCore::Path::addLineTo):
64761        (WebCore::Path::addQuadCurveTo):
64762        (WebCore::Path::addBezierCurveTo):
64763        (WebCore::Path::addArcTo):
64764        (WebCore::Path::closeSubpath):
64765        (WebCore::Path::addArc):
64766        (WebCore::Path::addRect):
64767        (WebCore::Path::addEllipse):
64768        (WebCore::Path::transform):
64769        (WebCore::Path::isEmpty):
64770
647712008-12-04  Julien Chaffraix  <jchaffraix@webkit.org>
64772
64773        Reviewed by Eric Seidel.
64774
64775        Bug 22564: Make HTML elements' constructors take a QualifiedName
64776        https://bugs.webkit.org/show_bug.cgi?id=22564
64777
64778        Updated the remaining constructors.
64779
64780        * bindings/js/JSImageConstructor.cpp:
64781        (WebCore::constructImage):
64782        * dom/Document.cpp:
64783        (WebCore::Document::getCSSCanvasElement):
64784        * editing/DeleteButton.cpp:
64785        (WebCore::DeleteButton::DeleteButton):
64786        * html/HTMLAppletElement.cpp:
64787        (WebCore::HTMLAppletElement::HTMLAppletElement):
64788        * html/HTMLAppletElement.h:
64789        * html/HTMLAreaElement.cpp:
64790        (WebCore::HTMLAreaElement::HTMLAreaElement):
64791        * html/HTMLAreaElement.h:
64792        * html/HTMLBaseFontElement.cpp:
64793        (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
64794        * html/HTMLBaseFontElement.h:
64795        * html/HTMLCanvasElement.cpp:
64796        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
64797        * html/HTMLCanvasElement.h:
64798        * html/HTMLElementFactory.cpp:
64799        (WebCore::hrConstructor):
64800        (WebCore::paragraphConstructor):
64801        (WebCore::basefontConstructor):
64802        (WebCore::fontConstructor):
64803        (WebCore::anchorConstructor):
64804        (WebCore::imageConstructor):
64805        (WebCore::mapConstructor):
64806        (WebCore::areaConstructor):
64807        (WebCore::canvasConstructor):
64808        (WebCore::appletConstructor):
64809        (WebCore::embedConstructor):
64810        (WebCore::objectConstructor):
64811        (WebCore::paramConstructor):
64812        (WebCore::scriptConstructor):
64813        (WebCore::tableConstructor):
64814        (WebCore::tableCaptionConstructor):
64815        (WebCore::tableRowConstructor):
64816        * html/HTMLEmbedElement.cpp:
64817        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
64818        * html/HTMLEmbedElement.h:
64819        * html/HTMLFontElement.cpp:
64820        (WebCore::HTMLFontElement::HTMLFontElement):
64821        * html/HTMLFontElement.h:
64822        * html/HTMLHRElement.cpp:
64823        (WebCore::HTMLHRElement::HTMLHRElement):
64824        * html/HTMLHRElement.h:
64825        * html/HTMLImageElement.cpp:
64826        (WebCore::HTMLImageElement::HTMLImageElement):
64827        * html/HTMLImageElement.h:
64828        * html/HTMLMapElement.cpp:
64829        (WebCore::HTMLMapElement::HTMLMapElement):
64830        * html/HTMLMapElement.h:
64831        * html/HTMLObjectElement.cpp:
64832        (WebCore::HTMLObjectElement::HTMLObjectElement):
64833        * html/HTMLObjectElement.h:
64834        * html/HTMLParagraphElement.cpp:
64835        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
64836        * html/HTMLParagraphElement.h:
64837        * html/HTMLParamElement.cpp:
64838        (WebCore::HTMLParamElement::HTMLParamElement):
64839        * html/HTMLParamElement.h:
64840        * html/HTMLParser.cpp:
64841        (WebCore::HTMLParser::handleError):
64842        (WebCore::HTMLParser::mapCreateErrorCheck):
64843        (WebCore::HTMLParser::handleIsindex):
64844        * html/HTMLScriptElement.cpp:
64845        (WebCore::HTMLScriptElement::HTMLScriptElement):
64846        * html/HTMLScriptElement.h:
64847        * html/HTMLTableCaptionElement.cpp:
64848        (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
64849        * html/HTMLTableCaptionElement.h:
64850        * html/HTMLTableElement.cpp:
64851        (WebCore::HTMLTableElement::HTMLTableElement):
64852        (WebCore::HTMLTableElement::createCaption):
64853        (WebCore::HTMLTableElement::insertRow):
64854        * html/HTMLTableElement.h:
64855        * html/HTMLTableRowElement.cpp:
64856        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
64857        * html/HTMLTableRowElement.h:
64858        * html/HTMLTableSectionElement.cpp:
64859        (WebCore::HTMLTableSectionElement::insertRow):
64860        * html/HTMLViewSourceDocument.cpp:
64861        (WebCore::HTMLViewSourceDocument::createContainingTable):
64862        (WebCore::HTMLViewSourceDocument::addLine):
64863        * loader/ImageDocument.cpp:
64864        (WebCore::ImageDocumentElement::ImageDocumentElement):
64865
648662008-12-04  Eric Seidel  <eric@webkit.org>
64867
64868        No review, build fix only.
64869
64870        Add file missing from last commit.
64871
64872        * bindings/js/ScriptState.h: Added.
64873
648742008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
64875
64876        Reviewed by Geoff Garen.
64877
64878        Implement ScriptState abstraction (initially, a simple typedef)
64879        as means of carrying exception information across bindings boundaries
64880        and in a script engine-independent way.
64881
64882        * WebCore.vcproj/WebCore.vcproj:
64883        * WebCore.xcodeproj/project.pbxproj:
64884        * bindings/js/JSDOMBinding.cpp:
64885        (WebCore::scriptStateFromNode):
64886        * bindings/js/JSDOMBinding.h:
64887        * bindings/js/JSNodeFilterCondition.h:
64888        * bindings/js/ScriptState.h: Added.
64889        * dom/NodeFilter.cpp:
64890        (WebCore::NodeFilter::acceptNode):
64891        * dom/NodeFilter.h:
64892        (WebCore::NodeFilter::acceptNode):
64893        * dom/NodeFilterCondition.cpp:
64894        (WebCore::NodeFilterCondition::acceptNode):
64895        * dom/NodeFilterCondition.h:
64896        * dom/NodeIterator.cpp:
64897        (WebCore::NodeIterator::nextNode):
64898        (WebCore::NodeIterator::previousNode):
64899        * dom/NodeIterator.h:
64900        (WebCore::NodeIterator::nextNode):
64901        (WebCore::NodeIterator::previousNode):
64902        * dom/Traversal.cpp:
64903        (WebCore::Traversal::acceptNode):
64904        * dom/Traversal.h:
64905        * dom/TreeWalker.cpp:
64906        (WebCore::TreeWalker::parentNode):
64907        (WebCore::TreeWalker::firstChild):
64908        (WebCore::TreeWalker::lastChild):
64909        (WebCore::TreeWalker::previousSibling):
64910        (WebCore::TreeWalker::nextSibling):
64911        (WebCore::TreeWalker::previousNode):
64912        (WebCore::TreeWalker::nextNode):
64913        * dom/TreeWalker.h:
64914        (WebCore::TreeWalker::parentNode):
64915        (WebCore::TreeWalker::firstChild):
64916        (WebCore::TreeWalker::lastChild):
64917        (WebCore::TreeWalker::previousSibling):
64918        (WebCore::TreeWalker::nextSibling):
64919        (WebCore::TreeWalker::previousNode):
64920        (WebCore::TreeWalker::nextNode):
64921
649222008-12-04  Pierre-Olivier Latour  <pol@apple.com>
64923
64924        Reviewed by Dan Bernstein.
64925
64926        Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
64927        and potential similar issue with pauseAnimationAtTimeOnElementWithId().
64928
64929        https://bugs.webkit.org/show_bug.cgi?id=22641
64930
64931        * page/animation/CompositeAnimation.cpp:
64932        (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
64933        (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
64934
649352008-12-04  Dimitri Glazkov  <dglazkov@chromium.org>
64936
64937        Reviewed by Darin Adler.
64938
64939        Remove unused Completion.h include.
64940
64941        * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
64942
649432008-11-13  David Hyatt  <hyatt@apple.com>
64944
64945        Fix a bug in ScrollView's refactoring.  An isVisible check should have been isSelfVisible.
64946
64947        Reviewed by Darin Adler
64948
64949        * platform/ScrollView.cpp:
64950        (WebCore::ScrollView::setParentVisible):
64951
649522008-12-04  Friedemann Kleint  <friedemann.kleint@nokia.com>
64953
64954        Reviewed by Tor Arne Vestbø.
64955
64956        Fix small translation glitch in the Qt file chooser.
64957
64958        * platform/qt/FileChooserQt.cpp:
64959        (WebCore::FileChooser::basenameForWidth):
64960
649612008-12-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
64962
64963        Rubber-stamped by Simon Hausmann.
64964
64965        Blacklist Silverlight plugin on Qt/Mac until supported
64966
64967        Currently the plugin crashes with a corrupted stack trace, possibly
64968        related to https://bugs.webkit.org/show_bug.cgi?id=20635
64969
64970        * plugins/mac/PluginPackageMac.cpp:
64971        (WebCore::PluginPackage::fetchInfo):
64972        (WebCore::PluginPackage::isPluginBlacklisted):
64973
649742008-12-03  Dmitry Titov  <dimich@chromium.org>
64975
64976        Reviewed by Alexey Proskuryakov.
64977
64978        Fix non-Mac build.
64979
64980        * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
64981
649822008-12-03  David Levin  <levin@chromium.org>
64983
64984        Reviewed by Alexey Proskuryakov.
64985
64986        Remove uses of document() in XMLHttpRequest where simple.
64987        https://bugs.webkit.org/show_bug.cgi?id=22619
64988
64989        * xml/XMLHttpRequest.cpp:
64990        (WebCore::XMLHttpRequest::responseXML):
64991        Return NULL in the worker case which is according to spec (and avoids using document()).
64992
64993        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
64994        (WebCore::XMLHttpRequest::initSend):
64995        Use scriptExecutionContext() instead of document().
64996
649972008-12-03  David Levin  <levin@chromium.org>
64998
64999        Reviewed by Alexey Proskuryakov.
65000
65001        Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
65002        https://bugs.webkit.org/show_bug.cgi?id=22642
65003
65004        * dom/Document.cpp:
65005        (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
65006        (WebCore::ScriptExecutionContextTaskTimer::fired):
65007        (WebCore::PerformTaskContext::PerformTaskContext):
65008        (WebCore::performTask):
65009        (WebCore::Document::postTask):
65010        * dom/Document.h:
65011        * dom/ScriptExecutionContext.cpp:
65012        * dom/ScriptExecutionContext.h:
65013        * dom/WorkerContext.cpp:
65014        (WebCore::ScriptExecutionContextTaskWorkerTask::create):
65015        (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
65016        (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
65017        (WebCore::WorkerContext::postTask):
65018        * dom/WorkerContext.h:
65019
650202008-12-03  Dmitry Titov  <dimich@chromium.org>
65021
65022        Reviewed by Alexey Proskuryakov.
65023
65024        Using ActiveDOMObject as base class for DOMTimer.
65025        https://bugs.webkit.org/show_bug.cgi?id=22620
65026
65027        Using ActiveDOMObject simplifies the code because ActiveDOMObject
65028        is wired for stop/pause/resume on loading/unloading/caching the page etc
65029        so the timer-specific code that does the same can be removed.
65030        In addition, timers can be now paused/resumed 'in place' which
65031        makes it unnecessary to 'serialize' them into special PausedTimeouts
65032        instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
65033        Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
65034        of timeouts and makes it possible to not roundtrip them via PausedTimeouts
65035        every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
65036
65037        Timeouts are now paused with other ActiveDOMObjects:
65038        - before creating CachedPage in FrameLoader::commitProvisionalLoad()
65039        - in JavaScriptDebugServer::setJavaScriptPaused
65040        - during modal UI operations in Chrome::*
65041        this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
65042
65043        Timeouts are stopped to prevent future firing from:
65044        - FrameLoader::clear()
65045        - FrameLoader::frameDetached()
65046        this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
65047
65048        This is also one of the steps to having timers in Workers. See the plan of
65049        the next steps in the bug above.
65050
65051        * bindings/js/DOMTimer.cpp:
65052        (WebCore::DOMTimer::DOMTimer):
65053        (WebCore::DOMTimer::fired):
65054        (WebCore::DOMTimer::hasPendingActivity):
65055        (WebCore::DOMTimer::contextDestroyed):
65056        (WebCore::DOMTimer::stop):
65057        (WebCore::DOMTimer::suspend):
65058        (WebCore::DOMTimer::resume):
65059        (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
65060
65061        * bindings/js/DOMTimer.h:
65062        * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
65063        (WebCore::markActiveObjectsForContext):
65064
65065        * bindings/js/JSDOMWindowBase.cpp:
65066        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
65067        (WebCore::JSDOMWindowBase::clear):
65068        (WebCore::JSDOMWindowBase::installTimeout):
65069        (WebCore::JSDOMWindowBase::removeTimeout):
65070        (WebCore::JSDOMWindowBase::timerFired):
65071        (WebCore::JSDOMWindowBase::disconnectFrame):
65072        * bindings/js/JSDOMWindowBase.h:
65073        * bindings/js/ScriptController.cpp:
65074        * bindings/js/ScriptController.h:
65075
65076        * dom/Document.cpp: Document now holds a hash map id->timeout
65077        (WebCore::Document::addTimeout):
65078        (WebCore::Document::removeTimeout):
65079        (WebCore::Document::findTimeout):
65080        * dom/Document.h:
65081        * history/CachedPage.cpp:
65082        (WebCore::CachedPage::CachedPage):
65083        (WebCore::CachedPage::restore):
65084        (WebCore::CachedPage::clear):
65085        * history/CachedPage.h:
65086        * inspector/JavaScriptDebugServer.cpp:
65087        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
65088        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
65089        * inspector/JavaScriptDebugServer.h:
65090
65091        * loader/FrameLoader.cpp:
65092        (WebCore::FrameLoader::commitProvisionalLoad):
65093        removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
65094        I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
65095        and then calls into client which can be external code and can cause any active object created in onunload
65096        to fire. We can stop them all before firing onunload but it does not make a lot of sense.
65097        I have a test to go with the next patch which verifies that timers set in onunload do not fire.
65098
65099        (WebCore::FrameLoader::open):
65100        * page/Chrome.cpp:
65101        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
65102        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
65103
651042008-12-03  Justin Garcia  <justin.garcia@apple.com>
65105
65106        Reviewed by Beth Dakin.
65107
65108        <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
65109
65110        In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
65111        end of pasted content so that users don't get stuck with non-standard pargraph
65112        spacing.  This content threw off our handling of interchange newlines.  Any interchange
65113        newline, regardless of it's position in the incoming fragment was considered to be
65114        "at the start" of the fragment, and would result in us inserting in a newline before
65115        inserted content.  This patch makes the checks for interchange newlines more strict,
65116        and treats interchange newlines found elsewhere as normal <br>s.
65117
65118        * editing/ReplaceSelectionCommand.cpp:
65119        (WebCore::ReplacementFragment::ReplacementFragment):
65120        (WebCore::ReplacementFragment::removeInterchangeNodes):
65121        * editing/VisiblePosition.cpp:
65122        (WebCore::VisiblePosition::init):
65123        (WebCore::VisiblePosition::canonicalPosition):
65124        * editing/VisiblePosition.h:
65125
651262008-12-03  Eric Seidel  <eric@webkit.org>
65127
65128        Rubber-stamped by David Hyatt.
65129
65130        Bring the WebCore chromium build a couple steps closer to building.
65131
65132        * WebCore.scons:
65133
651342008-12-03  Kevin Ollivier  <kevino@theolliviers.com>
65135
65136        wx build fix.
65137
65138        * WebCoreSources.bkl:
65139
651402008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65141
65142        Reviewed by George Staikos.
65143
65144        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
65145
65146        Implement WML variable substitution & validation.
65147        Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
65148
65149        Tests: wml/variable-reference-invalid-character.html
65150               wml/variable-reference-valid.html
65151
65152        * wml/WMLVariables.cpp:
65153        (WebCore::isValidFirstVariableNameCharacter):
65154        (WebCore::isValidVariableNameCharacter):
65155        (WebCore::isValidVariableEscapingModeString):
65156        (WebCore::isValidVariableName):
65157        (WebCore::containsVariableReference):
65158        (WebCore::substituteVariableReferences):
65159        * wml/WMLVariables.h:
65160
651612008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65162
65163        Reviewed by Cameron Zwarich.
65164
65165        Further preparations for WML layout tests.
65166        - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
65167        - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
65168        - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
65169          (will be used in the upcoming LayoutTests/wml testcases)
65170
65171         * dom/Document.cpp:
65172        (WebCore::Document::resetWMLPageState):
65173        * dom/Document.h:
65174        * dom/Document.idl:
65175        * dom/Text.cpp:
65176        (WebCore::Text::insertedIntoDocument):
65177        * dom/Text.h:
65178        * page/Console.cpp:
65179        (WebCore::Console::addMessage):
65180        * wml/WMLPageState.h: Readd heper function
65181        (WebCore::WMLPageState::hasVariables):
65182
651832008-12-03  Antti Koivisto  <antti@apple.com>
65184
65185        Reviewed by Sam Weinig.
65186
65187        Don't leak selectors in case selector list parsing failed.
65188
65189        * css/CSSGrammar.y:
65190        * css/CSSParser.cpp:
65191        (WebCore::CSSParser::~CSSParser):
65192
651932008-12-03  Chris Marrin  <cmarrin@apple.com>
65194
65195        Reviewed by Dave Hyatt.
65196
65197        Fix https://bugs.webkit.org/show_bug.cgi?id=22520
65198
65199        This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
65200        This patch fixes the testcase.
65201
65202        This is another case of animations getting destroyed in the end animation callback and causing dangling
65203        pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
65204        So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
65205        and skip that call.
65206
65207        * page/animation/AnimationBase.cpp:
65208        (WebCore::AnimationBase::updateStateMachine):
65209
652102008-12-03  Antti Koivisto  <antti@apple.com>
65211
65212        Reviewed by Darin Adler.
65213
65214        https://bugs.webkit.org/show_bug.cgi?id=22379
65215        Make CSSOM use less memory
65216
65217        Reduce size of the CSSSelector by one more pointer by using an array
65218        instead of a linked list to store them.
65219
65220        * WebCore.xcodeproj/project.pbxproj:
65221        * css/CSSGrammar.y:
65222        * css/CSSParser.cpp:
65223        (WebCore::CSSParser::CSSParser):
65224        (WebCore::CSSParser::parseSelector):
65225        (WebCore::CSSParser::createStyleRule):
65226        * css/CSSParser.h:
65227        (WebCore::CSSParser::reusableSelectorVector):
65228        * css/CSSSelector.h:
65229        (WebCore::CSSSelector::CSSSelector):
65230        (WebCore::CSSSelector::~CSSSelector):
65231        (WebCore::CSSSelector::isLastInSelectorList):
65232        (WebCore::CSSSelector::setLastInSelectorList):
65233        * css/CSSStyleRule.cpp:
65234        (WebCore::CSSStyleRule::CSSStyleRule):
65235        (WebCore::CSSStyleRule::~CSSStyleRule):
65236        (WebCore::CSSStyleRule::selectorText):
65237        * css/CSSStyleRule.h:
65238        (WebCore::CSSStyleRule::adoptSelectorVector):
65239        (WebCore::CSSStyleRule::selectorList):
65240        * css/CSSStyleSelector.cpp:
65241        (WebCore::CSSRuleSet::addRulesFromSheet):
65242        * dom/Node.cpp:
65243        (WebCore::forEachSelector):
65244        (WebCore::selectorNeedsNamespaceResolution):
65245        (WebCore::Node::querySelector):
65246        (WebCore::Node::querySelectorAll):
65247        * dom/SelectorNodeList.cpp:
65248        (WebCore::createSelectorNodeList):
65249        * dom/SelectorNodeList.h:
65250
652512008-12-03  Alexey Proskuryakov  <ap@webkit.org>
65252
65253        Reviewed by Darin Adler.
65254
65255        https://bugs.webkit.org/show_bug.cgi?id=22630
65256        Assertion failure in XMLHttpRequest::contextDestroyed
65257
65258        Test: http/tests/xmlhttprequest/close-window.html
65259
65260        * loader/FrameLoader.cpp:
65261        (WebCore::FrameLoader::clear):
65262        (WebCore::FrameLoader::commitProvisionalLoad):
65263        Move stopping active objects to clear(), so that closing a window is also covered.
65264
65265        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
65266        because internalAbort() deref()'s.
65267
652682008-12-03  Dean Jackson  <dino@apple.com>
65269
65270        Reviewed by Dan Bernstein.
65271
65272        Implement CSS 3 <angle> turn unit and support it
65273        in rotations.
65274        https://bugs.webkit.org/show_bug.cgi?id=22497
65275
65276        * css/CSSGrammar.y:
65277        * css/CSSParser.cpp:
65278        (WebCore::CSSParser::validUnit):
65279        (WebCore::unitFromString):
65280        (WebCore::CSSParser::lex):
65281        * css/CSSPrimitiveValue.cpp:
65282        (WebCore::CSSPrimitiveValue::cssText):
65283        (WebCore::CSSPrimitiveValue::parserValue):
65284        * css/CSSPrimitiveValue.h:
65285        (WebCore::CSSPrimitiveValue::):
65286        * css/CSSStyleSelector.cpp:
65287        (WebCore::CSSStyleSelector::createTransformOperations):
65288        * css/tokenizer.flex:
65289
652902008-12-03  Dirk Schulze  <krit@webkit.org>
65291
65292        Reviewed by Nikolas Zimmermann.
65293
65294        Make use of the gradient code in GraphicsContext and get rid of most of the
65295        platform dependent code.
65296
65297        SVG should use the new Gradient support on GraphicsContext
65298        https://bugs.webkit.org/show_bug.cgi?id=20543
65299
65300        * GNUmakefile.am:
65301        * WebCore.pro:
65302        * WebCore.vcproj/WebCore.vcproj:
65303        * WebCore.xcodeproj/project.pbxproj:
65304        * platform/graphics/FloatSize.h:
65305        (WebCore::FloatSize::shrunkTo):
65306        * svg/SVGLinearGradientElement.cpp:
65307        (WebCore::SVGLinearGradientElement::buildGradient):
65308        * svg/SVGRadialGradientElement.cpp:
65309        (WebCore::SVGRadialGradientElement::buildGradient):
65310        * svg/graphics/SVGPaintServer.h:
65311        * svg/graphics/SVGPaintServerGradient.cpp:
65312        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
65313        (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
65314        (WebCore::SVGPaintServerGradient::gradient):
65315        (WebCore::SVGPaintServerGradient::setGradient):
65316        (WebCore::findTextRootObject):
65317        (WebCore::createMaskAndSwapContextForTextGradient):
65318        (WebCore::clipToTextMask):
65319        (WebCore::SVGPaintServerGradient::setup):
65320        (WebCore::SVGPaintServerGradient::renderPath):
65321        (WebCore::SVGPaintServerGradient::teardown):
65322        * svg/graphics/SVGPaintServerGradient.h:
65323        (WebCore::SVGPaintServerGradient::setGradientStops):
65324        (WebCore::SVGPaintServerGradient::gradientStops):
65325        * svg/graphics/SVGPaintServerLinearGradient.h:
65326        * svg/graphics/SVGPaintServerRadialGradient.h:
65327        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
65328        * svg/graphics/cg/SVGPaintServerCg.cpp:
65329        * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
65330        * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
65331        * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
65332        * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
65333
653342008-12-03  Sam Weinig  <sam@webkit.org>
65335
65336        Reviewed by Mark Rowe.
65337
65338        Fix formatting.
65339
65340        * css/CSSSelector.h:
65341        (WebCore::CSSSelector::createRareData):
65342
653432008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65344
65345        Reviewed by Adam Roben.
65346
65347        As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
65348
65349        * inspector/front-end/Console.js:
65350        * page/Console.h:
65351
653522008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65353
65354        Reviewed by Alexey Proskuryakov.
65355
65356        Next steps to make LayoutTests work:
65357        Never access the main frame from WMLRefreshElement/WMLCardElement, but
65358        the current documents frame (WML layout tests will run in an <iframe>)
65359
65360        Prepare WMLErrorHandling for the case that no tokenizer is available anymore
65361        -> report errors through Console::addMessage(), so they get logged in the
65362           expected layout test results.
65363
65364        * wml/WMLCardElement.cpp:
65365        (WebCore::WMLCardElement::setActiveCardInDocument):
65366        * wml/WMLErrorHandling.cpp:
65367        (WebCore::reportWMLError):
65368        (WebCore::errorMessageForErrorCode):
65369        * wml/WMLErrorHandling.h:
65370        * wml/WMLRefreshElement.cpp:
65371        (WebCore::WMLRefreshElement::executeTask):
65372        * page/Console.cpp: Handle WMLMessageSource.
65373        (WebCore::printMessageSourceAndLevelPrefix):
65374        * page/Console.h: Add WMLMessageSource.
65375        (WebCore::):
65376
653772008-12-03  Tor Arne Vestbø  <tavestbo@trolltech.com>
65378
65379        Reviewed by Simon Hausmann.
65380
65381        Allow passing jsNull and jsUndefined to Qt plugins
65382
65383        Currently limited to functions with QString and QVariant arguments,
65384        and properties of these types. Both jsNull and jsUndefined ends up
65385        as default-constructed QStrings and QVariants, which means you can
65386        check for isEmpty() and isValid() in the native plugin code.
65387
65388        Based on patches by Jade Han <jade.han@nokia.com>
65389
65390        * bridge/qt/qt_runtime.cpp:
65391        (JSC::Bindings::convertValueToQVariant):
65392        (JSC::Bindings::findMethodIndex):
65393
653942008-12-03  Trenton Schulz  <trenton.schulz@nokia.com>
65395
65396        Reviewed by Simon Hausmann.
65397
65398        Fix the build with Qt for Mac OS X.
65399
65400        * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
65401
654022008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65403
65404        Reviewed by Alexey Proskuryakov.
65405
65406        Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
65407        in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
65408        reported, instead of 'WMLErrorInvalidVariableReference'.
65409
65410        * wml/WMLElement.cpp:
65411        (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
65412        (WebCore::WMLElement::parseValueForbiddingVariableReferences):
65413        * wml/WMLElement.h:
65414        * wml/WMLSetvarElement.cpp:
65415        (WebCore::WMLSetvarElement::parseMappedAttribute):
65416        * wml/WMLSetvarElement.h:
65417        (WebCore::WMLSetvarElement::name):
65418        (WebCore::WMLSetvarElement::value):
65419
654202008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65421
65422        Reviewed by Alexey Proskuryakov.
65423
65424        Preparations to get WML layout tests going.
65425        Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
65426
65427        * page/Page.cpp:
65428        (WebCore::Page::Page):
65429        (WebCore::Page::wmlPageState):
65430        * page/Page.h:
65431        * wml/WMLDocument.cpp:
65432        (WebCore::WMLDocument::WMLDocument):
65433        (WebCore::WMLDocument::finishedParsing):
65434        (WebCore::wmlPageStateForDocument):
65435        * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
65436        (WebCore::WMLPageState::hasVariables): Remove helper function.
65437
654382008-12-03  Alexey Proskuryakov  <ap@webkit.org>
65439
65440        Reviewed by Mark Rowe.
65441
65442        https://bugs.webkit.org/show_bug.cgi?id=22627
65443        fast/workers/worker-terminate.html fails randomly
65444
65445        The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
65446        is raised, and it sometimes reaches the main thread.
65447
65448        * dom/WorkerMessagingProxy.cpp:
65449        (WebCore::WorkerExceptionTask::create):
65450        (WebCore::WorkerExceptionTask::WorkerExceptionTask):
65451        (WebCore::WorkerExceptionTask::performTask):
65452        (WebCore::WorkerMessagingProxy::postWorkerException):
65453        * dom/WorkerMessagingProxy.h:
65454        Ignore exceptions that happen in terminated workers.
65455
654562008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65457
65458        Reviewed by Alexey Proskuryakov.
65459
65460        Remove some unncessary includes.
65461
65462        * wml/WMLAccessElement.cpp:
65463        * wml/WMLDocument.h:
65464        * wml/WMLRefreshElement.cpp:
65465
654662008-12-03  Alexey Proskuryakov  <ap@webkit.org>
65467
65468        Rubber-stamped by Cameron Zwarich and Adam Roben.
65469
65470        Fix a typo: m_executionForbidded.
65471
65472        * bindings/js/WorkerScriptController.cpp:
65473        (WebCore::WorkerScriptController::WorkerScriptController):
65474        (WebCore::WorkerScriptController::evaluate):
65475        (WebCore::WorkerScriptController::forbidExecution):
65476        * bindings/js/WorkerScriptController.h:
65477
654782008-12-03  Dean McNamee  <deanm@chromium.org>
65479
65480        Bug 22623: Uninitialized memory access in cache parsing code
65481        <https://bugs.webkit.org/show_bug.cgi?id=22623>
65482
65483        Reviewed by David Kilzer.
65484
65485        Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
65486
65487        * platform/network/ResourceResponseBase.h:
65488        (WebCore::ResourceResponseBase::ResourceResponseBase):
65489
654902008-12-03  Antti Koivisto  <antti@apple.com>
65491
65492        Probable build fix.
65493
65494        * WebCoreSources.bkl:
65495
654962008-12-03  Antti Koivisto  <antti@apple.com>
65497
65498        Forgot to commit these.
65499
65500        * dom/Node.cpp:
65501        (WebCore::forEachTagSelector):
65502        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
65503        (WebCore::Node::querySelector):
65504        * dom/SelectorNodeList.cpp:
65505        (WebCore::createSelectorNodeList):
65506
655072008-12-03  Antti Koivisto  <antti@apple.com>
65508
65509        Reviewed by Dan Bernstein and Mark Rowe.
65510
65511        https://bugs.webkit.org/show_bug.cgi?id=22379
65512        Make CSSOM use less memory
65513
65514        Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
65515        struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
65516        encountered had rare data.
65517
65518        This also eliminates the CSSNthSelector subclass which will make possible to store
65519        CSSSelectors in an array instead of a linked list for futher memory savings.
65520
65521        * css/CSSGrammar.y:
65522        * css/CSSNthSelector.cpp: Removed.
65523        * css/CSSNthSelector.h: Removed.
65524        * css/CSSParser.cpp:
65525        (WebCore::CSSParser::createFloatingSelector):
65526        * css/CSSParser.h:
65527        * css/CSSSelector.cpp:
65528        (WebCore::CSSSelector::specificity):
65529        (WebCore::CSSSelector::operator==):
65530        (WebCore::CSSSelector::selectorText):
65531        (WebCore::CSSSelector::setTagHistory):
65532        (WebCore::CSSSelector::attribute):
65533        (WebCore::CSSSelector::setAttribute):
65534        (WebCore::CSSSelector::setArgument):
65535        (WebCore::CSSSelector::setSimpleSelector):
65536        (WebCore::CSSSelector::parseNth):
65537        (WebCore::CSSSelector::matchNth):
65538        (WebCore::CSSSelector::RareData::parseNth):
65539        (WebCore::CSSSelector::RareData::matchNth):
65540        * css/CSSSelector.h:
65541        (WebCore::CSSSelector::CSSSelector):
65542        (WebCore::CSSSelector::~CSSSelector):
65543        (WebCore::CSSSelector::tagHistory):
65544        (WebCore::CSSSelector::hasAttribute):
65545        (WebCore::CSSSelector::argument):
65546        (WebCore::CSSSelector::simpleSelector):
65547        (WebCore::CSSSelector::RareData::RareData):
65548        (WebCore::CSSSelector::createRareData):
65549        (WebCore::CSSSelector::):
65550        * css/CSSStyleSelector.cpp:
65551        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
65552        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
65553
655542008-12-03  Jian Li  <jianli@chromium.org>
65555
65556        Reviewed by Alexey Proskuryakov.
65557
65558        Remove unneeded included file in WorkerThread.cpp.
65559        https://bugs.webkit.org/show_bug.cgi?id=22613
65560
65561        * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
65562
655632008-12-02  Alexey Proskuryakov  <ap@webkit.org>
65564
65565        Reviewed by Maciej Stachowiak.
65566
65567        https://bugs.webkit.org/show_bug.cgi?id=22543
65568        Consolidate ActiveDOMObject page cache interaction
65569
65570        Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
65571
65572        * dom/ActiveDOMObject.cpp:
65573        (WebCore::ActiveDOMObject::canSuspend):
65574        (WebCore::ActiveDOMObject::suspend):
65575        (WebCore::ActiveDOMObject::resume):
65576        * dom/ActiveDOMObject.h:
65577        * dom/ScriptExecutionContext.cpp:
65578        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
65579        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
65580        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
65581        * dom/ScriptExecutionContext.h:
65582        Added methods for suspending and resuming active objects.
65583
65584        * dom/Worker.cpp:
65585        (WebCore::Worker::canSuspend):
65586        (WebCore::Worker::stop):
65587        * dom/Worker.h:
65588        Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
65589        running until their owner was destroyed.
65590
65591        * loader/FrameLoader.cpp:
65592        (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
65593        their activity is not necessarily loading.
65594        (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
65595        Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
65596        uncacheable due to no-null main document error.
65597        (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
65598        whether the document will be cached.
65599        (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
65600        context is destroyed.
65601
65602        * xml/XMLHttpRequest.h: added canSuspend().
65603        * xml/XMLHttpRequest.cpp:
65604        (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
65605        (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
65606        for Firefox compatibility. This is a change in behavior that helps test that requests do
65607        get aborted.
65608        (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
65609        assert that.
65610
656112008-12-02  Chris Fleizach  <cfleizach@apple.com>
65612
65613        Reviewed by Beth Dakin.
65614
65615        Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
65616
65617        Test: accessibility/th-as-title-ui.html
65618
65619        * page/AccessibilityObject.h:
65620        (WebCore::AccessibilityObject::isGroup):
65621        * page/AccessibilityRenderObject.cpp:
65622        (WebCore::AccessibilityRenderObject::isGroup):
65623        * page/AccessibilityRenderObject.h:
65624        * page/AccessibilityTableCell.cpp:
65625        (WebCore::AccessibilityTableCell::rowIndexRange):
65626        (WebCore::AccessibilityTableCell::columnIndexRange):
65627        (WebCore::AccessibilityTableCell::titleUIElement):
65628        * page/AccessibilityTableCell.h:
65629        * page/mac/AccessibilityObjectWrapper.mm:
65630        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
65631
656322008-12-02  Simon Fraser  <simon.fraser@apple.com>
65633
65634        Reviewed by Dave Hyatt
65635
65636        https://bugs.webkit.org/show_bug.cgi?id=22472
65637
65638        Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
65639        that is large enough to encompass the selection, so that the repainting of
65640        selected replaced elements works correctly.
65641
65642        Test: fast/repaint/selected-replaced.html
65643
65644        * rendering/RenderReplaced.cpp:
65645        (WebCore::RenderReplaced::selectionRect):
65646        (WebCore::RenderReplaced::localSelectionRect):
65647        (WebCore::RenderReplaced::absoluteClippedOverflowRect):
65648        * rendering/RenderReplaced.h:
65649
656502008-12-02  Gregory Hughes  <ghughes@apple.com>
65651
65652        Reviewed by Beth Dakin.
65653
65654        Bug 22513: ZOOM: text selection does not send correct zoom bounds
65655
65656        When zoomed, text selection must send the zoom bounds in flipped
65657        screen coordinates.
65658
65659        * editing/mac/SelectionControllerMac.mm:
65660        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
65661        * page/mac/WebCoreViewFactory.h:
65662
656632008-12-02  Dean Jackson  <dino@apple.com>
65664
65665        Reviewed by Sam Weinig.
65666
65667        Remove support for 'now' from CSS (was
65668        erroneously added to transition and animation delay)
65669        https://bugs.webkit.org/show_bug.cgi?id=22571
65670
65671        * css/CSSParser.cpp:
65672        (WebCore::CSSParser::parseAnimationDelay):
65673        * css/CSSStyleSelector.cpp:
65674        (WebCore::CSSStyleSelector::mapAnimationDelay):
65675        * css/CSSValueKeywords.in:
65676
656772008-12-02  Eric Seidel  <eric@webkit.org>
65678
65679        Build fix, no review.
65680
65681        Fix the Mac and gtk builds:
65682        Don't use a float to hold a double.
65683        Remove a now duplicate symbol.
65684
65685        * page/Frame.cpp:
65686        (WebCore::Frame::selectionLayoutChanged):
65687        * platform/gtk/TemporaryLinkStubs.cpp:
65688
656892008-12-02  Chris Fleizach  <cfleizach@apple.com>
65690
65691        Bug 22596: Some elements don't report AXBlockQuoteLevel
65692        https://bugs.webkit.org/show_bug.cgi?id=22596
65693
65694        Reviewed by John Sullivan.
65695
65696        * page/mac/AccessibilityObjectWrapper.mm:
65697        (blockquoteLevel):
65698        (AXAttributeStringSetBlockquoteLevel):
65699        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
65700        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
65701
657022008-12-02  Dean McNamee  <deanm@chromium.org>
65703
65704        Reviewed by Eric Seidel.
65705
65706        Correctly handle a theme returning a non-blinking interval.  We should
65707        not set any timers when the interval is 0 (non-blinking), otherwise we
65708        repeatedly set and destroy a blinking timer, causing a paint and timer
65709        storm.  This is applicable to GTK and Windows, where a user can set a
65710        non-blinking caret in their system preferences.
65711
65712        Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
65713
65714        * page/Frame.cpp:
65715        (WebCore::Frame::selectionLayoutChanged):
65716        * platform/Theme.h:
65717        (WebCore::Theme::caretBlinkInterval):
65718        * platform/gtk/RenderThemeGtk.cpp:
65719        (WebCore::RenderThemeGtk::caretBlinkInterval):
65720        * platform/gtk/RenderThemeGtk.h:
65721        * rendering/RenderTheme.h:
65722        (WebCore::RenderTheme::caretBlinkInterval):
65723
657242008-12-02  David Levin  <levin@chromium.org>
65725
65726        Reviewed by Eric Seidel.
65727
65728        https://bugs.webkit.org/show_bug.cgi?id=22538
65729
65730        startsWith uses find which searches through the whole string if no match is found.
65731        Using reverseFind with an index of 0 has the benefit of only searching for the match
65732        at the beginning of the string.  This may only be a small benefit in the overall program,
65733        but it may help in some cases when the string is big.
65734
65735        No observable change in behavior, so no test.
65736
65737        * platform/text/StringImpl.h:
65738        (WebCore::StringImpl::startsWith):
65739
657402008-10-29  Eric Seidel  <eric@webkit.org>
65741
65742        Reviewed by Darin Adler.
65743
65744        Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
65745        https://bugs.webkit.org/show_bug.cgi?id=21951
65746
65747        * svg/SVGElementInstance.cpp:
65748        (WebCore::SVGElementInstance::forgetWrapper):
65749
657502008-12-02  Eric Seidel  <eric@webkit.org>
65751
65752        Reviewed by Darin Adler.
65753
65754        Add an ASSERT to try and catch the root cause of:
65755        https://bugs.webkit.org/show_bug.cgi?id=22168
65756        http://code.google.com/p/chromium/issues/detail?id=4122
65757
65758        * editing/TextIterator.cpp:
65759        (WebCore::TextIterator::emitText):
65760
657612008-12-02  Brent Fulgham  <bfulgham@gmail.com>
65762
65763        Reviewed by Adam Roben.
65764
65765        Remove some CG-specific code from the Windows Cairo build.
65766        https://bugs.webkit.org/show_bug.cgi?id=22586
65767
65768        No new test cases since this update should create no user-visible
65769        changes, and should be fully covered by the existing regression
65770        tests.
65771
65772        * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
65773        * platform/graphics/cairo/GraphicsContextCairo.cpp:
65774        (WebCore::focusRingColor): Add stub method
65775        * platform/win/TemporaryLinkStubs.cpp:
65776        (WebCore::populateFontDatabase): Add stub method.
65777
657782008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
65779
65780        Reviewed by Tor Arne Vestbø.
65781
65782        MinGW compilation fix for PluginPackageWin.cpp
65783
65784        https://bugs.webkit.org/show_bug.cgi?id=22585
65785
65786        * plugins/win/PluginPackageWin.cpp:
65787        (WebCore::PluginPackage::fetchInfo):
65788
657892008-12-02  Adam Roben  <aroben@apple.com>
65790
65791        Build fix for Windows projects with NOMINMAX defined globally
65792
65793        * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
65794        defined.
65795
657962008-12-02  Simon Hausmann  <hausmann@webkit.org>
65797
65798        Reviewed by Tor Arne Vestbø.
65799
65800        Build JavaScriptCore into libQtWebKit.so through a direct build
65801        instead of a static library. When linking a static library into
65802        a shared library qmake generates an incorrect .prl file, which
65803        causes all sorts of different build problems when linking against
65804        QtWebKit. Fixing this in qmake requires bigger changes that are
65805        currently not possible, so we need to work around this limitation
65806        for now. The advantages of the separate build did not outweight the
65807        build problems it caused.
65808
65809        * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
65810        and rename the lut generator to domlut to avoid a conflict with
65811        JavaScriptCore.pri's lut generator.
65812
658132008-12-02  David Levin  <levin@chromium.org>
65814
65815        Reviewed by Alexey Proskuryakov.
65816
65817        https://bugs.webkit.org/show_bug.cgi?id=22588
65818        Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
65819
65820        No observable change in behavior, so no test.
65821
65822        * dom/Document.cpp:
65823        (WebCore::Document::open):
65824        (WebCore::Document::domain):
65825        (WebCore::Document::setDomain):
65826        (WebCore::Document::initSecurityContext):
65827        (WebCore::Document::setSecurityOrigin):
65828        * dom/Document.h:
65829        * dom/ScriptExecutionContext.cpp:
65830        (WebCore::ScriptExecutionContext::setSecurityOrigin):
65831        * dom/ScriptExecutionContext.h:
65832        (WebCore::ScriptExecutionContext::securityOrigin):
65833        * dom/WorkerContext.cpp:
65834        (WebCore::WorkerContext::WorkerContext):
65835        * dom/WorkerContext.h:
65836        These changes are for the move of securityOrigin().
65837
65838        * xml/XMLHttpRequest.cpp:
65839        (WebCore::XMLHttpRequest::createRequest):
65840        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
65841        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
65842        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
65843        (WebCore::XMLHttpRequest::setRequestHeader):
65844        (WebCore::XMLHttpRequest::getAllResponseHeaders):
65845        (WebCore::XMLHttpRequest::getResponseHeader):
65846        (WebCore::XMLHttpRequest::processSyncLoadResults):
65847        (WebCore::XMLHttpRequest::willSendRequest):
65848        (WebCore::XMLHttpRequest::accessControlCheck):
65849        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
65850        Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
65851
658522008-12-02  André Pönitz  <apoenitz@trolltech.com>
65853
65854        Reviewed by Simon Hausmann.
65855
65856        Disable the creation of debug information for the Qt build when done
65857        inside Qt. With 670 mb it was slowing down gdb start significantly
65858        for third-party applications that usually don't need it.
65859
65860        * WebCore.pro:
65861
658622008-12-01  Beth Dakin  <bdakin@apple.com>
65863
65864        Reviewed by Dan Bernstein.
65865
65866        Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
65867        (r19811): Using the down arrow in a textarea gets "stuck" at the
65868        end of a wrapped line
65869        And corresponding: <rdar://problem/5347931>
65870
65871        The basic problem here is that Position::getInlineBoxAndOffset()
65872        failed to look beyond a single renderer. This patch looks for a
65873        better match beyond the first renderer when the affinity is
65874        downstream and we failed to find a "perfect" match.
65875        * dom/Position.cpp:
65876        (WebCore::isNonTextLeafChild):
65877        (WebCore::searchAheadForBetterMatch):
65878        (WebCore::Position::getInlineBoxAndOffset):
65879
65880        This is a fix I made based on code inspection. It looks like the
65881        old code here and skipped over the parent as a possible match.
65882        * rendering/RenderObject.cpp:
65883        (WebCore::RenderObject::nextInPreOrderAfterChildren):
65884
658852008-12-01  Brent Fulgham  <bfulgham@gmail.com>
65886
65887        Reviewed by Adam Roben.
65888
65889        Add WML related files to Visual Studio projects.
65890        https://bugs.webkit.org/show_bug.cgi?id=22561
65891
65892        * WebCore.vcproj/WebCore.vcproj:
65893          1. Add files from the wml directory to the set of windows files.
65894          2. Extend include paths with new wml directory.
65895          3. Add new autogenerated WML files to DerivedSources.
65896          4. Alphabetize preprocesor includes (holdover from earlier debugging).
65897
658982008-12-01  Steve Falkenburg  <sfalken@apple.com>
65899
65900        Revise node/selection image fix.
65901        Moved updateLayout call so selection rect is fetched after the layout.
65902
65903        Reviewed by Adam Roben.
65904
65905        * page/win/FrameCGWin.cpp:
65906        (WebCore::imageFromRect):
65907        (WebCore::imageFromSelection):
65908        (WebCore::Frame::nodeImage):
65909
659102008-12-01  Steve Falkenburg  <sfalken@apple.com>
65911
65912        Support needed to implement renderedImage for Windows.
65913        https://bugs.webkit.org/show_bug.cgi?25648
65914
65915        Reviewed by Adam Roben.
65916
65917        * page/Frame.h:
65918        * page/win/FrameCGWin.cpp:
65919        (WebCore::imageFromRect):
65920        (WebCore::imageFromSelection):
65921        (WebCore::Frame::nodeImage):
65922        * page/win/FrameCairoWin.cpp:
65923        (WebCore::imageFromNode):
65924
659252008-12-01  Simon Fraser  <simon.fraser@apple.com>
65926
65927        Reviewed by Dan Bernstein
65928
65929        https://bugs.webkit.org/show_bug.cgi?id=22581
65930
65931        Fix the painting of the caps lock indicator for transformed text inputs,
65932        by replacing a call to absoluteContentBox() with code that computes the
65933        painting rect for the input contents.
65934
65935        * rendering/RenderTextControl.cpp:
65936        (WebCore::RenderTextControl::paint):
65937
659382008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65939
65940        Reviewed by George Staikos.
65941
65942        Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
65943
65944        Convert all elements to parse their attribute values using these new helper functions. This simplifies the
65945        actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
65946        an error if there's a variable reference used in the attribute value, or if it's invalid.
65947
65948        Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
65949        in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
65950
65951        * wml/WMLAccessElement.cpp:
65952        (WebCore::WMLAccessElement::parseMappedAttribute):
65953        * wml/WMLDoElement.cpp:
65954        (WebCore::WMLDoElement::defaultEventHandler):
65955        (WebCore::WMLDoElement::parseMappedAttribute):
65956        * wml/WMLElement.cpp:
65957        (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
65958        (WebCore::WMLElement::parseValueForbiddingVariableReferences):
65959        * wml/WMLElement.h:
65960        * wml/WMLErrorHandling.cpp:
65961        (WebCore::reportWMLError):
65962        * wml/WMLErrorHandling.h:
65963        (WebCore::):
65964        * wml/WMLOnEventElement.cpp:
65965        (WebCore::WMLOnEventElement::parseMappedAttribute):
65966        * wml/WMLPrevElement.cpp:
65967        (WebCore::WMLPrevElement::executeTask):
65968        * wml/WMLSetvarElement.cpp:
65969        (WebCore::WMLSetvarElement::parseMappedAttribute):
65970        * wml/WMLTimerElement.cpp:
65971        (WebCore::WMLTimerElement::parseMappedAttribute):
65972
659732008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
65974
65975        Reviewed by George Staikos.
65976
65977        Fix switching active cards within a document. No way to test, until <go> support is implemented.
65978
65979        * wml/WMLCardElement.cpp:
65980        (WebCore::WMLCardElement::showCard):
65981        (WebCore::WMLCardElement::hideCard):
65982        (WebCore::WMLCardElement::setActiveCardInDocument):
65983        * wml/WMLCardElement.h:
65984
659852008-12-01  David Kilzer  <ddkilzer@apple.com>
65986
65987        Fix logic error in LegacyWebArchive::create() from r38884.
65988
65989        * loader/archive/cf/LegacyWebArchive.cpp:
65990        (WebCore::LegacyWebArchive::create): Only continue if the
65991        subresource is actually added.
65992
659932008-12-01  David Kilzer  <ddkilzer@apple.com>
65994
65995        Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
65996
65997        <https://bugs.webkit.org/show_bug.cgi?id=22466>
65998        <rdar://problem/6403593>
65999
66000        Reviewed by Brady Eidson.
66001
66002        Test: http/tests/webarchive/test-preload-resources.html
66003
66004        * loader/archive/cf/LegacyWebArchive.cpp:
66005        (WebCore::LegacyWebArchive::create): Check the WebCore cache for
66006        resources if DocumentLoader::subresource() doesn't return them.
66007        Note that the DocumentLoader::subresource() method returned
66008        preloaded resources before r35867, but this caused a regression in
66009        Mail.
66010
660112008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
66012
66013        Reviewed by Eric Seidel.
66014
66015        Bug 22564: Make HTML elements' constructors take a QualifiedName
66016        https://bugs.webkit.org/show_bug.cgi?id=22564
66017
66018        - Modified the remaining HTML elements' constructors to take a QualifiedName.
66019
66020        - Added an assertion that the QualifiedName given corresponds to the element constructed.
66021
66022        * bindings/js/JSAudioConstructor.cpp:
66023        (WebCore::constructAudio):
66024        * html/HTMLAudioElement.cpp:
66025        (WebCore::HTMLAudioElement::HTMLAudioElement):
66026        * html/HTMLAudioElement.h:
66027        * html/HTMLBRElement.cpp:
66028        (WebCore::HTMLBRElement::HTMLBRElement):
66029        * html/HTMLBRElement.h:
66030        * html/HTMLElement.cpp:
66031        (WebCore::HTMLElement::setInnerText):
66032        * html/HTMLElementFactory.cpp:
66033        (WebCore::brConstructor):
66034        (WebCore::quoteConstructor):
66035        (WebCore::marqueeConstructor):
66036        (WebCore::audioConstructor):
66037        (WebCore::videoConstructor):
66038        (WebCore::sourceConstructor):
66039        * html/HTMLMarqueeElement.cpp:
66040        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
66041        * html/HTMLMarqueeElement.h:
66042        * html/HTMLQuoteElement.cpp:
66043        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
66044        * html/HTMLQuoteElement.h:
66045        * html/HTMLSourceElement.cpp:
66046        (WebCore::HTMLSourceElement::HTMLSourceElement):
66047        * html/HTMLSourceElement.h:
66048        * html/HTMLVideoElement.cpp:
66049        (WebCore::HTMLVideoElement::HTMLVideoElement):
66050        * html/HTMLVideoElement.h:
66051        * rendering/RenderTextControl.cpp:
66052        (WebCore::RenderTextControl::updateFromElement):
66053
660542008-12-01  Julien Chaffraix  <jchaffraix@webkit.org>
66055
66056        Reviewed by Antti Koivisto.
66057
66058        Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
66059        https://bugs.webkit.org/show_bug.cgi?id=22441
66060
66061        Add an assertion to the modified HTML elements' constructor
66062        to check that the QualifiedName parameter is the one that
66063        matches the Element's.
66064
66065        * html/HTMLBaseElement.cpp:
66066        (WebCore::HTMLBaseElement::HTMLBaseElement):
66067        * html/HTMLBlockquoteElement.cpp:
66068        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
66069        * html/HTMLBodyElement.cpp:
66070        (WebCore::HTMLBodyElement::HTMLBodyElement):
66071        * html/HTMLButtonElement.cpp:
66072        (WebCore::HTMLButtonElement::HTMLButtonElement):
66073        * html/HTMLDListElement.cpp:
66074        (WebCore::HTMLDListElement::HTMLDListElement):
66075        * html/HTMLDirectoryElement.cpp:
66076        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
66077        * html/HTMLDivElement.cpp:
66078        (WebCore::HTMLDivElement::HTMLDivElement):
66079        * html/HTMLFieldSetElement.cpp:
66080        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
66081        * html/HTMLFormElement.cpp:
66082        (WebCore::HTMLFormElement::HTMLFormElement):
66083        * html/HTMLFrameElement.cpp:
66084        (WebCore::HTMLFrameElement::HTMLFrameElement):
66085        * html/HTMLFrameSetElement.cpp:
66086        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
66087        * html/HTMLHeadElement.cpp:
66088        (WebCore::HTMLHeadElement::HTMLHeadElement):
66089        * html/HTMLHtmlElement.cpp:
66090        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
66091        * html/HTMLIFrameElement.cpp:
66092        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
66093        * html/HTMLInputElement.cpp:
66094        (WebCore::HTMLInputElement::HTMLInputElement):
66095        * html/HTMLIsIndexElement.cpp:
66096        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
66097        * html/HTMLKeygenElement.cpp:
66098        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
66099        * html/HTMLLIElement.cpp:
66100        (WebCore::HTMLLIElement::HTMLLIElement):
66101        * html/HTMLLabelElement.cpp:
66102        (WebCore::HTMLLabelElement::HTMLLabelElement):
66103        * html/HTMLLegendElement.cpp:
66104        (WebCore::HTMLLegendElement::HTMLLegendElement):
66105        * html/HTMLLinkElement.cpp:
66106        (WebCore::HTMLLinkElement::HTMLLinkElement):
66107        * html/HTMLMenuElement.cpp:
66108        (WebCore::HTMLMenuElement::HTMLMenuElement):
66109        * html/HTMLMetaElement.cpp:
66110        (WebCore::HTMLMetaElement::HTMLMetaElement):
66111        * html/HTMLOListElement.cpp:
66112        (WebCore::HTMLOListElement::HTMLOListElement):
66113        * html/HTMLOptGroupElement.cpp:
66114        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
66115        * html/HTMLOptionElement.cpp:
66116        (WebCore::HTMLOptionElement::HTMLOptionElement):
66117        * html/HTMLSelectElement.cpp:
66118        (WebCore::HTMLSelectElement::HTMLSelectElement):
66119        * html/HTMLStyleElement.cpp:
66120        (WebCore::HTMLStyleElement::HTMLStyleElement):
66121        * html/HTMLTextAreaElement.cpp:
66122        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
66123        * html/HTMLTitleElement.cpp:
66124        (WebCore::HTMLTitleElement::HTMLTitleElement):
66125        * html/HTMLUListElement.cpp:
66126        (WebCore::HTMLUListElement::HTMLUListElement):
66127
661282008-12-01  Chris Marrin  <cmarrin@apple.com>
66129
66130        Reviewed by Darin Adler.
66131
66132        https://bugs.webkit.org/show_bug.cgi?id=22046
66133
66134        Fixed another case of crashing because the animation object is getting deleted when
66135        it's in the middle of a callback. I actually moved where I am retaining the pointer
66136        up out of the lower level AnimationBase code and into the timer callback that calls
66137        them. So now the pointer is valid throughout the entire sequence of callback code.
66138
66139        The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
66140        crash which this patch fixes.
66141
66142        * page/animation/AnimationBase.cpp:
66143        (WebCore::AnimationBase::updateStateMachine):
66144        (WebCore::AnimationBase::animationTimerCallbackFired):
66145        * page/animation/CompositeAnimation.cpp:
66146        (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
66147        (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
66148        (WebCore::CompositeAnimationPrivate::styleAvailable):
66149        * page/animation/ImplicitAnimation.cpp:
66150        (WebCore::ImplicitAnimation::sendTransitionEvent):
66151        * page/animation/KeyframeAnimation.cpp:
66152        (WebCore::KeyframeAnimation::sendAnimationEvent):
66153        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
66154
661552008-12-01  Tor Arne Vestbø  <tavestbo@trolltech.com>
66156
66157        Reviewed by Simon Hausmann.
66158
66159        [Qt/Mac] Initialize NPAPI plugins before getting their entry points
66160
66161        The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
66162        copied from Windows, but caused Silverlight on Mac to crash when loaded.
66163
66164        Apparently the call order of NP_Initialize and NP_GetEntryPoints is
66165        reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
66166
66167        Reported-by: Peter Johnson <peter@zattoo.com>
66168
66169        * plugins/mac/PluginPackageMac.cpp:
66170        (WebCore::PluginPackage::load):
66171
661722008-11-30  Chris Fleizach  <cfleizach@apple.com>
66173
66174        Reviewed by John Sullivan.
66175
66176        https://bugs.webkit.org/show_bug.cgi?id=22510
66177        Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
66178
66179        A nil pointer needed to be checked
66180
66181        * page/AccessibilityRenderObject.cpp:
66182        (WebCore::AccessibilityRenderObject::activeDescendant):
66183
661842008-11-30  Alexey Proskuryakov  <ap@webkit.org>
66185
66186        Reviewed by Dan Bernstein.
66187
66188        https://bugs.webkit.org/show_bug.cgi?id=22530
66189        Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
66190
66191        * dom/WorkerThread.cpp:
66192        (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
66193        function runs to completion before the thread begins execution.
66194        (WebCore::WorkerThread::workerThread): Updated comments.
66195        (WebCore::WorkerThread::stop): Ditto.
66196        * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
66197        protects startup as a whole.
66198
66199        * storage/DatabaseThread.cpp:
66200        * storage/DatabaseThread.h:
66201        * storage/LocalStorageThread.cpp:
66202        * storage/LocalStorageThread.h:
66203        Fixed the same m_threadID problem.
66204
662052008-11-29  Brent Fulgham  <bfulgham@gmail.com>
66206
66207        Reviewed by Alexey Proskuryakov.
66208
66209        Remove Visual Studio project dependencies on non-redistributable
66210        components in the Debug_Cairo and Release_Cairo build targets.
66211        See https://bugs.webkit.org/show_bug.cgi?id=22527
66212
66213        * WebCore.vcproj/WebCore.vcproj:
66214
662152008-11-29  Sam Weinig  <sam@webkit.org>
66216
66217        Rubber-stamped by Alexey Proskuryakov.
66218
66219        Fix some sorting
66220
66221        * WebCore.xcodeproj/project.pbxproj:
66222
662232008-11-28  Sam Weinig  <sam@webkit.org>
66224
66225        Reviewed by Alexey Proskuryakov.
66226
66227        Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
66228        NULL pointer crash in dispatchEvent(null);
66229
66230        Test: fast/events/dispatchEvent-crash.html
66231
66232        * dom/MessagePort.cpp:
66233        (WebCore::MessagePort::dispatchEvent):
66234        * dom/Worker.cpp:
66235        (WebCore::Worker::dispatchEvent):
66236        * dom/WorkerContext.cpp:
66237        (WebCore::WorkerContext::dispatchEvent):
66238        * loader/appcache/DOMApplicationCache.cpp:
66239        (WebCore::DOMApplicationCache::dispatchEvent):
66240        * xml/XMLHttpRequest.cpp:
66241        (WebCore::XMLHttpRequest::dispatchEvent):
66242        * xml/XMLHttpRequestUpload.cpp:
66243        (WebCore::XMLHttpRequestUpload::dispatchEvent):
66244
662452008-11-29  Dan Bernstein  <mitz@apple.com>
66246
66247        Reviewed by Alexey Proskuryakov.
66248
66249        - fix https://bugs.webkit.org/show_bug.cgi?id=22454
66250          <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
66251
66252        Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
66253
66254        The crash happened because style recalculation was invoked by
66255        CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
66256        before another CSSSegmentedFontFace using the same CSSFontFace had done
66257        so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
66258        prune their tables before telling the CSSFontSelector to recalc style.
66259
66260        * css/CSSFontFace.cpp:
66261        (WebCore::CSSFontFace::fontLoaded):
66262        * css/CSSFontSelector.cpp:
66263        (WebCore::CSSFontSelector::fontLoaded):
66264        * css/CSSFontSelector.h:
66265        * css/CSSSegmentedFontFace.cpp:
66266        (WebCore::CSSSegmentedFontFace::fontLoaded):
66267
662682008-11-29  Alexey Proskuryakov  <ap@webkit.org>
66269
66270        Reviewed by Eric Seidel.
66271
66272        https://bugs.webkit.org/show_bug.cgi?id=14968
66273        document.open() erroneously returns void instead of the new Document
66274
66275        Test: fast/dom/HTMLDocument/document-open-return-value.html
66276
66277        * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
66278        Return the document on which this method was invoked, per HTML5.
66279
662802008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66281
66282        Reviewed by Cameron Zwarich.
66283
66284        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
66285
66286        Add <timer> element support. It provides a way to execute a task with a delay.
66287        The user is notified by firing the task associated with the <card>'s ontimer attribute.
66288        Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
66289
66290        * WebCore.xcodeproj/project.pbxproj:
66291        * wml/WMLCardElement.cpp:
66292        (WebCore::WMLCardElement::WMLCardElement):
66293        (WebCore::WMLCardElement::setIntrinsicEventTimer):
66294        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
66295        * wml/WMLCardElement.h:
66296        * wml/WMLDoElement.cpp:
66297        (WebCore::WMLDoElement::defaultEventHandler):
66298        * wml/WMLErrorHandling.cpp:
66299        (WebCore::reportWMLError):
66300        * wml/WMLPageState.h:
66301        (WebCore::WMLPageState::getVariable):
66302        * wml/WMLPrevElement.cpp:
66303        (WebCore::WMLPrevElement::executeTask):
66304        * wml/WMLRefreshElement.cpp:
66305        (WebCore::WMLRefreshElement::executeTask):
66306        * wml/WMLTagNames.in:
66307        * wml/WMLTimerElement.cpp: Added.
66308        (WebCore::WMLTimerElement::WMLTimerElement):
66309        (WebCore::WMLTimerElement::parseMappedAttribute):
66310        (WebCore::WMLTimerElement::insertedIntoDocument):
66311        (WebCore::WMLTimerElement::timerFired):
66312        (WebCore::WMLTimerElement::start):
66313        (WebCore::WMLTimerElement::stop):
66314        (WebCore::WMLTimerElement::storeIntervalToPageState):
66315        * wml/WMLTimerElement.h: Added.
66316
663172008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66318
66319        Reviewed by Holger Freyther.
66320
66321        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
66322
66323        Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
66324        Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
66325
66326        * WebCore.xcodeproj/project.pbxproj:
66327        * rendering/RenderButton.cpp:
66328        (WebCore::RenderButton::updateFromElement):
66329        * wml/WMLCardElement.cpp:
66330        (WebCore::WMLCardElement::registerDoElement):
66331        * wml/WMLCardElement.h:
66332        * wml/WMLDoElement.cpp: Added.
66333        (WebCore::WMLDoElement::WMLDoElement):
66334        (WebCore::WMLDoElement::defaultEventHandler):
66335        (WebCore::WMLDoElement::parseMappedAttribute):
66336        (WebCore::WMLDoElement::insertedIntoDocument):
66337        (WebCore::WMLDoElement::createRenderer):
66338        (WebCore::WMLDoElement::recalcStyle):
66339        * wml/WMLDoElement.h: Added.
66340        (WebCore::WMLDoElement::registerTask):
66341        (WebCore::WMLDoElement::isActive):
66342        (WebCore::WMLDoElement::label):
66343        (WebCore::WMLDoElement::name):
66344        (WebCore::WMLDoElement::setActive):
66345        (WebCore::WMLDoElement::setNoop):
66346        * wml/WMLNoopElement.cpp:
66347        (WebCore::WMLNoopElement::insertedIntoDocument):
66348        * wml/WMLTagNames.in:
66349        * wml/WMLTaskElement.cpp:
66350        (WebCore::WMLTaskElement::insertedIntoDocument):
66351
663522008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66353
66354        Reviewed by Sam Weinig.
66355
66356        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
66357
66358        Add onenterforward/onenterbackward/ontimer support for <card> elements.
66359
66360        No testing possible at the moment because WMLGoElement is not yet implemented.
66361        After that we can add tests covering the <card> event handling.
66362
66363        * wml/WMLCardElement.cpp:
66364        (WebCore::WMLCardElement::WMLCardElement):
66365        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
66366        (WebCore::WMLCardElement::parseMappedAttribute):
66367        (WebCore::WMLCardElement::setActiveCardInDocument):
66368        * wml/WMLCardElement.h:
66369        (WebCore::WMLCardElement::isNewContext):
66370        (WebCore::WMLCardElement::isOrdered):
66371        * wml/WMLDocument.cpp:
66372        (WebCore::WMLDocument::finishedParsing):
66373        * wml/WMLIntrinsicEvent.cpp:
66374        (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
66375        * wml/WMLIntrinsicEvent.h:
66376        (WebCore::WMLIntrinsicEvent::create):
66377
663782008-11-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
66379
66380        Reviewed by Tor Arne Vestbø.
66381
66382        Regression seen on QtWebKit - causes a build failure on Win using MinGW
66383
66384        https://bugs.webkit.org/show_bug.cgi?id=22536
66385
66386        * WebCore.pro:
66387
663882008-11-28  Simon Hausmann  <hausmann@webkit.org>
66389
66390        Reviewed by Tor Arne Vestbø.
66391
66392        Fix compilation and linking on Windows CE.
66393
66394        Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
66395        from the Windows'ish build.
66396
66397        Link against the newly required mmtimer.
66398
66399        * WebCore.pro:
66400        * plugins/PluginPackage.cpp:
66401
664022008-11-28  David Levin  <levin@chromium.org>
66403
66404        Reviewed by Alexey Proskuryakov.
66405
66406        http://bugs.webkit.org/show_bug.cgi?id=22524
66407
66408        Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
66409        of XMLHttpRequest by Workers (on threads).
66410
66411        No observable change in behavior, so no test.
66412
66413        * xml/XMLHttpRequest.cpp:
66414        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
66415        (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
66416        (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
66417        (WebCore::PreflightResultCacheItem::allowsRequest):
66418        (WebCore::createXMLHttpRequestStaticData):
66419        (WebCore::initializeXMLHttpRequestStaticData):
66420        (WebCore::XMLHttpRequest::XMLHttpRequest):
66421        (WebCore::XMLHttpRequest::isSafeRequestHeader):
66422        (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
66423        * xml/XMLHttpRequest.h:
66424
664252008-11-27  Cameron Zwarich  <zwarich@apple.com>
66426
66427        Not reviewed.
66428
66429        r38825, was committed without checking whether anything in WebCore
66430        uses JSFunction::m_body. Use the appropriate getters and setters
66431        instead.
66432
66433        * inspector/JavaScriptDebugServer.cpp:
66434        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
66435
664362008-11-27  Alexey Proskuryakov  <ap@webkit.org>
66437
66438        Reviewed by Dan Bernstein.
66439
66440        https://bugs.webkit.org/show_bug.cgi?id=22529
66441        Crashes seen on buildbots due to trying to stop a worker thread twice
66442
66443        * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
66444        Don't try to stop the thread if it's already stopping.
66445
664462008-11-27  Kent Hansen  <khansen@trolltech.com>
66447
66448        Reviewed by Simon Hausmann.
66449
66450        Make JavaScript bindings for Qt plugin widgets work again
66451        this was a regression; need to handle non-NPAPI plugins as in 4.4.
66452
66453        * bindings/js/ScriptControllerQt.cpp:
66454        (WebCore::ScriptController::createScriptInstanceForWidget):
66455
664562008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66457
66458        Reviewed by George Staikos.
66459
66460        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
66461
66462        Catch WML errors (invalid variable name/reference, multiple access elements, etc)
66463        while parsing the document, and stop parsing immediately and wrap the document
66464        fragment in a XHTML error document, just like it's done from XML parsing errors.
66465
66466        Until now all card elements were hidden by default (no renderer created), and
66467        WMLDocument::finishedParsing() took care of showing the right card (either the first,
66468        or any named card in the document, specified by document URL reference). Change this
66469        behaviour to support displaying partially parsed WML document fragments: Mark the first
66470        WMLCardElement inserted into the document as visible. If the document parsing finishes
66471        without problems, WMLDocument::finishedParsing() will be called, which takes care of
66472        showing the desired card (common case: first card in the document, which is already
66473        visible, so nothing actually has to be done). If an error occours, the document is
66474        correctly rendered until the error happened - wrapped in a XHTML document.
66475
66476        Fixes: fast/wml/err-event-binding-conflict.wml
66477               fast/wml/err-invalid-variable-name.wml
66478               fast/wml/err-multi-access.wml
66479               fast/wml/err-unallowed-task-in-anchor.wml
66480
66481        * WebCore.xcodeproj/project.pbxproj:
66482        * wml/WMLAccessElement.cpp:
66483        (WebCore::WMLAccessElement::parseMappedAttribute):
66484        (WebCore::WMLAccessElement::insertedIntoDocument):
66485        * wml/WMLAccessElement.h:
66486        * wml/WMLCardElement.cpp:
66487        (WebCore::WMLCardElement::insertedIntoDocument):
66488        (WebCore::WMLCardElement::setActiveCardInDocument):
66489        * wml/WMLCardElement.h:
66490        * wml/WMLDocument.cpp:
66491        (WebCore::WMLDocument::finishedParsing):
66492        * wml/WMLErrorHandling.cpp: Added.
66493        (WebCore::reportWMLError):
66494        * wml/WMLErrorHandling.h: Added.
66495        (WebCore::):
66496        * wml/WMLIntrinsicEventHandler.cpp:
66497        (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
66498        * wml/WMLIntrinsicEventHandler.h:
66499        * wml/WMLNoopElement.cpp:
66500        (WebCore::WMLNoopElement::insertedIntoDocument):
66501        * wml/WMLOnEventElement.cpp:
66502        (WebCore::WMLOnEventElement::parseMappedAttribute):
66503        (WebCore::WMLOnEventElement::registerTask):
66504        * wml/WMLPageState.cpp:
66505        (WebCore::WMLPageState::setNeedCheckDeckAccess):
66506        * wml/WMLPageState.h:
66507        * wml/WMLSetvarElement.cpp:
66508        (WebCore::WMLSetvarElement::parseMappedAttribute):
66509
665102008-11-26  Glenn Wilson  <gwilson@chromium.org>
66511
66512        Reviewed by Dan Bernstein.
66513
66514        Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
66515
66516        This fixes the crash when the small-caps font variant is used
66517        on a lower-case glyph that does not have a corresponding
66518        upper-case glyph defined in the set of available fonts.
66519
66520        This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
66521
66522        Test: fast/css/small-caps-crash.html
66523
66524        * platform/graphics/Font.cpp:
66525        (WebCore::Font::glyphDataForCharacter):
66526
665272008-11-26  Tony Chang  <tony@chromium.org>
66528
66529        Reviewed by Oliver Hunt.
66530
66531        Add a new platform specific method cleanupAfterSystemDrag
66532        that platforms can ue to clean up drag state after a
66533        system drag.  Use this method on PLAFORM(MAC).
66534        https://bugs.webkit.org/show_bug.cgi?id=21956
66535
66536        * ChangeLog:
66537        * page/DragController.cpp:
66538        (WebCore::DragController::doSystemDrag):
66539        * page/DragController.h:
66540        * page/gtk/DragControllerGtk.cpp:
66541        (WebCore::DragController::cleanupAfterSystemDrag):
66542        * page/mac/DragControllerMac.mm:
66543        (WebCore::DragController::cleanupAfterSystemDrag):
66544        * page/qt/DragControllerQt.cpp:
66545        (WebCore::DragController::cleanupAfterSystemDrag):
66546        * page/win/DragControllerWin.cpp:
66547        (WebCore::DragController::cleanupAfterSystemDrag):
66548        * page/wx/DragControllerWx.cpp:
66549      (WebCore::DragController::cleanupAfterSystemDrag):
66550
665512008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>
66552
66553        Reviewed by Oliver Hunt.
66554
66555        Fix path to string logic, correctly taking closed (sub-)paths into account.
66556        Code was just broken on cg, observed by Dirk Schulze.
66557
66558        QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
66559        using the elementAt() function. There might be a workaround - Dirk will investigate.
66560
66561        * platform/graphics/cg/PathCG.cpp:
66562        (WebCore::CGPathToCFStringApplierFunction):
66563        * platform/graphics/cairo/PathCairo.cpp:
66564        (WebCore::Path::debugString):
66565
665662008-11-26  Darin Fisher  <darin@chromium.org>
66567
66568        Reviewed by Eric Seidel.
66569
66570        https://bugs.webkit.org/show_bug.cgi?id=22519
66571        Remove unnecessary include.
66572
66573        * dom/XMLTokenizer.cpp:
66574
665752008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66576
66577        Reviewed by Oliver Hunt.
66578
66579        Add <noop> element support, completing the task element support.
66580
66581        * WebCore.xcodeproj/project.pbxproj:
66582        * wml/WMLNoopElement.cpp: Added.
66583        (WebCore::WMLNoopElement::WMLNoopElement):
66584        (WebCore::WMLNoopElement::insertedIntoDocument):
66585        * wml/WMLNoopElement.h: Added.
66586        * wml/WMLTagNames.in: Reorganize file a bit.
66587
665882008-11-26  Julien Chaffraix  <jchaffraix@webkit.org>
66589
66590        Reviewed by Eric Seidel.
66591
66592        Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
66593        https://bugs.webkit.org/show_bug.cgi?id=22441
66594
66595        Make more HTML elements' constructors take a QualifiedName.
66596
66597        * editing/DeleteButtonController.cpp:
66598        (WebCore::DeleteButtonController::createDeletionUI):
66599        * html/HTMLBlockquoteElement.cpp:
66600        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
66601        * html/HTMLBlockquoteElement.h:
66602        * html/HTMLButtonElement.cpp:
66603        (WebCore::HTMLButtonElement::HTMLButtonElement):
66604        * html/HTMLButtonElement.h:
66605        * html/HTMLDListElement.cpp:
66606        (WebCore::HTMLDListElement::HTMLDListElement):
66607        * html/HTMLDListElement.h:
66608        * html/HTMLDirectoryElement.cpp:
66609        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
66610        * html/HTMLDirectoryElement.h:
66611        * html/HTMLDivElement.cpp:
66612        (WebCore::HTMLDivElement::HTMLDivElement):
66613        * html/HTMLDivElement.h:
66614        * html/HTMLElementFactory.cpp:
66615        (WebCore::styleConstructor):
66616        (WebCore::titleConstructor):
66617        (WebCore::frameConstructor):
66618        (WebCore::framesetConstructor):
66619        (WebCore::iframeConstructor):
66620        (WebCore::formConstructor):
66621        (WebCore::buttonConstructor):
66622        (WebCore::inputConstructor):
66623        (WebCore::isindexConstructor):
66624        (WebCore::fieldsetConstructor):
66625        (WebCore::keygenConstructor):
66626        (WebCore::labelConstructor):
66627        (WebCore::legendConstructor):
66628        (WebCore::optgroupConstructor):
66629        (WebCore::optionConstructor):
66630        (WebCore::selectConstructor):
66631        (WebCore::textareaConstructor):
66632        (WebCore::dlConstructor):
66633        (WebCore::ulConstructor):
66634        (WebCore::olConstructor):
66635        (WebCore::dirConstructor):
66636        (WebCore::menuConstructor):
66637        (WebCore::liConstructor):
66638        (WebCore::blockquoteConstructor):
66639        (WebCore::divConstructor):
66640        (WebCore::headingConstructor):
66641        * html/HTMLFieldSetElement.cpp:
66642        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
66643        * html/HTMLFieldSetElement.h:
66644        * html/HTMLFormElement.cpp:
66645        (WebCore::HTMLFormElement::HTMLFormElement):
66646        * html/HTMLFormElement.h:
66647        * html/HTMLFrameElement.cpp:
66648        (WebCore::HTMLFrameElement::HTMLFrameElement):
66649        * html/HTMLFrameElement.h:
66650        * html/HTMLFrameSetElement.cpp:
66651        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
66652        * html/HTMLFrameSetElement.h:
66653        * html/HTMLIFrameElement.cpp:
66654        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
66655        * html/HTMLIFrameElement.h:
66656        * html/HTMLInputElement.cpp:
66657        * html/HTMLInputElement.h:
66658        * html/HTMLIsIndexElement.cpp:
66659        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
66660        * html/HTMLIsIndexElement.h:
66661        * html/HTMLKeygenElement.cpp:
66662        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
66663        * html/HTMLKeygenElement.h:
66664        * html/HTMLLIElement.cpp:
66665        (WebCore::HTMLLIElement::HTMLLIElement):
66666        * html/HTMLLIElement.h:
66667        * html/HTMLLabelElement.cpp:
66668        (WebCore::HTMLLabelElement::HTMLLabelElement):
66669        * html/HTMLLabelElement.h:
66670        * html/HTMLLegendElement.cpp:
66671        (WebCore::HTMLLegendElement::HTMLLegendElement):
66672        * html/HTMLLegendElement.h:
66673        * html/HTMLMenuElement.cpp:
66674        (WebCore::HTMLMenuElement::HTMLMenuElement):
66675        * html/HTMLMenuElement.h:
66676        * html/HTMLOListElement.cpp:
66677        (WebCore::HTMLOListElement::HTMLOListElement):
66678        * html/HTMLOListElement.h:
66679        * html/HTMLOptGroupElement.cpp:
66680        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
66681        * html/HTMLOptGroupElement.h:
66682        * html/HTMLOptionElement.cpp:
66683        (WebCore::HTMLOptionElement::HTMLOptionElement):
66684        * html/HTMLOptionElement.h:
66685        * html/HTMLParser.cpp:
66686        (WebCore::HTMLParser::formCreateErrorCheck):
66687        (WebCore::HTMLParser::handleIsindex):
66688        * html/HTMLSelectElement.cpp:
66689        * html/HTMLSelectElement.h:
66690        * html/HTMLStyleElement.cpp:
66691        (WebCore::HTMLStyleElement::HTMLStyleElement):
66692        * html/HTMLStyleElement.h:
66693        * html/HTMLTextAreaElement.cpp:
66694        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
66695        * html/HTMLTextAreaElement.h:
66696        * html/HTMLTitleElement.cpp:
66697        (WebCore::HTMLTitleElement::HTMLTitleElement):
66698        * html/HTMLTitleElement.h:
66699        * html/HTMLUListElement.cpp:
66700        (WebCore::HTMLUListElement::HTMLUListElement):
66701        * html/HTMLUListElement.h:
66702        * html/HTMLViewSourceDocument.cpp:
66703        (WebCore::HTMLViewSourceDocument::createContainingTable):
66704        * rendering/MediaControlElements.cpp:
66705        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
66706        (WebCore::MediaControlInputElement::MediaControlInputElement):
66707        * rendering/RenderFileUploadControl.cpp:
66708        (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
66709        * rendering/RenderMedia.cpp:
66710        (WebCore::RenderMedia::createPanel):
66711        (WebCore::RenderMedia::createTimeDisplay):
66712        * rendering/RenderSlider.cpp:
66713        (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
66714        * rendering/TextControlInnerElements.cpp:
66715        (WebCore::TextControlInnerElement::TextControlInnerElement):
66716
667172008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66718
66719        Reviewed by Sam Weinig.
66720
66721        Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
66722
66723        * wml/WMLPageState.cpp:
66724        (WebCore::WMLPageState::WMLPageState):
66725
667262008-11-26  Matt Perry  <mpcomplete@gmail.com>
66727
66728        Fix Qt bustage.
66729
66730        See https://bugs.webkit.org/show_bug.cgi?id=22051
66731
66732        * platform/qt/RenderThemeQt.cpp:
66733        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
66734
667352008-11-26  Matt Perry  <mpcomplete@gmail.com>
66736
66737        Reviewed by Maciej Stachowiak.
66738
66739        Fix https://bugs.webkit.org/show_bug.cgi?id=22051
66740        Renderthemes should be able to supply additional CSS rules to the core
66741        ones.
66742
66743        * DerivedSources.make:
66744        * css/CSSStyleSelector.cpp:
66745        (WebCore::parseUASheet):
66746        (WebCore::loadFullDefaultStyle):
66747        (WebCore::loadSimpleDefaultStyle):
66748        * css/themeWin.css: Added.
66749        * css/themeWinQuirks.css: Added.
66750        * platform/qt/RenderThemeQt.cpp:
66751        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
66752        * platform/qt/RenderThemeQt.h:
66753        * rendering/RenderTheme.cpp:
66754        * rendering/RenderTheme.h:
66755        (WebCore::RenderTheme::extraDefaultStyleSheet):
66756        (WebCore::RenderTheme::extraQuirksStyleSheet):
66757        * rendering/RenderThemeWin.cpp:
66758        (WebCore::RenderThemeWin::extraDefaultStyleSheet):
66759        (WebCore::RenderThemeWin::extraQuirksStyleSheet):
66760        * rendering/RenderThemeWin.h:
66761
667622008-11-26  David Kilzer  <ddkilzer@apple.com>
66763
66764        Make CSSStyleSheet::addSubresourceURLStrings() iterative
66765
66766        Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
66767        <https://bugs.webkit.org/show_bug.cgi?id=11850>
66768
66769        Reviewed by Brady Eidson.
66770
66771        * css/CSSStyleSheet.cpp:
66772        (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
66773        from recursive to iterative for gathering the list of all CSS
66774        stylesheets referenced in @import statements.
66775
667762008-11-26  Dirk Schulze  <krit@webkit.org>
66777
66778        Reviewed by Simon Hausmann.
66779
66780        Transformations to the context shouldn't transform the currentPath.
66781        Fixed this on Qt.
66782
66783        [QT] GraphicsContext's currenPath can be transformed
66784        https://bugs.webkit.org/show_bug.cgi?id=22163
66785
66786        * platform/graphics/GraphicsContextPrivate.h:
66787        * platform/graphics/qt/GraphicsContextQt.cpp:
66788        (WebCore::GraphicsContext::restorePlatformState):
66789        (WebCore::GraphicsContext::fillPath):
66790        (WebCore::GraphicsContext::strokePath):
66791        (WebCore::GraphicsContext::fillRect):
66792        (WebCore::GraphicsContext::translate):
66793        (WebCore::GraphicsContext::rotate):
66794        (WebCore::GraphicsContext::scale):
66795        (WebCore::GraphicsContext::concatCTM):
66796
667972008-11-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
66798
66799        Gtk build script minor fixes. Not reviewed.
66800
66801        * GNUmakefile.am:
66802          - Add ScriptInstance.h (introduced in r38774) to
66803        the build.
66804          - Move WML and GEOLOCATION conditionals before the SVG
66805        conditional to be consistent with the style of the script.
66806          - Move GeolocationGtk sources to webcoregtk_sources.
66807
668082008-11-26  Dmitry Titov  <dimich@chromium.org>
66809
66810        Reviewed by Darin Adler and Eric Seidel.
66811
66812        https://bugs.webkit.org/show_bug.cgi?id=22469
66813
66814        Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
66815        preparation to making it work for Workers. For now, just move the code and couple
66816        of global variables.
66817
66818        * GNUmakefile.am:
66819        * WebCore.pro:
66820        * WebCore.vcproj/WebCore.vcproj:
66821        * WebCore.xcodeproj/project.pbxproj:
66822        * WebCoreSources.bkl:
66823        * bindings/js/JSDOMWindowBase.cpp:
66824        (WebCore::JSDOMWindowBase::installTimeout):
66825        (WebCore::JSDOMWindowBase::pauseTimeouts):
66826        (WebCore::JSDOMWindowBase::resumeTimeouts):
66827        (WebCore::JSDOMWindowBase::timerFired):
66828        * bindings/js/JSDOMWindowBase.h:
66829        * bindings/js/DOMTimer.cpp: Added.
66830        (WebCore::DOMTimer::DOMTimer):
66831        (WebCore::DOMTimer::~DOMTimer):
66832        (WebCore::DOMTimer::fired):
66833        * bindings/js/DOMTimer.h: Added.
66834        (WebCore::DOMTimer::timeoutId):
66835        (WebCore::DOMTimer::nestingLevel):
66836        (WebCore::DOMTimer::setNestingLevel):
66837        (WebCore::DOMTimer::action):
66838        (WebCore::DOMTimer::takeAction):
66839
668402008-11-25  Darin Fisher  <darin@chromium.org>
66841
66842        Fix bustage.
66843
66844        https://bugs.webkit.org/show_bug.cgi?id=22493
66845        Need to expose bridge/*.h to the WebKit build.
66846
66847        * WebCore.vcproj/WebCore.vcproj:
66848
668492008-11-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66850
66851        Not reviewed. Fix build, by removing some wrong last-minute changes.
66852
66853        * wml/WMLIntrinsicEvent.cpp:
66854        (WebCore::createTaskElement):
66855        * wml/WMLOnEventElement.cpp:
66856        (WebCore::WMLOnEventElement::registerTask):
66857
668582008-11-25  Darin Fisher  <darin@chromium.org>
66859
66860        Reviewed by Geoffrey Garen.
66861
66862        https://bugs.webkit.org/show_bug.cgi?id=22493
66863        Abstract away JSC:: usage in WebCore/html
66864
66865        * WebCore.xcodeproj/project.pbxproj:
66866        * bindings/js/JSPluginElementFunctions.cpp:
66867        (WebCore::pluginInstance):
66868        * bindings/js/ScriptController.h:
66869        * bindings/js/ScriptControllerMac.mm:
66870        (WebCore::ScriptController::createScriptInstanceForWidget):
66871        * bindings/js/ScriptInstance.h: Added.
66872        * html/HTMLPlugInElement.cpp:
66873        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
66874        (WebCore::HTMLPlugInElement::getInstance):
66875        * html/HTMLPlugInElement.h:
66876
668772008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
66878
66879        Reviewed by Sam Weinig.
66880
66881        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
66882
66883        A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
66884        Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
66885
66886        Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
66887        centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
66888        function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
66889        <template>/<option> or <card> element.
66890
66891        Add complete <onevent> support.
66892
66893        * WebCore.xcodeproj/project.pbxproj:
66894        * wml/WMLCardElement.cpp:
66895        (WebCore::WMLCardElement::WMLCardElement):
66896        (WebCore::WMLCardElement::setActiveCardInDocument):
66897        * wml/WMLCardElement.h:
66898        (WebCore::WMLCardElement::isVisible):
66899        (WebCore::WMLCardElement::setVisible):
66900        * wml/WMLElement.h:
66901        (WebCore::WMLElement::isWMLTaskElement):
66902        * wml/WMLEventHandlingElement.cpp: Added.
66903        (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
66904        (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
66905        * wml/WMLEventHandlingElement.h: Added.
66906        (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
66907        (WebCore::WMLEventHandlingElement::eventHandler):
66908        * wml/WMLOnEventElement.cpp: Added.
66909        (WebCore::WMLOnEventElement::WMLOnEventElement):
66910        (WebCore::WMLOnEventElement::parseMappedAttribute):
66911        (WebCore::WMLOnEventElement::registerTask):
66912        * wml/WMLOnEventElement.h: Added.
66913        * wml/WMLSetvarElement.cpp:
66914        (WebCore::WMLSetvarElement::parseMappedAttribute):
66915        (WebCore::WMLSetvarElement::insertedIntoDocument):
66916        * wml/WMLTagNames.in:
66917        * wml/WMLTaskElement.cpp:
66918        (WebCore::WMLTaskElement::insertedIntoDocument):
66919        * wml/WMLTaskElement.h:
66920        (WebCore::WMLTaskElement::isWMLTaskElement):
66921
669222008-11-25  Pierre-Olivier Latour  <pol@apple.com>
66923
66924        Reviewed by Mark Rowe.
66925
66926        createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
66927
66928        https://bugs.webkit.org/show_bug.cgi?id=22503
66929
66930        * platform/graphics/mac/FontCustomPlatformData.cpp:
66931        (WebCore::createFontCustomPlatformData):
66932
669332008-11-25  Julien Chaffraix  <jchaffraix@webkit.org>
66934
66935        Reviewed by Eric Seidel.
66936
66937        Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
66938        https://bugs.webkit.org/show_bug.cgi?id=22441
66939
66940        Element's other than HTML ones take a QualifiedName in their constructors.
66941        To make HTMLElementFactory closer to the other ElementFactory, we need
66942        to make them take the same arguments.
66943        This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
66944        will go into the next patch.
66945
66946        * dom/Document.cpp:
66947        (WebCore::Document::implicitClose):
66948        * html/HTMLBaseElement.cpp:
66949        (WebCore::HTMLBaseElement::HTMLBaseElement):
66950        * html/HTMLBaseElement.h:
66951        * html/HTMLBodyElement.cpp:
66952        (WebCore::HTMLBodyElement::HTMLBodyElement):
66953        * html/HTMLBodyElement.h:
66954        * html/HTMLElementFactory.cpp:
66955        (WebCore::htmlConstructor):
66956        (WebCore::headConstructor):
66957        (WebCore::bodyConstructor):
66958        (WebCore::baseConstructor):
66959        (WebCore::linkConstructor):
66960        (WebCore::metaConstructor):
66961        * html/HTMLHeadElement.cpp:
66962        (WebCore::HTMLHeadElement::HTMLHeadElement):
66963        * html/HTMLHeadElement.h:
66964        * html/HTMLHtmlElement.cpp:
66965        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
66966        * html/HTMLHtmlElement.h:
66967        * html/HTMLLinkElement.cpp:
66968        (WebCore::HTMLLinkElement::HTMLLinkElement):
66969        * html/HTMLLinkElement.h:
66970        * html/HTMLMetaElement.cpp:
66971        (WebCore::HTMLMetaElement::HTMLMetaElement):
66972        * html/HTMLMetaElement.h:
66973        * html/HTMLParser.cpp:
66974        (WebCore::HTMLParser::handleError):
66975        (WebCore::HTMLParser::headCreateErrorCheck):
66976        (WebCore::HTMLParser::createHead):
66977        (WebCore::HTMLParser::finished):
66978        * html/HTMLViewSourceDocument.cpp:
66979        (WebCore::HTMLViewSourceDocument::createContainingTable):
66980
669812008-11-25  Chris Marrin  <cmarrin@apple.com>
66982
66983        Reviewed by Dan Bernstein.
66984
66985        Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
66986        I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
66987
66988        Tests: animations/empty-keyframes.html
66989               animations/fill-unset-properties.html
66990
66991        * css/CSSStyleSelector.cpp:
66992        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
66993
669942008-11-25  Chris Marrin  <cmarrin@apple.com>
66995
66996        Reviewed by Darin Adler
66997
66998        https://bugs.webkit.org/show_bug.cgi?id=22046
66999
67000        Fix a crash when an animation or transition end event handler
67001        removes the element upon which the transition/animation is running,
67002        by keeping a reference to the AnimationBase object on the stack.
67003
67004        Tests: animations/transform-animation-event-destroy-element.html
67005               transitions/transform-transition-event-destroy-element.html
67006
67007        * page/animation/AnimationBase.cpp:
67008        (WebCore::AnimationBase::setChanged):
67009        (WebCore::AnimationBase::updateStateMachine):
67010        * page/animation/AnimationBase.h:
67011        (WebCore::AnimationBase::clearRenderer):
67012        * page/animation/AnimationController.cpp:
67013        (WebCore::AnimationControllerPrivate::clear):
67014        * page/animation/CompositeAnimation.cpp:
67015        (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
67016        * page/animation/CompositeAnimation.h:
67017
670182008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
67019
67020        Better wx build fix - support PurgeableBuffer on Mac.
67021
67022        * platform/PurgeableBuffer.h:
67023        * webcore-wx.bkl:
67024
670252008-11-25  Holger Hans Peter Freyther  <zecke@selfish.org>
67026
67027        Reviewed by David Kilzer.
67028
67029        https://bugs.webkit.org/show_bug.cgi?id=22022
67030
67031        Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
67032
67033        Add stubs for a Gtk Implementation.
67034
67035        * GNUmakefile.am:
67036        * platform/gtk/GeolocationServiceGtk.cpp: Added.
67037        (WebCore::GeolocationService::create):
67038        (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
67039        (WebCore::GeolocationServiceGtk::startUpdating):
67040        (WebCore::GeolocationServiceGtk::stopUpdating):
67041        (WebCore::GeolocationServiceGtk::suspend):
67042        (WebCore::GeolocationServiceGtk::resume):
67043        (WebCore::GeolocationServiceGtk::lastPosition):
67044        (WebCore::GeolocationServiceGtk::lastError):
67045        * platform/gtk/GeolocationServiceGtk.h: Added.
67046
670472008-11-25  Kevin Ollivier  <kevino@theolliviers.com>
67048
67049        wx build fix - we don't support PurgeableBuffer on Leopard for now.
67050
67051        * platform/PurgeableBuffer.h:
67052
670532008-11-25  Antti Koivisto  <antti@apple.com>
67054
67055        Reviewed by Mark Rowe.
67056
67057        Fix https://bugs.webkit.org/show_bug.cgi?id=22483
67058        Assertion failure in CachedResource::makePurgeable during layout tests
67059
67060        Deleting SVG image can re-enter destroyDecodedData.
67061
67062        * loader/CachedImage.cpp:
67063        (WebCore::CachedImage::destroyDecodedData):
67064
670652008-11-25  David Levin  <levin@chromium.org>
67066
67067        Reviewed by Alexey Proskuryakov.
67068
67069        https://bugs.webkit.org/show_bug.cgi?id=22443
67070        Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
67071        Workers on threads.
67072
67073        No observable change in behavior, so no test.
67074
67075        * platform/text/PlatformString.h:
67076        * platform/text/String.cpp:
67077        (WebCore::String::substringCopy):
67078        * platform/text/StringImpl.cpp:
67079        (WebCore::StringImpl::substringCopy):
67080        * platform/text/StringImpl.h:
67081        Added the ability to copy a substring.
67082
67083        * xml/XMLHttpRequest.cpp:
67084        (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
67085        (WebCore::PreflightResultCache::PreflightResultCache):
67086        (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
67087        (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
67088        (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
67089        (WebCore::PreflightResultCacheItem::parse):
67090        (WebCore::PreflightResultCacheItem::allowsRequest):
67091        (WebCore::PreflightResultCache::shared):
67092        (WebCore::PreflightResultCache::appendEntry):
67093        (WebCore::PreflightResultCache::canSkipPreflight):
67094        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
67095        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
67096        Made the PreflightResultCache threadsafe.
67097
67098        (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
67099        (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
67100        Consolidation of duplicate logic.
67101
671022008-11-24  Jungshik Shin  <jshin@chromium.org>
67103
67104        Reviewed by Darin Adler.
67105
67106        For Unicode encodings other than UTF-8, use UTF-8 for
67107        form submission and URL query part encoding.
67108
67109        See https://bugs.webkit.org/show_bug.cgi?id=21635
67110
67111        Tests: http/tests/misc/submit-get-in-utf16be.html
67112               http/tests/misc/submit-get-in-utf16le.html
67113               http/tests/misc/submit-get-in-utf32be.html
67114               http/tests/misc/submit-get-in-utf32le.html
67115               http/tests/misc/submit-get-in-utf7.html
67116               http/tests/misc/submit-post-in-utf16be.html
67117               http/tests/misc/submit-post-in-utf16le.html
67118               http/tests/misc/submit-post-in-utf32be.html
67119               http/tests/misc/submit-post-in-utf32le.html
67120               http/tests/misc/submit-post-in-utf7.html
67121               http/tests/misc/url-in-utf16be.html
67122               http/tests/misc/url-in-utf16le.html
67123               http/tests/misc/url-in-utf32be.html
67124               http/tests/misc/url-in-utf32le.html
67125               http/tests/misc/url-in-utf7.html
67126
67127        * html/HTMLFormElement.cpp:
67128        (WebCore::HTMLFormElement::formData):
67129        * loader/TextResourceDecoder.cpp:
67130        (WebCore::TextResourceDecoder::setEncoding):
67131        * platform/KURL.cpp:
67132        (WebCore::KURL::KURL):
67133        * platform/text/TextEncoding.cpp:
67134        (WebCore::UTF7Encoding):
67135        (WebCore::TextEncoding::isNonByteBasedEncoding):
67136        (WebCore::TextEncoding::closestByteBasedEquivalent):
67137        (WebCore::TextEncoding::encodingForFormSubmission):
67138        * platform/text/TextEncoding.h:
67139
671402008-11-24  Julien Chaffraix  <jchaffraix@webkit.org>
67141
67142        Reviewed by Darin Adler.
67143
67144        Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
67145        https://bugs.webkit.org/show_bug.cgi?id=22441
67146
67147        - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
67148
67149        - Tweaked the generated files to better match our coding style.
67150
67151        * dom/make_names.pl:
67152
671532008-11-24  Antti Koivisto  <antti@apple.com>
67154
67155        Reviewed by Darin Adler.
67156
67157        Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
67158        REGRESSION(r33544): Palace in the Sky crashes WebKit
67159
67160        HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
67161        there were no scripts left to execute.
67162
67163        If m_hasScriptsWaitingForStylesheets becomes true during script execution
67164        bail out from executing more scripts synchronously.
67165
67166        Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
67167
67168        * html/HTMLTokenizer.cpp:
67169        (WebCore::HTMLTokenizer::reset):
67170        (WebCore::HTMLTokenizer::notifyFinished):
67171
671722008-11-24  Darin Fisher  <darin@chromium.org>
67173
67174        Reviewed by Geoffrey Garen.
67175
67176        https://bugs.webkit.org/show_bug.cgi?id=22465
67177        Define KURL::copy() and use it in WorkerThread.cpp
67178
67179        * dom/WorkerThread.cpp:
67180        (WebCore::WorkerThread::WorkerThread):
67181        * platform/KURL.cpp:
67182        (WebCore::KURL::copy):
67183        * platform/KURL.h:
67184
671852008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67186
67187        Reviewed by Sam Weinig.
67188
67189        Name enum values in a style guide compatible way.
67190        Allow WMLIntrinsicEvent inclusion, without needing other includes.
67191
67192        * wml/WMLIntrinsicEvent.cpp:
67193        (WebCore::createTaskElement):
67194        * wml/WMLIntrinsicEvent.h:
67195        * wml/WMLIntrinsicEventHandler.cpp:
67196        * wml/WMLIntrinsicEventHandler.h:
67197        (WebCore::):
67198
671992008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67200
67201        Reviewed by Sam Weinig.
67202
67203        Add wmlPageStateForDocument() helper function and use it in some places.
67204
67205        * wml/WMLAccessElement.cpp:
67206        (WebCore::WMLAccessElement::parseMappedAttribute):
67207        * wml/WMLDocument.cpp:
67208        (WebCore::WMLDocument::WMLDocument):
67209        (WebCore::WMLDocument::finishedParsing):
67210        (WebCore::wmlPageStateForDocument):
67211        * wml/WMLDocument.h:
67212        * wml/WMLGoElement.cpp:
67213        (WebCore::WMLGoElement::executeTask):
67214        * wml/WMLPrevElement.cpp:
67215        (WebCore::WMLPrevElement::executeTask):
67216        * wml/WMLRefreshElement.cpp:
67217        (WebCore::WMLRefreshElement::executeTask):
67218        * wml/WMLTaskElement.cpp:
67219        (WebCore::WMLTaskElement::storeVariableState):
67220        * wml/WMLTaskElement.h:
67221
672222008-11-24  Antti Koivisto  <antti@apple.com>
67223
67224        Reviewed by Geoff Garen and Sam Weinig.
67225
67226        https://bugs.webkit.org/show_bug.cgi?id=22214
67227        Keep dead resources in memory cache in purgeable memory.
67228        <rdar://problem/6333088>
67229
67230        OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
67231        areas as less important. Under memory pressure system can steal pages that have
67232        been marked purgeable for (hopefully) better uses. This is ideal for caches.
67233
67234        Only resources larger than 16KB will be moved to the purgeable memory.
67235
67236        * WebCore.base.exp:
67237        * WebCore.vcproj/WebCore.vcproj:
67238        * WebCore.xcodeproj/project.pbxproj:
67239        * loader/Cache.cpp:
67240        (WebCore::Cache::requestResource):
67241        (WebCore::Cache::requestUserCSSStyleSheet):
67242        (WebCore::Cache::resourceForURL):
67243        (WebCore::Cache::pruneDeadResources):
67244        (WebCore::Cache::TypeStatistic::addResource):
67245        (WebCore::Cache::getStatistics):
67246        (WebCore::Cache::dumpStats):
67247        * loader/Cache.h:
67248        (WebCore::Cache::TypeStatistic::TypeStatistic):
67249        * loader/CachedCSSStyleSheet.cpp:
67250        (WebCore::CachedCSSStyleSheet::allClientsRemoved):
67251        (WebCore::CachedCSSStyleSheet::sheetText):
67252        * loader/CachedCSSStyleSheet.h:
67253        * loader/CachedImage.cpp:
67254        (WebCore::CachedImage::addClient):
67255        (WebCore::CachedImage::image):
67256        (WebCore::CachedImage::imageSize):
67257        (WebCore::CachedImage::imageRect):
67258        (WebCore::CachedImage::destroyDecodedData):
67259        * loader/CachedResource.cpp:
67260        (WebCore::CachedResource::addClient):
67261        (WebCore::CachedResource::makePurgeable):
67262        (WebCore::CachedResource::isPurgeable):
67263        (WebCore::CachedResource::wasPurged):
67264        * loader/CachedResource.h:
67265        (WebCore::CachedResource::data):
67266        * loader/CachedScript.cpp:
67267        (WebCore::CachedScript::allClientsRemoved):
67268        (WebCore::CachedScript::script):
67269        (WebCore::CachedScript::destroyDecodedData):
67270        * platform/PurgeableBuffer.h: Added.
67271        (WebCore::PurgeableBuffer::create):
67272        (WebCore::PurgeableBuffer::size):
67273        (WebCore::PurgeableBuffer::):
67274        (WebCore::PurgeableBuffer::purgePriority):
67275        (WebCore::PurgeableBuffer::isPurgeable):
67276        (WebCore::PurgeableBuffer::~PurgeableBuffer):
67277        (WebCore::PurgeableBuffer::data):
67278        (WebCore::PurgeableBuffer::setPurgePriority):
67279        (WebCore::PurgeableBuffer::wasPurged):
67280        (WebCore::PurgeableBuffer::makePurgeable):
67281        * platform/SharedBuffer.cpp:
67282        (WebCore::SharedBuffer::~SharedBuffer):
67283        (WebCore::SharedBuffer::adoptPurgeableBuffer):
67284        (WebCore::SharedBuffer::size):
67285        (WebCore::SharedBuffer::data):
67286        (WebCore::SharedBuffer::append):
67287        (WebCore::SharedBuffer::clear):
67288        (WebCore::SharedBuffer::releasePurgeableBuffer):
67289        * platform/SharedBuffer.h:
67290        (WebCore::SharedBuffer::hasPurgeableBuffer):
67291        * platform/cf/SharedBufferCF.cpp:
67292        * platform/mac/PurgeableBufferMac.cpp: Added.
67293        (WebCore::PurgeableBuffer::PurgeableBuffer):
67294        (WebCore::PurgeableBuffer::~PurgeableBuffer):
67295        (WebCore::PurgeableBuffer::create):
67296        (WebCore::PurgeableBuffer::makePurgeable):
67297        (WebCore::PurgeableBuffer::wasPurged):
67298        (WebCore::PurgeableBuffer::setPurgePriority):
67299        (WebCore::PurgeableBuffer::data):
67300
673012008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67302
67303        Reviewed by George Staikos & Eric Seidel.
67304
67305        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
67306
67307        Regenerate WML layout test results after implementing WML specific <card> handling:
67308        Only the first <card> element should be visible after loading the document, others
67309        can be shown by using the <go> task element.
67310
67311        * dom/Document.h: Make 'finishedParsing()' a virtual function.
67312        * wml/WMLCardElement.cpp:
67313        (WebCore::WMLCardElement::WMLCardElement):
67314        (WebCore::WMLCardElement::~WMLCardElement):
67315        (WebCore::WMLCardElement::createRenderer):
67316        (WebCore::WMLCardElement::setActiveCardInDocument):
67317        (WebCore::WMLCardElement::setVisibility):
67318        * wml/WMLCardElement.h:
67319        * wml/WMLDocument.cpp:
67320        (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
67321        * wml/WMLDocument.h:
67322
673232008-11-24  Glenn Wilson  <gwilson@chromium.org>
67324
67325        Reviewed by Alexey Proskuryakov.
67326
67327        http://bugs.webkit.org/show_bug.cgi?id=15643
67328
67329        Added support for clients that wish to disable smart insert/delete
67330        and enable the "trailing whitespace selection" work-around.
67331
67332        Tests: editing/selection/doubleclick-whitespace.html
67333
67334        * editing/Editor.cpp:
67335        (WebCore::Editor::selectTrailingWhitespaceEnabled):
67336        * editing/Editor.h:
67337        * editing/Selection.cpp:
67338        (WebCore::Selection::includeTrailingWhitespace):
67339        * editing/Selection.h:
67340        * loader/EmptyClients.h:
67341        (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
67342        * page/EditorClient.h:
67343        * page/EventHandler.cpp:
67344        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
67345
673462008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67347
67348        Not reviewed. Forgot to include WMLPageState.h in last commit.
67349
67350        * wml/WMLPageState.h:
67351        (WebCore::WMLPageState::restrictDeckAccessToDomain):
67352        (WebCore::WMLPageState::restrictDeckAccessToPath):
67353
673542008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67355
67356        Reviewed by Oliver Hunt & Eric Seidel.
67357
67358        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
67359
67360        Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
67361
67362        * WebCore.xcodeproj/project.pbxproj:
67363        * wml/WMLAccessElement.cpp: Added.
67364        (WebCore::WMLAccessElement::WMLAccessElement):
67365        (WebCore::WMLAccessElement::parseMappedAttribute):
67366        * wml/WMLAccessElement.h: Added.
67367        * wml/WMLTagNames.in:
67368        * wml/WMLPageState.h: Rename functions.
67369        (WebCore::WMLPageState::restrictDeckAccessToDomain):
67370        (WebCore::WMLPageState::restrictDeckAccessToPath):
67371        * wml/WMLVariables.cpp: Add new helper function.
67372        (WebCore::valueContainsVariableReference):
67373        * wml/WMLVariables.h:
67374        (WebCore::):
67375
673762008-11-24  Darin Adler  <darin@apple.com>
67377
67378        Reviewed by Dan Bernstein.
67379
67380        - https://bugs.webkit.org/show_bug.cgi?id=22470
67381          remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
67382
67383        * loader/EmptyClients.h:
67384        (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
67385        * loader/FrameLoader.cpp:
67386        (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
67387        (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
67388        * loader/FrameLoaderClient.h: Remove argument.
67389
673902008-11-24  Finnur Thorarinsson  <finnur.webkit@gmail.com>
67391
67392        Reviewed by Darin Adler.
67393
67394        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
67395
67396        Add plumbing for tickmark support for the scrollbars. The painting code
67397        for the scrollbar just needed to call paintTickmarks at the right time
67398        and a default no-op implementation is provided, which the ports will
67399        need to override.
67400
67401        * platform/ScrollbarThemeComposite.cpp:
67402        (WebCore::ScrollbarThemeComposite::paint):
67403        * platform/ScrollbarThemeComposite.h:
67404        (WebCore::ScrollbarThemeComposite::paintTickmarks):
67405
674062008-11-24  Darin Fisher  <darin@chromium.org>
67407
67408        Reviewed by Sam Weinig.
67409
67410        https://bugs.webkit.org/show_bug.cgi?id=22448
67411        Create an abstraction for JSC::SourceCode
67412
67413        * WebCore.vcproj/WebCore.vcproj:
67414        * bindings/js/CachedScriptSourceProvider.h:
67415        * bindings/js/ScriptController.cpp:
67416        (WebCore::ScriptController::evaluate):
67417        * bindings/js/ScriptController.h:
67418        * bindings/js/ScriptSourceCode.h: Added.
67419        (WebCore::ScriptSourceCode::ScriptSourceCode):
67420        (WebCore::ScriptSourceCode::length):
67421        (WebCore::ScriptSourceCode::jsSourceCode):
67422        * bindings/js/WorkerScriptController.cpp:
67423        (WebCore::Workevn ScriptController::evaluate):
67424        * bindings/js/WorkerScriptController.h:
67425        * dom/ScriptElement.cpp:
67426        (WebCore::ScriptElement::insertedIntoDocument):
67427        (WebCore::ScriptElement::childrenChanged):
67428        (WebCore::ScriptElementData::evaluateScript):
67429        (WebCore::ScriptElementData::notifyFinished):
67430        * dom/ScriptElement.h:
67431        * dom/WorkerThread.cpp:
67432        (WebCore::WorkerThread::workerThread):
67433        * dom/WorkerThread.h:
67434        * dom/XMLTokenizer.cpp:
67435        (WebCore::XMLTokenizer::notifyFinished):
67436        * dom/XMLTokenizerLibxml2.cpp:
67437        (WebCore::XMLTokenizer::endElementNs):
67438        * dom/XMLTokenizerQt.cpp:
67439        (WebCore::XMLTokenizer::parseEndElement):
67440        * html/HTMLTokenizer.cpp:
67441        (WebCore::HTMLTokenizer::scriptHandler):
67442        (WebCore::HTMLTokenizer::scriptExecution):
67443        (WebCore::HTMLTokenizer::notifyFinished):
67444        * html/HTMLTokenizer.h:
67445        * loader/FrameLoader.cpp:
67446        (WebCore::FrameLoader::executeScript):
67447        * loader/FrameLoader.h:
67448
674492008-11-24  Darin Adler  <darin@apple.com>
67450
67451        Reviewed by Dan Bernstein.
67452
67453        - finish https://bugs.webkit.org/show_bug.cgi?id=22295
67454          track which history items are from page load failures
67455
67456        * WebCore.base.exp: Exported new function.
67457
67458        * loader/DocumentLoader.cpp:
67459        (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
67460        * loader/DocumentLoader.h: Ditto.
67461
674622008-11-24  Chris Fleizach  <cfleizach@apple.com>
67463
67464        Reviewed by Beth Dakin.
67465
67466        Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
67467        https://bugs.webkit.org/show_bug.cgi?id=22461
67468
67469        Changing AccessibilityListBox to use its parent's signature for hit testing
67470
67471        * page/AccessibilityListBox.cpp:
67472        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
67473        * page/AccessibilityListBox.h:
67474
674752008-11-24  Simon Fraser  <simon.fraser@apple.com>
67476
67477        Fix Windows build: selectionRect() -> selectionBounds().
67478
67479        * page/win/FrameCGWin.cpp:
67480        (WebCore::imageFromSelection):
67481
674822008-11-24  Glenn Wilson  <gwilson@chromium.org>
67483
67484        Reviewed by Darin Adler.
67485
67486        http://bugs.webkit.org/show_bug.cgi?id=18703
67487        "Changing the 'size' property on a text input does not affect its length"
67488
67489        Text fields would not repaint themselves after having their "size"
67490        attributes modified.  This fix tells the object to recalculate its
67491        width and repaint itself when its "size" attribute is parsed.
67492
67493        Test: fast/js/text-field-resize.html
67494
67495        * html/HTMLInputElement.cpp:
67496        (WebCore::HTMLInputElement::parseMappedAttribute):
67497
674982008-11-24  Simon Fraser  <simon.fraser@apple.com>
67499
67500        Reviewed by Darin Adler
67501
67502        Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
67503
67504        Make RenderView::selectionRect() private to cause compile-time
67505        errors if someone tries to call it.
67506
67507        * rendering/RenderView.h:
67508
675092008-11-24  Simon Fraser  <simon.fraser@apple.com>
67510
67511        Reviewed by Dan Bernstein
67512
67513        Via: https://bugs.webkit.org/show_bug.cgi?id=22433
67514
67515        Rename RenderView::selectionRect() to selectionBounds(), to remove
67516        longstanding ambiguity with the base class selectionRect() method.
67517        Do the same on Frame for consistency with RenderView. Assert
67518        that RenderView::selectionRect() is never called.
67519
67520        * WebCore.base.exp:
67521        * editing/SelectionController.cpp:
67522        (WebCore::SelectionController::focusedOrActiveStateChanged):
67523        * page/DragController.cpp:
67524        (WebCore::dragLocForSelectionDrag):
67525        * page/Frame.cpp:
67526        (WebCore::Frame::selectionBounds):
67527        (WebCore::Frame::revealSelection):
67528        * page/Frame.h:
67529        * page/mac/FrameMac.mm:
67530        (WebCore::Frame::selectionImage):
67531        * rendering/RenderView.cpp:
67532        (WebCore::RenderView::selectionRect):
67533        (WebCore::RenderView::selectionBounds):
67534        * rendering/RenderView.h:
67535
675362008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>
67537
67538        Reviewed by Darin Adler.
67539
67540        Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
67541        https://bugs.webkit.org/show_bug.cgi?id=22441
67542
67543        - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
67544        an AtomicString.
67545
67546        - Updated the elements' constructors and the callers to reflect the previous change.
67547
67548        * dom/Document.cpp:
67549        (WebCore::Document::createElement):
67550        * html/HTMLDocument.cpp:
67551        (WebCore::HTMLDocument::createElement):
67552        * html/HTMLElement.cpp:
67553        (WebCore::HTMLElement::cloneNode):
67554        * html/HTMLElementFactory.cpp:
67555        (WebCore::htmlConstructor):
67556        (WebCore::headConstructor):
67557        (WebCore::bodyConstructor):
67558        (WebCore::baseConstructor):
67559        (WebCore::linkConstructor):
67560        (WebCore::metaConstructor):
67561        (WebCore::styleConstructor):
67562        (WebCore::titleConstructor):
67563        (WebCore::frameConstructor):
67564        (WebCore::framesetConstructor):
67565        (WebCore::iframeConstructor):
67566        (WebCore::formConstructor):
67567        (WebCore::buttonConstructor):
67568        (WebCore::inputConstructor):
67569        (WebCore::isindexConstructor):
67570        (WebCore::fieldsetConstructor):
67571        (WebCore::keygenConstructor):
67572        (WebCore::labelConstructor):
67573        (WebCore::legendConstructor):
67574        (WebCore::optgroupConstructor):
67575        (WebCore::optionConstructor):
67576        (WebCore::selectConstructor):
67577        (WebCore::textareaConstructor):
67578        (WebCore::dlConstructor):
67579        (WebCore::ulConstructor):
67580        (WebCore::olConstructor):
67581        (WebCore::dirConstructor):
67582        (WebCore::menuConstructor):
67583        (WebCore::liConstructor):
67584        (WebCore::blockquoteConstructor):
67585        (WebCore::divConstructor):
67586        (WebCore::headingConstructor):
67587        (WebCore::hrConstructor):
67588        (WebCore::paragraphConstructor):
67589        (WebCore::preConstructor):
67590        (WebCore::basefontConstructor):
67591        (WebCore::fontConstructor):
67592        (WebCore::modConstructor):
67593        (WebCore::anchorConstructor):
67594        (WebCore::imageConstructor):
67595        (WebCore::mapConstructor):
67596        (WebCore::areaConstructor):
67597        (WebCore::canvasConstructor):
67598        (WebCore::appletConstructor):
67599        (WebCore::embedConstructor):
67600        (WebCore::objectConstructor):
67601        (WebCore::paramConstructor):
67602        (WebCore::scriptConstructor):
67603        (WebCore::tableConstructor):
67604        (WebCore::tableCaptionConstructor):
67605        (WebCore::tableColConstructor):
67606        (WebCore::tableRowConstructor):
67607        (WebCore::tableCellConstructor):
67608        (WebCore::tableSectionConstructor):
67609        (WebCore::brConstructor):
67610        (WebCore::quoteConstructor):
67611        (WebCore::marqueeConstructor):
67612        (WebCore::audioConstructor):
67613        (WebCore::videoConstructor):
67614        (WebCore::sourceConstructor):
67615        (WebCore::HTMLElementFactory::createHTMLElement):
67616        * html/HTMLElementFactory.h:
67617        * html/HTMLParser.cpp:
67618        (WebCore::HTMLParser::getNode):
67619
676202008-11-24  Brent Fulgham  <bfulgham@gmail.com>
67621
67622        Reviewed by Alexey Proskuryakov.
67623
67624        https://bugs.webkit.org/show_bug.cgi?id=22444
67625
67626        Correct bad default constructor for Cairo FontPlatformData so that
67627        the m_scaledFont member is initialized.  Previously this would be
67628        set to 0xbaadf00d, which would result in infinite loops while
67629        attempting to deal with the font cache.
67630
67631        * platform/graphics/win/FontPlatformData.h:
67632        (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
67633
676342008-11-24  Alexey Proskuryakov  <ap@webkit.org>
67635
67636        Reviewed by Darin Adler.
67637
67638        https://bugs.webkit.org/show_bug.cgi?id=22455
67639        Add support for Worker.terminate()
67640
67641        Test: fast/workers/worker-terminate.html
67642
67643        * dom/Worker.idl:
67644        * dom/Worker.cpp:
67645        * dom/Worker.h:
67646        Added terminate().
67647
67648        * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
67649        * dom/WorkerMessagingProxy.cpp:
67650        (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
67651        to terminate (this is not mentioned in draft spec, but makes sense anyway).
67652        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
67653        asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
67654        to only track messages that were posted to worker thread, avoiding a leak if the script
67655        could not be loaded.
67656        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
67657        (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
67658        (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
67659        was destroyed, the worker object may still be alive now, so don't delete self in this case.
67660        (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
67661        remember to stop it when it is created.
67662        (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
67663        if the thread asked to stop anyway.
67664        (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
67665
67666        * dom/WorkerThread.cpp:
67667        * dom/WorkerThread.h:
67668        Fixed a race condition in stop().
67669
676702008-11-24  Alexey Proskuryakov  <ap@webkit.org>
67671
67672        Reviewed by Mark Rowe.
67673
67674        https://bugs.webkit.org/show_bug.cgi?id=22439
67675        Won't load stylesheets with filenames less than 2 characters long in xhtml.
67676
67677        Test: http/tests/misc/single-character-pi-stylesheet.xhtml
67678
67679        * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
67680        Fix up the logic.
67681
676822008-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
67683
67684        Reviewed by Mark Rowe.
67685
67686        [Gtk+] Add configure option to enable Web Workers and enable it by default
67687
67688        Add --enable-workers to the buildsystem (used by build-webkit) add
67689        the to be build files to the GNUmakefile.am and change build-webkit
67690        to enable Web Workers by default.
67691
67692        * GNUmakefile.am:
67693
676942008-11-24  Alexey Proskuryakov  <ap@webkit.org>
67695
67696        Build fix (for Windows Cairo port?)
67697
67698        * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
67699        the ENABLE macro is not available in idls.
67700
677012008-11-22  Dimitri Glazkov  <dglazkov@chromium.org>
67702
67703        Reviewed by Darin Adler.
67704
67705        https://bugs.webkit.org/show_bug.cgi?id=22421
67706        Added ScriptValue to Visual Studio and XCode projects.
67707
67708        * WebCore.vcproj/WebCore.vcproj:
67709        * WebCore.xcodeproj/project.pbxproj:
67710
677112008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67712
67713        Reviewed by Holger Freyther.
67714
67715        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
67716
67717        Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
67718
67719        * WebCore.xcodeproj/project.pbxproj:
67720        * wml/WMLIntrinsicEvent.cpp: Added.
67721        (WebCore::createTaskElement):
67722        (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
67723        * wml/WMLIntrinsicEvent.h: Added.
67724        (WebCore::WMLIntrinsicEvent::create):
67725        (WebCore::WMLIntrinsicEvent::createWithTask):
67726        (WebCore::WMLIntrinsicEvent::taskElement):
67727        * wml/WMLIntrinsicEventHandler.cpp: Added.
67728        (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
67729        (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
67730        (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
67731        (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
67732        * wml/WMLIntrinsicEventHandler.h: Added.
67733        (WebCore::):
67734
677352008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67736
67737        Reviewed by Holger Freyther.
67738
67739        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
67740
67741        Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
67742        Activate code handling <setvar> registration in WMLTaskElement.
67743
67744        * wml/WMLGoElement.cpp: Added.
67745        (WebCore::WMLGoElement::WMLGoElement):
67746        (WebCore::WMLGoElement::~WMLGoElement):
67747        (WebCore::WMLGoElement::parseMappedAttribute):
67748        (WebCore::WMLGoElement::executeTask):
67749        * wml/WMLGoElement.h: Added.
67750        * wml/WMLPrevElement.cpp: Added.
67751        (WebCore::WMLPrevElement::WMLPrevElement):
67752        (WebCore::WMLPrevElement::~WMLPrevElement):
67753        (WebCore::WMLPrevElement::executeTask):
67754        * wml/WMLPrevElement.h: Added.
67755        * wml/WMLRefreshElement.cpp: Added.
67756        (WebCore::WMLRefreshElement::WMLRefreshElement):
67757        (WebCore::WMLRefreshElement::~WMLRefreshElement):
67758        (WebCore::WMLRefreshElement::executeTask):
67759        * wml/WMLRefreshElement.h: Added.
67760        * wml/WMLSetvarElement.cpp: Added.
67761        (WebCore::WMLSetvarElement::WMLSetvarElement):
67762        (WebCore::WMLSetvarElement::~WMLSetvarElement):
67763        (WebCore::WMLSetvarElement::parseMappedAttribute):
67764        (WebCore::WMLSetvarElement::insertedIntoDocument):
67765        (WebCore::WMLSetvarElement::name):
67766        (WebCore::WMLSetvarElement::value):
67767        * wml/WMLSetvarElement.h: Added.
67768        * wml/WMLTagNames.in:
67769        * wml/WMLTaskElement.cpp:
67770        (WebCore::WMLTaskElement::registerVariableSetter):
67771        (WebCore::WMLTaskElement::storeVariableState):
67772        * wml/WMLTaskElement.h:
67773        * WebCore.xcodeproj/project.pbxproj:
67774
677752008-11-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
67776
67777        Not reviewed. Forgot to include WMLPageState.* in the last commit.
67778
67779        * wml/WMLPageState.cpp:
67780        (WebCore::WMLPageState::setNeedCheckDeckAccess):
67781        * wml/WMLPageState.h:
67782        (WebCore::WMLPageState::storeVariables):
67783
677842008-11-21  Alexey Proskuryakov  <ap@webkit.org>
67785
67786        Reviewed by Darin Adler.
67787
67788        https://bugs.webkit.org/show_bug.cgi?id=22397
67789        Worker threads are not destroyed if running a JS loop
67790
67791        Since the event loop is not ever entered again in this case, the fix necessarily involves
67792        some shared data hackery.
67793
67794        * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
67795        * dom/WorkerThread.h:
67796        Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
67797        may need to abort other kinds of synchronous processing, such as importScripts or XHR.
67798
67799        * bindings/js/WorkerScriptController.cpp:
67800        (WebCore::WorkerScriptController::WorkerScriptController):
67801        (WebCore::WorkerScriptController::evaluate):
67802        (WebCore::WorkerScriptController::forbidExecution):
67803        * bindings/js/WorkerScriptController.h:
67804        Added a forbidExecution() method, which interrupts currently running JS, and makes any
67805        future calls to evaluate() return immediately.
67806
67807        * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
67808        Call WorkerThread::stop().
67809
678102008-11-21  Kevin Watters  <kevinwatters@gmail.com>
67811
67812        Reviewed by Kevin Ollivier.
67813
67814        Improve wx image drawing performance considerably when using wxGraphicsContext
67815        by avoiding unnecessary copies and drawing.
67816
67817        https://bugs.webkit.org/show_bug.cgi?id=22404
67818
67819        * platform/graphics/wx/ImageWx.cpp:
67820        (WebCore::BitmapImage::draw):
67821        (WebCore::BitmapImage::drawPattern):
67822
67823
678242008-11-21  Kevin Watters  <kevinwatters@gmail.com>
67825
67826        Reviewed by Kevin Ollivier.
67827
67828        Implementation of AffineTransform::mapRect for wx.
67829
67830        https://bugs.webkit.org/show_bug.cgi?id=22401
67831
67832        * platform/graphics/wx/AffineTransformWx.cpp:
67833        (WebCore::AffineTransform::mapRect):
67834
678352008-11-21  Justin Garcia  <justin.garcia@apple.com>
67836
67837        Reviewed by Darin Adler.
67838
67839        <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
67840
67841        Change link editing behavior to match TextEdit and MS Word when editing before and after
67842        a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
67843        used to, so it's difficult to get out of link editing mode):
67844        When inserting before or after a link, always insert content outside of the link.  This
67845        makes it impossible to get stuck in link editing mode, while making it slightly more
67846        difficult to edit link labels.  WebKit editors that care about this can add UI for editing
67847        link labels, like GMail and GoogleDocs have done.  We never actually had any bugs complaining
67848        about how it was difficult to edit link labels at the start/end, the code was just introduced
67849        with another bug fix without much thought.
67850
67851        Don't remember removed links anymore, no other editor does this and it made it
67852        difficult/impossible to get out of link editing mode.  This code was added to fix
67853        <rdar://problem/4069359>, which is fixed instead by removing the styles from an
67854        enclosing anchor element from those styles that we remember when we delete content.
67855
67856        * editing/CompositeEditCommand.cpp:
67857        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
67858        * editing/CompositeEditCommand.h:
67859        * editing/DeleteSelectionCommand.cpp:
67860        (WebCore::removeEnclosingAnchorStyle):
67861        (WebCore::DeleteSelectionCommand::saveTypingStyleState):
67862        (WebCore::DeleteSelectionCommand::doApply):
67863        * editing/DeleteSelectionCommand.h:
67864        * editing/EditCommand.cpp:
67865        (WebCore::EditCommand::apply):
67866        * editing/Editor.cpp:
67867        (WebCore::Editor::appliedEditing):
67868        * editing/InsertTextCommand.cpp:
67869        (WebCore::InsertTextCommand::prepareForTextInsertion):
67870        (WebCore::InsertTextCommand::input):
67871        * editing/RemoveFormatCommand.cpp:
67872        (WebCore::RemoveFormatCommand::doApply):
67873        * editing/SelectionController.cpp:
67874        (WebCore::SelectionController::setSelection):
67875        * editing/SelectionController.h:
67876
678772008-11-21  Alice Liu  <alice.liu@apple.com>
67878
67879        Rubber-stamped by Dan Bernstein.
67880
67881        fixed <rdar://6340771> crashing on print preview
67882
67883        * platform/graphics/win/GraphicsContextCGWin.cpp:
67884        (WebCore::GraphicsContext::drawWindowsBitmap):
67885
678862008-11-21  Darin Fisher  <darin@chromium.org>
67887
67888        Reviewed by Geoffrey Garen.
67889
67890        https://bugs.webkit.org/show_bug.cgi?id=22390
67891        Abstract away JSC:: usage in WebCore/xml
67892
67893        * bindings/js/ScriptString.h: Added.
67894        (WebCore::ScriptString::ScriptString):
67895        (WebCore::ScriptString::operator JSC::UString):
67896        (WebCore::ScriptString::isNull):
67897        (WebCore::ScriptString::size):
67898        (WebCore::ScriptString::operator=):
67899        (WebCore::ScriptString::operator+=):
67900        * inspector/InspectorController.cpp:
67901        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
67902        (WebCore::InspectorResource::setXMLHttpRequestProperties):
67903        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
67904        * inspector/InspectorController.h:
67905        * xml/XMLHttpRequest.cpp:
67906        (WebCore::XMLHttpRequest::responseText):
67907        (WebCore::XMLHttpRequest::clearResponse):
67908        (WebCore::XMLHttpRequest::dropProtection):
67909        (WebCore::XMLHttpRequest::didFinishLoading):
67910        (WebCore::XMLHttpRequest::didReceiveData):
67911        * xml/XMLHttpRequest.h:
67912        (WebCore::XMLHttpRequest::setLastSendURL):
67913
679142008-11-21  Sam Weinig  <sam@webkit.org>
67915
67916        Reviewed by Geoffrey Garen.
67917
67918        Destroy script decoded data on a zero-delay timer after
67919        decoding.  This means we now have no decoded script data
67920        at the end of Membuster.
67921
67922        * loader/CachedScript.cpp:
67923        (WebCore::CachedScript::CachedScript):
67924        (WebCore::CachedScript::allClientsRemoved):
67925        (WebCore::CachedScript::script):
67926        (WebCore::CachedScript::decodedDataDeletionTimerFired):
67927        * loader/CachedScript.h:
67928
679292008-11-21  Simon Fraser  <simon.fraser@apple.com>
67930
67931        Reviewed by Darin Adler
67932
67933        https://bugs.webkit.org/show_bug.cgi?id=22159
67934
67935        RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
67936        maximalOutlineSize(), since a child might have an outline which projects
67937        outside the parent overflowRect().
67938
67939        We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
67940        so that it is valid for these repaints.
67941
67942        Test: fast/repaint/outline-child-repaint.html
67943
67944        * WebCore.xcodeproj/project.pbxproj:
67945        * rendering/RenderBox.cpp:
67946        (WebCore::RenderBox::styleDidChange):
67947        (WebCore::RenderBox::absoluteClippedOverflowRect):
67948
679492008-11-21  Jan Michael Alonzo  <jmalonzo@webkit.org>
67950
67951        Gtk, Qt, and Wx build fix.
67952
67953        Add LinkHash.cpp in the build scripts.
67954        Add LinkHash.h to Gtk's build script.
67955
67956        LinkHash.cpp/h was introduced in r38661.
67957
67958        * GNUmakefile.am:
67959        * WebCore.pro:
67960        * WebCoreSources.bkl:
67961
679622008-11-21  Sam Weinig  <sam@webkit.org>
67963
67964        Reviewed by Dan Bernstein.
67965
67966        Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
67967        Be more eager in destroying script decoded data
67968
67969        Destroy the decoded data when all clients are removed from a CachedScript.
67970
67971        * loader/CachedScript.cpp:
67972        (WebCore::CachedScript::allClientsRemoved):
67973        * loader/CachedScript.h:
67974        (WebCore::CachedScript::allClientsRemoved):
67975
679762008-11-21  Pierre-Olivier Latour  <pol@apple.com>
67977
67978        Reviewed by Dan Bernstein.
67979
67980        WebKit should be using Device RGB colorspace everywhere for
67981        consistency.
67982
67983        https://bugs.webkit.org/show_bug.cgi?id=22300
67984
67985        * page/mac/AccessibilityObjectWrapper.mm:
67986        (CreateCGColorIfDifferent):
67987        * platform/graphics/mac/ColorMac.h:
67988        * platform/graphics/mac/ColorMac.mm:
67989        (WebCore::nsColor):
67990        (+[WebCoreControlTintObserver controlTintDidChange]):
67991        * rendering/RenderThemeMac.mm:
67992        (WebCore::convertNSColorToColor):
67993        (WebCore::menuBackgroundColor):
67994
679952008-11-20  Julien Chaffraix  <jchaffraix@webkit.org>
67996
67997        Reviewed by Darin Adler.
67998
67999        Bug 22388: Add JSInterfaceName to the .in files
68000        https://bugs.webkit.org/show_bug.cgi?id=22388
68001
68002        Add JSInterfaceName that is similar to interfaceName but
68003        for the JS wrappers. JSInterfaceName is always equal to interfaceName
68004        unless explicitly set.
68005
68006        * dom/make_names.pl:
68007        * html/HTMLTagNames.in:
68008        * svg/svgtags.in:
68009
680102008-11-21  Sam Weinig  <sam@webkit.org>
68011
68012        Reviewed by Geoffrey Garen.
68013
68014        Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
68015        Be more eager in destroying script decoded data
68016
68017        Use a new CachedScriptSourceProvider to keep CachedScripts as
68018        CachedScripts, even down into JSC.  This has the added benefit
68019        of showing the CachedScripts as live in the Caches window.
68020
68021        * GNUmakefile.am:
68022        * WebCore.vcproj/WebCore.vcproj:
68023        * WebCore.xcodeproj/project.pbxproj:
68024        * bindings/js/CachedScriptSourceProvider.h: Added.
68025        (WebCore::CachedScriptSourceProvider::create):
68026        (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
68027        (WebCore::CachedScriptSourceProvider::getRange):
68028        (WebCore::CachedScriptSourceProvider::data):
68029        (WebCore::CachedScriptSourceProvider::length):
68030        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
68031        (WebCore::makeSource):
68032        * dom/ScriptElement.cpp:
68033        (WebCore::ScriptElementData::notifyFinished):
68034        * dom/XMLTokenizer.cpp:
68035        (WebCore::XMLTokenizer::notifyFinished):
68036        * html/HTMLTokenizer.cpp:
68037        (WebCore::HTMLTokenizer::notifyFinished):
68038
680392008-11-21  Brett Wilson  <brettw@chromium.org>
68040
68041        Fix debug-only build bustage due to a typo in an assert, and add new
68042        files to the Windows build.
68043
68044        * Info.plist:
68045        * WebCore.vcproj/WebCore.vcproj:
68046        * platform/LinkHash.h:
68047        (WebCore::LinkHashHash::avoidDeletedValue):
68048
680492008-11-20  Brett Wilson  <brettw@chromium.org>
68050
68051        Reviewed by Eric Seidel.
68052
68053        https://bugs.webkit.org/show_bug.cgi?id=22131
68054
68055        Factor out visited link hashing and types into a new file, LinkHash.
68056        This also changes the hash type to 64 bits, but does not actually use
68057        the extra bits yet.
68058
68059        * WebCore.xcodeproj/project.pbxproj:
68060        (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
68061        (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
68062        * css/CSSStyleSelector.h:
68063        (WebCore::CSSStyleSelector::visitedStateChanged):
68064        * dom/Document.cpp:
68065        * dom/Document.h:
68066        * page/Page.cpp:
68067        (WebCore::Page::visitedStateChanged):
68068        * page/Page.h:
68069        * page/PageGroup.cpp:
68070        (WebCore::PageGroup::isLinkVisited):
68071        (WebCore::PageGroup::addVisitedLink):
68072        * page/PageGroup.h:
68073        * platform/LinkHash.cpp: Added.
68074        (WebCore::findSlashDotDotSlash):
68075        (WebCore::findSlashSlash):
68076        (WebCore::findSlashDotSlash):
68077        (WebCore::containsColonSlashSlash):
68078        (WebCore::cleanPath):
68079        (WebCore::matchLetter):
68080        (WebCore::needsTrailingSlash):
68081        (WebCore::visitedLinkHash):
68082        * platform/LinkHash.h: Added
68083        (WebCore::LinkHashHash::hash):
68084        (WebCore::LinkHashHash::equal):
68085        (WebCore::LinkHashHash::avoidDeletedValue):
68086
680872008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
68088
68089        Reviewed by Alexey Proskuryakov.
68090
68091        No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
68092
68093        * wml/WMLPElement.cpp:
68094        (WebCore::WMLPElement::insertedIntoDocument):
68095
680962008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
68097
68098        Reviewed by Alexey Proskuryakov.
68099
68100        Fix some coding style/formatting issues in WMLAElement.
68101
68102        * wml/WMLAElement.cpp:
68103        (WebCore::WMLAElement::parseMappedAttribute):
68104        (WebCore::WMLAElement::defaultEventHandler):
68105        * wml/WMLAElement.h:
68106
681072008-11-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
68108
68109        Reviewed by Alexey Proskuryakov.
68110
68111        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
68112
68113        Implement <anchor> support for WML, add WMLVariables file containing helper functions
68114        for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
68115
68116        * css/CSSStyleSelector.cpp:
68117        (WebCore::linkAttribute):
68118        * rendering/HitTestResult.cpp:
68119        (WebCore::HitTestResult::absoluteImageURL):
68120        (WebCore::HitTestResult::absoluteLinkURL):
68121        (WebCore::HitTestResult::isLiveLink):
68122        * wml/WMLAnchorElement.cpp: Added.
68123        (WebCore::WMLAnchorElement::WMLAnchorElement):
68124        (WebCore::WMLAnchorElement::~WMLAnchorElement):
68125        (WebCore::WMLAnchorElement::defaultEventHandler):
68126        * wml/WMLAnchorElement.h: Added.
68127        (WebCore::WMLAnchorElement::registerTask):
68128        * wml/WMLTagNames.in:
68129        * wml/WMLTaskElement.cpp: Added.
68130        (WebCore::WMLTaskElement::WMLTaskElement):
68131        (WebCore::WMLTaskElement::~WMLTaskElement):
68132        (WebCore::WMLTaskElement::insertedIntoDocument):
68133        (WebCore::WMLTaskElement::addVariableSetter):
68134        (WebCore::WMLTaskElement::removeVariableSetter):
68135        (WebCore::WMLTaskElement::storeVariableState):
68136        * wml/WMLTaskElement.h: Added.
68137        * wml/WMLVariables.cpp: Added.
68138        (WebCore::isValidVariableCharacter):
68139        (WebCore::isValidVariableReferenceCharacter):
68140        (WebCore::isValidVariableName):
68141        (WebCore::substituteVariableReferences):
68142        * wml/WMLVariables.h: Added.
68143        (WebCore::):
68144
681452008-11-21  Julien Chaffraix  <jchaffraix@pleyo.com>
68146
68147        Rubber-stamped by Alexey Proskuryakov.
68148
68149        Build fix when building without WORKERS on non-POSIX, non-WINDOWS
68150        machine.
68151
68152        Spotted by Mario Bensi.
68153
68154        * platform/text/TextCodecICU.cpp:
68155
681562008-11-20  Sam Weinig  <sam@webkit.org>
68157
68158        Reviewed by Geoffrey Garen.
68159
68160        First step in https://bugs.webkit.org/show_bug.cgi?id=22394
68161        Be more eager in destroying script decoded data
68162
68163        Pass data to be used in script execution around as JSC::SourceCode instead
68164        of a source, url, and starting line.
68165
68166        * bindings/js/ScriptController.cpp:
68167        (WebCore::ScriptController::evaluate):
68168        * bindings/js/ScriptController.h:
68169        * bindings/js/StringSourceProvider.h:
68170        (WebCore::makeSource):
68171        * bindings/js/WorkerScriptController.cpp:
68172        (WebCore::WorkerScriptController::evaluate):
68173        * bindings/js/WorkerScriptController.h:
68174        * dom/ScriptElement.cpp:
68175        (WebCore::ScriptElement::insertedIntoDocument):
68176        (WebCore::ScriptElement::childrenChanged):
68177        (WebCore::ScriptElementData::evaluateScript):
68178        (WebCore::ScriptElementData::notifyFinished):
68179        * dom/ScriptElement.h:
68180        * dom/WorkerThread.cpp:
68181        (WebCore::WorkerThread::workerThread):
68182        * dom/XMLTokenizer.cpp:
68183        (WebCore::XMLTokenizer::notifyFinished):
68184        * dom/XMLTokenizerLibxml2.cpp:
68185        (WebCore::XMLTokenizer::endElementNs):
68186        * dom/XMLTokenizerQt.cpp:
68187        (WebCore::XMLTokenizer::parseEndElement):
68188        * html/HTMLTokenizer.cpp:
68189        (WebCore::HTMLTokenizer::scriptHandler):
68190        (WebCore::HTMLTokenizer::scriptExecution):
68191        (WebCore::HTMLTokenizer::notifyFinished):
68192        * html/HTMLTokenizer.h:
68193        * loader/FrameLoader.cpp:
68194        (WebCore::FrameLoader::executeScript):
68195        * loader/FrameLoader.h:
68196
681972008-11-20  Sam Weinig  <sam@webkit.org>
68198
68199        Reviewed by Geoffrey Garen.
68200
68201        Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
68202        REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
68203
68204        - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
68205
68206        * bindings/js/JSXMLHttpRequestCustom.cpp:
68207        (WebCore::JSXMLHttpRequest::responseText):
68208        * xml/XMLHttpRequest.idl:
68209
682102008-11-20  Simon Fraser  <simon.fraser@apple.com>
68211
68212        Reviewed by Dan Bernstein
68213
68214        https://bugs.webkit.org/show_bug.cgi?id=19623
68215
68216        When an non-layer object gained a transform, it would only repaint
68217        the bounds of the new layer, which could result in redraw artifacts
68218        if the new layer was smaller. So if we're gaining a transform, we
68219        repaint.
68220
68221        Test: fast/repaint/change-transform.html
68222
68223        * rendering/RenderObject.cpp:
68224        (WebCore::RenderObject::styleWillChange):
68225
682262008-11-20  Adele Peterson  <adele@apple.com>
68227
68228        Reviewed by Darin Adler.
68229
68230        Fix for <rdar://problem/6111436> Support upload progress events on Windows
68231
68232        * platform/network/cf/ResourceHandleCFNet.cpp:
68233        (WebCore::didSendBodyData): Added.
68234        (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
68235
682362008-11-20  Justin Garcia  <justin.garcia@apple.com>
68237
68238        Reviewed by Darin Adler.
68239
68240        <rdar://problem/2610675> Blank line that is quoted can't be deleted
68241
68242        If the caret is in an empty quoted paragraph, and either there is nothing before that
68243        paragraph, or what is before is unquoted, and the user presses delete, unquote that
68244        paragraph.
68245
68246        * editing/CompositeEditCommand.cpp:
68247        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
68248        Removes the line break that holds open an empty paragraph and then attempts to
68249        prune the blockquote(s) that held that line break in case they have been emptied
68250        out.  Places a line break to create in empty unquoted paragraph in place of the
68251        quoted one that was removed.
68252        * editing/CompositeEditCommand.h:
68253        * editing/TypingCommand.cpp:
68254        (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
68255        * editing/htmlediting.cpp:
68256        (WebCore::highestEnclosingNodeOfType): Added.
68257        * editing/htmlediting.h:
68258
682592008-11-20  Dean Jackson  <dino@apple.com>
68260
68261        Reviewed by Antti Koivisto
68262
68263        https://bugs.webkit.org/show_bug.cgi?id=21247
68264
68265        Make transition shorthand property accept transition-delay.
68266
68267        Test: transitions/transition-shorthand-delay.html
68268
68269        * css/CSSParser.cpp:
68270        (WebCore::CSSParser::parseTransitionShorthand):
68271
682722008-11-20  Dean Jackson  <dino@apple.com>
68273
68274        Reviewed by Antti Koivisto
68275
68276        https://bugs.webkit.org/show_bug.cgi?id=22368
68277
68278        Make sure pauseTransition API takes transition delay into account.
68279
68280        Test: transitions/transition-drt-api-delay.html
68281
68282        * page/animation/AnimationBase.cpp:
68283        (WebCore::AnimationBase::pauseAtTime):
68284
682852008-11-20  Simon Fraser  <simon.fraser@apple.com>
68286
68287        Reviewed by Darin Adler
68288
68289        https://bugs.webkit.org/show_bug.cgi?id=20368
68290
68291        Implement getComputedStyle for animation properties. Remove individual
68292        computed values for transform-origin-x, transform-origin-y, and just
68293        return transform-origin instead. Return "none" for default animation-name,
68294        and fix the initial value.
68295
68296        Tests: animations/computed-style.html
68297               transforms/computed-style-origin.html
68298
68299        * css/CSSComputedStyleDeclaration.cpp:
68300        (WebCore::):
68301        (WebCore::getDelayValue):
68302        (WebCore::getDurationValue):
68303        (WebCore::getTimingFunctionValue):
68304        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
68305        * rendering/style/RenderStyle.h:
68306        (WebCore::InheritedFlags::initialAnimationName):
68307
683082008-11-20  Justin Garcia  <justin.garcia@apple.com>
68309
68310        Reviewed by Beth Dakin.
68311
68312        Preparation for:
68313        <rdar://problem/2610675> Blank line that is quoted can't be deleted
68314
68315        To fix this we need to make changes to the code that creates selections to delete
68316        when the user does a backward or forward delete with a caret selection.  For certain
68317        caret positions, we now want to remove something other than the standard "caret extended
68318        backward/forward by one unit".  The problem is that there were two pieces of code
68319        responsible for doing this, one in Editor::deleteWithDirection, and another inside
68320        TypingCommand::deleteKeyPressed.  The code in deleteWithDirection is a recent
68321        addition (r19172), and adding it there caused regressions because it prevented the
68322        code in deleteKeyPressed from ever running.  The regressions were never caught because
68323        JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
68324
68325        This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
68326        can handle it.  That required moving code to handle the kill ring down into deleteKeyPressed.
68327
68328        Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
68329        discrepancies between the behavior of JS deletions and manual deletions, so that we
68330        have better test coverage.
68331
68332        * editing/Editor.cpp:
68333        (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
68334        of checking for that periodically throughout the function.  There's really nothing to be done
68335        if it's null anyway.
68336        Move kill ring code down into deleteKeyPressed.
68337        * editing/Editor.h:
68338        * editing/TypingCommand.cpp:
68339        (WebCore::TypingCommand::TypingCommand):
68340        (WebCore::TypingCommand::deleteKeyPressed):
68341        (WebCore::TypingCommand::forwardDeleteKeyPressed):
68342        (WebCore::TypingCommand::doApply):
68343        * editing/TypingCommand.h:
68344        (WebCore::TypingCommand::create):
68345
683462008-11-20  Darin Adler  <darin@apple.com>
68347
68348        Earlier version reviewed by Justin Garcia.
68349
68350        - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
68351
68352        * editing/Editor.cpp:
68353        (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
68354        handled even when the selection is not in an editable area.
68355        (WebCore::Editor::handleInputMethodKeydown): Ditto.
68356
68357        * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
68358        allow use when there's a selection even if it's not in an editable area. This includes commands
68359        like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
68360        insertion point.
68361
683622008-11-20  Alexey Proskuryakov  <ap@webkit.org>
68363
68364        Reviewed by Darin Adler.
68365
68366        https://bugs.webkit.org/show_bug.cgi?id=22380
68367        Fix WorkerContext refcounting
68368
68369        * dom/WorkerContext.cpp:
68370        (WebCore::WorkerContext::WorkerContext):
68371        * dom/WorkerContext.h:
68372        (WebCore::WorkerContext::script):
68373        (WebCore::WorkerContext::clearScript):
68374        Added a method to manually destroy WorkerScriptController.
68375
68376        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
68377        Destroy WorkerScriptController to release any references to WorkerContext.
68378
683792008-11-19  Julien Chaffraix  <jchaffraix@webkit.org>
68380
68381        Reviewed by Darin Adler.
68382
68383        Last part of bug 21106: .in format discussed changes
68384        https://bugs.webkit.org/show_bug.cgi?id=21106
68385
68386        - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
68387
68388        - Cleaned up additionnal function parameters that were unneeded.
68389
68390        * dom/make_names.pl:
68391        * html/HTMLTagNames.in:
68392
683932008-11-20  Alexey Proskuryakov  <ap@webkit.org>
68394
68395        Reviewed by Darin Adler.
68396
68397        https://bugs.webkit.org/show_bug.cgi?id=22383
68398        Worker tests spill error messages over to consequent tests
68399
68400        * dom/Worker.cpp: (WebCore::Worker::Worker):
68401        Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
68402        in this case, and there is no sense in starting a thread and trying to parse document source
68403        as JavaScript.
68404
68405        * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
68406        Return quickly if toString() raised an exception.
68407
684082008-11-19  Simon Fraser  <simon.fraser@apple.com>
68409
68410        Reviewed by Adele Peterson.
68411
68412        https://bugs.webkit.org/show_bug.cgi?id=22190
68413
68414        Fix the painting and event handling in transformed search fields.
68415        When painting the cancel and results button parts,  get the rect from AppKit
68416        relative to the input bounds (rather than in absolute coords), then convert
68417        it into the coords of the part's renderer (which is the one that is painting).
68418        To do this we need to compute an offset relative to some container, so expose
68419        a method on RenderObject for that.
68420
68421        Also fix the location at which the search popup shows up to take transforms
68422        into account, and fix the math that is used to figure out if the search
68423        results button, or the cancel button should get the mouse events.
68424
68425        Test: fast/forms/search-transformed.html
68426
68427        * rendering/RenderBox.h:
68428        * rendering/RenderObject.cpp:
68429        (WebCore::RenderObject::offsetFromContainer):
68430        * rendering/RenderObject.h:
68431        * rendering/RenderTextControl.cpp:
68432        (WebCore::RenderTextControl::forwardEvent):
68433        (WebCore::RenderTextControl::showPopup):
68434        * rendering/RenderThemeMac.h:
68435        * rendering/RenderThemeMac.mm:
68436        (WebCore::RenderThemeMac::convertToPaintingRect):
68437        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
68438        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
68439        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
68440
684412008-11-20  Joerg Bornemann  <joerg.bornemann@trolltech.com>
68442
68443        Reviewed by Simon Hausmann.
68444
68445        Steps towards making the the Qt port of WebKit compile on Windows CE
68446
68447        https://bugs.webkit.org/show_bug.cgi?id=20746
68448
68449        * WebCore.pro: Various fixes to include windows specific build options
68450        also in the Windows CE build.
68451        * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
68452        * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
68453        * platform/graphics/qt/GraphicsContextQt.cpp:
68454        (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
68455        not available on CE.
68456        * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
68457        * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
68458        * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
68459        constants on CE.
68460        * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
68461        * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
68462        pcre.h inclusions.
68463        * platform/win/SystemTimeWin.cpp:
68464        (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
68465        exist.
68466
684672008-11-20  Antti Koivisto  <antti@apple.com>
68468
68469        Reviewed by Maciej Stachowiak.
68470
68471        https://bugs.webkit.org/show_bug.cgi?id=22379
68472        Make CSSOM use less memory
68473
68474        - Shrink CSSProperty by half by using bitfields.
68475        - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
68476          and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
68477
68478        * css/CSSMutableStyleDeclaration.cpp:
68479        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
68480        (WebCore::CSSMutableStyleDeclaration::operator=):
68481        * css/CSSMutableStyleDeclaration.h:
68482        (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
68483        (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
68484        * css/CSSProperty.h:
68485        * css/CSSStyleSheet.cpp:
68486        (WebCore::CSSStyleSheet::CSSStyleSheet):
68487        * css/CSSStyleSheet.h:
68488        (WebCore::CSSStyleSheet::setStrictParsing):
68489        (WebCore::CSSStyleSheet::useStrictParsing):
68490        * css/StyleBase.h:
68491        (WebCore::StyleBase::useStrictParsing):
68492        (WebCore::StyleBase::StyleBase):
68493
684942008-11-19  Darin Fisher  <darin@chromium.org>
68495
68496        Fix bustage.
68497
68498        https://bugs.webkit.org/show_bug.cgi?id=22373
68499        Ports busted by addition of ScriptValue.{h,cpp}
68500
68501        * plugins/PluginView.cpp:
68502        (WebCore::PluginView::performRequest):
68503
685042008-11-19  Darin Fisher  <darin@chromium.org>
68505
68506        Bustage fix.
68507
68508        https://bugs.webkit.org/show_bug.cgi?id=22373
68509        Ports busted by addition of ScriptValue.{h,cpp}
68510
68511        * GNUmakefile.am:
68512        * WebCore.pro:
68513        * WebCoreSources.bkl:
68514        * dom/XMLTokenizerQt.cpp:
68515        * plugins/PluginView.cpp:
68516
685172008-11-19  Darin Fisher  <darin@chromium.org>
68518
68519        Reviewed by Geoff Garen.
68520
68521        https://bugs.webkit.org/show_bug.cgi?id=22345
68522        Define ScriptValue as a thin container for a JSC::Value*.
68523
68524        * WebCore.vcproj/WebCore.vcproj:
68525        * WebCore.xcodeproj/project.pbxproj:
68526        * bindings/js/ScheduledAction.cpp:
68527        * bindings/js/ScriptController.cpp:
68528        (WebCore::ScriptController::evaluate):
68529        * bindings/js/ScriptController.h:
68530        * bindings/js/ScriptValue.cpp: Added.
68531        (WebCore::ScriptValue::getString):
68532        * bindings/js/ScriptValue.h: Added.
68533        (WebCore::ScriptValue::ScriptValue):
68534        (WebCore::ScriptValue::jsValue):
68535        * dom/ScriptElement.cpp:
68536        * dom/XMLTokenizer.cpp:
68537        * dom/XMLTokenizerLibxml2.cpp:
68538        * html/HTMLTokenizer.cpp:
68539        * loader/FrameLoader.cpp:
68540        (WebCore::FrameLoader::executeIfJavaScriptURL):
68541        (WebCore::FrameLoader::executeScript):
68542        * loader/FrameLoader.h:
68543
685442008-11-19  Beth Dakin  <bdakin@apple.com>
68545
68546        Reviewed by Justin Garcia.
68547
68548        Fix for <rdar://problem/5472507> Remove color property when a user
68549        sets color to black
68550
68551        This patch prevents us from inserting font nodes during the
68552        ApplyStyleCommand if they will not change the computed style of an
68553        element.
68554
68555        * editing/ApplyStyleCommand.cpp:
68556        (WebCore::fontColorChangesComputedStyle):
68557        (WebCore::fontSizeChangesComputedStyle):
68558        (WebCore::fontFaceChangesComputedStyle):
68559        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
68560
685612008-11-19  Simon Fraser  <simon.fraser@apple.com>
68562
68563        Reviewed by Antti Koivisto
68564
68565        https://bugs.webkit.org/show_bug.cgi?id=22111
68566
68567        Fix hit testing in controls on transformed video elements
68568        by replacing absoluteBoundingBoxRect().contains() with
68569        code that maps the point into local coords, taking
68570        transforms into account.
68571
68572        Test: media/video-controls-transformed.html
68573
68574        * platform/graphics/MediaPlayer.h:
68575        * rendering/RenderMedia.cpp:
68576        (WebCore::rendererContainsPoint):
68577        (WebCore::RenderMedia::forwardEvent):
68578
685792008-11-19  Simon Fraser  <simon.fraser@apple.com>
68580
68581        Reviewed by Darin Adler
68582
68583        https://bugs.webkit.org/show_bug.cgi?id=22348
68584
68585        Need to educate style sharing about autofill, so that style does not
68586        get shared between input elements that are autofilled, and those
68587        that are not. Setting autofill should also do a setChanged on the node.
68588
68589        * css/CSSStyleSelector.cpp:
68590        (WebCore::CSSStyleSelector::canShareStyleWithElement):
68591        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
68592        * dom/Node.h:
68593        (WebCore::Node::isAutofilled):
68594        * html/HTMLInputElement.cpp:
68595        (WebCore::HTMLInputElement::setAutofilled):
68596        * html/HTMLInputElement.h:
68597        (WebCore::HTMLInputElement::isAutofilled):
68598
685992008-11-19  Brett Wilson  <brettw@chromium.org>
68600
68601        Reviewed by Antti Koivisto.
68602
68603        https://bugs.webkit.org/show_bug.cgi?id=22349
68604
68605        Clear the subresource loader client when the client is removed in
68606        response to a 304 (not modified). This prevents an inconsistent state
68607        where the loader thinks it's active and the loader::Host doesn't.
68608
68609        * loader/loader.cpp:
68610        (WebCore::Loader::Host::didReceiveResponse):
68611
686122008-11-19  Alexey Proskuryakov  <ap@webkit.org>
68613
68614        Reviewed by Darin Adler.
68615
68616        https://bugs.webkit.org/show_bug.cgi?id=22355
68617        Systematize code for replacing global constructors
68618
68619        Test: fast/workers/worker-replace-global-constructor.html
68620
68621        * bindings/js/JSDOMWindowBase.cpp:
68622        (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
68623        code for global constructor setters does.
68624        (setJSDOMWindowBaseAudio): Ditto.
68625        (setJSDOMWindowBaseImage): Ditto.
68626        (setJSDOMWindowBaseMessageChannel): Ditto.
68627        (setJSDOMWindowBaseOption): Ditto.
68628        (setJSDOMWindowBaseWorker): Ditto.
68629        (setJSDOMWindowBaseXMLHttpRequest): Ditto.
68630        (setJSDOMWindowBaseXSLTProcessor): Ditto.
68631        (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
68632
68633        * bindings/js/JSWorkerContext.cpp:
68634        (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
68635        as it is done for Window.
68636        (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
68637        constructors are.
68638        (WebCore::setJSWorkerContextWorkerLocation): Ditto.
68639
686402008-11-19  Alexey Proskuryakov  <ap@webkit.org>
68641
68642        Reviewed by Darin Adler.
68643
68644        https://bugs.webkit.org/show_bug.cgi?id=22341
68645        Text codecs should not use static data without locking
68646
68647        * platform/text/TextCodecICU.cpp:
68648        * platform/text/mac/TextCodecMac.cpp:
68649        Made cached converters per-thread.
68650
68651        * platform/text/TextEncodingRegistry.cpp:
68652        (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
68653        (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
68654        causes a deadlock due to a recursive call into registry.
68655        (WebCore::buildBaseTextCodecMaps): Added assertions.
68656        (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
68657        (WebCore::atomicCanonicalTextEncodingName): Ditto.
68658        (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
68659        necessary here.
68660
686612008-11-19  Alexey Proskuryakov  <ap@webkit.org>
68662
68663        Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
68664
68665        * WebCorePrefix.h:
68666
686672008-11-19  Alexey Proskuryakov  <ap@webkit.org>
68668
68669        Reviewed by Darin Adler.
68670
68671        https://bugs.webkit.org/show_bug.cgi?id=22310
68672        Worker exceptions should be printed to console
68673
68674        * dom/Document.cpp: (WebCore::Document::reportException):
68675        * dom/Document.h:
68676        * dom/ScriptExecutionContext.h:
68677        * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
68678        * dom/WorkerContext.h:
68679        Added a reportException() method on ScriptExecutionContext. It forwards the exception info
68680        up until it finds a Document context, and then it prints it to console.
68681
68682        * bindings/js/JSEventListener.cpp:
68683        (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
68684        ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
68685        could be called from workers.
68686        (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
68687
68688        * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
68689        Report exceptions to ScriptExecutionContext.
68690
68691        * dom/WorkerMessagingProxy.cpp:
68692        (WebCore::MessageWorkerTask::performTask):
68693        (WebCore::WorkerExceptionTask::create):
68694        (WebCore::WorkerExceptionTask::WorkerExceptionTask):
68695        (WebCore::WorkerExceptionTask::performTask):
68696        (WebCore::WorkerMessagingProxy::postWorkerException):
68697        * dom/WorkerMessagingProxy.h:
68698        Added a task for posting exception information.
68699
68700        * bindings/js/JSDOMBinding.cpp:
68701        (WebCore::reportException):
68702        (WebCore::reportCurrentException):
68703        * bindings/js/JSDOMBinding.h:
68704        Added helper methods for reporting exceptions via ScriptExecutionContext.
68705
68706        * page/Console.cpp:
68707        * page/Console.h:
68708        Removed methods for directly reporting exceptions to console.
68709
68710        * bindings/js/JSCustomPositionCallback.cpp:
68711        (WebCore::JSCustomPositionCallback::handleEvent):
68712        * bindings/js/JSCustomPositionErrorCallback.cpp:
68713        (WebCore::JSCustomPositionErrorCallback::handleEvent):
68714        * bindings/js/JSCustomSQLStatementCallback.cpp:
68715        (WebCore::JSCustomSQLStatementCallback::handleEvent):
68716        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
68717        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
68718        * bindings/js/JSCustomSQLTransactionCallback.cpp:
68719        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
68720        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
68721        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
68722        * bindings/js/JSCustomVoidCallback.cpp:
68723        (WebCore::JSCustomVoidCallback::handleEvent):
68724        * bindings/js/JSCustomXPathNSResolver.cpp:
68725        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
68726        * bindings/js/ScheduledAction.cpp:
68727        (WebCore::ScheduledAction::execute):
68728        * bindings/js/ScriptController.cpp:
68729        (WebCore::ScriptController::evaluate):
68730        * bindings/objc/WebScriptObject.mm:
68731        (WebCore::addExceptionToConsole):
68732        Switch to JSDOMBinding methods for reporting exceptions.
68733
687342008-11-18  Dan Bernstein  <mitz@apple.com>
68735
68736        Reviewed by Mark Rowe.
68737
68738        - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
68739          <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
68740
68741        * platform/ContextMenuItem.h:
68742        (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
68743        the one in WebUIDelegate.h.
68744
687452008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
68746
68747        Reviewed by Darin Adler.
68748
68749        https://bugs.webkit.org/show_bug.cgi?id=22346
68750        PlatformString should also include HashSet.h for non-JSC builds
68751
68752        * platform/text/PlatformString.h:
68753
687542008-11-18  Adele Peterson  <adele@apple.com>
68755
68756        Reviewed by Holger Hans Peter Freyther.
68757
68758        Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
68759
68760        * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
68761
687622008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
68763
68764        Reviewed by Sam Weinig.
68765
68766        https://bugs.webkit.org/show_bug.cgi?id=22343
68767        Remove unused runtime/Collector, JSLock includes in Page.cpp
68768
68769        * page/Page.cpp:
68770
687712008-11-18  Ada Chan  <adachan@apple.com>
68772
68773        Bug 22344: Make select popup window opaque
68774        https://bugs.webkit.org/show_bug.cgi?id=22344
68775
68776        Reviewed by Steve Falkenburg.
68777
68778        * platform/win/PopupMenuWin.cpp:
68779        (WebCore::PopupMenu::show):
68780
687812008-11-18  Dimitri Glazkov  <dglazkov@chromium.org>
68782
68783        Reviewed by Sam Weinig.
68784
68785        https://bugs.webkit.org/show_bug.cgi?id=22342
68786        Remove unused JSLock.h include
68787
68788        * dom/Document.cpp:
68789
687902008-11-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
68791
68792        Reviewed by Sam Weinig.
68793
68794        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
68795
68796        Add WMLBRElement, correcting <br/> behaviour in WML.
68797        Enable entity replacment for WML documents.
68798        Handle WML specific <p> 'mode' attribute.
68799
68800        Generate layout tests results for fast/wml.
68801
68802        Tests cases that pass now:
68803        fast/wml/br-element-in-table.wml
68804        fast/wml/br-element-in-text.wml
68805        fast/wml/case-sensitivity.wml
68806        fast/wml/cdata-section.wml
68807        fast/wml/comment.wml
68808        fast/wml/entity.wml
68809        fast/wml/p-align.wml
68810        fast/wml/p-mode.wml
68811        fast/wml/text-emphasis.wml
68812        fast/wml/validate-dtd.wml
68813
68814        * GNUmakefile.am:
68815        * WebCore.pro:
68816        * WebCore.xcodeproj/project.pbxproj:
68817        * dom/XMLTokenizer.cpp:
68818        (WebCore::XMLTokenizer::isWMLDocument):
68819        (WebCore::XMLTokenizer::insertErrorMessageBlock):
68820        * dom/XMLTokenizer.h:
68821        * dom/XMLTokenizerLibxml2.cpp:
68822        (WebCore::XMLTokenizer::internalSubset):
68823        (WebCore::getEntityHandler):
68824        * dom/XMLTokenizerQt.cpp:
68825        (WebCore::XMLTokenizer::parse):
68826        * wml/WMLBRElement.cpp: Added.
68827        (WebCore::WMLBRElement::WMLBRElement):
68828        (WebCore::WMLBRElement::mapToEntry):
68829        (WebCore::WMLBRElement::parseMappedAttribute):
68830        (WebCore::WMLBRElement::createRenderer):
68831        * wml/WMLBRElement.h: Added.
68832        * wml/WMLPElement.cpp:
68833        (WebCore::WMLPElement::parseMappedAttribute):
68834        (WebCore::WMLPElement::insertedIntoDocument):
68835        * wml/WMLPElement.h:
68836        * wml/WMLTagNames.in:
68837
688382008-11-18  Alexey Proskuryakov  <ap@webkit.org>
68839
68840        Windows build fix.
68841
68842        * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
68843
688442008-11-18  Darin Adler  <darin@apple.com>
68845
68846        - try to fix Wx build
68847
68848        * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
68849
688502008-11-18  Alexey Proskuryakov  <ap@webkit.org>
68851
68852        Reviewed by Darin Adler.
68853
68854        https://bugs.webkit.org/show_bug.cgi?id=22337
68855        Enable workers by default
68856
68857        Tests: fast/workers/worker-constructor.html
68858               fast/workers/worker-event-listener.html
68859               fast/workers/worker-gc.html
68860               fast/workers/worker-location.html
68861
68862        * Configurations/WebCore.xcconfig:
68863        * WebCore.vcproj/WebCore.vcproj:
68864        * WebCore.vcproj/build-generated-files.sh:
68865        Define ENABLE_WORKERS.
68866
688672008-11-18  Darin Adler  <darin@apple.com>
68868
68869        Reviewed by Alexey Proskuryakov.
68870
68871        - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
68872          <rdar://problem/5516594> please add support for HTTP-only cookies
68873
68874        Test: http/tests/xmlhttprequest/get-dangerous-headers.html
68875
68876        No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
68877        require an updated CFNetwork.
68878
68879        * platform/mac/CookieJar.mm:
68880        (WebCore::isHTTPOnly): Added.
68881        (WebCore::filterCookies): Added.
68882        (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
68883        (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
68884
68885        * platform/network/win/CookieJarCFNetWin.cpp:
68886        (WebCore::isHTTPOnly): Added.
68887        (WebCore::filterCookies): Added.
68888        (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
68889        (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
68890
68891        * xml/XMLHttpRequest.cpp:
68892        (WebCore::isSetCookieHeader): Added.
68893        (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
68894        clients that don't have local-resource privileges.
68895        (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
68896
68897        - clean soup-specific details out of shared cookie jar header
68898
68899        * platform/CookieJar.h: Removed the soup-specific parts of this.
68900        * platform/network/soup/CookieJarSoup.cpp: Changed to include
68901        CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
68902        * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
68903        part of CookieJar.h.
68904        * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
68905        CookieJarSoup.h.
68906
689072008-11-18  Steve Falkenburg  <sfalken@apple.com>
68908
68909        https://bugs.webkit.org/show_bug.cgi?id=22329
68910        Improper bitwise and tests against 0 in Windows context menu code
68911
68912        Reviewed by John Sullivan.
68913
68914        * platform/win/ContextMenuItemWin.cpp:
68915        (WebCore::ContextMenuItem::type):
68916        (WebCore::ContextMenuItem::enabled):
68917
689182008-11-18  John Sullivan  <sullivan@apple.com>
68919
68920        Yet more Mac build fixing
68921
68922        * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
68923
689242008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
68925
68926        Reviewed by Simon Hausmann.
68927
68928        React properly to frame rect changes for QWidget based plugins
68929
68930        We now set the geometry of the QWidget in frameRectsChanged,
68931        intead of setFrameRect, which means we pick up the changes to
68932        the frame rect when scrolling. We also set a mask on the
68933        widget to keep it from painting over scrollbars and the like
68934
68935        * platform/qt/WidgetQt.cpp:
68936        (WebCore::Widget::setFrameRect):
68937
689382008-11-18  Tor Arne Vestbø  <tavestbo@trolltech.com>
68939
68940        Rubber-stamped by Simon Hausmann.
68941
68942        Don't mark scrollbars as focused in QtWebKit
68943
68944        When initing from the widget we also got the focus state,
68945        but this does not make sense for scrollbars.
68946
68947        * platform/qt/ScrollbarThemeQt.cpp:
68948        (WebCore::styleOptionSlider):
68949
689502008-11-18  Alexey Proskuryakov  <ap@webkit.org>
68951
68952        More Mac build fixing.
68953
68954        * WebCore.base.exp: Export FrameLoaderClient destructor.
68955
689562008-11-18  Alexey Proskuryakov  <ap@webkit.org>
68957
68958        Mac build fix.
68959
68960        * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
68961
689622008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
68963
68964        Reviewed by Simon Hausmann.
68965
68966        https://bugs.webkit.org/show_bug.cgi?id=22056
68967
68968        Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
68969
68970        After Hyatt's work on Widget and ScrollView there is little difference
68971        between the implementation of Qt, Gtk+ and Win. In fact any kind of
68972        difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
68973        port and the Qt port has at least one of them left.
68974
68975        The only difference between the implementations is in getting the the
68976        IntSize for the new FrameView, the background color to be applied and
68977        eventually some post processing.
68978
68979        Unify the implementations by providing a static helper function that
68980        takes a Frame, IntSize, color and transparency bit and calling it from
68981        the Gtk+, the Qt and the Windows port.
68982
68983        * GNUmakefile.am:
68984        * WebCore.pro:
68985        * WebCore.vcproj/WebCore.vcproj:
68986        * loader/FrameLoaderClient.cpp: Added.
68987        (WebCore::FrameLoaderClient::~FrameLoaderClient):
68988        (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
68989        * loader/FrameLoaderClient.h:
68990
689912008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>
68992
68993        Reviewed by Simon Hausmann.
68994
68995        https://bugs.webkit.org/show_bug.cgi?id=22056
68996
68997        Move setting the background color and transparency from WebKit/win
68998        to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
68999        to share this code.
69000
69001        * page/FrameView.cpp:
69002        (WebCore::FrameView::updateBackgroundRecursively):
69003        * page/FrameView.h:
69004
690052008-11-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
69006
69007        Reviewed by Tor Arne Vestbø.
69008
69009        Fix the bug where select elements are painted without border.
69010        http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
69011
69012        * platform/qt/RenderThemeQt.cpp:
69013        (WebCore::RenderThemeQt::paintMenuList):
69014
690152008-11-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
69016
69017        Gtk build fix. Not reviewed.
69018
69019        * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
69020        not in wml/.
69021
690222008-11-18  Alexey Proskuryakov  <ap@webkit.org>
69023
69024        Reviewed by Darin Adler.
69025
69026        https://bugs.webkit.org/show_bug.cgi?id=22308
69027        Improve Worker GC behavior
69028
69029        * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
69030        * dom/ActiveDOMObject.h:
69031        Made hasPendingActivity() virtual, letting Worker add behavior to it.
69032
69033        * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
69034        * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
69035        Tell message proxy whether there are active objects in the worker whenever JS execution
69036        finishes.
69037
69038        * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
69039        Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
69040
69041        * dom/Worker.h:
69042        * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
69043        loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
69044
69045        * dom/WorkerContext.h:
69046        * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
69047        active objects for pending activity.
69048
69049        * dom/WorkerMessagingProxy.cpp:
69050        (WebCore::MessageWorkerContextTask::performTask):
69051        (WebCore::WorkerThreadActivityReportTask::create):
69052        (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
69053        (WebCore::WorkerThreadActivityReportTask::performTask):
69054        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
69055        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
69056        (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
69057        (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
69058        (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
69059        (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
69060        (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
69061        (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
69062        * dom/WorkerMessagingProxy.h:
69063        Track outstanding messages, and activity reported by worker thread.
69064
690652008-11-18  Alexey Proskuryakov  <ap@webkit.org>
69066
69067        Rubber-stamped by Darin Adler.
69068
69069        https://bugs.webkit.org/show_bug.cgi?id=22306
69070        Disable channel messaging support
69071
69072        * bindings/js/JSDOMWindowBase.cpp:
69073        (jsDOMWindowBaseMessageChannel):
69074        * page/DOMWindow.idl:
69075        Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
69076        constructor is added, it remains enumerable, but undefined.
69077
690782008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
69079
69080        Reviewed by Mark Rowe.
69081
69082        Remove WBXML code. MainResourceLoader is not an appropriate location.
69083        Revert until we find a better place.
69084
69085        The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
69086        Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
69087
69088        * WebCore.pro:
69089        * dom/DOMImplementation.cpp:
69090        (WebCore::DOMImplementation::createDocument):
69091        * loader/MainResourceLoader.cpp:
69092        (WebCore::MainResourceLoader::addData):
69093        * platform/MIMETypeRegistry.cpp:
69094        (WebCore::initializeSupportedNonImageMimeTypes):
69095
690962008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
69097
69098        Not reviewed. Build fix.
69099
69100        Oops, disable WML by default on Qt.
69101
69102        * WebCore.pro:
69103
691042008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
69105
69106        Reviewed by George Staikos.
69107
69108        Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
69109
69110        Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
69111        Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
69112
69113        WML is not build by default.
69114
69115        * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
69116        * GNUmakefile.am: Add new files and generator hooks.
69117        * WebCore.pro: Ditto.
69118        * WebCore.xcodeproj/project.pbxproj: Ditto.
69119        * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
69120        (WebCore::linkAttribute):
69121        (WebCore::CSSStyleSelector::styleForElement):c
69122        * css/wml.css: Added.
69123        * dom/DOMImplementation.cpp: Handle WMLDocument creation
69124        (WebCore::DOMImplementation::createDocument):
69125        * dom/Document.cpp: Handle WMLElement creation.
69126        (WebCore::Document::createElement):
69127        * dom/Document.h: Add helper function identifying WML documents.
69128        (WebCore::Document::isWMLDocument):
69129        * dom/Node.h: Add heper function identifying WML elements.
69130        (WebCore::Node::isWMLElement):
69131        * dom/XMLTokenizer.cpp: Handle errors in WML documents
69132        (WebCore::XMLTokenizer::insertErrorMessageBlock):
69133        * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
69134        (WebCore::XMLTokenizer::internalSubset):
69135        * dom/XMLTokenizerQt.cpp: Ditto.
69136        (WebCore::):
69137        * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
69138        * history/BackForwardList.cpp: Add WML specific function for clearing the history.
69139        (WebCore::BackForwardList::clearWmlPageHistory):
69140        * history/BackForwardList.h:
69141        * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
69142        (WebCore::FrameLoader::FrameLoader):
69143        (WebCore::FrameLoader::setForceReloadWmlDeck):
69144        (WebCore::FrameLoader::shouldReload):
69145        (WebCore::FrameLoader::loadItem):
69146        * loader/FrameLoader.h:
69147        * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
69148        (WebCore::MainResourceLoader::addData):
69149        * page/Frame.cpp: Initialize WMLNames.
69150        (WebCore::Frame::Frame):
69151        * page/Page.cpp: Maintain WMLPageState object per Page.
69152        (WebCore::Page::Page):
69153        (WebCore::Page::setWMLPageState):
69154        (WebCore::Page::wmlPageState):
69155        * page/Page.h:
69156        * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
69157        (WebCore::initializeSupportedNonImageMimeTypes):
69158        * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
69159        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
69160        * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
69161        (WebCore::):
69162        * platform/win/MIMETypeRegistryWin.cpp: Ditto.
69163        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
69164        * manual-tests/wml: Added.
69165        * manual-tests/wml/a-br-element.wml: Added.
69166        * manual-tests/wml/a-element.wml: Added.
69167        * manual-tests/wml/a-img-element.wml: Added.
69168        * manual-tests/wml/access-target.wml: Added.
69169        * manual-tests/wml/anchor-br-element.wml: Added.
69170        * manual-tests/wml/anchor-element.wml: Added.
69171        * manual-tests/wml/anchor-img-element.wml: Added.
69172        * manual-tests/wml/card-newcontext-attr.wml: Added.
69173        * manual-tests/wml/card-onenterbackward.wml: Added.
69174        * manual-tests/wml/card-onenterforward.wml: Added.
69175        * manual-tests/wml/card-ontimer.wml: Added.
69176        * manual-tests/wml/deck-access-control.wml: Added.
69177        * manual-tests/wml/go-element.wml: Added.
69178        * manual-tests/wml/input-emptyok.wml: Added.
69179        * manual-tests/wml/input-format.wml: Added.
69180        * manual-tests/wml/onevent-go.wml: Added.
69181        * manual-tests/wml/onevent-noop.wml: Added.
69182        * manual-tests/wml/onevent-prev.wml: Added.
69183        * manual-tests/wml/onevent-refresh.wml: Added.
69184        * manual-tests/wml/onevent-shadow.wml: Added.
69185        * manual-tests/wml/postfield-get.wml: Added.
69186        * manual-tests/wml/postfield-post.wml: Added.
69187        * manual-tests/wml/select-element.wml: Added.
69188        * manual-tests/wml/select-onpick-event.wml: Added.
69189        * manual-tests/wml/setvar-element.wml: Added.
69190        * manual-tests/wml/targetdeck.wml: Added.
69191        * manual-tests/wml/task-go-in-anchor.wml: Added.
69192        * manual-tests/wml/task-noop-in-do.wml: Added.
69193        * manual-tests/wml/task-noop-in-onevent.wml: Added.
69194        * manual-tests/wml/task-prev-in-anchor.wml: Added.
69195        * manual-tests/wml/task-refresh-in-anchor.wml: Added.
69196        * manual-tests/wml/template-go.wml: Added.
69197        * manual-tests/wml/template-onevent.wml: Added.
69198        * manual-tests/wml/template-ontimer.wml: Added.
69199        * manual-tests/wml/timer.wml: Added.
69200        * manual-tests/wml/variable-substitution.wml: Added.
69201        * wml: Added.
69202        * wml/WMLAElement.cpp: Added.
69203        (WebCore::WMLAElement::WMLAElement):
69204        (WebCore::WMLAElement::parseMappedAttribute):
69205        (WebCore::WMLAElement::supportsFocus):
69206        (WebCore::WMLAElement::isFocusable):
69207        (WebCore::WMLAElement::isMouseFocusable):
69208        (WebCore::WMLAElement::isKeyboardFocusable):
69209        (WebCore::WMLAElement::defaultEventHandler):
69210        (WebCore::WMLAElement::accessKeyAction):
69211        (WebCore::WMLAElement::isURLAttribute):
69212        (WebCore::WMLAElement::target):
69213        * wml/WMLAElement.h: Added.
69214        * wml/WMLAttributeNames.in: Added.
69215        * wml/WMLCardElement.cpp: Added.
69216        (WebCore::WMLCardElement::WMLCardElement):
69217        * wml/WMLCardElement.h: Added.
69218        * wml/WMLDocument.cpp: Added.
69219        (WebCore::WMLDocument::WMLDocument):
69220        (WebCore::WMLDocument::~WMLDocument):
69221        * wml/WMLDocument.h: Added.
69222        (WebCore::WMLDocument::create):
69223        (WebCore::WMLDocument::isWMLDocument):
69224        * wml/WMLElement.cpp: Added.
69225        (WebCore::WMLElement::WMLElement):
69226        (WebCore::WMLElement::mapToEntry):
69227        (WebCore::WMLElement::parseMappedAttribute):
69228        (WebCore::WMLElement::rendererIsNeeded):
69229        (WebCore::WMLElement::createRenderer):
69230        * wml/WMLElement.h: Added.
69231        (WebCore::WMLElement::isWMLElement):
69232        * wml/WMLPElement.cpp: Added.
69233        (WebCore::WMLPElement::WMLPElement):
69234        (WebCore::WMLPElement::mapToEntry):
69235        (WebCore::WMLPElement::parseMappedAttribute):
69236        * wml/WMLPElement.h: Added.
69237        * wml/WMLPageState.cpp: Added.
69238        (WebCore::WMLPageState::WMLPageState):
69239        (WebCore::WMLPageState::~WMLPageState):
69240        (WebCore::WMLPageState::reset):
69241        (WebCore::WMLPageState::setNeedCheckDeckAccess):
69242        (WebCore::WMLPageState::isDeckAccessible):
69243        * wml/WMLPageState.h: Added.
69244        (WebCore::WMLPageState::storeVariable):
69245        (WebCore::WMLPageState::storeVariables):
69246        (WebCore::WMLPageState::getVaribale):
69247        (WebCore::WMLPageState::hasVariables):
69248        (WebCore::WMLPageState::historyLength):
69249        (WebCore::WMLPageState::setHistoryLength):
69250        (WebCore::WMLPageState::page):
69251        (WebCore::WMLPageState::activeCard):
69252        (WebCore::WMLPageState::setActiveCard):
69253        (WebCore::WMLPageState::setDeckAccessDomain):
69254        (WebCore::WMLPageState::setDeckAccessPath):
69255        (WebCore::WMLPageState::hasDeckAccess):
69256        * wml/WMLTagNames.in: Added.
69257
692582008-11-17  Geoffrey Garen  <ggaren@apple.com>
69259
69260        Reviewed by Sam Weinig.
69261
69262        Updated for JavaScriptCore renames.
69263
69264        * WebCore.pro:
69265        * webcore-base.bkl:
69266
692672008-11-17  Justin Garcia  <justin.garcia@apple.com>
69268
69269        Reviewed by Beth Dakin.
69270
69271        <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
69272
69273        There was code to intentionally avoid quoting pasted content if less than a paragraph of
69274        it was copied.  That was added for <rdar://problem/5006779>, but was unnecessary because
69275        that bug was about Paste and Match style for single paragraphs.  And quote stripping for
69276        Paste and Match style is handled elsewhere.
69277
69278        * editing/markup.cpp:
69279        (WebCore::createMarkup):
69280
692812008-11-17  Geoffrey Garen  <ggaren@apple.com>
69282
69283        Reviewed by Sam Weinig.
69284
69285        Updated for JavaScriptCore rename.
69286
69287        * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
69288        * ForwardingHeaders/runtime/ExecState.h: Removed.
69289        * bindings/objc/WebScriptObject.mm:
69290        * bridge/c/c_instance.cpp:
69291        * bridge/jni/jni_jsobject.mm:
69292        * dom/Node.cpp:
69293        * dom/NodeFilter.cpp:
69294        * dom/NodeIterator.cpp:
69295        * dom/TreeWalker.cpp:
69296        * inspector/JavaScriptCallFrame.h:
69297
692982008-11-17  Pierre-Olivier Latour  <pol@apple.com>
69299
69300        Reviewed by Sam Weinig.
69301
69302        Added functionality to AnimationController to allow pausing a running
69303        animation or transition at a given time for testing purposes.
69304
69305        https://bugs.webkit.org/show_bug.cgi?id=21261
69306
69307        Tests: animations/animation-drt-api.html
69308               transitions/transition-drt-api.html
69309
69310        * WebCore.base.exp:
69311        * WebCore.xcodeproj/project.pbxproj:
69312        * page/animation/AnimationBase.cpp:
69313        (WebCore::AnimationBase::updateStateMachine):
69314        (WebCore::AnimationBase::progress):
69315        (WebCore::AnimationBase::pauseAtTime):
69316        * page/animation/AnimationBase.h:
69317        * page/animation/AnimationController.cpp:
69318        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
69319        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
69320        (WebCore::AnimationController::pauseAnimationAtTime):
69321        (WebCore::AnimationController::pauseTransitionAtTime):
69322        * page/animation/AnimationController.h:
69323        * page/animation/CompositeAnimation.cpp:
69324        (WebCore::CompositeAnimationPrivate::isAnimating):
69325        (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
69326        (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
69327        (WebCore::CompositeAnimation::pauseAnimationAtTime):
69328        (WebCore::CompositeAnimation::pauseTransitionAtTime):
69329        * page/animation/CompositeAnimation.h:
69330        * page/animation/ImplicitAnimation.cpp:
69331        (WebCore::ImplicitAnimation::animate):
69332
693332008-11-17  Geoffrey Garen  <ggaren@apple.com>
69334
69335        Reviewed by Sam Weinig.
69336
69337        Updated for JavaScriptCore renames.
69338
69339        * ForwardingHeaders/VM: Removed.
69340        * ForwardingHeaders/VM/Machine.h: Removed.
69341        * ForwardingHeaders/interpreter: Added.
69342        * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
69343        * WebCore.pro:
69344        * bindings/js/JSXMLHttpRequestCustom.cpp:
69345        * page/Console.cpp:
69346        * webcore-base.bkl:
69347
693482008-11-17  Geoffrey Garen  <ggaren@apple.com>
69349
69350        Reviewed by Sam Weinig.
69351
69352        Updated for JavaScriptCore renames.
69353
69354        * ForwardingHeaders/runtime/Interpreter.h: Removed.
69355        * WebCore.vcproj/WebCore.vcproj:
69356        * bindings/js/JSDOMBinding.h:
69357        * bindings/js/WorkerScriptController.cpp:
69358        * bindings/objc/WebScriptObject.mm:
69359        * bridge/NP_jsobject.cpp:
69360        * bridge/jni/jni_jsobject.mm:
69361        * html/CanvasRenderingContext2D.cpp:
69362        * inspector/JavaScriptCallFrame.cpp:
69363        * page/Console.cpp:
69364
693652008-11-17  Geoffrey Garen  <ggaren@apple.com>
69366
69367        Not reviewed.
69368
69369        Try to fix wx build.
69370
69371        * webcore-base.bkl:
69372
693732008-11-17  Greg Bolsinga  <bolsinga@apple.com>
69374
69375        Reviewed by Darin Adler.
69376
69377        https://bugs.webkit.org/show_bug.cgi?id=21810
69378        Remove use of static C++ objects that are destroyed at exit time (destructors)
69379
69380        Find some missing DEFINE_STATIC_LOCAL use cases.
69381
69382        * bindings/js/JSSVGPODTypeWrapper.h:
69383        (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
69384        (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
69385        * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
69386        * page/AccessibilityRenderObject.cpp:
69387        (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
69388        * platform/graphics/FontCache.cpp:
69389        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
69390        (WebCore::FontDataCacheKeyTraits::emptyValue):
69391        * rendering/style/RenderStyle.h:
69392        (WebCore::InheritedFlags::initialTransform):
69393
693942008-11-17  Geoffrey Garen  <ggaren@apple.com>
69395
69396        Not reviewed.
69397
69398        Try to fix Qt build.
69399
69400        * WebCore.pro:
69401
694022008-11-16  Simon Fraser  <simon.fraser@apple.com>
69403
69404        Reviewed by Dan Bernstein
69405
69406        https://bugs.webkit.org/show_bug.cgi?id=22118
69407
69408        Fix resize corner tracking in transformed elements by using
69409        mapping the point into local coords using absoluteToLocal,
69410        rather than convertToLayerCoords.
69411
69412        Test: fast/css/resize-corner-tracking-transformed.html
69413
69414        * page/EventHandler.h:
69415        * rendering/RenderLayer.cpp:
69416        (WebCore::RenderLayer::absoluteToContents):
69417        (WebCore::RenderLayer::offsetFromResizeCorner):
69418        (WebCore::RenderLayer::isPointInResizeControl):
69419        * rendering/RenderLayer.h:
69420
694212008-11-16  Geoffrey Garen  <ggaren@apple.com>
69422
69423        Not reviewed.
69424
69425        Try to fix Qt build.
69426
69427        * WebCore.pro:
69428
694292008-11-16  Greg Bolsinga  <bolsinga@apple.com>
69430
69431        Reviewed by Geoffrey Garen.
69432
69433        Use RefPtr and PassRefPtr where appropriate.
69434
69435        * loader/FTPDirectoryDocument.cpp:
69436        (WebCore::createTemplateDocumentData):
69437
694382008-11-16  Greg Bolsinga  <bolsinga@apple.com>
69439
69440        Fix build break for real.
69441
69442        * loader/FTPDirectoryDocument.cpp:
69443        (WebCore::createTemplateDocumentData):
69444
694452008-11-16  Greg Bolsinga  <bolsinga@apple.com>
69446
69447        Fix build break and bug.
69448
69449        * loader/FTPDirectoryDocument.cpp:
69450        (WebCore::createTemplateDocumentData):
69451
694522008-11-16  Greg Bolsinga  <bolsinga@apple.com>
69453
69454        Reviewed by Darin Adler.
69455
69456        https://bugs.webkit.org/show_bug.cgi?id=21810
69457        Remove use of static C++ objects that are destroyed at exit time (destructors)
69458
69459        Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
69460        uses of DEFINE_STATIC_LOCAL where appropriate.
69461
69462        * html/HTMLTableElement.cpp:
69463        (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
69464        * loader/CachedImage.cpp:
69465        (WebCore::brokenImage):
69466        (WebCore::nullImage):
69467        * loader/FTPDirectoryDocument.cpp:
69468        (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
69469        (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
69470        * loader/icon/IconDatabase.cpp:
69471        (WebCore::loadDefaultIconRecord):
69472        * page/AccessibilityObject.cpp:
69473        (WebCore::AccessibilityObject::actionVerb):
69474        * page/AccessibilityRenderObject.cpp:
69475        (WebCore::AccessibilityRenderObject::actionVerb):
69476        * page/mac/EventHandlerMac.mm:
69477        (WebCore::currentEvent):
69478        * platform/ScrollView.cpp:
69479        (WebCore::ScrollView::paint):
69480        * platform/graphics/Image.cpp:
69481        (WebCore::Image::nullImage):
69482        * platform/graphics/mac/ColorMac.mm:
69483        (WebCore::nsColor):
69484        * platform/graphics/mac/FontCacheMac.mm: new the Strings
69485        (WebCore::FontCache::getSimilarFontPlatformData):
69486        * platform/graphics/mac/GraphicsContextMac.mm:
69487        (WebCore::_createPatternColor): Created so accessor has one line initialization
69488        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
69489        * platform/graphics/mac/SimpleFontDataMac.mm:
69490        (WebCore::webFallbackFontFamily):
69491        * platform/mac/PasteboardMac.mm:
69492        (WebCore::writableTypesForURL):
69493        (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
69494        (WebCore::writableTypesForImage):
69495        (WebCore::stripAttachmentCharacters):
69496        * rendering/RenderLayer.cpp:
69497        (WebCore::RenderLayer::paintResizer):
69498
694992008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
69500
69501        Reviewed by Darin Adler.
69502
69503        Do not spit Curl errors into the stdout as this is used by DRT
69504
69505        We have failing tests results due the curl errors printed to stdout,
69506        move them to stderr to be able to pass those tests.
69507
69508        * platform/network/curl/ResourceHandleManager.cpp:
69509        (WebCore::ResourceHandleManager::startJob):
69510
695112008-11-16  Holger Hans Peter Freyther  <zecke@selfish.org>
69512
69513        - fix the Gtk+ build
69514
69515        * GNUmakefile.am:
69516
695172008-11-16  Darin Adler  <darin@apple.com>
69518
69519        - try to fix Qt build
69520
69521        * WebCore.pro: Add the worker-related source files.
69522
695232008-11-16  Darin Adler  <darin@apple.com>
69524
69525        Suggested by Alexey Proskuryakov.
69526
69527        - fix the GTK build another way
69528
69529        * GNUmakefile.am: Add the worker-related source files.
69530        * bindings/js/JSEventTarget.cpp: Take the #if back out.
69531
695322008-11-16  Darin Adler  <darin@apple.com>
69533
69534        - try to fix GTK build
69535
69536        * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
69537
695382008-11-16  Darin Adler  <darin@apple.com>
69539
69540        Reviewed by Dan Bernstein.
69541
69542        - https://bugs.webkit.org/show_bug.cgi?id=22295
69543          track which history items are from page load failures
69544
69545        * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
69546        no-longer-needed ones.
69547        (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
69548        (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
69549        String, since that's not efficient.
69550
69551        * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
69552        setLastVisitWasFailure, and m_lastVisitWasFailure.
69553
69554        * history/mac/HistoryItemMac.mm: Add newly-needed include
69555        (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
69556        m_transientProperties map around when it is empty.
69557
69558        * loader/FrameLoader.cpp:
69559        (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
69560        the page was unreachable or an HTTP page with a status code that indicates
69561        failure.
69562
695632008-11-16  Yong Li  <yong.li@torchmobile.com>
69564
69565        Reviewed by Timothy Hatcher.
69566        Landed by George Staikos.
69567
69568        Optimization: don't relayout, repaint, or emit a DOM event if the
69569        scroll event didn't scroll anywhere.
69570
69571        * rendering/RenderLayer.cpp:
69572        (WebCore::RenderLayer::scrollToOffset): add early exit
69573
695742008-11-16  Alexey Proskuryakov  <ap@webkit.org>
69575
69576        Reviewed by Dan Bernstein.
69577
69578        https://bugs.webkit.org/show_bug.cgi?id=22290
69579        Remove cross-heap GC and MessagePort multi-threading support
69580
69581        It is broken (and may not be implementable at all), and no longer needed, as we
69582        don't use MessagePorts for communication with workers any more.
69583
69584        * bindings/js/JSDOMBinding.cpp:
69585        * bindings/js/JSDOMBinding.h:
69586        * bindings/js/JSDOMWindowBase.cpp:
69587        * bindings/js/JSDOMWindowBase.h:
69588        Removed cross-heap GC implementation.
69589
69590        * dom/MessagePort.cpp:
69591        (WebCore::MessagePort::hasPendingActivity):
69592        * dom/MessagePort.h:
69593        Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
69594        unnecessarily complicated for single threaded case.
69595
695962008-11-14  Alexey Proskuryakov  <ap@webkit.org>
69597
69598        Reviewed by Maciej Stachowiak.
69599
69600        https://bugs.webkit.org/show_bug.cgi?id=22266
69601        Stop using MessagePort for communication with workers
69602
69603        The current MessagePort specification is not well suited for being implemented in a
69604        multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
69605        This patch implements a simpler Mozilla API for workers instead.
69606
69607        * WebCore.xcodeproj/project.pbxproj:
69608        * DerivedSources.make:
69609        * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
69610        * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
69611        * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
69612        * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
69613        * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
69614        * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
69615        * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
69616        * dom/DedicatedWorker.cpp: Removed.
69617        * dom/DedicatedWorker.h: Removed.
69618        * dom/DedicatedWorker.idl: Removed.
69619        Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
69620
69621        * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
69622        Clear worker exceptions to avoid hitting an assertion.
69623
69624        * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
69625        * dom/EventTarget.h:
69626        * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
69627        WorkerContext is now an EventTarget, too.
69628
69629        * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
69630        MessagePort. Added postMessage() and onmessage.
69631
69632        * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
69633        when posting a task - this operation is not thread safe. It is also not necessary any more,
69634        as the context is kept alive by WorkerMessagingProxy.
69635
69636        * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
69637        (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
69638        that on a timer.
69639        (WebCore::Worker::~Worker): Notify messaging proxy.
69640        (WebCore::Worker::postMessage): Just ask the proxy to post the message.
69641        (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
69642        available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
69643        I'm not sure if this is the right lifetime for workers, as unreachable workers with event
69644        listeners should probably be kept alive, but it at least lets the object be collected.
69645        (WebCore::Worker::addEventListener): Added an EventTarget implementation.
69646        (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
69647        (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
69648
69649        * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
69650        * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
69651        Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
69652
69653        * dom/WorkerContext.cpp:
69654        (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
69655        down successfully.
69656        (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
69657
69658        * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
69659
69660        * dom/WorkerMessagingProxy.cpp: Added.
69661        * dom/WorkerMessagingProxy.h: Added.
69662        This new class implements actual messaging. It is notified when a Worker is garbage collected,
69663        and asks the thread to shut down. It also owns the thread object, and references script
69664        execution context, making it safe to post messages to it remotely.
69665
69666        * dom/WorkerThread.cpp:
69667        * dom/WorkerThread.h:
69668        Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
69669        keeps itself alive - it is now the job of messaging proxy.
69670
696712008-11-15  Darin Adler  <darin@apple.com>
69672
69673        Rubber stamped by Geoff Garen.
69674
69675        - do the long-planned StructureID -> Structure rename
69676
69677        * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
69678        * ForwardingHeaders/runtime/StructureID.h: Removed.
69679        * bindings/js/JSAudioConstructor.cpp:
69680        (WebCore::JSAudioConstructor::JSAudioConstructor):
69681        * bindings/js/JSDOMBinding.cpp:
69682        (WebCore::getCachedDOMStructure):
69683        (WebCore::cacheDOMStructure):
69684        * bindings/js/JSDOMBinding.h:
69685        (WebCore::DOMObject::DOMObject):
69686        (WebCore::getDOMStructure):
69687        * bindings/js/JSDOMGlobalObject.cpp:
69688        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
69689        * bindings/js/JSDOMGlobalObject.h:
69690        * bindings/js/JSDOMWindowBase.cpp:
69691        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
69692        * bindings/js/JSDOMWindowBase.h:
69693        * bindings/js/JSDOMWindowShell.cpp:
69694        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
69695        (WebCore::JSDOMWindowShell::setWindow):
69696        * bindings/js/JSDOMWindowShell.h:
69697        (WebCore::JSDOMWindowShell::createStructure):
69698        * bindings/js/JSDedicatedWorkerConstructor.cpp:
69699        (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
69700        * bindings/js/JSHTMLAllCollection.h:
69701        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
69702        (WebCore::JSHTMLAllCollection::createStructure):
69703        * bindings/js/JSImageConstructor.cpp:
69704        (WebCore::JSImageConstructor::JSImageConstructor):
69705        * bindings/js/JSInspectedObjectWrapper.cpp:
69706        (WebCore::JSInspectedObjectWrapper::wrap):
69707        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
69708        * bindings/js/JSInspectedObjectWrapper.h:
69709        * bindings/js/JSInspectorCallbackWrapper.cpp:
69710        (WebCore::leakInspectorCallbackWrapperStructure):
69711        (WebCore::JSInspectorCallbackWrapper::wrap):
69712        (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
69713        * bindings/js/JSInspectorCallbackWrapper.h:
69714        * bindings/js/JSMessageChannelConstructor.cpp:
69715        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
69716        * bindings/js/JSNamedNodesCollection.h:
69717        (WebCore::JSNamedNodesCollection::createStructure):
69718        * bindings/js/JSOptionConstructor.cpp:
69719        (WebCore::JSOptionConstructor::JSOptionConstructor):
69720        * bindings/js/JSQuarantinedObjectWrapper.cpp:
69721        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
69722        * bindings/js/JSQuarantinedObjectWrapper.h:
69723        (WebCore::JSQuarantinedObjectWrapper::createStructure):
69724        * bindings/js/JSRGBColor.h:
69725        (WebCore::JSRGBColor::createStructure):
69726        * bindings/js/JSWorkerContext.cpp:
69727        (WebCore::createJSWorkerContextStructure):
69728        (WebCore::JSWorkerContext::JSWorkerContext):
69729        (WebCore::JSWorkerContext::createPrototype):
69730        * bindings/js/JSWorkerContext.h:
69731        (WebCore::JSWorkerContext::createStructure):
69732        (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
69733        (WebCore::JSWorkerContextPrototype::createStructure):
69734        * bindings/js/JSXMLHttpRequestConstructor.cpp:
69735        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
69736        * bindings/js/JSXSLTProcessorConstructor.cpp:
69737        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
69738        * bindings/scripts/CodeGeneratorJS.pm:
69739        * bridge/objc/objc_runtime.h:
69740        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
69741        * bridge/qt/qt_runtime.cpp:
69742        (JSC::Bindings::QtConnectionObject::execute):
69743        * bridge/qt/qt_runtime.h:
69744        (JSC::Bindings::QtRuntimeMethod::createStructure):
69745        * bridge/runtime_array.h:
69746        (JSC::RuntimeArray::createStructure):
69747        * bridge/runtime_method.h:
69748        (JSC::RuntimeMethod::createStructure):
69749        * bridge/runtime_object.cpp:
69750        (JSC::RuntimeObjectImp::RuntimeObjectImp):
69751        * bridge/runtime_object.h:
69752        (JSC::RuntimeObjectImp::createStructure):
69753
697542008-11-15  Darin Adler  <darin@apple.com>
69755
69756        Reviewed by Dan Bernstein.
69757
69758        - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
69759
69760        This gets rid of the crash. It restores the behavior of the CG case from before Dirk
69761        Shulze removed the platorm-dependent code, but perhaps it should be changed further
69762        in the future so that the default for no style is "no stroke". I think the patch is
69763        fine for fill.
69764
69765        * svg/graphics/SVGPaintServerSolid.cpp:
69766        (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
69767        (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
69768
697692008-11-15  Kevin Ollivier  <kevino@theolliviers.com>
69770
69771        Reviewed by Timothy Hatcher.
69772
69773        Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
69774
69775        https://bugs.webkit.org/show_bug.cgi?id=22284
69776
69777        * platform/network/NetworkStateNotifier.h:
69778        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
69779
697802008-11-15  Dirk Schulze  <krit@webkit.org>
69781
69782        Reviewed by Geoffrey Garen.
69783
69784        r38426 caused a wrong drawing of a LayoutTest. Use another
69785        way to set the color to pass this test again.
69786
69787        * svg/graphics/SVGPaintServerSolid.cpp:
69788        (WebCore::SVGPaintServerSolid::setup):
69789
697902008-11-15  Dirk Schulze  <krit@webkit.org>
69791
69792        Reviewed by Darin Adler.
69793
69794        Removed platform dependent code on SVGPaintServerSolid.
69795
69796        * GNUmakefile.am:
69797        * WebCore.pro:
69798        * WebCore.vcproj/WebCore.vcproj:
69799        * WebCore.xcodeproj/project.pbxproj:
69800        * svg/graphics/SVGPaintServerSolid.cpp:
69801        (WebCore::SVGPaintServerSolid::setup):
69802        (WebCore::SVGPaintServerSolid::renderPath):
69803        * svg/graphics/SVGPaintServerSolid.h:
69804        * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
69805        * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
69806        * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
69807
698082008-11-15  Geoffrey Garen  <ggaren@apple.com>
69809
69810        Reviewed by Sam Weinig.
69811
69812        Updated for JavaScriptCore renames.
69813
69814        * bindings/js/JSNodeCustom.cpp:
69815        (WebCore::JSNode::mark):
69816        * bindings/js/JSXMLHttpRequestCustom.cpp:
69817        (WebCore::JSXMLHttpRequest::send):
69818        * bindings/js/ScriptController.cpp:
69819        (WebCore::ScriptController::evaluate):
69820        * bindings/js/WorkerScriptController.cpp:
69821        (WebCore::WorkerScriptController::evaluate):
69822        * bindings/objc/WebScriptObject.mm:
69823        (-[WebScriptObject evaluateWebScript:]):
69824        * bridge/NP_jsobject.cpp:
69825        (_NPN_Evaluate):
69826        * bridge/jni/jni_jsobject.mm:
69827        (JavaJSObject::eval):
69828        * page/Console.cpp:
69829        (WebCore::retrieveLastCaller):
69830        (WebCore::Console::trace):
69831
698322008-11-14  Greg Bolsinga  <bolsinga@apple.com>
69833
69834        Reviewed by Darin Adler.
69835
69836        https://bugs.webkit.org/show_bug.cgi?id=21810
69837        Remove use of static C++ objects that are destroyed at exit time (destructors)
69838
69839        Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
69840        exit-time destructor. Update code that was changed to fix this issue that ran
69841        into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
69842        in gcc build 5465). Also typdefs for template types needed to be added in some
69843        cases so the type could make it through the macro successfully.
69844
69845        Basically code of the form:
69846        static T m;
69847        becomes:
69848        DEFINE_STATIC_LOCAL(T, m, ());
69849
69850        Also any code of the form:
69851        static T& m = *new T;
69852        also becomes:
69853        DEFINE_STATIC_LOCAL(T, m, ());
69854
69855        * ForwardingHeaders/wtf/StdLibExtras.h: Added.
69856        * bindings/js/GCController.cpp:
69857        (WebCore::gcController):
69858        * bindings/js/JSDOMBinding.cpp:
69859        (WebCore::wrapperSet):
69860        * bindings/js/JSInspectedObjectWrapper.cpp:
69861        (WebCore::wrappers):
69862        * bindings/js/JSInspectorCallbackWrapper.cpp:
69863        (WebCore::wrappers):
69864        * bindings/js/JSNavigatorCustom.cpp:
69865        (WebCore::needsYouTubeQuirk):
69866        * bridge/runtime_root.cpp:
69867        (JSC::Bindings::rootObjectSet):
69868        * css/CSSMutableStyleDeclaration.cpp:
69869        (WebCore::initShorthandMap):
69870        (WebCore::CSSMutableStyleDeclaration::removeProperty):
69871        * css/CSSPrimitiveValue.cpp:
69872        (WebCore::CSSPrimitiveValue::cssText):
69873        * css/CSSSelector.cpp:
69874        (WebCore::CSSSelector::extractPseudoType):
69875        * css/CSSStyleSelector.cpp:
69876        (WebCore::screenEval):
69877        (WebCore::printEval):
69878        * dom/DOMImplementation.cpp:
69879        (WebCore::addString):
69880        (WebCore::isSVG10Feature):
69881        (WebCore::isSVG11Feature):
69882        (WebCore::DOMImplementation::isXMLMIMEType):
69883        * dom/Document.cpp:
69884        (WebCore::Document::hasPrefixNamespaceMismatch):
69885        * dom/ScriptElement.cpp:
69886        (WebCore::isSupportedJavaScriptLanguage):
69887        * editing/ApplyStyleCommand.cpp:
69888        (WebCore::styleSpanClassString):
69889        * editing/HTMLInterchange.cpp:
69890        (WebCore::):
69891        * editing/IndentOutdentCommand.cpp:
69892        (WebCore::indentBlockquoteString):
69893        * editing/ReplaceSelectionCommand.cpp:
69894        (WebCore::isInterchangeNewlineNode):
69895        (WebCore::isInterchangeConvertedSpaceSpan):
69896        * editing/htmlediting.cpp:
69897        (WebCore::stringWithRebalancedWhitespace):
69898        (WebCore::nonBreakingSpaceString):
69899        * editing/markup.cpp:
69900        (WebCore::appendAttributeValue):
69901        (WebCore::appendEscapedContent):
69902        (WebCore::shouldAddNamespaceAttr):
69903        (WebCore::appendNamespace):
69904        (WebCore::appendStartMarkup):
69905        (WebCore::createMarkup):
69906        * html/HTMLButtonElement.cpp:
69907        (WebCore::HTMLButtonElement::type):
69908        * html/HTMLElement.cpp:
69909        (WebCore::HTMLElement::isRecognizedTagName):
69910        (WebCore::inlineTagList):
69911        (WebCore::blockTagList):
69912        * html/HTMLFieldSetElement.cpp:
69913        (WebCore::HTMLFieldSetElement::type):
69914        * html/HTMLInputElement.cpp:
69915        (WebCore::HTMLInputElement::type):
69916        * html/HTMLKeygenElement.cpp:
69917        (WebCore::HTMLKeygenElement::type):
69918        * html/HTMLLegendElement.cpp:
69919        (WebCore::HTMLLegendElement::type):
69920        * html/HTMLOptGroupElement.cpp:
69921        (WebCore::HTMLOptGroupElement::type):
69922        * html/HTMLOptionElement.cpp:
69923        (WebCore::HTMLOptionElement::type):
69924        * html/HTMLParser.cpp:
69925        (WebCore::HTMLParser::getNode):
69926        (WebCore::HTMLParser::isHeaderTag):
69927        (WebCore::HTMLParser::isResidualStyleTag):
69928        (WebCore::HTMLParser::isAffectedByResidualStyle):
69929        * html/HTMLSelectElement.cpp:
69930        (WebCore::HTMLSelectElement::type):
69931        * html/HTMLTextAreaElement.cpp:
69932        (WebCore::HTMLTextAreaElement::type):
69933        * inspector/InspectorController.cpp:
69934        (WebCore::platform):
69935        * inspector/JavaScriptDebugServer.cpp:
69936        (WebCore::JavaScriptDebugServer::shared):
69937        * inspector/JavaScriptProfile.cpp:
69938        (WebCore::profileCache):
69939        * inspector/JavaScriptProfileNode.cpp:
69940        (WebCore::profileNodeCache):
69941        * loader/FrameLoader.cpp:
69942        (WebCore::localSchemes):
69943        * loader/appcache/ApplicationCacheStorage.cpp:
69944        (WebCore::cacheStorage):
69945        * loader/archive/ArchiveFactory.cpp:
69946        (WebCore::archiveMIMETypes):
69947        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
69948        * loader/icon/IconDatabase.cpp:
69949        (WebCore::IconDatabase::defaultDatabaseFilename):
69950        * page/EventHandler.cpp:
69951        (WebCore::EventHandler::dragState):
69952        * page/Frame.cpp:
69953        (WebCore::createRegExpForLabels):
69954        (WebCore::keepAliveSet):
69955        * page/Page.cpp:
69956        (WebCore::Page::groupName):
69957        * page/SecurityOrigin.cpp:
69958        (WebCore::isDefaultPortForProtocol):
69959        (WebCore::SecurityOrigin::databaseIdentifier):
69960        * page/mac/FrameMac.mm:
69961        (WebCore::regExpForLabels):
69962        * platform/KURL.cpp:
69963        (WebCore::blankURL):
69964        * platform/graphics/FontCache.cpp:
69965        (WebCore::alternateFamilyName):
69966        * platform/graphics/mac/FontCacheMac.mm:
69967        (WebCore::FontCache::getSimilarFontPlatformData):
69968        (WebCore::FontCache::getLastResortFallbackFont):
69969        * platform/mac/CursorMac.mm:
69970        (WebCore::leakNamedCursor):
69971        (WebCore::pointerCursor):
69972        (WebCore::crossCursor):
69973        (WebCore::handCursor):
69974        (WebCore::moveCursor):
69975        (WebCore::verticalTextCursor):
69976        (WebCore::cellCursor):
69977        (WebCore::contextMenuCursor):
69978        (WebCore::aliasCursor):
69979        (WebCore::zoomInCursor):
69980        (WebCore::zoomOutCursor):
69981        (WebCore::copyCursor):
69982        (WebCore::noneCursor):
69983        (WebCore::progressCursor):
69984        (WebCore::noDropCursor):
69985        (WebCore::notAllowedCursor):
69986        (WebCore::iBeamCursor):
69987        (WebCore::waitCursor):
69988        (WebCore::helpCursor):
69989        (WebCore::eastResizeCursor):
69990        (WebCore::northResizeCursor):
69991        (WebCore::northEastResizeCursor):
69992        (WebCore::northWestResizeCursor):
69993        (WebCore::southResizeCursor):
69994        (WebCore::southEastResizeCursor):
69995        (WebCore::southWestResizeCursor):
69996        (WebCore::westResizeCursor):
69997        (WebCore::northSouthResizeCursor):
69998        (WebCore::eastWestResizeCursor):
69999        (WebCore::northEastSouthWestResizeCursor):
70000        (WebCore::northWestSouthEastResizeCursor):
70001        (WebCore::columnResizeCursor):
70002        (WebCore::rowResizeCursor):
70003        (WebCore::grabCursor):
70004        (WebCore::grabbingCursor):
70005        * platform/mac/ScrollbarThemeMac.mm:
70006        (WebCore::ScrollbarTheme::nativeTheme):
70007        * platform/mac/ThemeMac.mm:
70008        (WebCore::platformTheme):
70009        * platform/mac/ThreadCheck.mm:
70010        (WebCoreReportThreadViolation):
70011        * platform/network/NetworkStateNotifier.cpp:
70012        (WebCore::networkStateNotifier):
70013        * platform/network/mac/FormDataStreamMac.mm:
70014        (WebCore::getStreamFormDataMap):
70015        (WebCore::getStreamResourceHandleMap):
70016        * platform/network/mac/ResourceResponseMac.mm:
70017        (WebCore::ResourceResponse::platformLazyInit):
70018        * platform/text/TextEncoding.cpp:
70019        (WebCore::TextEncoding::isJapanese):
70020        * plugins/PluginMainThreadScheduler.cpp:
70021        (WebCore::PluginMainThreadScheduler::scheduler):
70022        * rendering/RenderBlock.cpp:
70023        (WebCore::continuationOutlineTable):
70024        (WebCore::RenderBlock::addContinuationWithOutline):
70025        (WebCore::RenderBlock::paintContinuationOutlines):
70026        * rendering/RenderCounter.cpp:
70027        (WebCore::counterMaps):
70028        * rendering/RenderFlexibleBox.cpp:
70029        (WebCore::RenderFlexibleBox::layoutVerticalBox):
70030        * rendering/RenderListItem.cpp:
70031        (WebCore::RenderListItem::markerText):
70032        * rendering/RenderScrollbarTheme.cpp:
70033        (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
70034        * rendering/RenderThemeMac.mm:
70035        (WebCore::RenderThemeMac::systemFont):
70036        * rendering/bidi.cpp:
70037        (WebCore::RenderBlock::checkLinesForTextOverflow):
70038        * rendering/style/RenderStyle.cpp:
70039        (WebCore::RenderStyle::initialDashboardRegions):
70040        (WebCore::RenderStyle::noneDashboardRegions):
70041        * storage/Database.cpp:
70042        (WebCore::guidMutex):
70043        (WebCore::guidToVersionMap):
70044        (WebCore::guidToDatabaseMap):
70045        (WebCore::Database::databaseInfoTableName):
70046        (WebCore::databaseVersionKey):
70047        (WebCore::Database::getVersionFromDatabase):
70048        (WebCore::Database::setVersionInDatabase):
70049        (WebCore::guidForOriginAndName):
70050        * storage/DatabaseTracker.cpp:
70051        (WebCore::DatabaseTracker::tracker):
70052        (WebCore::notificationMutex):
70053        (WebCore::notificationQueue):
70054        * storage/LocalStorage.cpp:
70055        (WebCore::localStorageMap):
70056        * svg/SVGAnimateMotionElement.cpp:
70057        (WebCore::SVGAnimateMotionElement::rotateMode):
70058        * svg/SVGAnimationElement.cpp:
70059        (WebCore::SVGAnimationElement::calcMode):
70060        (WebCore::SVGAnimationElement::attributeType):
70061        (WebCore::SVGAnimationElement::isAdditive):
70062        (WebCore::SVGAnimationElement::isAccumulated):
70063        * svg/SVGLangSpace.cpp:
70064        (WebCore::SVGLangSpace::xmlspace):
70065        * svg/SVGSVGElement.cpp:
70066        (WebCore::SVGSVGElement::contentScriptType):
70067        (WebCore::SVGSVGElement::contentStyleType):
70068        * svg/SVGStyleElement.cpp:
70069        (WebCore::SVGStyleElement::type):
70070        (WebCore::SVGStyleElement::media):
70071        * svg/SVGTextContentElement.cpp:
70072        (WebCore::SVGTextContentElement::parseMappedAttribute):
70073        * svg/animation/SVGSMILElement.cpp:
70074        (WebCore::SVGSMILElement::parseClockValue):
70075        (WebCore::SVGSMILElement::restart):
70076        (WebCore::SVGSMILElement::fill):
70077        (WebCore::SVGSMILElement::repeatCount):
70078        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
70079        * svg/graphics/SVGResource.cpp:
70080        (WebCore::clientMap):
70081        (WebCore::SVGResource::removeClient):
70082        * svg/graphics/SVGResourceMarker.cpp:
70083        (WebCore::SVGResourceMarker::draw):
70084        * xml/XMLHttpRequest.cpp:
70085        (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
70086        (WebCore::preflightResultCache):
70087        (WebCore::appendPreflightResultCacheEntry):
70088        (WebCore::isSafeRequestHeader):
70089        (WebCore::isOnAccessControlResponseHeaderWhitelist):
70090        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
70091        * xml/XPathExpressionNode.cpp:
70092        (WebCore::XPath::Expression::evaluationContext):
70093        * xml/XPathParser.cpp:
70094        (WebCore::XPath::setUpAxisNamesMap):
70095        (WebCore::XPath::isAxisName):
70096        (WebCore::XPath::isNodeTypeName):
70097        * xml/XPathValue.cpp:
70098        (WebCore::XPath::Value::toNodeSet):
70099
701002008-11-14  Dan Bernstein  <mitz@apple.com>
70101
70102        - attempt to fix the Qt build
70103
70104        * platform/qt/Localizations.cpp:
70105        (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
70106        needs to go somewhere else in addition to here.
70107
701082008-11-14  Kevin Ollivier  <kevino@theolliviers.com>
70109
70110        wx build fix.
70111
70112        * platform/wx/LocalizedStringsWx.cpp:
70113        (WebCore::contextMenuItemTagTextDirectionMenu):
70114
701152008-11-14  Dan Bernstein  <mitz@apple.com>
70116
70117        Reviewed by Darin Adler.
70118
70119        - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
70120        - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
70121
70122        * WebCore.base.exp: Exported
70123        WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
70124
70125        * editing/ApplyStyleCommand.cpp:
70126        (StyleChange::init): Changed to always include the direction property
70127        in the result if the unicode-bidi property is included.
70128        (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
70129        highest ancestor of the given node that establishes bidi embedding. If
70130        that embedding agrees with the given allowed direction, finds the
70131        second-highest embedding ancestor. Splits all nodes through that
70132        ancestor. If the highest embedding ancestor did not need to be split,
70133        it is returned.
70134        (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
70135        bidi embedding attributes and styles from all ancestors of the given
70136        node up to its enclosing block or the given node.
70137        (ApplyStyleCommand::applyInlineStyle): Added code to handle the
70138        unicode-bidi property. Applying style the includes this property
70139        involves removing all bidi embedding in effect, except  for one-level
70140        embedding that agrees with the desired embedding, then applying the
70141        desired embedding where it is not already in effect.
70142        (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
70143        applyInlineStyle().
70144        (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
70145        "dir" attribute if necessary and the element if it becomes an unstyled
70146        style span.
70147        (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
70148        property when removing the unicode-bidi property.
70149        (ApplyStyleCommand::removeInlineStyle): Added a call to
70150        removeHTMLBidiEmbeddingStyle().
70151
70152        * editing/ApplyStyleCommand.h:
70153        * editing/Editor.cpp:
70154        (Editor::textDirectionForSelection): Added. Returns the character-level
70155        writing direction of the selection if it is uniform and simple (at most
70156        one level of embedding).
70157        (Editor::hasBidiSelection): Added. Returns true if the selection lies
70158        entirely within a single block, and that block has direction:rtl or
70159        contains any inline boxes with non-zero bidi embedding level.
70160
70161        * editing/Editor.h:
70162        * editing/EditorCommand.cpp:
70163        (stateTextWritingDirection): Added this helper function for deciding
70164        the state of Text Direction submenu items.
70165        (executeMakeTextWritingDirectionLeftToRight): Added. Applies
70166        "unicode-bidi: embed; direction: ltr;".
70167        (executeMakeTextWritingDirectionNatural): Added. Applies
70168        "unicode-bidi: normal;"
70169        (executeMakeTextWritingDirectionRightToLeft): Added. Applies
70170        "unicode-bidi: embed; direction: rtl;".
70171        (stateTextWritingDirectionLeftToRight): Added.
70172        (stateTextWritingDirectionNatural): Added.
70173        (stateTextWritingDirectionRightToLeft): Added.
70174        (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
70175        "MakeTextWritingDirectionNatural",
70176        and "MakeTextWritingDirectionRightToLeft".
70177
70178        * editing/InsertTextCommand.cpp:
70179        (InsertTextCommand::input): Added code to maintain the unicode-bidi
70180        and direction properties in the typing style. Even if they have the
70181        same values as the computed style at the caret, they need to be included
70182        in the typing style so that inserted text will not inherit any nested
70183        embedding.
70184
70185        * page/ContextMenuController.cpp:
70186        (ContextMenuController::contextMenuItemSelected): Added calls to
70187        the editor for the text direction menu items.
70188
70189        * page/Frame.cpp
70190        (Frame::computeAndSetTypingStyle): Added code to maintain the
70191        unicode-bidi and direction properties in the typing style.
70192
70193        * page/Settings.cpp:
70194        (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
70195
70196        * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
70197        an m_textDirectionSubmenuInclusionBehavior member, and accessors.
70198
70199        * page/mac/WebCoreViewFactory.h:
70200        * platform/ContextMenu.cpp:
70201        (WebCore::createAndAppendTextDirectionSubMenu): Added.
70202        (ContextMenu::populate): Added the Text Direction submenu item based on
70203        the inclusion behavior and the existence of a bidi selection.
70204        (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
70205        menu items.
70206
70207        * platform/ContextMenuItem.h:
70208        * platform/LocalizedStrings.h: Declared
70209        contextMenuItemTagTextDirectionMenu().
70210
70211        * platform/mac/LocalizedStringsMac.mm: Defined
70212        contextMenuItemTagTextDirectionMenu().
70213
70214        * rendering/RenderBlock.cpp:
70215        (RenderBlock::containsNonZeroBidiLevel): Added.
70216        * rendering/RenderBlock.h:
70217
702182008-11-14  Greg Bolsinga  <bolsinga@apple.com>
70219
70220        Reviewed by Darin Adler.
70221
70222        https://bugs.webkit.org/show_bug.cgi?id=22264
70223        Need to update to latest Geolocation spec (13 November 2008)
70224
70225        Update to new error code constants and values.
70226
70227        * page/Geolocation.cpp: Use new named ErrorCode enums
70228        (WebCore::Geolocation::GeoNotifier::timerFired):
70229        (WebCore::Geolocation::getCurrentPosition):
70230        (WebCore::Geolocation::watchPosition):
70231        * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
70232        (WebCore::PositionError::):
70233        * page/PositionError.idl: Add new named error constants
70234
702352008-11-14  Beth Dakin  <bdakin@apple.com>
70236
70237        Reviewed by Justin Garcia.
70238
70239        Fix (again) for <rdar://problem/5089327> Too much indentation when
70240        pasting quoted paragraphs
70241
70242        This patch goes back to Justin's original approach to fix this bug,
70243        written in revision 38273. That fix was mostly rolled out by
70244        revision 38310 because of styling issues created by the addition of
70245        extra blockquote nodes. This patch again goes back to Justin's
70246        original fix because of cases we discovered the newer fix could not
70247        possibly cover. This version of the patch minimizes the styling
70248        issues of extra blockquotes by opting into the merge start code.
70249
70250        * editing/ReplaceSelectionCommand.cpp:
70251        (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
70252        return true when the quoting level of the end of the inserted
70253        content matches the quoting level of the end of the existing
70254        content.
70255        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
70256        hasMatchingQuoteLevel
70257        (WebCore::ReplaceSelectionCommand::doApply):
70258
702592008-11-14  Dirk Schulze  <vbs85@gmx.de>
70260
70261        Reviewed by Eric Seidel.
70262
70263        Made SVGResourceClipper platform independent.
70264        https://bugs.webkit.org/show_bug.cgi?id=21444
70265
70266        * GNUmakefile.am:
70267        * WebCore.pro:
70268        * WebCore.vcproj/WebCore.vcproj:
70269        * WebCore.xcodeproj/project.pbxproj:
70270        * platform/graphics/GraphicsContext.h:
70271        * platform/graphics/cairo/GraphicsContextCairo.cpp:
70272        (WebCore::GraphicsContext::clipPath):
70273        * platform/graphics/cg/GraphicsContextCG.cpp:
70274        (WebCore::GraphicsContext::clipPath):
70275        * platform/graphics/qt/GraphicsContextQt.cpp:
70276        (WebCore::GraphicsContext::addPath):
70277        (WebCore::GraphicsContext::clipPath):
70278        * svg/graphics/SVGResourceClipper.cpp:
70279        (WebCore::SVGResourceClipper::applyClip):
70280        * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
70281        * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
70282        * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
70283
702842008-11-14  Antti Koivisto  <antti@apple.com>
70285
70286        Reviewed by Anders Carlsson.
70287
70288        Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
70289
70290        * loader/FrameLoader.cpp:
70291        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
70292        * loader/FrameLoader.h:
70293
702942008-11-14  Sam Weinig  <sam@webkit.org>
70295
70296        Reviewed by Eric Seidel.
70297
70298        Remove unneeded forward declaration.
70299
70300        * plugins/Plugin.h:
70301
703022008-11-14  Darin Fisher  <darin@chromium.org>
70303
70304        Reviewed by Darin Adler.
70305
70306        https://bugs.webkit.org/show_bug.cgi?id=22251
70307        HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
70308
70309        * html/HTMLCanvasElement.cpp:
70310
703112008-11-14  Yael Aharon  <yael.aharon@nokia.com>
70312
70313        Reviewed by Simon Hausmann.
70314
70315        Add new files from the Qt port to the build.
70316
70317        * WebCore.pro:
70318
703192008-11-14  Yael Aharon  <yael.aharon@nokia.com>
70320
70321        Reviewed by Simon Hausmann.
70322
70323        Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
70324        port to apply a default quota only if there is no entry in the
70325        database for a given origin yet.
70326
70327        * storage/DatabaseTracker.h:
70328
703292008-11-14  Yael Aharon  <yael.aharon@nokia.com>
70330
70331        Reviewed by Simon Hausmann.
70332
70333        Make it possible to get the cache directory set in the application
70334        cache storage.
70335
70336        * loader/appcache/ApplicationCacheStorage.cpp:
70337        (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
70338        * loader/appcache/ApplicationCacheStorage.h:
70339
703402008-11-14  Justin Garcia  <justin.garcia@apple.com>
70341
70342        Reviewed by Beth Dakin.
70343
70344        <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
70345
70346        When applying block styles, we would add block properties to the body element, and Mail's
70347        Make Plain Text feature isn't equipped to remove those.  This could have been fixed on our side,
70348        but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
70349
70350        We have code that puts the paragraphs that we're operating on into blocks of their own before
70351        adding or removing block properties from the blocks that enclose them.  We need to run this code
70352        when the enclosing block is the body element.
70353
70354        * editing/CompositeEditCommand.cpp:
70355        (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
70356        to here.
70357        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
70358        Added a few comments.  Fixed bug by not bailing out when the block about to be used is the body element.
70359        * editing/CompositeEditCommand.h:
70360
703612008-11-14  Cameron Zwarich  <zwarich@apple.com>
70362
70363        Reviewed by Darin Adler.
70364
70365        Bug 22245: Move wtf/dtoa.h into the WTF namespace
70366        <https://bugs.webkit.org/show_bug.cgi?id=22245>
70367
70368        Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
70369
70370        * platform/text/String.cpp:
70371        (WebCore::charactersToDouble):
70372
703732008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
70374
70375        Rubber-stamped by Simon Hausmann.
70376
70377        Make sure Qt scrollbars follow the style with regard to context menus
70378
70379        * platform/qt/ScrollbarQt.cpp:
70380        (WebCore::Scrollbar::contextMenu):
70381
703822008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
70383
70384        Rubber-stamped by Simon Hausmann.
70385
70386        Make scrollbar look active when the window is active on Qt/Mac
70387
70388        * platform/qt/ScrollbarThemeQt.cpp:
70389        (WebCore::styleOptionSlider):
70390        (WebCore::ScrollbarThemeQt::paint):
70391
703922008-11-13  Eric Seidel  <eric@webkit.org>
70393
70394        Reviewed by Adam Roben.
70395
70396        Add a basic Scons-based build system for building
70397        Chromium-Mac WebCore.
70398        https://bugs.webkit.org/show_bug.cgi?id=21991
70399
70400        The build currently fails due to missing files from our
70401        platform directory (platform skia and platform chromium)
70402        I will be sending those up shortly in separate patches.
70403        I expect it will be a while before our WebCore build links.
70404
70405        * SConstruct: Added.
70406        * WebCore.scons: Added.
70407
704082008-11-13  Darin Fisher  <darin@chromium.org>
70409
70410        Reviewed by Darin Adler.
70411
70412        https://bugs.webkit.org/show_bug.cgi?id=22248
70413        AtomicString.cpp uses JSC types outside of #if USE(JSC)
70414
70415        * platform/text/AtomicString.cpp:
70416        (WebCore::AtomicString::add):
70417
704182008-11-13  Justin Garcia  <justin.garcia@apple.com>
70419
70420        Reviewed by Darin Adler.
70421
70422        https://bugs.webkit.org/show_bug.cgi?id=18620
70423        Long hang under TextIterator::advance() when loading http://www.lsvd.de/
70424
70425        A huge section at the beginning of this document is invisible.  As we iterate through it,
70426        we create VisiblePositions unnecessarily.
70427
70428        * editing/TextIterator.cpp:
70429        (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
70430        creation if m_node is unrendered or invisible.  The answers wouldn't have much meaning
70431        and would be wasteful.  Also fixed some comments to reflect the fact that this function
70432        isn't specifically about emitting a newline.
70433
704342008-11-13  Pierre-Olivier Latour  <pol@apple.com>
70435
70436        Reviewed by Sam Weinig.
70437
70438        Remove unused or unnecessary code from AnimationBase class.
70439
70440        * page/animation/AnimationBase.cpp:
70441        (WebCore::AnimationBase::AnimationBase):
70442        (WebCore::AnimationBase::playStatePlaying):
70443        * page/animation/AnimationBase.h:
70444
704452008-11-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
70446
70447        Reviewed by Simon Hausmann.
70448
70449        Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
70450
70451        Currently only used by QtWebKit. See also:
70452
70453        https://bugs.webkit.org/show_bug.cgi?id=21427
70454
70455        * WebCore.pro:
70456        * platform/qt/TemporaryLinkStubs.cpp:
70457        (PluginView::userAgentStatic):
70458        (PluginView::getValueStatic):
70459        * plugins/PluginView.cpp:
70460        (WebCore::PluginView::handleEvent):
70461        (WebCore::PluginView::setValue):
70462        (WebCore::PluginView::PluginView):
70463        * plugins/PluginView.h:
70464        (WebCore::PluginView::setPlatformPluginWidget):
70465        * plugins/mac/PluginPackageMac.cpp: Added.
70466        (WebCore::PluginPackage::determineQuirks):
70467        (WebCore::readPListFile):
70468        (WebCore::stringListFromResourceId):
70469        (WebCore::PluginPackage::fetchInfo):
70470        (WebCore::PluginPackage::load):
70471        (WebCore::PluginPackage::hash):
70472        (WebCore::PluginPackage::equal):
70473        (WebCore::PluginPackage::compareFileVersion):
70474        * plugins/mac/PluginViewMac.cpp: Added.
70475        (WebCore::nativeWindowFor):
70476        (WebCore::cgHandleFor):
70477        (WebCore::topLevelOffsetFor):
70478        (WebCore::PluginView::init):
70479        (WebCore::PluginView::~PluginView):
70480        (WebCore::PluginView::stop):
70481        (WebCore::PluginView::getValueStatic):
70482        (WebCore::PluginView::getValue):
70483        (WebCore::PluginView::setParent):
70484        (WebCore::PluginView::show):
70485        (WebCore::PluginView::hide):
70486        (WebCore::PluginView::setFocus):
70487        (WebCore::PluginView::setParentVisible):
70488        (WebCore::PluginView::setNPWindowRect):
70489        (WebCore::PluginView::setNPWindowIfNeeded):
70490        (WebCore::PluginView::updatePluginWidget):
70491        (WebCore::PluginView::paint):
70492        (WebCore::PluginView::invalidateRect):
70493        (WebCore::PluginView::invalidateRegion):
70494        (WebCore::PluginView::forceRedraw):
70495        (WebCore::PluginView::handleMouseEvent):
70496        (WebCore::PluginView::handleKeyboardEvent):
70497        (WebCore::PluginView::nullEventTimerFired):
70498        (WebCore::modifiersForEvent):
70499        (WebCore::PluginView::globalMousePosForPlugin):
70500        (WebCore::PluginView::dispatchNPEvent):
70501        (WebCore::PluginView::userAgent):
70502        (WebCore::PluginView::userAgentStatic):
70503        (WebCore::PluginView::handlePostReadFile):
70504
705052008-11-12  Alexey Proskuryakov  <ap@webkit.org>
70506
70507        Reviewed by Darin Adler.
70508
70509        https://bugs.webkit.org/show_bug.cgi?id=22200
70510        Crash when close event is dispatched to MessagePort due to document destruction
70511
70512        Test: fast/events/message-port-onclose.html
70513
70514        * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
70515        Don't dispatch close event, even though HTML5 currently says that we should. It is not
70516        right for GC to have observable effects.
70517
705182008-11-12  Alexey Proskuryakov  <ap@webkit.org>
70519
70520        Reviewed by Darin Adler.
70521
70522        https://bugs.webkit.org/show_bug.cgi?id=22203
70523        Implement Worker messaging
70524
70525        No test cases included, because this functionality is disabled by default.
70526
70527        The implementation is known to still have many race condition, but works quite well for
70528        testing.
70529
70530        * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
70531
70532        * bindings/js/JSDOMBinding.cpp:
70533        (WebCore::markActiveObjectsForContext): Re-worded comments a little.
70534        (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
70535        incorrect, changed it to a much simpler (but still incorrect) version.
70536
70537        * dom/WorkerTask.cpp: Added.
70538        (WebCore::WorkerTask::~WorkerTask):
70539        * dom/WorkerTask.h: Added.
70540        Tasks posted to workers implement this new interface.
70541
70542        * bindings/js/JSDedicatedWorkerCustom.cpp:
70543        (WebCore::JSDedicatedWorker::mark):
70544        (WebCore::JSDedicatedWorker::connect):
70545        * dom/DedicatedWorker.h:
70546        * dom/DedicatedWorker.idl:
70547        Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
70548        WHATWG discussions.
70549
70550        * dom/DedicatedWorker.cpp:
70551        (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
70552        operations.
70553        (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
70554        (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
70555        one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
70556        this port starts with a null context pointer.
70557        (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
70558        after creation, we have to queue tasks until after a WorkerThread object is created. Then we
70559        forward all queued tasks to its queue.
70560
70561        * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
70562        * dom/EventTarget.h:
70563        * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
70564        Added cases for WorkerContext, which is now an EventTarget, too.
70565
70566        * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
70567        * bindings/js/JSWorkerContext.cpp:
70568        (WebCore::JSWorkerContext::mark): Mark event listeners.
70569        (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
70570        (WebCore::JSWorkerContext::put): Implemented.
70571        (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
70572        (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
70573        (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
70574        (WebCore::jsWorkerContextOnconnect): Added.
70575        (WebCore::setJSWorkerContextOnconnect): Added.
70576
70577        * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
70578        Made it actually work by adding necessary setup.
70579
70580        * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
70581        Check the right variable - it is the wrapper that may not be initialized yet.
70582
70583        * dom/ActiveDOMObject.cpp:
70584        (WebCore::ActiveDOMObject::ActiveDOMObject):
70585        (WebCore::ActiveDOMObject::~ActiveDOMObject):
70586        Assert being called from the correct thread, as active DOM object tracking is not thread safe.
70587
70588        * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
70589        for asynchronously executing tasks in context's thread.
70590
70591        * dom/ScriptExecutionContext.cpp:
70592        (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
70593        (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
70594        It was an optimization that couldn't be easily preserved without introducing race conditions
70595        in multithreading case.
70596        (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
70597        (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
70598        why it's OK to not ref() ports in a frozen copy.
70599        (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
70600        from a wrong thread.
70601        (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
70602        (WebCore::ScriptExecutionContextTaskTimer): Part of
70603        ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
70604        thread.
70605        (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
70606        to a worker.
70607        (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
70608        to main thread from a secondary one.
70609        (WebCore::performTask): A helper function for callOnMainThread().
70610        (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
70611
70612        * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
70613        ref/deref EventData::message from different threads, which is not allowed.
70614
70615        * dom/MessagePort.cpp:
70616        (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
70617        (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
70618        (WebCore::MessagePort::EventData::EventData): Ditto.
70619        (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
70620        first, because we need to create ports for posting to other threads, and it is not possible
70621        to register in a context from another thread.
70622        (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
70623        receiver's job to set the context.
70624        (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
70625        context yet.
70626        (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
70627        (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
70628        (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
70629        context.
70630        (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
70631        (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
70632        (WebCore::MessagePort::queueCloseEvent): Use postTask().
70633        (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
70634        MessagePort cross-heap GC is still quite wrong.
70635
70636        * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
70637        * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
70638        now, but there is no harm in tracking it in release builds, too.
70639
70640        * dom/WorkerThread.cpp:
70641        (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
70642        (WebCore::WorkerThread::workerThread): Implemented a message loop.
70643        * dom/WorkerThread.h:
70644        (WebCore::WorkerThread::threadID): Also only used for assertions.
70645        (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
70646
70647        * page/DOMWindow.cpp:
70648        (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
70649        always sets it to null.
70650        (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
70651
706522008-11-12  Dirk Schulze  <vbs85@gmx.de>
70653
70654        Reviewed Darin Adler.
70655
70656        use strokeColor.alpha() instead of fillColor.alpha()
70657        on GraphicsContext::strokePath()
70658
70659        [Canvas] Transparent fillStyle stops line rendering
70660        https://bugs.webkit.org/show_bug.cgi?id=21888
70661
70662        Test: fast/canvas/canvas-stroke-empty-fill.html
70663
70664        * ChangeLog:
70665        * platform/graphics/cg/GraphicsContextCG.cpp:
70666        (WebCore::GraphicsContext::strokePath):
70667
706682008-11-12  Stephanie  <slewis@apple.com>
70669
70670        Reviewed by Mark Rowe.
70671
70672        Fix context leak in XSLStyleSheets.
70673        See bug https://bugs.webkit.org/show_bug.cgi?id=15715
70674
70675        * xml/XSLStyleSheet.cpp:
70676        (WebCore::XSLStyleSheet::parseString):
70677
706782008-11-12  Alp Toker  <alp@nuanti.com>
70679
70680        autotools: List web worker-related headers needed for a successful
70681        build. distcheck is passing again with this change.
70682
70683        * GNUmakefile.am:
70684
706852008-11-12  Alp Toker  <alp@nuanti.com>
70686
70687        autotools build system fix-up only. Add FloatQuad.h to the source
70688        lists and sort them.
70689
70690        * GNUmakefile.am:
70691
706922008-11-12  Alp Toker  <alp@nuanti.com>
70693
70694        Build fixes for r38346. FloatQuad.cpp is missing:
70695
70696        1) #include "config.h"
70697        2) #include <algorithm> for various mathematical definitions it uses.
70698
70699        * platform/graphics/FloatQuad.cpp:
70700
707012008-11-12  Simon Fraser  <simon.fraser@apple.com>
70702
70703        Reviewed by Dan Bernstein
70704
70705        https://bugs.webkit.org/show_bug.cgi?id=22212
70706
70707        Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
70708        it may be the bounding outline box of a transformed element, and fix it
70709        to respect transforms by mapping the outline box to an absolute quad and
70710        taking the enclosing rect.
70711
70712        RenderBox::localToAbsoluteQuad() can no longer assert that there is no
70713        LayoutState, but LayoutState cannot be used during quad mapping (it knows
70714        nothing about transforms).
70715
70716        Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
70717        borderTopExtra() from the object, rather than its container (as localToAbsolute()
70718        does).
70719
70720        Test: fast/repaint/transform-absolute-child.html
70721
70722        * rendering/RenderBlock.cpp:
70723        (WebCore::RenderBlock::layoutBlock):
70724        * rendering/RenderBox.cpp:
70725        (WebCore::RenderBox::localToAbsoluteQuad):
70726        * rendering/RenderFlexibleBox.cpp:
70727        (WebCore::RenderFlexibleBox::layoutBlock):
70728        * rendering/RenderForeignObject.cpp:
70729        (WebCore::RenderForeignObject::layout):
70730        * rendering/RenderLayer.cpp:
70731        (WebCore::RenderLayer::updateLayerPositions):
70732        (WebCore::RenderLayer::setHasVisibleContent):
70733        * rendering/RenderObject.cpp:
70734        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
70735        (WebCore::RenderObject::absoluteOutlineBounds):
70736        * rendering/RenderObject.h:
70737        * rendering/RenderPath.cpp:
70738        (WebCore::RenderPath::layout):
70739        * rendering/RenderReplaced.cpp:
70740        (WebCore::RenderReplaced::layout):
70741        * rendering/RenderSVGContainer.cpp:
70742        (WebCore::RenderSVGContainer::layout):
70743        * rendering/RenderSVGImage.cpp:
70744        (WebCore::RenderSVGImage::layout):
70745        * rendering/RenderSVGRoot.cpp:
70746        (WebCore::RenderSVGRoot::layout):
70747        * rendering/RenderSVGText.cpp:
70748        (WebCore::RenderSVGText::layout):
70749        * rendering/RenderSVGViewportContainer.cpp:
70750        (WebCore::RenderSVGViewportContainer::layout):
70751        * rendering/RenderTable.cpp:
70752        (WebCore::RenderTable::layout):
70753
707542008-11-12  Simon Fraser  <simon.fraser@apple.com>
70755
70756        Reviewed by Dave Hyatt
70757
70758        https://bugs.webkit.org/show_bug.cgi?id=21942
70759        https://bugs.webkit.org/show_bug.cgi?id=18557
70760
70761        Add methods which can be used to map renderer-local rectangles
70762        to quads in absolute coordinates, taking transforms into account:
70763            localToAbsoluteQuad() converts a local rect into an absolute quad.
70764            collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
70765                that works with quads.
70766            absoluteQuads() is an analogue of absoluteRects(), for quads.
70767
70768        Use the quad methods to fix the inspector highlight for transformed
70769        elements.
70770
70771        * GNUmakefile.am:
70772        * WebCore.pro:
70773        * WebCore.vcproj/WebCore.vcproj:
70774        * WebCore.xcodeproj/project.pbxproj:
70775        * WebCoreSources.bkl:
70776        * inspector/InspectorController.cpp:
70777        (WebCore::drawOutlinedQuad):
70778        (WebCore::drawHighlightForBoxes):
70779        (WebCore::frameToMainFrameOffset):
70780        (WebCore::InspectorController::drawNodeHighlight):
70781        * platform/graphics/AffineTransform.cpp:
70782        (WebCore::AffineTransform::mapQuad):
70783        * platform/graphics/AffineTransform.h:
70784        * platform/graphics/FloatQuad.cpp: Added.
70785        (WebCore::min4):
70786        (WebCore::max4):
70787        (WebCore::FloatQuad::boundingBox):
70788        * platform/graphics/FloatQuad.h: Added.
70789        (WebCore::FloatQuad::FloatQuad):
70790        (WebCore::FloatQuad::p1):
70791        (WebCore::FloatQuad::p2):
70792        (WebCore::FloatQuad::p3):
70793        (WebCore::FloatQuad::p4):
70794        (WebCore::FloatQuad::setP1):
70795        (WebCore::FloatQuad::setP2):
70796        (WebCore::FloatQuad::setP3):
70797        (WebCore::FloatQuad::setP4):
70798        (WebCore::FloatQuad::isEmpty):
70799        (WebCore::FloatQuad::enclosingBoundingBox):
70800        (WebCore::FloatQuad::move):
70801        (WebCore::operator+=):
70802        (WebCore::operator-=):
70803        (WebCore::operator==):
70804        (WebCore::operator!=):
70805        * rendering/RenderBox.cpp:
70806        (WebCore::RenderBox::localToAbsoluteQuad):
70807        * rendering/RenderBox.h:
70808        * rendering/RenderContainer.cpp:
70809        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
70810        * rendering/RenderContainer.h:
70811        * rendering/RenderInline.cpp:
70812        (WebCore::RenderInline::absoluteQuads):
70813        * rendering/RenderInline.h:
70814        * rendering/RenderObject.cpp:
70815        (WebCore::RenderObject::absoluteBoundingBoxRect):
70816        (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
70817        (WebCore::RenderObject::absoluteQuads):
70818        (WebCore::RenderObject::localToAbsoluteQuad):
70819        (WebCore::RenderObject::absoluteContentQuad):
70820        * rendering/RenderObject.h:
70821        * rendering/RenderPath.cpp:
70822        (WebCore::RenderPath::absoluteQuads):
70823        * rendering/RenderPath.h:
70824        * rendering/RenderSVGContainer.cpp:
70825        (WebCore::RenderSVGContainer::absoluteQuads):
70826        * rendering/RenderSVGContainer.h:
70827        * rendering/RenderSVGHiddenContainer.cpp:
70828        (WebCore::RenderSVGHiddenContainer::absoluteQuads):
70829        * rendering/RenderSVGHiddenContainer.h:
70830        * rendering/RenderSVGImage.cpp:
70831        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
70832        (WebCore::RenderSVGImage::absoluteQuads):
70833        * rendering/RenderSVGImage.h:
70834        * rendering/RenderSVGInlineText.cpp:
70835        (WebCore::RenderSVGInlineText::absoluteQuads):
70836        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
70837        * rendering/RenderSVGInlineText.h:
70838        * rendering/RenderSVGRoot.cpp:
70839        (WebCore::RenderSVGRoot::absoluteQuads):
70840        * rendering/RenderSVGRoot.h:
70841        * rendering/RenderSVGTSpan.cpp:
70842        (WebCore::RenderSVGTSpan::absoluteRects):
70843        (WebCore::RenderSVGTSpan::absoluteQuads):
70844        * rendering/RenderSVGTSpan.h:
70845        * rendering/RenderSVGText.cpp:
70846        (WebCore::RenderSVGText::absoluteRects):
70847        (WebCore::RenderSVGText::absoluteQuads):
70848        * rendering/RenderSVGText.h:
70849        * rendering/RenderSVGTextPath.cpp:
70850        (WebCore::RenderSVGTextPath::absoluteRects):
70851        (WebCore::RenderSVGTextPath::absoluteQuads):
70852        * rendering/RenderSVGTextPath.h:
70853        * rendering/RenderTableCell.cpp:
70854        (WebCore::RenderTableCell::localToAbsolute):
70855        (WebCore::RenderTableCell::localToAbsoluteQuad):
70856        * rendering/RenderTableCell.h:
70857        * rendering/RenderText.cpp:
70858        (WebCore::RenderText::absoluteQuads):
70859        (WebCore::RenderText::collectAbsoluteLineBoxQuads):
70860        * rendering/RenderText.h:
70861        * rendering/RenderView.cpp:
70862        (WebCore::RenderView::localToAbsoluteQuad):
70863        (WebCore::RenderView::absoluteQuads):
70864        * rendering/RenderView.h:
70865
708662008-11-12  Brent Fulgham <bfulgham@gmail.com>
70867
70868        Fix Bug 22178: Build errors in WebKit Cairo port
70869
70870        <https://bugs.webkit.org/show_bug.cgi?id=22178>
70871
70872        Reviewed by Mark Rowe.
70873
70874        * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
70875        Visual Studio.
70876        (WebCore::Pattern::createPlatformPattern):
70877
708782008-11-12  Adam Roben  <aroben@apple.com>
70879
70880        Fix a typo in the include path for the Release_Cairo configuration
70881
70882        * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
70883
708842008-11-12  Simon Fraser  <simon.fraser@apple.com>
70885
70886        Reviewed by Dave Hyatt
70887
70888        https://bugs.webkit.org/show_bug.cgi?id=17840
70889        Patch 2
70890
70891        Code cleanup in RenderBox::computeAbsoluteRepaintRect().
70892
70893        * rendering/RenderBox.cpp:
70894        (WebCore::RenderBox::computeAbsoluteRepaintRect):
70895
708962008-11-12  Simon Fraser  <simon.fraser@apple.com>
70897
70898        Reviewed by Dave Hyatt
70899
70900        https://bugs.webkit.org/show_bug.cgi?id=17840
70901
70902        Fix repainting when the transform on a positioned element changes.
70903        In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
70904        and being in a positioned container after applying the transform to the local
70905        rect.
70906
70907        Tests: fast/repaint/transform-absolute-in-positioned-container.html
70908               fast/repaint/transform-relative-position.html
70909
70910        * rendering/RenderBox.cpp:
70911        (WebCore::RenderBox::computeAbsoluteRepaintRect):
70912
709132008-11-12  Justin Garcia  <justin.garcia@apple.com>
70914
70915        Reviewed by Beth Dakin.
70916
70917        <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
70918        <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
70919
70920        We don't want to merge into a block if it will mean changing the quote level of content after deleting
70921        selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
70922        that such a selection actually ends at the start of the next paragraph.  Instead we want to completely
70923        remove the selected paragraph(s) and all evidence of the first one's quote level.  This matches TextEdit behavior
70924        for indented paragraphs.
70925
70926        * editing/DeleteSelectionCommand.cpp:
70927        (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
70928        try to merge after the deletion.  Instead try and prune the start block or blocks if they've been emptied
70929        so that we remove evidence of the deleted paragraphs' quote level.
70930        (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary.  Also
70931        make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
70932        started on, instead of one higher.
70933        * editing/DeleteSelectionCommand.h:
70934        * editing/htmlediting.cpp:
70935        (WebCore::numEnclosingMailBlockquotes): Added.
70936        * editing/htmlediting.h:
70937
709382008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
70939
70940        Reviewed by Simon Hausmann.
70941
70942        Move _web_encodingForResource from WebKit into WebCore and change return type
70943
70944        This change is needed to implement NSAPI in WebCore for Mac, see:
70945
70946        https://bugs.webkit.org/show_bug.cgi?id=21427
70947
70948        * WebCore.base.exp:
70949        * platform/mac/WebCoreNSStringExtras.h:
70950        * platform/mac/WebCoreNSStringExtras.mm:
70951        (stringEncodingForResource):
70952
709532008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
70954
70955        Reviewed by Simon Hausmann.
70956
70957        Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
70958        WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
70959
70960        This change is needed to implement NSAPI in WebCore for Mac, see:
70961
70962        https://bugs.webkit.org/show_bug.cgi?id=21427
70963
70964        * WebCore.base.exp:
70965        * platform/mac/WebCoreNSStringExtras.h:
70966        * platform/mac/WebCoreNSStringExtras.mm:
70967        (stringIsCaseInsensitiveEqualToString):
70968
709692008-11-11  Stephanie  <slewis@apple.com>
70970
70971        Reviewed by Dan Bernstein.
70972
70973        Null check image data before setting it as image source.
70974
70975        Test: fast/images/image-empty-data.html
70976
70977        * platform/graphics/BitmapImage.cpp:
70978        (WebCore::BitmapImage::destroyDecodedData):
70979
709802008-11-11  Adele Peterson  <adele@apple.com>
70981
70982        Reviewed by Tim Hatcher.
70983
70984        Remove ifdef so future OS versions can use the new delegate method.
70985
70986        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
70987
709882008-11-11  Eric Seidel  <eric@webkit.org>
70989
70990        Reviewed by Antti Koivisto and Sam Weinig.
70991
70992        Clean up HTMLTokenizer a litle
70993        https://bugs.webkit.org/show_bug.cgi?id=22188
70994
70995        Rename pendingScripts to m_pendingScripts
70996        Rename scriptNode to m_scriptNode make the type specific
70997        Rename pendingSrc to m_pendingSrc
70998        Rename currentPrependingSrc to m_currentPrependingSrc
70999        Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
71000        Remove long-since-dead kdDebug and qDebug calls
71001        Rename brokenComments to m_brokenComments
71002        Remove HTMLTokenizer includes and document the rest
71003        Rename src to m_src
71004        Rename parser to m_parser and make it an OwnPtr
71005        Rename inWrite to m_inWrite and jsProxy to scriptController
71006        Rename brokenServer to m_brokenServer
71007        Rename buffer to m_buffer and dest to m_dest
71008        Rename size to m_bufferSize
71009        Rename attrName to m_attrName
71010        Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
71011        Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
71012        Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
71013        Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
71014        Rename flat to selfClosingTag
71015        Rename currToken to m_currentToken
71016
71017        * css/CSSParser.cpp:
71018        * dom/XMLTokenizer.cpp:
71019        * dom/XMLTokenizerLibxml2.cpp:
71020        * html/HTMLDocument.cpp:
71021        * html/HTMLElement.cpp:
71022        * html/HTMLFormControlElement.cpp:
71023        * html/HTMLParser.h:
71024        * html/HTMLTokenizer.cpp:
71025        (WebCore::Token::addAttribute):
71026        (WebCore::HTMLTokenizer::HTMLTokenizer):
71027        (WebCore::HTMLTokenizer::reset):
71028        (WebCore::HTMLTokenizer::begin):
71029        (WebCore::HTMLTokenizer::processListing):
71030        (WebCore::HTMLTokenizer::parseSpecial):
71031        (WebCore::HTMLTokenizer::scriptHandler):
71032        (WebCore::HTMLTokenizer::scriptExecution):
71033        (WebCore::HTMLTokenizer::parseComment):
71034        (WebCore::HTMLTokenizer::parseServer):
71035        (WebCore::HTMLTokenizer::parseProcessingInstruction):
71036        (WebCore::HTMLTokenizer::parseText):
71037        (WebCore::HTMLTokenizer::parseEntity):
71038        (WebCore::HTMLTokenizer::parseTag):
71039        (WebCore::HTMLTokenizer::write):
71040        (WebCore::HTMLTokenizer::processingData):
71041        (WebCore::HTMLTokenizer::end):
71042        (WebCore::HTMLTokenizer::finish):
71043        (WebCore::HTMLTokenizer::processToken):
71044        (WebCore::HTMLTokenizer::processDoctypeToken):
71045        (WebCore::HTMLTokenizer::~HTMLTokenizer):
71046        (WebCore::HTMLTokenizer::enlargeBuffer):
71047        (WebCore::HTMLTokenizer::enlargeScriptBuffer):
71048        (WebCore::HTMLTokenizer::notifyFinished):
71049        (WebCore::HTMLTokenizer::setSrc):
71050        * html/HTMLTokenizer.h:
71051        (WebCore::Token::Token):
71052        (WebCore::Token::reset):
71053        (WebCore::HTMLTokenizer::processingContentWrittenByScript):
71054        (WebCore::HTMLTokenizer::htmlParser):
71055        (WebCore::HTMLTokenizer::checkBuffer):
71056        (WebCore::HTMLTokenizer::checkScriptBuffer):
71057        * html/HTMLViewSourceDocument.h:
71058        * rendering/RenderBlock.cpp:
71059        (WebCore::RenderBlock::leftRelOffset):
71060        (WebCore::RenderBlock::rightRelOffset):
71061        (WebCore::RenderBlock::lineWidth):
71062        * xml/XSLTProcessor.cpp:
71063
710642008-11-11  Sam Weinig  <sam@webkit.org>
71065
71066        Reviewed by Dan Bernstein.
71067
71068        Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
71069        Track CachedScript decoded data
71070
71071        We now track the decoded size of CachedScripts in the Cache allowing
71072        them to accounted for when deciding when to evict data.  The decoded
71073        data itself can be evicted when Cache pressure gets high enough through
71074        CachedScript::destroyDecodedData.
71075
71076        * loader/CachedResource.h:
71077        (WebCore::CachedResource::allClientsRemoved):
71078        (WebCore::CachedResource::destroyDecodedData):
71079        * loader/CachedScript.cpp:
71080        (WebCore::CachedScript::script):
71081        (WebCore::CachedScript::data):
71082        (WebCore::CachedScript::destroyDecodedData):
71083        * loader/CachedScript.h:
71084
710852008-11-11  Cameron Zwarich  <zwarich@apple.com>
71086
71087        Reviewed by Geoff Garen.
71088
71089        Remove pointless dependencies on the now-deleted kjs directory and
71090        mentions of it in comments that are no longer relevant.
71091
71092        * WebCore.pro:
71093        * webcore-base.bkl:
71094
710952008-11-11  Dan Bernstein  <mitz@apple.com>
71096
71097        Reviewed by Adam Roben.
71098
71099        WebCore part of adding a master volume control for media elements in a WebView
71100
71101        * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
71102        * dom/Document.cpp:
71103        (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
71104        when the media volume is changed.
71105        (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
71106        elements to register for a callback when the media volume is changed.
71107        (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
71108        elements to unregister for the callback.
71109        * dom/Document.h:
71110        * dom/Element.h:
71111        (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
71112        * html/HTMLMediaElement.cpp:
71113        (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
71114        registerForMediaVolumeCallbacks().
71115        (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
71116        unregisterForMediaVolumeCallbacks().
71117        (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
71118        element's intrinsic volume by the master volume from the page.
71119        (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
71120        updateVolume().
71121        * html/HTMLMediaElement.h:
71122        * page/Page.cpp:
71123        (WebCore::Page::Page): Initialize m_mediaVolume to 1.
71124        (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
71125        every document in the page when the master volume changes.
71126        * page/Page.h:
71127        (WebCore::Page::mediaVolume): Added this getter.
71128
711292008-11-11  David Hyatt  <hyatt@apple.com>
71130
71131        https://bugs.webkit.org/show_bug.cgi?id=22182
71132
71133        Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
71134        is turned on.  Make sure to only jump the thumb if the click happens in the track.  Also fix some math
71135        errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
71136
71137        Reviewed by Adele
71138
71139        * platform/Scrollbar.cpp:
71140        (WebCore::Scrollbar::mouseDown):
71141
711422008-11-11  Beth Dakin  <bdakin@apple.com>
71143
71144        Reviewed by Darin Adler.
71145
71146        Fix for <rdar://problem/5089327> Too much indentation when pasting
71147        quoted paragraphs
71148
71149        This patch re-addresses pasting blockquotes into blockquotes. It
71150        backs out most of revision 38273. 38273 fixed the bug by inserting
71151        the pasted content as a sibling blockquote node to the pre-existing
71152        blockquote node. The problem with that is that by default,
71153        blockquotes have a giant margin, so visually, this can be weird.
71154        This patch instead inserts the pasted content as siblings of the
71155        the content already inside the outer blockquote, and then removes
71156        the blockquote node from the pasted content itself, so that it
71157        doesn't nest itself into the outer blockquote.
71158        * editing/ReplaceSelectionCommand.cpp:
71159        (WebCore::ReplaceSelectionCommand::doApply):
71160
71161        Move contains() from Element to Node since there is nothing
71162        Element-specific about it.
71163        * dom/Element.cpp:
71164        * dom/Element.h:
71165        * dom/Node.cpp:
71166        (WebCore::Node::contains):
71167        * dom/Node.h:
71168
711692008-11-11  David Hyatt  <hyatt@apple.com>
71170
71171        https://bugs.webkit.org/show_bug.cgi?id=17997
71172
71173        Stop using the new Leopard API tiling call for scaled tiles when drawing background images.  The method
71174        is buggy.  Fall back to using the slower (and more correct) pattern tiling that Tiger still uses.  This
71175        is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
71176
71177        Reviewed by John Sullivan
71178
71179        * platform/graphics/cg/ImageCG.cpp:
71180        (WebCore::Image::drawPattern):
71181
711822008-11-10  David Hyatt  <hyatt@apple.com>
71183
71184        Disable the Aqua look for menu lists when full page zoom is turned on.  Because the control is buggy
71185        when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
71186        how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
71187
71188        Reviewed by Adam Roben
71189
71190        * rendering/RenderThemeMac.mm:
71191        (WebCore::RenderThemeMac::isControlStyled):
71192
711932008-11-11  Darin Adler  <darin@apple.com>
71194
71195        Reviewed by Dan Bernstein.
71196
71197        - https://bugs.webkit.org/show_bug.cgi?id=22160
71198        speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
71199        (previousLinePosition, too) uses a nil node
71200
71201        * editing/visible_units.cpp:
71202        (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
71203        to check editingIgnoresContent. It makes sense to use the associated DOM node for
71204        this, even in cases of anonymous content, and it avoids the case where element() can
71205        be 0.
71206        (WebCore::previousLinePosition): Ditto.
71207
712082008-11-11  Dirk Schulze  <vbs85@gmx.de>
71209
71210        Reviewed by Darin Adler.
71211
71212        Removed default: in applySpreadMethod. This causes the problems
71213        in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
71214        or CSS.
71215
71216        * platform/graphics/cairo/GraphicsContextCairo.cpp:
71217        (WebCore::applySpreadMethod):
71218
712192008-11-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
71220
71221        Reviewed by Tor Arne Vestbø.
71222
71223        Fix crash when rendering the file chooser.
71224        Also proper implementation for multi-selected files.
71225
71226        * platform/qt/FileChooserQt.cpp:
71227        (WebCore::FileChooser::basenameForWidth):
71228
712292008-11-11  Dirk Schulze  <vbs85@gmx.de>
71230
71231        Reviewed by Oliver Hunt.
71232
71233        PatternCairo needs to invert the pattern matrix because
71234        of transformation from user space to pattern space.
71235        Give a identity matrix to pattern for Qt and Cairo. Because the
71236        context is transformed already.
71237
71238        [CAIRO][QT] Canvas transformations applied twice to Patterns
71239        https://bugs.webkit.org/show_bug.cgi?id=21555
71240
71241        * platform/graphics/cairo/GraphicsContextCairo.cpp:
71242        (WebCore::GraphicsContext::fillPath):
71243        (WebCore::GraphicsContext::strokePath):
71244        * platform/graphics/cairo/PatternCairo.cpp:
71245        (WebCore::Pattern::createPlatformPattern):
71246        * platform/graphics/qt/GraphicsContextQt.cpp:
71247        (WebCore::GraphicsContext::strokePath):
71248        (WebCore::GraphicsContext::fillRect):
71249
712502008-11-10  Stephanie Lewis  <slewis@apple.com>
71251
71252        Reviewed by Dan Bernstein.
71253
71254        Clear the image source cache even if we haven't decoded any of the image data.
71255        We use the image source cache when calculating layout.
71256
71257        * loader/Cache.cpp:
71258        (WebCore::Cache::pruneDeadResources):
71259        * platform/graphics/BitmapImage.cpp:
71260        (WebCore::BitmapImage::destroyDecodedData):
71261
712622008-11-10  Adam Roben  <aroben@apple.com>
71263
71264        Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
71265        loading microsoftpdc.com
71266
71267        <https://bugs.webkit.org/show_bug.cgi?id=22161>
71268
71269        Reviewed by Dan Bernstein.
71270
71271        Test: fast/css/outline-invert-assertion.html
71272
71273        * rendering/RenderThemeWin.cpp:
71274        (WebCore::RenderThemeWin::systemColor): If we can't determine a good
71275        Win32 system color to use, defer to RenderTheme instead of asserting.
71276        This matches what RenderThemeMac does.
71277
712782008-11-10  Justin Garcia  <justin.garcia@apple.com>
71279
71280        Reviewed by Beth Dakin.
71281
71282        <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
71283        into quoted text yields double-quoting
71284
71285        Don't nest inserted content in Mail blockquotes.  Perform a
71286        BreakBlockquoteCommand if we're in
71287        one and insert the incoming fragment between the split blockquotes.
71288
71289        * editing/ReplaceSelectionCommand.cpp:
71290        (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
71291        source and to -> destination.
71292        (WebCore::ReplaceSelectionCommand::doApply):
71293
712942008-11-10  Adam Roben  <aroben@apple.com>
71295
71296        Fix Bug 22158: Would like to turn on WebCore logging channels via an
71297        environment variable
71298
71299        <https://bugs.webkit.org/show_bug.cgi?id=22158>
71300
71301        Logging channels can now be enabled by setting the WebCoreLogLevel
71302        environment variable to a hexadecimal number.
71303
71304        Reviewed by Anders Carlsson.
71305
71306        * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
71307        * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
71308        (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
71309        environment variable, parse its value as a hexadecimal number, and
71310        turn the channel on/off based on whether the mask bit is set.
71311        (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
71312        logging channel in turn.
71313
713142008-11-10  Darin Adler  <darin@apple.com>
71315
71316        Reviewed by Adam Roben.
71317
71318        - fix https://bugs.webkit.org/show_bug.cgi?id=22103
71319          Changing fonts in preferences does not immediately update WebViews
71320
71321        This broke when the meaning of FrameView::invalidate changed.
71322        I changed setNeedsReapplyStyles to no longer depend on invalidate.
71323
71324        * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
71325        Removed the part of this function that duplicated what's already in
71326        FrameView::needsLayout, since the copy here left out a few key things.
71327        For example, it didn't handle the fact that "needs reapply styles"
71328        counts as needing layout.
71329
71330        * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
71331        FrameView::invalidate before. There were two things wrong with that.
71332        1) It requested that the entire view repaint even if the style change
71333        didn't necessitate that. 2) FrameView::invalidate no longer causes any
71334        repainting at all in certain cases, because of Hyatt's changes to how
71335        widgets and the host window are involved in the repainting process.
71336        So call FrameView::scheduleRelayout instead, which is more precisely
71337        what we want and need here.
71338
71339        * page/FrameView.cpp:
71340        (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
71341        so that Document::shouldScheduleLayout doesn't have to replicate the
71342        logic that's in needsLayout and can instead rely on the fact that it
71343        was already called.
71344        (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
71345        in this function.
71346
713472008-11-10  Darin Adler  <darin@apple.com>
71348
71349        Reviewed by Adam Roben.
71350
71351        - speculative fix for <rdar://problem/5557243> crashes in Safari at
71352          WebCore::HTMLSelectElement::updateListBoxSelection + 280
71353
71354        * html/HTMLSelectElement.cpp:
71355        (WebCore::HTMLSelectElement::updateListBoxSelection):
71356        Check index against size of vector before indexing into the vector.
71357
713582008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
71359
71360        Reviewed by Tor Arne Vestbø.
71361
71362        Fix QtWebkit build failure on arm.
71363
71364        pen.widthF() is a qreal, which means it's a float on arm.
71365
71366        * platform/graphics/qt/GraphicsContextQt.cpp:
71367        (WebCore::GraphicsContext::setLineDash):
71368
713692008-11-10  Morten Sørvig  <msorvig@trolltech.com>
71370
71371        Reviewed by Simon Hausmann.
71372
71373        Improve mouse wheel scolling on Qt/Cocoa.
71374        Cocoa differs from Carbon (and other platforms I think) in that the
71375        mouse wheel events we get have a much higher acceleration factor.
71376
71377        This submit switches over to scroll-per-pixel from scroll-per-line
71378        for most of our scrolling views. This matches the native views
71379        and works well with the increased acceleration.
71380
71381        * platform/qt/WheelEventQt.cpp:
71382
713832008-11-09  Cameron Zwarich  <zwarich@apple.com>
71384
71385        Reviewed by Darin Adler.
71386
71387        Bug 19541: Null pointer in showModalDialog()
71388        <https://bugs.webkit.org/show_bug.cgi?id=19541>
71389
71390        Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
71391        and JSDOMWindowBase::canShowModalDialogNow()C
71392
71393        * bindings/js/JSDOMWindowBase.cpp:
71394        (WebCore::canShowModalDialog):
71395        (WebCore::canShowModalDialogNow):
71396
713972008-11-09  Darin Adler  <darin@apple.com>
71398
71399        - try to fix Windows build
71400
71401        * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
71402        about needed a separate definition for static const integer data members.
71403        Until I get to the bottom of this, put the definitions inside an ifdef.
71404
714052008-11-09  David Kilzer  <ddkilzer@apple.com>
71406
71407        BUILD FIX: Qt build broke after r38235.
71408
71409        Added HAVE(ACCESSIBILITY) header guards to platform implementation
71410        source files.
71411
71412        * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
71413        guards.
71414        * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
71415        * page/qt/AccessibilityObjectQt.cpp: Ditto.
71416        * page/win/AccessibilityObjectWin.cpp: Ditto.
71417        * page/wx/AccessibilityObjectWx.cpp: Ditto.
71418
714192008-11-09  Alexey Proskuryakov  <ap@webkit.org>
71420
71421        Reviewed by Darin Adler.
71422
71423        https://bugs.webkit.org/show_bug.cgi?id=22104
71424        Javascript URL percent encoding/decoding broken by some characters
71425
71426        Test: fast/loader/javascript-url-encoding-2.html
71427
71428        * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
71429
714302008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
71431
71432        Reviewed and tweaked by Darin Adler.
71433
71434        * platform/graphics/Color.cpp: Added definitions for the static data members
71435        in this class. Static data members need a definition, even when they are the
71436        simple integer constant kind that can be initialized in the header.
71437
714382008-11-08  Antti Koivisto  <antti@apple.com>
71439
71440        Reviewed by Sam Weinig.
71441
71442        Fix https://bugs.webkit.org/show_bug.cgi?id=22141
71443        REGRESSION: Safari error page is not fully styled when loaded from cache
71444
71445        Reset text decoder on flush so it does not pass through the BOM when it is reused.
71446
71447        Test: fast/encoding/css-cached-bom.html
71448
71449        * loader/TextResourceDecoder.cpp:
71450        (WebCore::TextResourceDecoder::flush):
71451
714522008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
71453
71454        Reviewed by Mark Rowe.
71455
71456        Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
71457        it was causing these errors to end up in the page's text representation.
71458
71459        * platform/network/curl/ResourceHandleManager.cpp:
71460        (WebCore::ResourceHandleManager::downloadTimerCallback):
71461
714622008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
71463
71464        wx build fixes after addition of JSCore parser and bycompiler dirs.
71465
71466        * webcore-base.bkl:
71467        * webcore-wx.bkl:
71468
714692008-11-08  Simon Fraser  <simon.fraser@apple.com>
71470
71471        Reviewed by Dan Bernstein
71472
71473        https://bugs.webkit.org/show_bug.cgi?id=21906
71474
71475        Override addFocusRingRects() in RenderTextControl to avoid
71476        the RenderFlow behavior of recursing on descendent renderers.
71477        RenderTextControl should only ever need a simple focus rect.
71478
71479        This fixes focus ring issues with transforms on text controls.
71480
71481        Test: fast/transforms/transformed-focused-text-input.html
71482
71483        * rendering/RenderTextControl.cpp:
71484        (WebCore::RenderTextControl::addFocusRingRects):
71485        * rendering/RenderTextControl.h:
71486
714872008-11-08  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
71488
71489        Make sure the icon thumbnail width/height is at least 1px in
71490        the Web Inspector's resource panel.
71491
71492        <rdar://problem/5988888>
71493
71494        Reviewed by Tim Hatcher.
71495
71496        * inspector/front-end/inspector.css:
71497
714982008-11-08  David Kilzer  <ddkilzer@apple.com>
71499
71500        Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
71501
71502        <https://bugs.webkit.org/show_bug.cgi?id=22137>
71503
71504        Reviewed by Darin Adler.
71505
71506        * page/AccessibilityObject.h:
71507        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
71508        Provide a default implementation when HAVE(ACCESSIBILITY) is false.
71509        * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
71510        * page/mac/AccessibilityObjectMac.mm: Ditto.
71511        * page/mac/AccessibilityObjectWrapper.mm: Ditto.
71512
715132008-11-08  Dan Bernstein  <mitz@apple.com>
71514
71515        Reviewed by Darin Adler.
71516
71517        - WebCore part of adding WebPreferences for controlling databases and local storage
71518
71519        * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
71520        Settings::setLocalStorageEnabled().
71521        * page/DOMWindow.cpp:
71522        (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
71523        is disabled in settings.
71524        (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
71525        are disabled in settings.
71526        * page/Settings.cpp:
71527        (WebCore::Settings::Settings): Initialize m_databasesEnabled and
71528        m_localStorageEnabled.
71529        (WebCore::Settings::setDatabasesEnabled): Added.
71530        (WebCore::Settings::setLocalStorageEnabled): Added.
71531        * page/Settings.h:
71532        (WebCore::Settings::databasesEnabled): Added.
71533        (WebCore::Settings::localStorageEnabled): Added.
71534
715352008-11-07  Alp Toker  <alp@nuanti.com>
71536
71537        Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
71538        now require that only their top-level header file is included.
71539
71540        Patch tested and still builds fine with older GTK+ versions (back to
71541        2.8).
71542
71543        Future WebKit GTK+ contributions are required to adhere to this
71544        policy.
71545
71546        * platform/gtk/FileSystemGtk.cpp:
71547        * platform/gtk/KeyEventGtk.cpp:
71548        * platform/gtk/MouseEventGtk.cpp:
71549        * platform/gtk/WheelEventGtk.cpp:
71550        * platform/gtk/gtkdrawing.h:
71551        * plugins/gtk/gtk2xtbin.c:
71552        * plugins/gtk/gtk2xtbin.h:
71553
715542008-11-07  Anders Carlsson  <andersca@apple.com>
71555
71556        Reviewed by Kevin Decker
71557
71558        Explicitly initialize the NPDrawingModelCoreAnimation.
71559
71560        * bridge/npapi.h:
71561
715622008-11-07  Alp Toker  <alp@nuanti.com>
71563
71564        autotools fix. Always use the configured perl binary (which may be
71565        different to the one in $PATH) when generating sources.
71566
71567        * GNUmakefile.am:
71568
715692008-11-07  Simon Fraser  <simon.fraser@apple.com>
71570
71571        Reviewed by Dan Bernstein
71572
71573        https://bugs.webkit.org/show_bug.cgi?id=22122
71574
71575        Use a stack-based object to simplify the pushLayoutState/popLayoutState
71576        code. LayoutStateMaintainer either pushes in the constructor, or allows
71577        an explicit push() later. Both cases require an explicit pop().
71578
71579        * rendering/RenderBlock.cpp:
71580        (WebCore::RenderBlock::layoutBlock):
71581        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
71582        * rendering/RenderContainer.cpp:
71583        (WebCore::RenderContainer::layout):
71584        * rendering/RenderFlexibleBox.cpp:
71585        (WebCore::RenderFlexibleBox::layoutBlock):
71586        * rendering/RenderTable.cpp:
71587        (WebCore::RenderTable::layout):
71588        * rendering/RenderTableRow.cpp:
71589        (WebCore::RenderTableRow::layout):
71590        * rendering/RenderTableSection.cpp:
71591        (WebCore::RenderTableSection::setCellWidths):
71592        (WebCore::RenderTableSection::calcRowHeight):
71593        (WebCore::RenderTableSection::layoutRows):
71594        * rendering/RenderView.h:
71595        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
71596        (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
71597        (WebCore::LayoutStateMaintainer::pop):
71598        (WebCore::LayoutStateMaintainer::push):
71599        (WebCore::LayoutStateMaintainer::didPush):
71600
716012008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
71602
71603        Fix the QtWebKit build on Mac
71604
71605        * platform/qt/TemporaryLinkStubs.cpp:
71606        (PluginView::invalidateRect):
71607
716082008-11-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
71609
71610        Rubber-stamped by Simon Hausmann.
71611
71612        Don't allow Phonon's invisible video widget to keep the app running
71613
71614        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
71615        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
71616
716172008-11-07  Henrik Hartz  <henrik.hartz@nokia.com>
71618
71619        Reviewed by Simon Hausmann.
71620
71621        Fix valgrind warning about uninitialized lastStop variable.
71622
71623        * platform/graphics/qt/GradientQt.cpp:
71624        (WebCore::Gradient::platformGradient):
71625
716262008-11-07  Alexey Proskuryakov  <ap@webkit.org>
71627
71628        Reviewed by Maciej Stachowiak.
71629
71630        Fix layout test brokenness following r38211.
71631
71632        * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
71633        Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
71634        matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
71635        inadvertently. This may or may not be a good thing, but it's certainly not something that
71636        should change by accident.
71637
716382008-11-06  Antti Koivisto  <antti@apple.com>
71639
71640        Eh, this trivial last minute change was wrong.
71641
71642        * loader/CachedCSSStyleSheet.cpp:
71643        (WebCore::CachedCSSStyleSheet::sheetText):
71644
716452008-11-06  Antti Koivisto  <antti@apple.com>
71646
71647        Reviewed by Dan Bernstein.
71648
71649        https://bugs.webkit.org/show_bug.cgi?id=22093
71650
71651        Delaying the text decoding caused regression since the decoding
71652        also determines the encoding in case of @charset rule.
71653
71654        Decode immediately in data() and keep the decoded string around
71655        during the checkNotify().
71656
71657        * loader/CachedCSSStyleSheet.cpp:
71658        (WebCore::CachedCSSStyleSheet::sheetText):
71659        (WebCore::CachedCSSStyleSheet::data):
71660        * loader/CachedCSSStyleSheet.h:
71661
716622008-11-06  Alexey Proskuryakov  <ap@webkit.org>
71663
71664        Reviewed by Darin Adler.
71665
71666        https://bugs.webkit.org/show_bug.cgi?id=22097
71667        Expose MessageEvent constructor on WorkerContext
71668
71669        * bindings/js/JSWorkerContext.cpp:
71670        (WebCore::jsWorkerContextMessageEvent):
71671        (WebCore::setJSWorkerContextMessageEvent):
71672
716732008-11-06  Alexey Proskuryakov  <ap@webkit.org>
71674
71675        Reviewed by Darin Adler.
71676
71677        https://bugs.webkit.org/show_bug.cgi?id=21107
71678        <rdar://problem/6264219> New access key combination conflicts with VoiceOver
71679
71680        * page/EventHandler.h:
71681        * page/gtk/EventHandlerGtk.cpp:
71682        (WebCore::EventHandler::accessKeyModifiers):
71683        * page/qt/EventHandlerQt.cpp:
71684        (WebCore::EventHandler::accessKeyModifiers):
71685        * page/win/EventHandlerWin.cpp:
71686        (WebCore::EventHandler::accessKeyModifiers):
71687        * page/wx/EventHandlerWx.cpp:
71688        (WebCore::EventHandler::accessKeyModifiers):
71689        Access access key modifiers via a function, not a static variable.
71690
71691        * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
71692        Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
71693        less troublesome than one with VO keys.
71694
71695        * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
71696        Also fix an access key matching bug introduced in r32424 - Any superset of specified
71697        modifier set invoked access keys. We can use simple equality comparison instead because
71698        CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
71699
717002008-11-06  Anders Carlsson  <andersca@apple.com>
71701
71702        Reviewed by Kevin Decker.
71703
71704        https://bugs.webkit.org/show_bug.cgi?id=22115
71705        NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
71706
71707        Export _NPN_HasMethod and _NPN_HasProperty.
71708
71709        * WebCore.NPAPI.exp:
71710
717112008-11-06  Simon Fraser  <simon.fraser@apple.com>
71712
71713        Reviewed by Antti Koivisto
71714
71715        https://bugs.webkit.org/show_bug.cgi?id=15678
71716
71717        Fix transformed menu selects to show the popup in the correct
71718        location.
71719
71720        * rendering/RenderMenuList.cpp:
71721        (WebCore::RenderMenuList::showPopup):
71722
717232008-11-06  David Kilzer  <ddkilzer@apple.com>
71724
71725        BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
71726
71727        Apparently older versions of gcc have issues with this patch.
71728        Backing out a second time until the issues are resolved.
71729
717302008-11-06  Julien Chaffraix  <jchaffraix@pleyo.com>
71731
71732        Reviewed by Maciej Stachowiak.
71733
71734        Bug 21106: .in format discussed changes
71735        https://bugs.webkit.org/show_bug.cgi?id=21106
71736
71737        Include the namespace into the interfaceName.
71738
71739        * dom/make_names.pl: Do not append the namespace when
71740        using the interfaceName.
71741        * html/HTMLTagNames.in: Added namespace prefix for custom
71742        interfaceName.
71743        * svg/svgtags.in: Ditto.
71744
717452008-11-06  Cameron Zwarich  <zwarich@apple.com>
71746
71747        Reviewed by Geoff Garen.
71748
71749        Move the remaining files in the kjs subdirectory of JavaScriptCore to
71750        a new parser subdirectory, and remove the kjs subdirectory entirely.
71751
71752        * ForwardingHeaders/kjs: Removed.
71753        * ForwardingHeaders/kjs/Parser.h: Removed.
71754        * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
71755        * ForwardingHeaders/kjs/SourceCode.h: Removed.
71756        * ForwardingHeaders/kjs/SourceProvider.h: Removed.
71757        * ForwardingHeaders/parser: Added.
71758        * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
71759        * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
71760        * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
71761        * WebCore.pro:
71762        * WebCore.vcproj/WebCore.vcproj:
71763        * bindings/js/StringSourceProvider.h:
71764        * bindings/js/WorkerScriptController.cpp:
71765        * bridge/NP_jsobject.cpp:
71766        * bridge/jni/jni_jsobject.mm:
71767        * bridge/testbindings.pro:
71768        * inspector/JavaScriptDebugServer.cpp:
71769
717702008-11-06  David Kilzer  <ddkilzer@apple.com>
71771
71772        BUILD WAS NOT BROKEN: Rolling r38189 back in.
71773
71774        Please perform a clean build if you see crashes.
71775
717762008-11-06  David Kilzer  <ddkilzer@apple.com>
71777
71778        BUILD FIX: Backed out r38189 since it apparently broke the world.
71779
717802008-11-06  Chris Fleizach  <cfleizach@apple.com>
71781
71782        Reviewed by Beth Dakin.
71783
71784        Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
71785        https://bugs.webkit.org/show_bug.cgi?id=22112
71786
71787        Test: accessibility/content-editable.html
71788
71789        * page/AccessibilityRenderObject.cpp:
71790        (WebCore::AccessibilityRenderObject::isReadOnly):
71791
717922008-11-06  Sam Weinig  <sam@webkit.org>
71793
71794        Reviewed by Alice Liu.
71795
71796        Fix failed assert at launch caused by unintialized data member on the mac.
71797
71798        * platform/network/mac/NetworkStateNotifierMac.cpp:
71799        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
71800
718012008-11-06  Steve Falkenburg  <sfalken@apple.com>
71802
71803        Fix failed assert at launch caused by unintialized data member.
71804
71805        Reviewed by Maciej Stachowiak.
71806
71807        * platform/network/win/NetworkStateNotifierWin.cpp:
71808        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
71809
718102008-11-06  Simon Fraser  <simon.fraser@apple.com>
71811
71812        Reviewed by Antti Koivisto
71813
71814        https://bugs.webkit.org/show_bug.cgi?id=22109
71815        Make <input type="range"> work correctly with transforms
71816
71817        Test: fast/forms/slider-transformed.html
71818
71819        * html/HTMLInputElement.cpp:
71820        (WebCore::HTMLInputElement::defaultEventHandler):
71821            Compute a correct local point when the event is retargeted
71822        * rendering/RenderSlider.cpp:
71823        (WebCore::HTMLSliderThumbElement::defaultEventHandler):
71824            Compute m_initialClickPoint in slider-local coords, so that
71825            deltas are computed correctly with transforms
71826        (WebCore::RenderSlider::mouseEventIsInThumb):
71827            Rather than computing an absolute bounds for the thumb,
71828            convert the point to local coords and compare it with the border box.
71829
718302008-11-06  Greg Bolsinga  <bolsinga@apple.com>
71831
71832        Reviewed by Darin Adler.
71833
71834        Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
71835        https://bugs.webkit.org/show_bug.cgi?id=21810
71836
71837        * bindings/js/GCController.cpp:
71838        (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
71839        * bindings/js/JSDOMBinding.cpp:
71840        (WebCore::wrapperSet): Ditto
71841        * bindings/js/JSInspectedObjectWrapper.cpp:
71842        (WebCore::wrappers): Ditto
71843        * bindings/js/JSInspectorCallbackWrapper.cpp:
71844        (WebCore::wrappers): Ditto
71845        * bridge/runtime_root.cpp:
71846        (JSC::Bindings::rootObjectSet): Ditto
71847        * css/CSSMutableStyleDeclaration.cpp:
71848        (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
71849        * css/CSSPrimitiveValue.cpp:
71850        (WebCore::CSSPrimitiveValue::cssText): Ditto
71851        * css/CSSSelector.cpp:
71852        (WebCore::CSSSelector::extractPseudoType): Ditto
71853        * css/CSSStyleSelector.cpp:
71854        (WebCore::screenEval): Ditto
71855        (WebCore::printEval): Ditto
71856        * dom/DOMImplementation.cpp:
71857        (WebCore::isSVG10Feature): Ditto
71858        (WebCore::isSVG11Feature): Ditto
71859        (WebCore::DOMImplementation::isXMLMIMEType): Ditto
71860        * dom/Document.cpp:
71861        (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
71862        * dom/ScriptElement.cpp:
71863        (WebCore::isSupportedJavaScriptLanguage): Ditto
71864        * editing/ApplyStyleCommand.cpp:
71865        (WebCore::styleSpanClassString): Ditto
71866        * editing/HTMLInterchange.cpp:
71867        (WebCore::): Ditto
71868        * editing/IndentOutdentCommand.cpp:
71869        (WebCore::indentBlockquoteString): Ditto
71870        * editing/ReplaceSelectionCommand.cpp:
71871        (WebCore::isInterchangeNewlineNode): Ditto
71872        (WebCore::isInterchangeConvertedSpaceSpan): Ditto
71873        * editing/htmlediting.cpp:
71874        (WebCore::stringWithRebalancedWhitespace): Ditto
71875        (WebCore::nonBreakingSpaceString): Ditto
71876        * editing/markup.cpp:
71877        (WebCore::appendAttributeValue): Ditto
71878        (WebCore::appendEscapedContent): Ditto
71879        (WebCore::shouldAddNamespaceAttr): Ditto
71880        (WebCore::appendNamespace): Ditto
71881        (WebCore::appendStartMarkup): Ditto
71882        (WebCore::createMarkup): Ditto
71883        * html/HTMLButtonElement.cpp:
71884        (WebCore::HTMLButtonElement::type): Ditto
71885        * html/HTMLElement.cpp:
71886        (WebCore::HTMLElement::isRecognizedTagName): Ditto
71887        (WebCore::inlineTagList): Ditto
71888        (WebCore::blockTagList): Ditto
71889        * html/HTMLFieldSetElement.cpp:
71890        (WebCore::HTMLFieldSetElement::type): Ditto
71891        * html/HTMLInputElement.cpp:
71892        (WebCore::HTMLInputElement::type): Ditto
71893        * html/HTMLKeygenElement.cpp:
71894        (WebCore::HTMLKeygenElement::type): Ditto
71895        * html/HTMLLegendElement.cpp:
71896        (WebCore::HTMLLegendElement::type): Ditto
71897        * html/HTMLOptGroupElement.cpp:
71898        (WebCore::HTMLOptGroupElement::type): Ditto
71899        * html/HTMLOptionElement.cpp:
71900        (WebCore::HTMLOptionElement::type): Ditto
71901        * html/HTMLParser.cpp:
71902        (WebCore::HTMLParser::getNode): Ditto
71903        (WebCore::HTMLParser::isHeaderTag): Ditto
71904        (WebCore::HTMLParser::isResidualStyleTag): Ditto
71905        (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
71906        * html/HTMLSelectElement.cpp:
71907        (WebCore::HTMLSelectElement::type): Ditto
71908        * html/HTMLTextAreaElement.cpp:
71909        (WebCore::HTMLTextAreaElement::type): Ditto
71910        * inspector/InspectorController.cpp:
71911        (WebCore::platform): Ditto
71912        * inspector/JavaScriptDebugServer.cpp:
71913        (WebCore::JavaScriptDebugServer::shared): Ditto
71914        * inspector/JavaScriptProfile.cpp:
71915        (WebCore::profileCache): Ditto
71916        * inspector/JavaScriptProfileNode.cpp:
71917        (WebCore::profileNodeCache): Ditto
71918        * loader/FrameLoader.cpp:
71919        (WebCore::localSchemes): Ditto
71920        * loader/appcache/ApplicationCacheStorage.cpp:
71921        (WebCore::cacheStorage): Ditto
71922        * loader/archive/ArchiveFactory.cpp:
71923        (WebCore::archiveMIMETypes): Ditto
71924        * loader/icon/IconDatabase.cpp:
71925        (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
71926        * page/EventHandler.cpp:
71927        (WebCore::EventHandler::dragState): Ditto
71928        * page/Frame.cpp:
71929        (WebCore::createRegExpForLabels): Ditto
71930        (WebCore::keepAliveSet): Ditto
71931        * page/Page.cpp:
71932        (WebCore::Page::groupName): Ditto
71933        * page/SecurityOrigin.cpp:
71934        (WebCore::isDefaultPortForProtocol): Ditto
71935        (WebCore::SecurityOrigin::databaseIdentifier): Ditto
71936        * page/mac/FrameMac.mm:
71937        (WebCore::regExpForLabels): Ditto
71938        * platform/KURL.cpp:
71939        (WebCore::blankURL): Ditto
71940        * platform/graphics/FontCache.cpp:
71941        (WebCore::alternateFamilyName): Ditto
71942        * platform/graphics/mac/FontCacheMac.mm:
71943        (WebCore::FontCache::getSimilarFontPlatformData): Ditto
71944        (WebCore::FontCache::getLastResortFallbackFont): Ditto
71945        * platform/mac/ScrollbarThemeMac.mm:
71946        (WebCore::ScrollbarTheme::nativeTheme): Ditto
71947        * platform/mac/ThemeMac.mm:
71948        (WebCore::platformTheme): Ditto
71949        * platform/mac/ThreadCheck.mm:
71950        (WebCoreReportThreadViolation): Ditto
71951        * platform/network/NetworkStateNotifier.cpp:
71952        (WebCore::networkStateNotifier): Ditto
71953        * platform/network/mac/FormDataStreamMac.mm:
71954        (WebCore::getStreamFormDataMap): Ditto
71955        (WebCore::getStreamResourceHandleMap): Ditto
71956        * platform/network/mac/ResourceResponseMac.mm:
71957        (WebCore::ResourceResponse::platformLazyInit): Ditto
71958        * platform/text/TextEncoding.cpp:
71959        (WebCore::TextEncoding::isJapanese): Ditto
71960        * rendering/RenderBlock.cpp:
71961        (WebCore::continuationOutlineTable): Ditto
71962        * rendering/RenderCounter.cpp:
71963        (WebCore::counterMaps): Ditto
71964        * rendering/RenderFlexibleBox.cpp:
71965        (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
71966        * rendering/RenderListItem.cpp:
71967        (WebCore::RenderListItem::markerText): Ditto
71968        * rendering/RenderScrollbarTheme.cpp:
71969        (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
71970        * rendering/RenderThemeMac.mm:
71971        (WebCore::RenderThemeMac::systemFont): Ditto
71972        * rendering/bidi.cpp:
71973        (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
71974        * rendering/style/RenderStyle.cpp:
71975        (WebCore::RenderStyle::initialDashboardRegions): Ditto
71976        (WebCore::RenderStyle::noneDashboardRegions): Ditto
71977        * storage/LocalStorage.cpp:
71978        (WebCore::localStorageMap): Ditto
71979        * svg/SVGAnimateMotionElement.cpp:
71980        (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
71981        * svg/SVGAnimationElement.cpp:
71982        (WebCore::SVGAnimationElement::calcMode): Ditto
71983        (WebCore::SVGAnimationElement::attributeType): Ditto
71984        (WebCore::SVGAnimationElement::isAdditive): Ditto
71985        (WebCore::SVGAnimationElement::isAccumulated): Ditto
71986        * svg/SVGLangSpace.cpp:
71987        (WebCore::SVGLangSpace::xmlspace): Ditto
71988        * svg/SVGSVGElement.cpp:
71989        (WebCore::SVGSVGElement::contentScriptType): Ditto
71990        (WebCore::SVGSVGElement::contentStyleType): Ditto
71991        * svg/SVGStyleElement.cpp:
71992        (WebCore::SVGStyleElement::type): Ditto
71993        (WebCore::SVGStyleElement::media): Ditto
71994        * svg/SVGTextContentElement.cpp:
71995        (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
71996        * svg/animation/SVGSMILElement.cpp:
71997        (WebCore::SVGSMILElement::parseClockValue): Ditto
71998        (WebCore::SVGSMILElement::restart): Ditto
71999        (WebCore::SVGSMILElement::fill): Ditto
72000        (WebCore::SVGSMILElement::repeatCount): Ditto
72001        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
72002        * svg/graphics/SVGResource.cpp:
72003        (WebCore::clientMap): Ditto
72004        * svg/graphics/SVGResourceMarker.cpp:
72005        (WebCore::SVGResourceMarker::draw): Ditto
72006        * xml/XMLHttpRequest.cpp:
72007        (WebCore::preflightResultCache): Ditto
72008        (WebCore::isSafeRequestHeader): Ditto
72009        (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
72010        * xml/XPathExpressionNode.cpp:
72011        (WebCore::XPath::Expression::evaluationContext): Ditto
72012        * xml/XPathParser.cpp:
72013        (WebCore::XPath::isAxisName): Ditto
72014        (WebCore::XPath::isNodeTypeName): Ditto
72015        * xml/XPathValue.cpp:
72016        (WebCore::XPath::Value::toNodeSet): Ditto
72017
720182008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
72019
72020        Rubber-stamped by Simon Hausmann.
72021
72022        Remove a bunch of unused methods in the Qt media element implementation
72023
72024        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
72025        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
72026        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
72027
720282008-11-05  Simon Fraser  <simon.fraser@apple.com>
72029
72030        Reviewed by Dave Hyatt
72031
72032        https://bugs.webkit.org/show_bug.cgi?id=21870
72033
72034        Implement absoluteToLocal() to convert a point from absolute
72035        to local coordinates, optionally taking transforms into account.
72036
72037        Use this to set offsetX/offsetY in mouse events, thus fixing
72038        offsetX/offsetY in events on elements with transforms.
72039
72040        Test: fast/events/offsetX-offsetY.html
72041
72042        * dom/MouseRelatedEvent.cpp:
72043        (WebCore::MouseRelatedEvent::receivedTarget):
72044        * rendering/RenderBox.cpp:
72045        (WebCore::RenderBox::localToAbsolute):
72046        (WebCore::RenderBox::absoluteToLocal):
72047        (WebCore::RenderBox::offsetFromContainer):
72048        * rendering/RenderBox.h:
72049        * rendering/RenderObject.cpp:
72050        (WebCore::RenderObject::absoluteToLocal):
72051        * rendering/RenderObject.h:
72052        * rendering/RenderTableCell.cpp:
72053        (WebCore::RenderTableCell::localToAbsolute):
72054        (WebCore::RenderTableCell::absoluteToLocal):
72055        * rendering/RenderTableCell.h:
72056        * rendering/RenderView.cpp:
72057        (WebCore::RenderView::absoluteToLocal):
72058        * rendering/RenderView.h:
72059
720602008-11-06  Alp Toker  <alp@nuanti.com>
72061
72062        Reviewed by Cameron Zwarich.
72063
72064        https://bugs.webkit.org/show_bug.cgi?id=22067
72065        [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
72066
72067        null-check symbols loaded from plugin modules, initialize the function
72068        table (like Win already does) and update it with the latest
72069        additions. Adjust whitespace for easy diff'ing with the Win port code
72070        from which it was forked.
72071
72072        This fixes crashes with libnspr4.so and any other plugins that don't
72073        provide the symbols we expect.
72074
72075        * plugins/gtk/PluginPackageGtk.cpp:
72076        (WebCore::PluginPackage::fetchInfo):
72077        (WebCore::PluginPackage::load):
72078
720792008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
72080
72081        Reviewed by Simon Hausmann.
72082
72083        Removed dead (and broken) code from an ancient Symbian port.
72084
72085        * config.h:
72086        * platform/text/AtomicString.h:
72087        * platform/text/PlatformString.h:
72088
720892008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
72090
72091        Reviewed by Simon Hausmann.
72092
72093        Use QLibrary as PlatformModule when compiling with Qt for S60.
72094
72095        * platform/FileSystem.h:
72096
720972008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
72098
72099        Reviewed by Simon Hausmann.
72100
72101        Compile fix for Symbian.
72102        The snprintf function is defined in stdio.h, the inclusion
72103        of snprintf.h inside this PLATFORM(SYMBIAN) block does not
72104        compile.
72105
72106        * config.h:
72107
721082008-11-06  Kristian Amlie  <kristian.amlie@nokia.com>
72109
72110        Reviewed by Simon Hausmann.
72111
72112        Disable webkit plugins for Symbian.
72113
72114        * WebCore.pro:
72115
721162008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
72117
72118        Fix build break in debug mode when XSLT is not enabled
72119
72120        * loader/Cache.cpp:
72121        (WebCore::Cache::dumpStats):
72122
721232008-11-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
72124
72125        Reviewed by Simon Hausmann.
72126
72127        Repaint video on UpdateRequest to prevent recursive painting
72128
72129        Calling QWidget::render() to update the video generates a paint
72130        event that's then picked up by the event filter once more :(
72131
72132        We're really only interested in updates from Phonon, which we
72133        get through the UpdateRequest for each new frame.
72134
72135        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
72136        (WebCore::MediaPlayerPrivate::eventFilter):
72137
721382008-11-06  Cameron Zwarich  <zwarich@apple.com>
72139
72140        Not reviewed.
72141
72142        Fix the WebCore build for some platforms by changing build scripts to
72143        account for the recent move of the create_hash_table script from the kjs
72144        subdirectory of JavaScriptCore to the root directory.
72145
72146        * WebCore.pro:
72147        * make-generated-sources.sh:
72148
721492008-11-06  Cameron Zwarich  <zwarich@apple.com>
72150
72151        Not reviewed.
72152
72153        Fix a case-sensitivity issue in Mac forwarding headers. Strangely
72154        enough, this does not always cause the build to break, even with a
72155        case-sensitive filesystem.
72156
72157        * ForwardingHeaders/runtime/Interpreter.h:
72158
721592008-11-05  Alexey Proskuryakov  <ap@webkit.org>
72160
72161        Reviewed by Maciej Stachowiak.
72162
72163        https://bugs.webkit.org/show_bug.cgi?id=22083
72164        MessageEvents cannot be used across threads
72165
72166        * dom/Event.idl:
72167        * dom/MessageEvent.idl:
72168        Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
72169        won't work.
72170
72171        * dom/MessagePort.cpp:
72172        (WebCore::MessagePort::EventData::EventData):
72173        (WebCore::MessagePort::EventData::~EventData):
72174        (WebCore::MessagePort::clone):
72175        (WebCore::MessagePort::postMessage):
72176        (WebCore::MessagePort::startConversation):
72177        (WebCore::MessagePort::dispatchMessages):
72178        * dom/MessagePort.h:
72179        Don't create a MessageEvent until dispatch time - messages can be posted across threads,
72180        but MessageEvents are tied to the thread that they were created in.
72181
721822008-11-05  Alexey Proskuryakov  <ap@webkit.org>
72183
72184        Reviewed by Darin Adler.
72185
72186        https://bugs.webkit.org/show_bug.cgi?id=22066
72187        Implement Worker global object
72188
72189        * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
72190
72191        * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
72192        support is still disabled by default.
72193
72194        * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
72195
72196        * bindings/js/JSMessageChannelConstructor.cpp:
72197        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
72198
72199        * bindings/js/JSWorkerContext.cpp: Added.
72200        * bindings/js/JSWorkerContext.h: Added.
72201        * bindings/js/WorkerScriptController.cpp: Added.
72202        * bindings/js/WorkerScriptController.h: Added.
72203        * dom/WorkerContext.cpp: Added.
72204        * dom/WorkerContext.h: Added.
72205        Added an implementation of worker contexts.
72206
72207        * dom/DedicatedWorker.cpp:
72208        (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
72209        (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
72210        and lifetime is not clear at all.
72211
72212        * dom/WorkerLocation.cpp: Added.
72213        * dom/WorkerLocation.h: Added.
72214        * dom/WorkerLocation.idl: Added.
72215        Added WorkerLocation, which is one of the objects available to workers.
72216
72217        * dom/WorkerThread.cpp: Added.
72218        (WebCore::WorkerThread::WorkerThread):
72219        (WebCore::WorkerThread::start):
72220        (WebCore::WorkerThread::workerThreadStart):
72221        (WebCore::WorkerThread::workerThread):
72222        * dom/WorkerThread.h: Added.
72223        (WebCore::WorkerThread::create):
72224        Run some code in a worker thread (no message loop yet).
72225
722262008-11-05  Antti Koivisto  <antti@apple.com>
72227
72228        Reviewed by Dan Bernstein.
72229
72230        https://bugs.webkit.org/show_bug.cgi?id=22093
72231        Don't keep decoded stylesheet data in cache
72232
72233        <rdar://problem/6343588>
72234
72235        Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
72236        performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
72237        style sheet data in cache by 2/3 in common case.
72238
72239        * loader/CachedCSSStyleSheet.cpp:
72240        (WebCore::CachedCSSStyleSheet::sheetText):
72241        (WebCore::CachedCSSStyleSheet::data):
72242        * loader/CachedCSSStyleSheet.h:
72243
722442008-11-05  David Kilzer  <ddkilzer@apple.com>
72245
72246        Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
72247
72248        <https://bugs.webkit.org/show_bug.cgi?id=21596>
72249
72250        Reviewed by Antti.
72251
72252        This patch adds real parsing for Pragma and Cache-Control headers
72253        based on RFC 2616, Sections 2, 14.9 and 14.32.  It also adds some
72254        new String and StringImpl methods to assist with the parsing.
72255
72256        * loader/Cache.cpp:
72257        (WebCore::Cache::dumpStats): Added.  Convenience method for dumping
72258        stats outside of Safari.
72259        * loader/Cache.h: Declared dumpStats().
72260
72261        * loader/CachedResource.cpp:
72262        (WebCore::CachedResource::mustRevalidate): Updated to use
72263        ResourceResponseBase::cacheControlDirectives() instead of substring
72264        matching of the entire Cache-Control header.
72265
72266        * loader/loader.cpp:
72267        (WebCore::Loader::Host::didReceiveResponse): Used the local
72268        'resource' variable instead of 'request->cachedResource()'.
72269
72270        * platform/network/ResourceResponseBase.cpp:
72271        (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
72272        m_haveParsedCacheControlHeader to false when a "Cache-Control"
72273        header is set.  Ditto for m_haveParsedPragmaHeader and "Pragma".
72274        (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
72275        Provides parsed Pragma header directives.
72276        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
72277        Provides parsed Cache-Control header directives.
72278        (WebCore::isCacheHeaderSeparator): Added.  Returns true if a
72279        character is a separator character per RFC 2616, Section 2.2, else
72280        returns false.
72281        (WebCore::isControlCharacter): Added.  Returns true if a character
72282        is a control character per RFC 2616 Section 2.2, else returns false.
72283        (WebCore::trimToNextSeparator): Added.  Returns a string truncated
72284        at the first separator character per isCacheHeaderSeparator().
72285        (WebCore::parseCacheHeader): Added.  This is the main parsing
72286        routine for both Cache-Control and Pragma headers.
72287        (WebCore::parseCacheControlDirectiveValues): Added.  This splits
72288        certain Cache-Control directive values into a vector of strings.
72289        * platform/network/ResourceResponseBase.h:
72290        (WebCore::CacheControlDirectiveMap): Added.  Typedef for a parsed
72291        Cache-Control header.
72292        (WebCore::PragmaDirectiveMap): Added.  Typedef for a parsed Pragma
72293        header.
72294        (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
72295        declaration.
72296        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
72297        (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
72298        Added.  Boolean to describe when the "Cache-Control" header needs to
72299        be reparsed.
72300        (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader):  Added.
72301        Boolean to describe when the "Pragma" header needs to be reparsed.
72302        (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
72303        Cached map to hold parsed "Cache-Control" headers.
72304        (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
72305        Cached map to hold parsed "Pragma" headers.
72306
72307        * platform/text/PlatformString.h:
72308        (WebCore::String::find): Added.  Returns the first match based on
72309        the character-matching function pointer passed in.
72310        (WebCore::String::removeCharacters): Added declaration.
72311        (WebCore::find): Added.  Inline method that takes a character-
72312        matching function pointer.  Called by StringImpl::find().
72313        * platform/text/String.cpp:
72314        (WebCore::String::removeCharacters): Added.  Calls
72315        StringImpl::removeCharacters().
72316        * platform/text/StringImpl.cpp:
72317        (WebCore::StringImpl::removeCharacters): Added.  Returns a string
72318        with all characters removed that match the character-matching
72319        function pointer passed in.  If there is no change to the string, it
72320        returns itself.  Based heavily on StringImpl::simplifyWhitespace().
72321        (WebCore::StringImpl::find): Added.  Calls WebCore::find().
72322        * platform/text/StringImpl.h:
72323        (WebCore::FindMatchFunctionPtr): Added.  Typedef for a character-
72324        matching function pointer.
72325        (WebCore::StringImpl::removeCharacters): Added declaration.
72326        (WebCore::StringImpl::find): Ditto.
72327
723282008-11-05  Justin Garcia  <justin.garcia@apple.com>
72329
72330        Reviewed by Beth Dakin.
72331
72332        <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
72333
72334        As a rule, we don't allow merges out of blockquotes.  In the bug, we are inserting a text node
72335        between two blockquotes.  Because the start merge moves the text node into a blockquote, when we
72336        determine whether or not we should do the end merge, it incorrectly appears as though the end merge
72337        is merging out of a blockquote.  The fix is to determine whether or not we should do the end merge
72338        before we do the start merge, so that the start merge doesn't effect our decision.
72339
72340        * editing/ReplaceSelectionCommand.cpp:
72341        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
72342        (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
72343        (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
72344        * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
72345
723462008-11-05  Cameron Zwarich  <zwarich@apple.com>
72347
72348        Not reviewed.
72349
72350        Speculatively fix the Windows build, even though these changes may not
72351        actually matter for anything in the build, because the Windows bots are
72352        behind.
72353
72354        * WebCore.vcproj/WebCore.vcproj:
72355
723562008-11-05  Cameron Zwarich  <zwarich@apple.com>
72357
72358        Not reviewed.
72359
72360        Fix the Qt build.
72361
72362        * bridge/qt/qt_class.cpp:
72363        * bridge/qt/qt_runtime.h:
72364
723652008-11-05  Cameron Zwarich  <zwarich@apple.com>
72366
72367        Rubber-stamped by Sam Weinig.
72368
72369        Move more files to the runtime subdirectory of JavaScriptCore.
72370
72371        * ForwardingHeaders/kjs/collector.h: Removed.
72372        * ForwardingHeaders/kjs/completion.h: Removed.
72373        * ForwardingHeaders/kjs/identifier.h: Removed.
72374        * ForwardingHeaders/kjs/interpreter.h: Removed.
72375        * ForwardingHeaders/kjs/lookup.h: Removed.
72376        * ForwardingHeaders/kjs/operations.h: Removed.
72377        * ForwardingHeaders/kjs/protect.h: Removed.
72378        * ForwardingHeaders/kjs/ustring.h: Removed.
72379        * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
72380        * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
72381        * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
72382        * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
72383        * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
72384        * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
72385        * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
72386        * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
72387        * bindings/js/GCController.cpp:
72388        * bindings/js/JSCustomPositionCallback.h:
72389        * bindings/js/JSCustomPositionErrorCallback.h:
72390        * bindings/js/JSCustomSQLStatementCallback.h:
72391        * bindings/js/JSCustomSQLStatementErrorCallback.h:
72392        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
72393        * bindings/js/JSCustomVoidCallback.h:
72394        * bindings/js/JSDOMBinding.h:
72395        * bindings/js/JSDOMWindowBase.h:
72396        * bindings/js/JSEventListener.h:
72397        * bindings/js/ScheduledAction.h:
72398        * bindings/js/ScriptController.cpp:
72399        * bindings/js/ScriptController.h:
72400        * bindings/objc/WebScriptObject.mm:
72401        * bindings/scripts/CodeGeneratorJS.pm:
72402        * bridge/NP_jsobject.cpp:
72403        * bridge/c/c_class.cpp:
72404        * bridge/jni/jni_class.cpp:
72405        * bridge/jni/jni_jsobject.mm:
72406        * bridge/npruntime.cpp:
72407        * bridge/runtime_root.h:
72408        * history/CachedPage.h:
72409        * html/CanvasRenderingContext2D.cpp:
72410        * html/HTMLCanvasElement.cpp:
72411        * inspector/InspectorController.cpp:
72412        * inspector/JavaScriptCallFrame.cpp:
72413        * page/Console.cpp:
72414        * page/Page.cpp:
72415        * platform/text/AtomicString.cpp:
72416        * platform/text/PlatformString.h:
72417
724182008-11-05  Sam Weinig  <sam@webkit.org>
72419
72420        Reviewed by Anders Carlsson.
72421
72422        Fix https://bugs.webkit.org/show_bug.cgi?id=22085
72423        The Plugin JS object should expose item() and namedItem() methods to match Firefox
72424
72425        * bindings/js/JSPluginCustom.cpp:
72426        (WebCore::JSPlugin::nameGetter):
72427        * plugins/Plugin.cpp:
72428        (WebCore::Plugin::namedItem):
72429        * plugins/Plugin.h:
72430        * plugins/Plugin.idl:
72431
724322008-11-05  Alexey Proskuryakov  <ap@webkit.org>
72433
72434        Reviewed by Maciej Stachowiak.
72435
72436        https://bugs.webkit.org/show_bug.cgi?id=21060
72437        Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
72438
72439        Test: fast/dom/Range/surroundContents-check-boundary-points.html
72440
72441        * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
72442
724432008-11-05  Anders Carlsson  <andersca@apple.com>
72444
72445        Reviewed by Dan Bernstein.
72446
72447        Remove two global destructors from CoreTextController.
72448
72449        * platform/graphics/mac/CoreTextController.cpp:
72450        (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
72451
724522008-11-05  Darin Fisher  <darin@chromium.org>
72453
72454        Reviewed by Darin Adler.
72455
72456        CRASH at Scrollbar::invalidateRect due to null m_client
72457        https://bugs.webkit.org/show_bug.cgi?id=22080
72458
72459        * platform/Scrollbar.cpp:
72460        (WebCore::Scrollbar::isWindowActive):
72461        (WebCore::Scrollbar::invalidateRect):
72462
724632008-11-04  Sam Weinig  <sam@webkit.org>
72464
72465        Reviewed by Simon Hausmann.
72466
72467        Fix https://bugs.webkit.org/show_bug.cgi?id=21648
72468        navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
72469
72470        - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
72471
72472        * bindings/js/JSMimeTypeArrayCustom.cpp:
72473        (WebCore::JSMimeTypeArray::nameGetter):
72474        * bindings/js/JSPluginArrayCustom.cpp:
72475        (WebCore::JSPluginArray::nameGetter):
72476        * page/DOMWindow.idl:
72477        * plugins/MimeType.idl:
72478        * plugins/MimeTypeArray.cpp:
72479        (WebCore::MimeTypeArray::namedItem):
72480        * plugins/MimeTypeArray.h:
72481        * plugins/MimeTypeArray.idl:
72482        * plugins/Plugin.idl:
72483        * plugins/PluginArray.cpp:
72484        (WebCore::PluginArray::namedItem):
72485        * plugins/PluginArray.h:
72486        * plugins/PluginArray.idl:
72487
724882008-11-05  Steve Falkenburg  <sfalken@apple.com>
72489
72490        Build fix.
72491
72492        * plugins/PluginPackage.cpp:
72493
724942008-11-05  Jeff Cook  <cookiecaper@gmail.com>
72495
72496        Reviewed by Simon Hausmann and Tor Arne.
72497
72498        Fix crash in the Qt port when unloading swfdec and Flash 10
72499        by reordering window destruction and plugin stop.
72500
72501        See https://bugs.webkit.org/show_bug.cgi?id=20779
72502
72503        * plugins/qt/PluginViewQt.cpp:
72504        (WebCore::PluginView::stop):
72505
725062008-11-05  Simon Hausmann  <hausmann@webkit.org>
72507
72508        Reviewed by Tor Arne Vestbø
72509
72510        Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
72511
72512        Otherwise Flash refuses to load and function :(
72513
72514        * plugins/PluginPackage.cpp:
72515        (WebCore::PluginPackage::determineQuirks):
72516        * plugins/PluginQuirkSet.h:
72517        (WebCore::):
72518        * plugins/qt/PluginViewQt.cpp:
72519        (WebCore::PluginView::getValue):
72520
725212008-11-05  Simon Hausmann  <hausmann@webkit.org>
72522
72523        Reviewed by Tor Arne Vestbø
72524
72525        Unify determineQuirks between the Qt and the Gtk PluginPackage.
72526        Share the code for parsing the module version from the description.
72527        This is currently used to determine Flash based quirks.
72528
72529        * plugins/PluginPackage.cpp:
72530        (WebCore::PluginPackage::createPackage):
72531        (WebCore::PluginPackage::determineQuirks):
72532        (WebCore::PluginPackage::determineModuleVersionFromDescription):
72533        * plugins/PluginPackage.h:
72534        * plugins/gtk/PluginPackageGtk.cpp:
72535        (WebCore::PluginPackage::fetchInfo):
72536        * plugins/qt/PluginPackageQt.cpp:
72537        (WebCore::PluginPackage::fetchInfo):
72538
725392008-11-04  Cameron Zwarich  <zwarich@apple.com>
72540
72541        Rubber-stamped by Sam Weinig.
72542
72543        Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
72544
72545        * ForwardingHeaders/kjs/dtoa.h: Removed.
72546        * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
72547        * css/CSSParser.cpp:
72548        * platform/text/String.cpp:
72549        * platform/text/StringImpl.cpp:
72550
725512008-11-04  Jonathan Haas  <myrdred@gmail.com>
72552
72553        Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
72554
72555        Reviewed by Darin Adler.
72556
72557        Fixed an issue which could cause memory corruption using ToT libxml.
72558        See https://bugs.webkit.org/show_bug.cgi?id=15715
72559
72560        Test: fast/xsl/xslt-nested-stylesheets.xml
72561
72562        * xml/XSLImportRule.cpp:
72563        (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
72564        * xml/XSLStyleSheet.cpp:
72565        (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
72566        (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
72567        (WebCore::XSLStyleSheet::setParentStyleSheet): Added
72568        * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
72569
725702008-11-04  Simon Fraser  <simon.fraser@apple.com>
72571
72572        No review.
72573
72574        Improved buid fix: include MathExtras.h to get roundf on all platforms.
72575
72576        * platform/graphics/FloatPoint.h:
72577
725782008-11-04  Brady Eidson  <beidson@apple.com>
72579
72580        Reviewed by John Sullivan
72581
72582        Add a simple "visited" method to HistoryItem for use by global history
72583
72584        * WebCore.base.exp:
72585
72586        * history/HistoryItem.cpp:
72587        (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
72588          and bump the visit count.  All things that should happen when a url is visited again!
72589        * history/HistoryItem.h:
72590
725912008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
72592
72593        Build fix. Not reviewed.
72594
72595        * platform/graphics/FloatPoint.h: include math.h.
72596        reported by zdobersek in #webkit.
72597
725982008-11-04  Darin Fisher  <darin@chromium.org>
72599
72600        Reviewed by Anders Carlsson.
72601
72602        No need to clobber all ResourceRequest fields in FrameLoader::reload()
72603        https://bugs.webkit.org/show_bug.cgi?id=21949
72604
72605        * loader/FrameLoader.cpp:
72606        (WebCore::FrameLoader::reload):
72607
726082008-11-04  Darin Adler  <darin@apple.com>
72609
72610        Reviewed by Tim Hatcher.
72611
72612        * storage/Database.cpp:
72613        (WebCore::databaseVersionKey): Tweaked formatting.
72614
726152008-11-03  Darin Adler  <darin@apple.com>
72616
72617        Reviewed by Tim Hatcher.
72618
72619        - https://bugs.webkit.org/show_bug.cgi?id=22061
72620          create script to check for exit-time destructors
72621
72622        * WebCore.xcodeproj/project.pbxproj: Added a script
72623        phase that runs the check-for-exit-time-destructors script.
72624
72625        * html/HTMLAttributeNames.in: Removed some unused attribute names.
72626
72627        * html/HTMLEmbedElement.cpp:
72628        (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
72629        sets the write-only m_pluginPage.
72630        * html/HTMLEmbedElement.h: Ditto.
72631
72632        * platform/mac/CursorMac.mm:
72633        (WebCore::leakNamedCursor): Changed to return a Cursor&.
72634        (WebCore::pointerCursor): Changed to leak an object to avoid an
72635        exit-time destructor.
72636        (WebCore::crossCursor): Ditto.
72637        (WebCore::handCursor): Ditto.
72638        (WebCore::moveCursor): Ditto.
72639        (WebCore::verticalTextCursor): Ditto.
72640        (WebCore::cellCursor): Ditto.
72641        (WebCore::contextMenuCursor): Ditto.
72642        (WebCore::aliasCursor): Ditto.
72643        (WebCore::zoomInCursor): Ditto.
72644        (WebCore::zoomOutCursor): Ditto.
72645        (WebCore::copyCursor): Ditto.
72646        (WebCore::noneCursor): Ditto.
72647        (WebCore::progressCursor): Ditto.
72648        (WebCore::noDropCursor): Ditto.
72649        (WebCore::notAllowedCursor): Ditto.
72650        (WebCore::iBeamCursor): Ditto.
72651        (WebCore::waitCursor): Ditto.
72652        (WebCore::helpCursor): Ditto.
72653        (WebCore::eastResizeCursor): Ditto.
72654        (WebCore::northResizeCursor): Ditto.
72655        (WebCore::northEastResizeCursor): Ditto.
72656        (WebCore::northWestResizeCursor): Ditto.
72657        (WebCore::southResizeCursor): Ditto.
72658        (WebCore::southEastResizeCursor): Ditto.
72659        (WebCore::southWestResizeCursor): Ditto.
72660        (WebCore::westResizeCursor): Ditto.
72661        (WebCore::northSouthResizeCursor): Ditto.
72662        (WebCore::eastWestResizeCursor): Ditto.
72663        (WebCore::northEastSouthWestResizeCursor): Ditto.
72664        (WebCore::northWestSouthEastResizeCursor): Ditto.
72665        (WebCore::columnResizeCursor): Ditto.
72666        (WebCore::rowResizeCursor): Ditto.
72667        (WebCore::grabCursor): Ditto.
72668        (WebCore::grabbingCursor): Ditto.
72669
72670        * storage/Database.cpp:
72671        (WebCore::guidMutex): Changed to leak an object to avoid an
72672        exit-time destructor. Also added a comment explaining why it's
72673        thread safe.
72674        (WebCore::guidToVersionMap): Ditto.
72675        (WebCore::guidToDatabaseMap): Ditto.
72676        (WebCore::Database::databaseInfoTableName): Ditto.
72677        (WebCore::databaseVersionKey): Ditto.
72678        (WebCore::Database::getVersionFromDatabase): Ditto.
72679        (WebCore::Database::setVersionInDatabase): Ditto.
72680        (WebCore::guidForOriginAndName): Ditto.
72681        * storage/DatabaseTracker.cpp:
72682        (WebCore::DatabaseTracker::tracker): Ditto.
72683        (WebCore::notificationMutex): Ditto.
72684        (WebCore::notificationQueue): Ditto.
72685        (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
72686
726872008-11-04  Simon Fraser  <simon.fraser@apple.com>
72688
72689        Reviewed by Dave Hyatt
72690
72691        https://bugs.webkit.org/show_bug.cgi?id=21941
72692
72693        Rename absolutePosition() to localToAbsolute(), and add the ability
72694        to optionally take transforms into account (which will eventually be the
72695        default behavior).
72696
72697        * WebCore.base.exp:
72698        * WebCore.xcodeproj/project.pbxproj:
72699        * dom/ContainerNode.cpp:
72700        (WebCore::ContainerNode::getUpperLeftCorner):
72701        (WebCore::ContainerNode::getLowerRightCorner):
72702        (WebCore::ContainerNode::getRect):
72703        * dom/ContainerNode.h:
72704        * dom/MouseRelatedEvent.cpp:
72705        (WebCore::MouseRelatedEvent::receivedTarget):
72706        * dom/Node.cpp:
72707        (WebCore::Node::getRect):
72708        * editing/SelectionController.cpp:
72709        (WebCore::SelectionController::layout):
72710        (WebCore::SelectionController::caretRect):
72711        * editing/visible_units.cpp:
72712        (WebCore::previousLinePosition):
72713        (WebCore::nextLinePosition):
72714        * html/HTMLAnchorElement.cpp:
72715        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
72716        (WebCore::HTMLAnchorElement::defaultEventHandler):
72717        * html/HTMLAreaElement.cpp:
72718        (WebCore::HTMLAreaElement::getRect):
72719        * html/HTMLImageElement.cpp:
72720        (WebCore::HTMLImageElement::x):
72721        (WebCore::HTMLImageElement::y):
72722        * html/HTMLInputElement.cpp:
72723        (WebCore::HTMLInputElement::defaultEventHandler):
72724        * html/HTMLInputElement.h:
72725        * page/AccessibilityRenderObject.cpp:
72726        (WebCore::AccessibilityRenderObject::boundingBoxRect):
72727        * page/EventHandler.cpp:
72728        (WebCore::EventHandler::handleDrag):
72729        * platform/graphics/FloatPoint.h:
72730        (WebCore::roundedIntPoint):
72731        * platform/graphics/IntSize.h:
72732        (WebCore::IntSize::expand):
72733        * rendering/LayoutState.cpp:
72734        (WebCore::LayoutState::LayoutState):
72735        * rendering/RenderBlock.cpp:
72736        (WebCore::RenderBlock::layoutBlock):
72737        (WebCore::RenderBlock::paintObject):
72738        (WebCore::RenderBlock::selectionGapRects):
72739        (WebCore::RenderBlock::fillBlockSelectionGaps):
72740        (WebCore::RenderBlock::nodeAtPoint):
72741        (WebCore::RenderBlock::positionForCoordinates):
72742        * rendering/RenderBox.cpp:
72743        (WebCore::RenderBox::localToAbsolute):
72744        (WebCore::RenderBox::computeAbsoluteRepaintRect):
72745        (WebCore::RenderBox::caretRect):
72746        * rendering/RenderBox.h:
72747        (WebCore::RenderBox::relativePositionOffset):
72748        * rendering/RenderContainer.cpp:
72749        (WebCore::RenderContainer::addLineBoxRects):
72750        * rendering/RenderFlow.cpp:
72751        (WebCore::RenderFlow::absoluteClippedOverflowRect):
72752        (WebCore::RenderFlow::caretRect):
72753        (WebCore::RenderFlow::addFocusRingRects):
72754        * rendering/RenderLayer.cpp:
72755        (WebCore::RenderLayer::updateLayerPosition):
72756        (WebCore::RenderLayer::convertToLayerCoords):
72757        (WebCore::RenderLayer::addScrolledContentOffset):
72758        (WebCore::RenderLayer::subtractScrolledContentOffset):
72759        (WebCore::RenderLayer::scrollRectToVisible):
72760        * rendering/RenderLayer.h:
72761        (WebCore::RenderLayer::scrolledContentOffset):
72762        (WebCore::RenderLayer::relativePositionOffset):
72763        * rendering/RenderListBox.cpp:
72764        (WebCore::RenderListBox::panScroll):
72765        (WebCore::RenderListBox::scrollToward):
72766        * rendering/RenderListMarker.cpp:
72767        (WebCore::RenderListMarker::selectionRect):
72768        * rendering/RenderObject.cpp:
72769        (WebCore::RenderObject::absoluteBoundingBoxRect):
72770        (WebCore::RenderObject::computeAbsoluteRepaintRect):
72771        (WebCore::RenderObject::localToAbsolute):
72772        (WebCore::RenderObject::addDashboardRegions):
72773        (WebCore::RenderObject::absoluteContentBox):
72774        (WebCore::RenderObject::absoluteOutlineBox):
72775        * rendering/RenderObject.h:
72776        (WebCore::RenderObject::localToAbsoluteForContent):
72777        * rendering/RenderPart.cpp:
72778        (WebCore::RenderPart::updateWidgetPosition):
72779        * rendering/RenderReplaced.cpp:
72780        (WebCore::RenderReplaced::selectionRect):
72781        * rendering/RenderSVGInlineText.cpp:
72782        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
72783        * rendering/RenderSVGText.cpp:
72784        (WebCore::RenderSVGText::absoluteRects):
72785        * rendering/RenderTableCell.cpp:
72786        (WebCore::RenderTableCell::localToAbsolute):
72787        * rendering/RenderTableCell.h:
72788        * rendering/RenderText.cpp:
72789        (WebCore::RenderText::addLineBoxRects):
72790        (WebCore::RenderText::caretRect):
72791        (WebCore::RenderText::selectionRect):
72792        * rendering/RenderVideo.cpp:
72793        (WebCore::RenderVideo::updatePlayer):
72794        * rendering/RenderView.cpp:
72795        (WebCore::RenderView::localToAbsolute):
72796        * rendering/RenderView.h:
72797        * rendering/RenderWidget.cpp:
72798        (WebCore::RenderWidget::updateWidgetPosition):
72799        * svg/SVGSVGElement.cpp:
72800        (WebCore::SVGSVGElement::getScreenCTM):
72801
728022008-11-03  Yael Aharon  <yael.aharon@nokia.com>
72803
72804        Reviewed by Simon Hausmann.
72805
72806        Add methods for getting and setting user data on History Item.
72807        This change is limited to QT port only. Tests were added in
72808        the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
72809
72810        Minor change by Simon: made the functions inline and added a missing
72811        const.
72812
72813        * history/HistoryItem.h:
72814
728152008-11-01  Alexey Proskuryakov  <ap@webkit.org>
72816
72817        Reviewed by Darin Adler.
72818
72819        https://bugs.webkit.org/show_bug.cgi?id=22030
72820        Make EventNames usable from multiple threads
72821
72822        * platform/text/AtomicString.cpp:
72823        (WebCore::stringTable):
72824        (WebCore::AtomicString::add):
72825        (WebCore::AtomicString::remove):
72826        (WebCore::AtomicString::find):
72827        (WebCore::AtomicString::init):
72828        * platform/text/AtomicString.h:
72829        Atomic string table is now per-thread. Individual strings cannot be shared between threads,
72830        so global AtomicString constants cannot be used from threads other than the main one.
72831
72832        * dom/EventNames.cpp:
72833        (WebCore::EventNames::EventNames):
72834        (WebCore::eventNames):
72835        (WebCore::EventNames::init):
72836        * dom/EventNames.h:
72837        Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
72838        eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
72839        threads.
72840
72841        * WebCore.base.exp:
72842        * bindings/js/JSDOMWindowBase.cpp:
72843        * bindings/js/JSEventListener.cpp:
72844        * bindings/js/ScriptController.cpp:
72845        (WebCore::ScriptController::processingUserGesture):
72846        * dom/BeforeTextInsertedEvent.cpp:
72847        (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
72848        * dom/BeforeUnloadEvent.cpp:
72849        (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
72850        * dom/CharacterData.cpp:
72851        (WebCore::CharacterData::dispatchModifiedEvent):
72852        * dom/ContainerNode.cpp:
72853        (WebCore::dispatchChildInsertionEvents):
72854        (WebCore::dispatchChildRemovalEvents):
72855        * dom/DedicatedWorker.cpp:
72856        (WebCore::DedicatedWorker::dispatchErrorEvent):
72857        * dom/Document.cpp:
72858        (WebCore::Document::implicitClose):
72859        (WebCore::Document::setFocusedNode):
72860        (WebCore::Document::addListenerTypeIfNeeded):
72861        (WebCore::Document::removeWindowInlineEventListenerForType):
72862        (WebCore::Document::addWindowEventListener):
72863        (WebCore::Document::removeWindowEventListener):
72864        (WebCore::Document::finishedParsing):
72865        * dom/EventTargetNode.cpp:
72866        (WebCore::EventTargetNode::dispatchGenericEvent):
72867        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
72868        (WebCore::EventTargetNode::dispatchWindowEvent):
72869        (WebCore::EventTargetNode::dispatchUIEvent):
72870        (WebCore::EventTargetNode::dispatchSimulatedClick):
72871        (WebCore::EventTargetNode::dispatchMouseEvent):
72872        (WebCore::EventTargetNode::dispatchFocusEvent):
72873        (WebCore::EventTargetNode::dispatchBlurEvent):
72874        (WebCore::EventTargetNode::defaultEventHandler):
72875        (WebCore::EventTargetNode::on*): (multiple methods)
72876        (WebCore::EventTargetNode::setOn*): (multiple methods)
72877        * dom/KeyboardEvent.cpp:
72878        (WebCore::eventTypeForKeyboardEventType):
72879        (WebCore::KeyboardEvent::keyCode):
72880        (WebCore::KeyboardEvent::charCode):
72881        * dom/MessageEvent.cpp:
72882        (WebCore::MessageEvent::MessageEvent):
72883        * dom/MessagePort.cpp:
72884        (WebCore::MessagePort::dispatchMessages):
72885        (WebCore::MessagePort::dispatchCloseEvent):
72886        * dom/MouseEvent.cpp:
72887        (WebCore::MouseEvent::isDragEvent):
72888        (WebCore::MouseEvent::toElement):
72889        (WebCore::MouseEvent::fromElement):
72890        * dom/OverflowEvent.cpp:
72891        (WebCore::OverflowEvent::OverflowEvent):
72892        * dom/TextEvent.cpp:
72893        (WebCore::TextEvent::TextEvent):
72894        * dom/WebKitAnimationEvent.cpp:
72895        (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
72896        (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
72897        (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
72898        (WebCore::WebKitAnimationEvent::animationName):
72899        (WebCore::WebKitAnimationEvent::elapsedTime):
72900        * dom/WebKitTransitionEvent.cpp:
72901        (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
72902        (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
72903        (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
72904        (WebCore::WebKitTransitionEvent::propertyName):
72905        (WebCore::WebKitTransitionEvent::elapsedTime):
72906        * dom/WheelEvent.cpp:
72907        (WebCore::WheelEvent::WheelEvent):
72908        (WebCore::WheelEvent::initWheelEvent):
72909        * dom/XMLTokenizerLibxml2.cpp:
72910        * dom/XMLTokenizerQt.cpp:
72911        * editing/DeleteButton.cpp:
72912        (WebCore::DeleteButton::defaultEventHandler):
72913        * editing/EditCommand.cpp:
72914        * editing/Editor.cpp:
72915        (WebCore::Editor::canDHTMLCut):
72916        (WebCore::Editor::canDHTMLCopy):
72917        (WebCore::Editor::canDHTMLPaste):
72918        (WebCore::Editor::tryDHTMLCopy):
72919        (WebCore::Editor::tryDHTMLCut):
72920        (WebCore::Editor::tryDHTMLPaste):
72921        (WebCore::dispatchEditableContentChangedEvents):
72922        * editing/ReplaceSelectionCommand.cpp:
72923        (WebCore::ReplacementFragment::ReplacementFragment):
72924        * editing/SelectionController.cpp:
72925        (WebCore::SelectionController::setFocused):
72926        * html/HTMLAnchorElement.cpp:
72927        (WebCore::HTMLAnchorElement::defaultEventHandler):
72928        * html/HTMLBodyElement.cpp:
72929        (WebCore::HTMLBodyElement::parseMappedAttribute):
72930        * html/HTMLButtonElement.cpp:
72931        (WebCore::HTMLButtonElement::parseMappedAttribute):
72932        (WebCore::HTMLButtonElement::defaultEventHandler):
72933        * html/HTMLElement.cpp:
72934        (WebCore::HTMLElement::parseMappedAttribute):
72935        * html/HTMLFormControlElement.cpp:
72936        (WebCore::HTMLFormControlElement::onChange):
72937        * html/HTMLFormElement.cpp:
72938        (WebCore::HTMLFormElement::handleLocalEvents):
72939        (WebCore::HTMLFormElement::prepareSubmit):
72940        (WebCore::HTMLFormElement::reset):
72941        (WebCore::HTMLFormElement::parseMappedAttribute):
72942        * html/HTMLFrameElementBase.cpp:
72943        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
72944        * html/HTMLFrameSetElement.cpp:
72945        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
72946        * html/HTMLImageElement.cpp:
72947        (WebCore::HTMLImageElement::parseMappedAttribute):
72948        * html/HTMLImageLoader.cpp:
72949        (WebCore::HTMLImageLoader::dispatchLoadEvent):
72950        * html/HTMLInputElement.cpp:
72951        (WebCore::HTMLInputElement::parseMappedAttribute):
72952        (WebCore::HTMLInputElement::setValueFromRenderer):
72953        (WebCore::HTMLInputElement::preDispatchEventHandler):
72954        (WebCore::HTMLInputElement::postDispatchEventHandler):
72955        (WebCore::HTMLInputElement::defaultEventHandler):
72956        (WebCore::HTMLInputElement::onSearch):
72957        * html/HTMLLabelElement.cpp:
72958        (WebCore::HTMLLabelElement::defaultEventHandler):
72959        * html/HTMLMediaElement.cpp:
72960        (WebCore::HTMLMediaElement::load):
72961        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
72962        (WebCore::HTMLMediaElement::setReadyState):
72963        (WebCore::HTMLMediaElement::progressEventTimerFired):
72964        (WebCore::HTMLMediaElement::seek):
72965        (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
72966        (WebCore::HTMLMediaElement::setPlaybackRate):
72967        (WebCore::HTMLMediaElement::play):
72968        (WebCore::HTMLMediaElement::pause):
72969        (WebCore::HTMLMediaElement::setVolume):
72970        (WebCore::HTMLMediaElement::setMuted):
72971        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
72972        (WebCore::HTMLMediaElement::documentWillBecomeInactive):
72973        * html/HTMLObjectElement.cpp:
72974        (WebCore::HTMLObjectElement::parseMappedAttribute):
72975        * html/HTMLOptionElement.cpp:
72976        * html/HTMLScriptElement.cpp:
72977        (WebCore::HTMLScriptElement::parseMappedAttribute):
72978        (WebCore::HTMLScriptElement::dispatchLoadEvent):
72979        (WebCore::HTMLScriptElement::dispatchErrorEvent):
72980        * html/HTMLSelectElement.cpp:
72981        (WebCore::HTMLSelectElement::parseMappedAttribute):
72982        (WebCore::HTMLSelectElement::defaultEventHandler):
72983        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
72984        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
72985        * html/HTMLTextAreaElement.cpp:
72986        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
72987        (WebCore::HTMLTextAreaElement::defaultEventHandler):
72988        * html/HTMLTokenizer.cpp:
72989        (WebCore::HTMLTokenizer::notifyFinished):
72990        * loader/FrameLoader.cpp:
72991        (WebCore::FrameLoader::stopLoading):
72992        (WebCore::FrameLoader::canCachePage):
72993        * loader/ImageDocument.cpp:
72994        (WebCore::ImageEventListener::handleEvent):
72995        * loader/ImageLoader.cpp:
72996        * loader/MediaDocument.cpp:
72997        (WebCore::MediaDocument::defaultEventHandler):
72998        * loader/appcache/DOMApplicationCache.cpp:
72999        (WebCore::DOMApplicationCache::callCheckingListener):
73000        (WebCore::DOMApplicationCache::callErrorListener):
73001        (WebCore::DOMApplicationCache::callNoUpdateListener):
73002        (WebCore::DOMApplicationCache::callDownloadingListener):
73003        (WebCore::DOMApplicationCache::callProgressListener):
73004        (WebCore::DOMApplicationCache::callUpdateReadyListener):
73005        (WebCore::DOMApplicationCache::callCachedListener):
73006        * page/AccessibilityObject.cpp:
73007        * page/AccessibilityRenderObject.cpp:
73008        (WebCore::AccessibilityRenderObject::mouseButtonListener):
73009        * page/ContextMenuController.cpp:
73010        (WebCore::ContextMenuController::handleContextMenuEvent):
73011        * page/DOMWindow.cpp:
73012        (WebCore::DOMWindow::on*): (multiple methods)
73013        (WebCore::DOMWindow::setOn*): (multiple methods)
73014        * page/EventHandler.cpp:
73015        (WebCore::EventHandler::handleMousePressEvent):
73016        (WebCore::EventHandler::handleMouseDoubleClickEvent):
73017        (WebCore::EventHandler::handleMouseMoveEvent):
73018        (WebCore::EventHandler::handleMouseReleaseEvent):
73019        (WebCore::EventHandler::updateDragAndDrop):
73020        (WebCore::EventHandler::cancelDragAndDrop):
73021        (WebCore::EventHandler::performDragAndDrop):
73022        (WebCore::EventHandler::updateMouseEventTargetNode):
73023        (WebCore::EventHandler::dispatchMouseEvent):
73024        (WebCore::EventHandler::sendContextMenuEvent):
73025        (WebCore::EventHandler::canMouseDownStartSelect):
73026        (WebCore::EventHandler::canMouseDragExtendSelect):
73027        (WebCore::EventHandler::defaultKeyboardEventHandler):
73028        (WebCore::EventHandler::dragSourceMovedTo):
73029        (WebCore::EventHandler::dragSourceEndedAt):
73030        (WebCore::EventHandler::handleDrag):
73031        (WebCore::EventHandler::handleTextInputEvent):
73032        * page/FocusController.cpp:
73033        * page/Frame.cpp:
73034        (WebCore::Frame::sendResizeEvent):
73035        (WebCore::Frame::sendScrollEvent):
73036        * page/Page.cpp:
73037        (WebCore::networkStateChanged):
73038        * page/animation/AnimationBase.cpp:
73039        (WebCore::AnimationBase::updateStateMachine):
73040        (WebCore::AnimationBase::animationTimerCallbackFired):
73041        (WebCore::AnimationBase::primeEventTimers):
73042        * page/animation/ImplicitAnimation.cpp:
73043        (WebCore::ImplicitAnimation::onAnimationEnd):
73044        (WebCore::ImplicitAnimation::sendTransitionEvent):
73045        * page/animation/KeyframeAnimation.cpp:
73046        (WebCore::KeyframeAnimation::onAnimationStart):
73047        (WebCore::KeyframeAnimation::onAnimationIteration):
73048        (WebCore::KeyframeAnimation::onAnimationEnd):
73049        (WebCore::KeyframeAnimation::sendAnimationEvent):
73050        * page/gtk/EventHandlerGtk.cpp:
73051        * page/mac/EventHandlerMac.mm:
73052        (WebCore::isKeyboardOptionTab):
73053        * page/mac/FrameMac.mm:
73054        * page/qt/EventHandlerQt.cpp:
73055        (WebCore::isKeyboardOptionTab):
73056        * plugins/PluginView.cpp:
73057        * plugins/gtk/PluginViewGtk.cpp:
73058        * plugins/qt/PluginViewQt.cpp:
73059        * plugins/win/PluginViewWin.cpp:
73060        (WebCore::PluginView::handleKeyboardEvent):
73061        (WebCore::PluginView::handleMouseEvent):
73062        * rendering/MediaControlElements.cpp:
73063        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
73064        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
73065        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
73066        (WebCore::MediaControlTimelineElement::defaultEventHandler):
73067        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
73068        * rendering/RenderFrameSet.cpp:
73069        (WebCore::RenderFrameSet::userResize):
73070        * rendering/RenderLayer.cpp:
73071        (WebCore::RenderLayer::scrollToOffset):
73072        * rendering/RenderListBox.cpp:
73073        (WebCore::RenderListBox::valueChanged):
73074        * rendering/RenderMedia.cpp:
73075        (WebCore::RenderMedia::forwardEvent):
73076        * rendering/RenderObject.cpp:
73077        * rendering/RenderSlider.cpp:
73078        (WebCore::HTMLSliderThumbElement::defaultEventHandler):
73079        * rendering/RenderTextControl.cpp:
73080        (WebCore::RenderTextControl::forwardEvent):
73081        (WebCore::RenderTextControl::selectionChanged):
73082        * rendering/RenderWidget.cpp:
73083        * rendering/TextControlInnerElements.cpp:
73084        (WebCore::TextControlInnerTextElement::defaultEventHandler):
73085        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
73086        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
73087        * storage/LocalStorageArea.cpp:
73088        (WebCore::LocalStorageArea::dispatchStorageEvent):
73089        * storage/SessionStorageArea.cpp:
73090        (WebCore::SessionStorageArea::dispatchStorageEvent):
73091        * svg/SVGAElement.cpp:
73092        (WebCore::SVGAElement::defaultEventHandler):
73093        * svg/SVGDocument.cpp:
73094        (WebCore::SVGDocument::dispatchZoomEvent):
73095        (WebCore::SVGDocument::dispatchScrollEvent):
73096        * svg/SVGElement.cpp:
73097        (WebCore::SVGElement::parseMappedAttribute):
73098        (WebCore::hasLoadListener):
73099        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
73100        * svg/SVGElementInstance.cpp:
73101        (WebCore::SVGElementInstance::on*): (multiple methods)
73102        (WebCore::SVGElementInstance::setOn*): (multiple methods)
73103        * svg/SVGImageLoader.cpp:
73104        (WebCore::SVGImageLoader::dispatchLoadEvent):
73105        * svg/SVGSVGElement.cpp:
73106        (WebCore::SVGSVGElement::parseMappedAttribute):
73107        * svg/SVGScriptElement.cpp:
73108        (WebCore::SVGScriptElement::dispatchErrorEvent):
73109        * xml/XMLHttpRequest.cpp:
73110        (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
73111        (WebCore::XMLHttpRequest::dispatchAbortEvent):
73112        (WebCore::XMLHttpRequest::dispatchErrorEvent):
73113        (WebCore::XMLHttpRequest::dispatchLoadEvent):
73114        (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
73115        (WebCore::XMLHttpRequest::dispatchProgressEvent):
73116        * xml/XMLHttpRequestUpload.cpp:
73117        (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
73118        (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
73119        (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
73120        (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
73121        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
73122        * xml/XPathResult.cpp:
73123        (WebCore::XPathResult::XPathResult):
73124        (WebCore::XPathResult::~XPathResult):
73125        (WebCore::XPathResult::invalidateIteratorState):
73126        Access event names via eventNames() function.
73127
731282008-11-04  Cameron Zwarich  <zwarich@apple.com>
73129
73130        Reviewed by Mark Rowe.
73131
73132        Delete unused forwarding headers.
73133
73134        * ForwardingHeaders/kjs/Activation.h: Removed.
73135        * ForwardingHeaders/kjs/Register.h: Removed.
73136        * ForwardingHeaders/kjs/RegisterID.h: Removed.
73137
731382008-11-04  Cameron Zwarich  <zwarich@apple.com>
73139
73140        Not reviewed.
73141
73142        Fix stupid typo in previous build fix.
73143
73144        * bindings/js/JSStorageCustom.cpp:
73145        * bindings/scripts/CodeGeneratorJS.pm:
73146        * bridge/NP_jsobject.cpp:
73147
731482008-11-03  Cameron Zwarich  <zwarich@apple.com>
73149
73150        Not reviewed.
73151
73152        Fix the build for all non-Mac platforms.
73153
73154        * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
73155        * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
73156        * bindings/js/JSStorageCustom.cpp:
73157        * bindings/scripts/CodeGeneratorJS.pm:
73158        * bridge/NP_jsobject.cpp:
73159
731602008-11-03  Cameron Zwarich  <zwarich@apple.com>
73161
73162        Not reviewed.
73163
73164        Fix the wxWindows build.
73165
73166        * bridge/c/c_instance.cpp:
73167
731682008-11-03  Cameron Zwarich  <zwarich@apple.com>
73169
73170        Rubber-stamped by Maciej Stachowiak.
73171
73172        Move more files into the runtime subdirectory of JavaScriptCore.
73173
73174        * ForwardingHeaders/kjs/ArgList.h: Removed.
73175        * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
73176        * ForwardingHeaders/kjs/ExecState.h: Removed.
73177        * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
73178        * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
73179        * ForwardingHeaders/kjs/JSLock.h: Removed.
73180        * ForwardingHeaders/kjs/SymbolTable.h: Removed.
73181        * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
73182        * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
73183        * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
73184        * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
73185        * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
73186        * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
73187        * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
73188        * bindings/js/GCController.cpp:
73189        * bindings/js/JSCustomPositionCallback.cpp:
73190        * bindings/js/JSCustomPositionErrorCallback.cpp:
73191        * bindings/js/JSCustomSQLStatementCallback.cpp:
73192        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
73193        * bindings/js/JSCustomSQLTransactionCallback.cpp:
73194        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
73195        * bindings/js/JSCustomVoidCallback.cpp:
73196        * bindings/js/JSCustomXPathNSResolver.cpp:
73197        * bindings/js/JSDOMWindowBase.cpp:
73198        * bindings/js/JSEventCustom.cpp:
73199        * bindings/js/JSEventListener.cpp:
73200        * bindings/js/JSNodeFilterCondition.cpp:
73201        * bindings/js/ScheduledAction.cpp:
73202        * bindings/js/ScriptController.cpp:
73203        * bindings/js/ScriptControllerMac.mm:
73204        * bindings/objc/WebScriptObject.mm:
73205        * bridge/NP_jsobject.cpp:
73206        * bridge/c/c_class.cpp:
73207        * bridge/c/c_instance.cpp:
73208        * bridge/c/c_runtime.cpp:
73209        * bridge/c/c_utility.cpp:
73210        * bridge/jni/jni_class.cpp:
73211        * bridge/jni/jni_instance.cpp:
73212        * bridge/jni/jni_jsobject.mm:
73213        * bridge/jni/jni_objc.mm:
73214        * bridge/jni/jni_runtime.cpp:
73215        * bridge/jni/jni_runtime.h:
73216        * bridge/jni/jni_utility.cpp:
73217        * bridge/npruntime.cpp:
73218        * bridge/objc/objc_instance.mm:
73219        * bridge/objc/objc_runtime.mm:
73220        * bridge/objc/objc_utility.mm:
73221        * bridge/runtime.cpp:
73222        * dom/Document.cpp:
73223        * dom/Node.cpp:
73224        * dom/NodeFilter.cpp:
73225        * dom/NodeIterator.cpp:
73226        * dom/TreeWalker.cpp:
73227        * history/CachedPage.cpp:
73228        * inspector/InspectorController.cpp:
73229        * inspector/JavaScriptCallFrame.cpp:
73230        * inspector/JavaScriptCallFrame.h:
73231        * inspector/JavaScriptDebugServer.cpp:
73232        * inspector/JavaScriptProfileNode.cpp:
73233        * loader/FrameLoader.cpp:
73234        * loader/icon/IconDatabase.cpp:
73235        * page/Console.cpp:
73236        * page/Page.cpp:
73237        * page/mac/FrameMac.mm:
73238        * plugins/PluginView.cpp:
73239        * plugins/gtk/PluginViewGtk.cpp:
73240        * plugins/qt/PluginViewQt.cpp:
73241        * plugins/win/PluginViewWin.cpp:
73242        * storage/Database.cpp:
73243        * xml/XMLHttpRequest.cpp:
73244
732452008-11-03  Cameron Zwarich  <zwarich@apple.com>
73246
73247        Reviewed by Sam Weinig.
73248
73249        Remove the forwarding header for FunctionCallProfile, because it was
73250        renamed to ProfileNode in r33466.
73251
73252        * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
73253
732542008-11-03  Simon Fraser  <simon.fraser@apple.com>
73255
73256        Reviewed by Dave Hyatt
73257
73258        https://bugs.webkit.org/show_bug.cgi?id=22026
73259
73260        When computing the bounds of the transparency layer, we need to
73261        map the clipRect through the enclosing transform.
73262
73263        Test: fast/layers/opacity-transforms.html
73264
73265        * rendering/RenderLayer.cpp:
73266        (WebCore::transparencyClipBox):
73267
732682008-11-03  Kevin Decker  <kdecker@apple.com>
73269
73270        Reviewed by Anders Carlsson.
73271
73272        https://bugs.webkit.org/show_bug.cgi?id=22053
73273
73274        Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
73275
73276        * bridge/npapi.h:
73277
732782008-11-03  Xan Lopez  <xan@gnome.org>
73279
73280        Reviewed by Alp Toker.
73281
73282        Update parseDataUrl() function in the libsoup http backend with
73283        the one from the curl backend which has recent correctness and crash
73284        fixes.
73285
73286        * platform/network/soup/ResourceHandleSoup.cpp:
73287        (WebCore::parseDataUrl):
73288
732892008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
73290
73291        Reviewed by Alp Toker.
73292
73293        https://bugs.webkit.org/show_bug.cgi?id=22041
73294        Fix CURL crashes on the test suite
73295
73296        Fix segfault with setDefersLoading(). Do not call into curl when we
73297        don't have a CURL handle.
73298
73299        It is attempted to defer the loading before the load has been
73300        started (no curl handle was allocated yet). If that happens then
73301        just remember that. ResourceHandleManager::startJob is already taking
73302        care of this and in initResourceHandle the the downloading will
73303        be paused if needed.
73304
73305        Fixes fast/loader/simultaneous-reloads-assert.html
73306
73307        * platform/network/curl/ResourceHandleCurl.cpp:
73308        (WebCore::ResourceHandle::setDefersLoading):
73309
733102008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
73311
73312        Reviewed by Alp Toker.
73313
73314        https://bugs.webkit.org/show_bug.cgi?id=22041
73315        Fix CURL crashes on the test suite
73316
73317        Do not send "no data" to WebCore in parseDataUrl().
73318
73319        Fixes assert on fast/tokenizer/image-empty-crash.html
73320
73321        * platform/network/curl/ResourceHandleManager.cpp:
73322        (WebCore::parseDataUrl):
73323
733242008-11-02  Xan Lopez  <xan@gnome.org>
73325
73326        Reviewed by Holger Freyther.
73327
73328        https://bugs.webkit.org/show_bug.cgi?id=22009
73329        HTML5 Video with GStreamer pulls gnome-vfs without using it
73330
73331        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
73332        Remove gnome-vfs include.
73333
733342008-11-01  Adam Barth  <abarth@webkit.org>
73335
73336        Reviewed by Sam Weinig.
73337
73338        Be sure to check the final URLs of requested resources to make sure we
73339        don't get fooled by HTTP redirects.
73340
73341        https://bugs.webkit.org/show_bug.cgi?id=21963
73342
73343        Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
73344               http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
73345
73346        * dom/XMLTokenizerLibxml2.cpp:
73347        (WebCore::openFunc):
73348        * loader/DocLoader.cpp:
73349        (WebCore::DocLoader::canRequest):
73350        (WebCore::DocLoader::requestResource):
73351        * loader/DocLoader.h:
73352        * xml/XSLTProcessor.cpp:
73353        (WebCore::docLoaderFunc):
73354
733552008-11-01  Alexey Proskuryakov  <ap@webkit.org>
73356
73357        Reviewed by Darin Adler.
73358
73359        https://bugs.webkit.org/show_bug.cgi?id=22001
73360        AtomicStringImpl* keys of event listener maps can outlive their strings
73361
73362        Test: fast/events/destroyed-atomic-string.html
73363
73364        * dom/MessagePort.cpp:
73365        (WebCore::MessagePort::addEventListener):
73366        (WebCore::MessagePort::removeEventListener):
73367        (WebCore::MessagePort::dispatchEvent):
73368        * dom/MessagePort.h:
73369        * loader/appcache/DOMApplicationCache.cpp:
73370        (WebCore::DOMApplicationCache::addEventListener):
73371        (WebCore::DOMApplicationCache::removeEventListener):
73372        (WebCore::DOMApplicationCache::dispatchEvent):
73373        * loader/appcache/DOMApplicationCache.h:
73374        * xml/XMLHttpRequest.cpp:
73375        (WebCore::XMLHttpRequest::addEventListener):
73376        (WebCore::XMLHttpRequest::removeEventListener):
73377        (WebCore::XMLHttpRequest::dispatchEvent):
73378        * xml/XMLHttpRequest.h:
73379        * xml/XMLHttpRequestUpload.cpp:
73380        (WebCore::XMLHttpRequestUpload::addEventListener):
73381        (WebCore::XMLHttpRequestUpload::removeEventListener):
73382        (WebCore::XMLHttpRequestUpload::dispatchEvent):
73383        * xml/XMLHttpRequestUpload.h:
73384        Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
73385
733862008-10-31  Alexey Proskuryakov  <ap@webkit.org>
73387
73388        Reviewed by Darin Adler.
73389
73390        https://bugs.webkit.org/show_bug.cgi?id=21998
73391        Use JSDOMGlobalObject in EventListener-related bindings
73392
73393        * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
73394
73395        * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
73396        bindings for inline event handlers.
73397
73398        * bindings/js/JSDOMApplicationCacheCustom.cpp:
73399        (WebCore::JSDOMApplicationCache::addEventListener):
73400        (WebCore::JSDOMApplicationCache::removeEventListener):
73401        * bindings/js/JSEventTargetNodeCustom.cpp:
73402        (WebCore::JSEventTargetNode::addEventListener):
73403        (WebCore::JSEventTargetNode::removeEventListener):
73404        * bindings/js/JSMessagePortCustom.cpp:
73405        (WebCore::JSMessagePort::removeEventListener):
73406        * bindings/js/JSSVGElementInstanceCustom.cpp:
73407        (WebCore::JSSVGElementInstance::addEventListener):
73408        (WebCore::JSSVGElementInstance::removeEventListener):
73409        * bindings/js/JSXMLHttpRequestCustom.cpp:
73410        (WebCore::JSXMLHttpRequest::addEventListener):
73411        (WebCore::JSXMLHttpRequest::removeEventListener):
73412        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
73413        (WebCore::JSXMLHttpRequestUpload::addEventListener):
73414        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
73415        Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
73416
73417        * dom/EventTarget.h:
73418        * dom/EventTargetNode.cpp:
73419        (WebCore::EventTargetNode::scriptExecutionContext):
73420        * dom/EventTargetNode.h:
73421        * dom/MessagePort.cpp:
73422        * dom/MessagePort.h:
73423        (WebCore::MessagePort::scriptExecutionContext):
73424        * loader/appcache/DOMApplicationCache.cpp:
73425        (WebCore::DOMApplicationCache::scriptExecutionContext):
73426        * loader/appcache/DOMApplicationCache.h:
73427        * svg/SVGElementInstance.cpp:
73428        (WebCore::SVGElementInstance::scriptExecutionContext):
73429        * svg/SVGElementInstance.h:
73430        * xml/XMLHttpRequest.cpp:
73431        (WebCore::XMLHttpRequest::scriptExecutionContext):
73432        * xml/XMLHttpRequest.h:
73433        * xml/XMLHttpRequestUpload.cpp:
73434        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
73435        * xml/XMLHttpRequestUpload.h:
73436        Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
73437        available yet.
73438
734392008-10-31  Cameron Zwarich  <zwarich@apple.com>
73440
73441        Rubber-stamped by Geoff Garen.
73442
73443        Rename SourceRange.h to SourceCode.h.
73444
73445        * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
73446        * ForwardingHeaders/kjs/SourceRange.h: Removed.
73447        * bindings/js/StringSourceProvider.h:
73448        * bridge/NP_jsobject.cpp:
73449
734502008-10-31  Cameron Zwarich  <zwarich@apple.com>
73451
73452        Reviewed by Darin Adler.
73453
73454        Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
73455        <https://bugs.webkit.org/show_bug.cgi?id=22019>
73456
73457        * WebCore.base.exp:
73458        * page/Console.cpp:
73459        (WebCore::printToStandardOut):
73460        (WebCore::Console::shouldPrintExceptions):
73461        (WebCore::Console::setShouldPrintExceptions):
73462        * page/Console.h:
73463
734642008-10-31  Dan Bernstein  <mitz@apple.com>
73465
73466        Reviewed by John Sullivan.
73467
73468        - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
73469
73470        * dom/Document.cpp:
73471        (WebCore::Document::cookie): Added checking if cookies are disabled.
73472        (WebCore::Document::setCookie): Ditto.
73473        * page/Navigator.cpp:
73474        (WebCore::Navigator::cookieEnabled): Ditto.
73475        * page/Page.cpp:
73476        (WebCore::Page::Page): Initialize m_cookieEnabled to true.
73477        * page/Page.h:
73478        (WebCore::Page::cookieEnabled): Added.
73479        (WebCore::Page::setCookieEnabled): Added.
73480
734812008-10-31  Adele Peterson  <adele@apple.com>
73482
73483        Reviewed by Darin Adler.
73484
73485        WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
73486        https://bugs.webkit.org/show_bug.cgi?id=22008
73487
73488        * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
73489        Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
73490        * platform/graphics/Icon.h: ditto.
73491        * platform/graphics/gtk/IconGtk.cpp:
73492        (WebCore::Icon::createIconForFile): ditto.
73493        (WebCore::Icon::createIconForFiles): ditto.
73494        * platform/graphics/mac/IconMac.mm:
73495        (WebCore::Icon::createIconForFile): ditto.
73496        (WebCore::Icon::createIconForFiles): ditto.
73497        * platform/graphics/qt/IconQt.cpp:
73498        (WebCore::Icon::createIconForFile): ditto.
73499        (WebCore::Icon::createIconForFiles): ditto.
73500        * platform/wx/TemporaryLinkStubs.cpp:
73501        (Icon::createIconForFile): ditto.
73502        (Icon::createIconForFiles): ditto.
73503        * platform/graphics/win/IconWin.cpp:
73504        (WebCore::Icon::createIconForFile): ditto.
73505        (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
73506
73507        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
73508        Improve icon creation code to match new code in Icon::createIconForFiles
73509
735102008-10-31  Timothy Hatcher  <timothy@apple.com>
73511
73512        Add manual tests that check breakpoints on a blockless body of "for" loops.
73513
73514        https://bugs.webkit.org/show_bug.cgi?id=22004
73515
73516        Reviewed by Darin Adler.
73517
73518        * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
73519        * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
73520
735212008-10-31  Darin Adler  <darin@apple.com>
73522
73523        - fix build
73524
73525        * platform/win/WCDataObject.cpp: Added missing include of "config.h".
73526
735272008-10-30  Alexey Proskuryakov  <ap@webkit.org>
73528
73529        Reviewed by Darin Adler.
73530
73531        https://bugs.webkit.org/show_bug.cgi?id=21970
73532        Make MessagePort event dispatch work in workers
73533
73534        * bindings/js/JSDOMGlobalObject.cpp:
73535        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
73536        (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
73537        (WebCore::JSDOMGlobalObject::findJSEventListener):
73538        (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
73539        (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
73540        (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
73541        (WebCore::JSDOMGlobalObject::jsEventListeners):
73542        (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
73543        (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
73544        (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
73545        (WebCore::JSDOMGlobalObject::setCurrentEvent):
73546        (WebCore::JSDOMGlobalObject::currentEvent):
73547        (WebCore::toJSDOMGlobalObject):
73548        * bindings/js/JSDOMGlobalObject.h:
73549        * bindings/js/JSDOMWindowBase.cpp:
73550        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
73551        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
73552        (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
73553        * bindings/js/JSDOMWindowBase.h:
73554        Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
73555
73556        * bindings/js/JSEventListener.cpp:
73557        (WebCore::JSAbstractEventListener::handleEvent):
73558        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
73559        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
73560        (WebCore::JSUnprotectedEventListener::globalObject):
73561        (WebCore::JSUnprotectedEventListener::clearGlobalObject):
73562        (WebCore::JSEventListener::JSEventListener):
73563        (WebCore::JSEventListener::~JSEventListener):
73564        (WebCore::JSEventListener::globalObject):
73565        (WebCore::JSEventListener::clearGlobalObject):
73566        (WebCore::JSLazyEventListener::JSLazyEventListener):
73567        (WebCore::JSLazyEventListener::parseCode):
73568        * bindings/js/JSEventListener.h:
73569        (WebCore::JSUnprotectedEventListener::create):
73570        (WebCore::JSEventListener::create):
73571        (WebCore::JSLazyEventListener::create):
73572        Changed to use JSDOMGlobalObject and ScriptExecutionContext.
73573
73574        * bindings/js/JSMessagePortCustom.cpp:
73575        (WebCore::JSMessagePort::startConversation):
73576        (WebCore::JSMessagePort::addEventListener):
73577        (WebCore::JSMessagePort::removeEventListener):
73578        (WebCore::JSMessagePort::setOnmessage):
73579        (WebCore::JSMessagePort::setOnclose):
73580        Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
73581        such code, and stop using a custom implementation for JSMessagePort inline event handler
73582        getters and setters.
73583
73584        * dom/Document.cpp:
73585        (WebCore::Document::virtualURL):
73586        * dom/Document.h:
73587        * dom/ScriptExecutionContext.h:
73588        Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
73589        JSLazyEventListener).
73590
735912008-10-31  Cameron Zwarich  <zwarich@apple.com>
73592
73593        Not reviewed.
73594
73595        Speculative wxWindows build fix.
73596
73597        * webcore-base.bkl:
73598
735992008-10-30  Mark Rowe  <mrowe@apple.com>
73600
73601        Reviewed by Jon Homeycutt.
73602
73603        Explicitly default to building for only the native architecture in debug and release builds.
73604
73605        * Configurations/DebugRelease.xcconfig:
73606
736072008-10-30  Cameron Zwarich  <zwarich@apple.com>
73608
73609        Rubber-stamped by Sam Weinig.
73610
73611        Create a debugger directory in JavaScriptCore and move the relevant
73612        files to it.
73613
73614        * ForwardingHeaders/debugger: Added.
73615        * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
73616        * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
73617        * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
73618        * ForwardingHeaders/kjs/debugger.h: Removed.
73619        * WebCore.pro:
73620        * bindings/js/ScriptController.cpp:
73621        * inspector/JavaScriptCallFrame.cpp:
73622        * inspector/JavaScriptCallFrame.h:
73623        * inspector/JavaScriptDebugServer.cpp:
73624        * inspector/JavaScriptDebugServer.h:
73625
736262008-10-30  Tony Chang <tony@chromium.org>
73627
73628        Fix 2 Windows theme bugs:
73629        1) Checkboxes marked readonly were rendered incorrectly
73630        2) If a button has focus and is pressed, it was rendered
73631           as focused rather than pressed.
73632
73633        https://bugs.webkit.org/show_bug.cgi?id=21859
73634
73635        Reviewed by Dave Hyatt.
73636
73637        * rendering/RenderThemeWin.cpp:
73638        (WebCore::RenderThemeWin::determineState):
73639        (WebCore::RenderThemeWin::determineButtonState):
73640
736412008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
73642
73643        gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
73644        warnings; add some parentheses to disambiguate things. No functional
73645        changes, so no tests.
73646
73647        https://bugs.webkit.org/show_bug.cgi?id=21973
73648        Add parentheses to clean up some gcc warnings
73649
73650        Reviewed by Dan Bernstein.
73651
73652        * platform/graphics/Font.h:
73653        (WebCore::Font::treatAsZeroWidthSpace):
73654
736552008-10-30  Aaron Boodman  <aa@chromium.org>
73656
73657        Added an explicit dependency on HashMap.h. It was getting pulled in via
73658        <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
73659
73660        Reviewed by Darin Adler.
73661
73662        * platform/text/PlatformString.h:
73663
736642008-10-30  Greg Bolsinga  <bolsinga@apple.com>
73665
73666        Reviewed by Sam Weinig
73667
73668        https://bugs.webkit.org/show_bug.cgi?id=21967
73669
73670        For some platforms the GeolocationService must be suspended and resumed.
73671
73672        * page/Geolocation.cpp:
73673        (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
73674        (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
73675        (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
73676        (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
73677        * page/Geolocation.h:
73678        (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
73679        * platform/GeolocationService.h:
73680        (WebCore::GeolocationService::suspend): empty implementation
73681        (WebCore::GeolocationService::resume): empty implementation
73682
736832008-10-30  Greg Bolsinga  <bolsinga@apple.com>
73684
73685        Reviewed by Sam Weinig
73686
73687        https://bugs.webkit.org/show_bug.cgi?id=21966
73688
73689        The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
73690        http://dev.w3.org/geo/api/spec-source.html
73691
73692        * page/Geolocation.cpp:
73693        (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
73694        * page/Geoposition.cpp: velocity is now called speed
73695        (WebCore::Geoposition::toString):
73696        * page/Geoposition.h: velocity is now called speed
73697        (WebCore::Geoposition::create):
73698        (WebCore::Geoposition::speed):
73699        (WebCore::Geoposition::Geoposition):
73700        * page/Geoposition.idl: velocity is now called speed
73701        * page/PositionOptions.h: timeout is now unsigned
73702        (WebCore::PositionOptions::create):
73703        (WebCore::PositionOptions::timeout):
73704        (WebCore::PositionOptions::setTimeout):
73705        (WebCore::PositionOptions::PositionOptions):
73706        * page/PositionOptions.idl: timeout is now unsigned long
73707
737082008-10-30  Justin Garcia  <justin.garcia@apple.com>
73709
73710        Also handle preserved newlines.
73711
73712        * editing/BreakBlockquoteCommand.cpp:
73713        (WebCore::BreakBlockquoteCommand::doApply):
73714
737152008-10-30  Justin Garcia  <justin.garcia@apple.com>
73716
73717        Reviewed by Beth Dakin.
73718
73719        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
73720
73721        * editing/BreakBlockquoteCommand.cpp:
73722        (WebCore::BreakBlockquoteCommand::doApply):
73723        Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
73724        needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
73725        Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
73726        we now use visiblePos (in order to avoid VisiblePosition creation).
73727        Set pos after we delete the current selection (if there is one), and be consistent about what we set
73728        pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
73729        ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
73730        in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case
73731        where the caret is between text and a br work correctly.
73732
737332008-10-30  Yael Aharon  <yael.aharon@nokia.com>
73734
73735        Reviewed by Darin Adler.
73736
73737        Fix the Qt build.
73738
73739        https://bugs.webkit.org/show_bug.cgi?id=21969
73740
73741        * inspector/front-end/WebKit.qrc:
73742        * platform/graphics/qt/ImageBufferQt.cpp:
73743        (WebCore::ImageBufferData::ImageBufferData):
73744        (WebCore::ImageBuffer::ImageBuffer):
73745        (WebCore::ImageBuffer::context):
73746        (WebCore::ImageBuffer::image):
73747        (WebCore::ImageBuffer::toDataURL):
73748
737492008-10-30  Justin Garcia  <justin.garcia@apple.com>
73750
73751        Reviewed by Darin Adler.
73752
73753        More preparation for:
73754        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
73755
73756        * editing/BreakBlockquoteCommand.cpp:
73757        (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the
73758        startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.
73759        This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This
73760        doesn't really fix a bug, since we can't really get into a situation where we move to a different
73761        topBlockquote, but it simplifies the code.
73762
737632008-10-30  Dirk Schulze  <vbs85@gmx.de>
73764
73765        Reviewed by Alp Toker.
73766
73767        https://bugs.webkit.org/show_bug.cgi?id=21883
73768        [CAIRO] globalAlpha has to be stored and restored
73769
73770        Cairo's globalAlpha has to be stored and reloaded on calling
73771        save() and restore(). We use the power of GraphicsContextState for this.
73772
73773        * platform/graphics/GraphicsContextPrivate.h:
73774        (WebCore::GraphicsContextState::GraphicsContextState):
73775        * platform/graphics/cairo/GraphicsContextCairo.cpp:
73776        (WebCore::GraphicsContext::fillPath):
73777        (WebCore::GraphicsContext::strokePath):
73778        (WebCore::GraphicsContext::setAlpha):
73779        (WebCore::GraphicsContext::getAlpha):
73780        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
73781        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
73782
737832008-10-29  Alexey Proskuryakov  <ap@webkit.org>
73784
73785        Reviewed by Maciej Stachowiak.
73786
73787        Rename "attachedToEventTargetNode" to "isInline".
73788
73789        Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
73790        XMLHttpRequest, MessagePort et al.
73791
73792        Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
73793        attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
73794        And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
73795        "inlineEventListenerForType", as they work with inline listeners.
73796
73797        * bindings/js/JSDOMApplicationCacheCustom.cpp:
73798        (WebCore::JSDOMApplicationCache::addEventListener):
73799        (WebCore::JSDOMApplicationCache::removeEventListener):
73800        * bindings/js/JSMessagePortCustom.cpp:
73801        (WebCore::JSMessagePort::setOnmessage):
73802        (WebCore::JSMessagePort::setOnclose):
73803        * bindings/js/JSXMLHttpRequestCustom.cpp:
73804        (WebCore::JSXMLHttpRequest::addEventListener):
73805        (WebCore::JSXMLHttpRequest::removeEventListener):
73806        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
73807        (WebCore::JSXMLHttpRequestUpload::addEventListener):
73808        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
73809        Pass a correct value for this argument - callers used to be confused, because they didn't
73810        consider themselves event target nodes. This doesn't affect behavior however, as the only
73811        difference between inline and non-inline event handlers is that the former treat
73812        "return false" as "event.preventDefault()", which is not important to any of these objects.
73813
73814        * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
73815        Assert that isInline is true instead of checking its value, as the constructor of this class
73816        always sets it to true.
73817
73818        * bindings/js/JSDOMWindowBase.cpp:
73819        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
73820        (WebCore::JSDOMWindowBase::findJSEventListener):
73821        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
73822        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
73823        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
73824        (WebCore::JSDOMWindowBase::jsInlineEventListeners):
73825        (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
73826        * bindings/js/JSDOMWindowBase.h:
73827        * bindings/js/JSEventListener.cpp:
73828        (WebCore::JSAbstractEventListener::handleEvent):
73829        (WebCore::JSAbstractEventListener::isInline):
73830        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
73831        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
73832        (WebCore::JSEventListener::JSEventListener):
73833        (WebCore::JSEventListener::~JSEventListener):
73834        (WebCore::JSLazyEventListener::parseCode):
73835        * bindings/js/JSEventListener.h:
73836        (WebCore::JSAbstractEventListener::JSAbstractEventListener):
73837        (WebCore::JSUnprotectedEventListener::create):
73838        (WebCore::JSEventListener::create):
73839        * bindings/js/ScriptController.cpp:
73840        (WebCore::ScriptController::createInlineEventHandler):
73841        * bindings/js/ScriptController.h:
73842        * dom/Document.cpp:
73843        (WebCore::Document::setWindowInlineEventListenerForType):
73844        (WebCore::Document::windowInlineEventListenerForType):
73845        (WebCore::Document::removeWindowInlineEventListenerForType):
73846        (WebCore::Document::createEventListener):
73847        (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
73848        * dom/Document.h:
73849        * dom/EventListener.h:
73850        (WebCore::EventListener::isInline):
73851        * dom/EventTargetNode.cpp:
73852        (WebCore::EventTargetNode::removeInlineEventListenerForType):
73853        (WebCore::EventTargetNode::setInlineEventListenerForType):
73854        (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
73855        (WebCore::EventTargetNode::inlineEventListenerForType):
73856        (WebCore::EventTargetNode::on*): (many methods)
73857        (WebCore::EventTargetNode::setOn*): (many methods)
73858        * dom/EventTargetNode.h:
73859        * editing/ReplaceSelectionCommand.cpp:
73860        (WebCore::ReplacementFragment::ReplacementFragment):
73861        * html/HTMLBodyElement.cpp:
73862        (WebCore::HTMLBodyElement::parseMappedAttribute):
73863        * html/HTMLButtonElement.cpp:
73864        (WebCore::HTMLButtonElement::parseMappedAttribute):
73865        * html/HTMLElement.cpp:
73866        (WebCore::HTMLElement::parseMappedAttribute):
73867        * html/HTMLFormElement.cpp:
73868        (WebCore::HTMLFormElement::parseMappedAttribute):
73869        * html/HTMLFrameElementBase.cpp:
73870        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
73871        * html/HTMLFrameSetElement.cpp:
73872        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
73873        * html/HTMLImageElement.cpp:
73874        (WebCore::HTMLImageElement::parseMappedAttribute):
73875        * html/HTMLInputElement.cpp:
73876        (WebCore::HTMLInputElement::parseMappedAttribute):
73877        * html/HTMLObjectElement.cpp:
73878        (WebCore::HTMLObjectElement::parseMappedAttribute):
73879        * html/HTMLScriptElement.cpp:
73880        (WebCore::HTMLScriptElement::parseMappedAttribute):
73881        * html/HTMLSelectElement.cpp:
73882        (WebCore::HTMLSelectElement::parseMappedAttribute):
73883        * html/HTMLTextAreaElement.cpp:
73884        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
73885        * page/AccessibilityRenderObject.cpp:
73886        (WebCore::AccessibilityRenderObject::mouseButtonListener):
73887        * page/DOMWindow.cpp:
73888        (WebCore::DOMWindow::setInlineEventListenerForType):
73889        (WebCore::DOMWindow::inlineEventListenerForType):
73890        (WebCore::DOMWindow::on*): (many methods)
73891        (WebCore::DOMWindow::setOn*): (many methods)
73892        * page/DOMWindow.h:
73893        * svg/SVGElement.cpp:
73894        (WebCore::SVGElement::parseMappedAttribute):
73895        * svg/SVGElementInstance.cpp:
73896        (WebCore::SVGElementInstance::on*): (many methods)
73897        (WebCore::SVGElementInstance::setOn*): (many methods)
73898        * svg/SVGSVGElement.cpp:
73899        (WebCore::SVGSVGElement::parseMappedAttribute):
73900        Rename things, as described above.
73901
739022008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
73903
73904        Reviewed and slightly changed by Holger Freyther.
73905
73906        Added all the files that need to be installed for the Inspector to
73907        work.
73908
73909        * GNUmakefile.am: Invoke the shell to get the files.
73910
739112008-10-29  Andrew Scherkus  <scherkus@chromium.org>
73912
73913        Reviewed by Darin Adler
73914
73915        Add MediaPlayerPrivateChromium to MediaPlayer
73916        https://bugs.webkit.org/show_bug.cgi?id=21930
73917
73918        * platform/graphics/MediaPlayer.cpp:
73919
739202008-10-29  Justin Garcia  <justin.garcia@apple.com>
73921
73922        Reviewed by Darin Adler.
73923
73924        Some preparation for:
73925        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
73926
73927        Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
73928        need to rebalance whitespace before the early return but for now don't risk any change in behavior
73929        I'll revisit that later.
73930
73931        * editing/BreakBlockquoteCommand.cpp:
73932        (WebCore::BreakBlockquoteCommand::doApply):
73933
739342008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
73935
73936        wx build fixes after addition of runtime and ImageBuffer changes.
73937
73938        * platform/graphics/wx/ImageBufferData.h: Added.
73939        * platform/graphics/wx/ImageBufferWx.cpp:
73940        (WebCore::ImageBufferData::ImageBufferData):
73941        (WebCore::ImageBuffer::ImageBuffer):
73942        (WebCore::ImageBuffer::context):
73943        * webcore-base.bkl:
73944
739452008-10-29  Brett Wilson  <brettw@chromium.org>
73946
73947        Reviewed by Darin Adler
73948        https://bugs.webkit.org/attachment.cgi?id=24745
73949
73950        Allow Skia implementations to get text style changed notifications.
73951
73952        * platform/graphics/GraphicsContext.cpp:
73953
739542008-10-29  Timothy Hatcher  <timothy@apple.com>
73955
73956        Add a manual test that checks breakpoints on a blockless body of
73957        an "else" statement.
73958
73959        https://bugs.webkit.org/show_bug.cgi?id=21944
73960
73961        Reviewed by Maciej Stachowiak.
73962
73963        * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
73964
739652008-10-29  Alexey Proskuryakov  <ap@webkit.org>
73966
73967        Reviewed by Darin Adler.
73968
73969        https://bugs.webkit.org/show_bug.cgi?id=21921
73970        MessagePort messages are dispatched to documents that are not fully active
73971
73972        Covered by corrected fast/events/message-port-inactive-document.html
73973
73974        * bindings/js/JSEventListener.cpp:
73975        (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
73976        that are not fully active.
73977
739782008-10-29  Alexey Proskuryakov  <ap@webkit.org>
73979
73980        Reviewed by Sam Weinig.
73981
73982        https://bugs.webkit.org/show_bug.cgi?id=21922
73983        Expose MessagePort global constructor
73984
73985        Covered by existing dumper tests.
73986
73987        * dom/MessagePort.idl:
73988        * page/DOMWindow.idl:
73989
739902008-10-29  Alexey Proskuryakov  <ap@webkit.org>
73991
73992        Reviewed by Darin Adler.
73993
73994        https://bugs.webkit.org/show_bug.cgi?id=21924
73995        HashTable internal index is not always deleted
73996
73997        * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
73998        Call deleteTable for HashTables that are being deleted.
73999
740002008-10-28  Alexey Proskuryakov  <ap@webkit.org>
74001
74002        Reviewed by Darin Adler.
74003
74004        https://bugs.webkit.org/show_bug.cgi?id=21923
74005        Create an abstraction for script execution context
74006
74007        * GNUmakefile.am:
74008        * WebCore.pro:
74009        * WebCore.vcproj/WebCore.vcproj:
74010        * WebCore.xcodeproj/project.pbxproj:
74011        * WebCoreSources.bkl:
74012        Added ScriptExecutionContext.{h,cpp}.
74013
74014        * bindings/js/JSAudioConstructor.cpp:
74015        (WebCore::JSAudioConstructor::JSAudioConstructor):
74016        * bindings/js/JSAudioConstructor.h:
74017        * bindings/js/JSImageConstructor.cpp:
74018        (WebCore::JSImageConstructor::JSImageConstructor):
74019        * bindings/js/JSImageConstructor.h:
74020        * bindings/js/JSOptionConstructor.cpp:
74021        (WebCore::JSOptionConstructor::JSOptionConstructor):
74022        * bindings/js/JSOptionConstructor.h:
74023        * bindings/js/JSXMLHttpRequestConstructor.cpp:
74024        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
74025        * bindings/js/JSXMLHttpRequestConstructor.h:
74026        Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
74027        Since these objects can only work within documents now, it is immediately converted back
74028        to Document.
74029
74030        * bindings/js/JSMessageChannelConstructor.cpp:
74031        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
74032        (WebCore::JSMessageChannelConstructor::construct):
74033        * bindings/js/JSMessageChannelConstructor.h:
74034        (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
74035        MessageChannel needs to be supported in workers right away, so the constructor operates with
74036        it directly.
74037
74038        * dom/ActiveDOMObject.cpp:
74039        (WebCore::ActiveDOMObject::ActiveDOMObject):
74040        (WebCore::ActiveDOMObject::~ActiveDOMObject):
74041        (WebCore::ActiveDOMObject::contextDestroyed):
74042        * dom/ActiveDOMObject.h:
74043        (WebCore::ActiveDOMObject::scriptExecutionContext):
74044        * bindings/js/JSDOMBinding.cpp:
74045        (WebCore::markActiveObjectsForContext):
74046        (WebCore::markCrossHeapDependentObjectsForContext):
74047        Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
74048        tracking is handled by ScriptExecutionContext.
74049
74050        * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
74051
74052        * bindings/js/JSDOMGlobalObject.h:
74053        (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
74054        Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
74055        to worker context implementation.
74056        (WebCore::scriptExecutionContext): Added a pure virtual method to access
74057        ScriptExecutionContext, implemented by subclasses.
74058
74059        * bindings/js/JSDOMWindowBase.h:
74060        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
74061        Implement by returning the associated document. Note that this method currently gives bogus
74062        results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
74063        that is currently in the frame, not the one associated with this window.
74064
74065        * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
74066
74067        * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
74068        Call markActiveObjectsForContext() by its new name.
74069
74070        * dom/DedicatedWorker.cpp:
74071        (WebCore::DedicatedWorker::DedicatedWorker):
74072        (WebCore::DedicatedWorker::document):
74073        * dom/DedicatedWorker.h:
74074        * xml/XMLHttpRequest.cpp:
74075        (WebCore::XMLHttpRequest::document):
74076        * xml/XMLHttpRequest.h:
74077        Added a document() function that upcasts ScriptExecutionContext, as these objects only work
74078        within documents currently (at least for XMLHttpRequest, this will change soon though).
74079
74080        * dom/Document.cpp:
74081        (WebCore::Document::Document):
74082        (WebCore::Document::~Document):
74083        Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
74084        with workers.
74085
74086        * dom/Document.h:
74087        (WebCore::Document::isDocument):
74088        (WebCore::Document::refScriptExecutionContext):
74089        (WebCore::Document::derefScriptExecutionContext):
74090        Inherit from ScriptExecutionContext.
74091
74092        * dom/MessageChannel.cpp:
74093        (WebCore::MessageChannel::MessageChannel):
74094        * dom/MessageChannel.h:
74095        (WebCore::MessageChannel::create):
74096        Use ScriptExecutionContext instead of Document.
74097
74098        * dom/MessagePort.cpp:
74099        (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
74100        MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
74101        unrelated issue that was causing random crashes in layout tests).
74102        (WebCore::MessagePort::MessagePort):
74103        (WebCore::MessagePort::~MessagePort):
74104        (WebCore::MessagePort::associatedFrame):
74105        (WebCore::MessagePort::clone):
74106        (WebCore::MessagePort::postMessage):
74107        (WebCore::MessagePort::startConversation):
74108        (WebCore::MessagePort::start):
74109        (WebCore::MessagePort::contextDestroyed):
74110        (WebCore::MessagePort::dispatchMessages):
74111        * dom/MessagePort.h:
74112        (WebCore::MessagePort::create):
74113        (WebCore::MessagePort::scriptExecutionContext):
74114        Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
74115        work in worker contexts - we need to also make some its method thread safe for cross-thread
74116        messaging, and make event dispatching thread safe.
74117
74118        * dom/ScriptExecutionContext.cpp: Added.
74119        * dom/ScriptExecutionContext.h: Added.
74120        ActiveDOMObject and MessagePort tracking is moved from Document.
74121        It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
74122        but as I'm just moving Document code, and it is Document that is the main context object
74123        in our implementation currently.
74124        Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
74125        seem non-trivial to fix, and isn't really a part of this task.
74126
741272008-10-28  Alp Toker  <alp@nuanti.com>
74128
74129        List newly-added ImageBufferData.h in build system.
74130
74131        * GNUmakefile.am:
74132
741332008-10-28  Alp Toker  <alp@nuanti.com>
74134
74135        Reviewed by Cameron Zwarich.
74136
74137        De-list unused WebCore ForwardingHeaders to fix the dist target.
74138
74139        * GNUmakefile.am:
74140
741412008-10-28  Cameron Zwarich  <zwarich@apple.com>
74142
74143        Not reviewed.
74144
74145        Attempt to fix the Windows build by generating Forwardingheaders for the
74146        runtime directory in JavaScriptCore.
74147
74148        * WebCore.vcproj/WebCore.vcproj:
74149
741502008-10-28  Justin Garcia  <justin.garcia@apple.com>
74151
74152        Reviewed by Darin Adler.
74153
74154        <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
74155
74156        * editing/Editor.cpp:
74157        (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
74158        (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
74159        will probably require a change more complicated than just marking the learned word as
74160        misspelled.  I'll address it with a separate patch.
74161        * editing/EditorCommand.cpp:
74162        (WebCore::executeIgnoreSpelling): Added.
74163        (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
74164
741652008-10-28  Cameron Zwarich  <zwarich@apple.com>
74166
74167        Reviewed by Mark Rowe.
74168
74169        Move ForwardingHeaders to their correct location after the creation of
74170        the runtime directory in JavaScriptCore.
74171
74172        * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
74173        * ForwardingHeaders/kjs/BooleanObject.h: Removed.
74174        * ForwardingHeaders/kjs/CallData.h: Removed.
74175        * ForwardingHeaders/kjs/ConstructData.h: Removed.
74176        * ForwardingHeaders/kjs/DateInstance.h: Removed.
74177        * ForwardingHeaders/kjs/Error.h: Removed.
74178        * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
74179        * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
74180        * ForwardingHeaders/kjs/InternalFunction.h: Removed.
74181        * ForwardingHeaders/kjs/JSArray.h: Removed.
74182        * ForwardingHeaders/kjs/JSFunction.h: Removed.
74183        * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
74184        * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
74185        * ForwardingHeaders/kjs/JSObject.h: Removed.
74186        * ForwardingHeaders/kjs/JSString.h: Removed.
74187        * ForwardingHeaders/kjs/JSValue.h: Removed.
74188        * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
74189        * ForwardingHeaders/kjs/PropertyMap.h: Removed.
74190        * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
74191        * ForwardingHeaders/kjs/StringObject.h: Removed.
74192        * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
74193        * ForwardingHeaders/kjs/StringPrototype.h: Removed.
74194        * ForwardingHeaders/kjs/StructureID.h: Removed.
74195        * ForwardingHeaders/runtime: Added.
74196        * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
74197        * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
74198        * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
74199        * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
74200        * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
74201        * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
74202        * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
74203        * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
74204        * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
74205        * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
74206        * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
74207        * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
74208        * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
74209        * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
74210        * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
74211        * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
74212        * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
74213        * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
74214        * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
74215        * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
74216        * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
74217        * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
74218        * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
74219        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
74220        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
74221        * bindings/js/JSClipboardCustom.cpp:
74222        * bindings/js/JSConsoleCustom.cpp:
74223        * bindings/js/JSCustomPositionCallback.h:
74224        * bindings/js/JSCustomPositionErrorCallback.h:
74225        * bindings/js/JSCustomSQLStatementCallback.h:
74226        * bindings/js/JSCustomSQLStatementErrorCallback.h:
74227        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
74228        * bindings/js/JSCustomVoidCallback.h:
74229        * bindings/js/JSCustomXPathNSResolver.h:
74230        * bindings/js/JSDOMBinding.cpp:
74231        * bindings/js/JSDOMBinding.h:
74232        * bindings/js/JSDOMGlobalObject.h:
74233        * bindings/js/JSDOMWindowBase.cpp:
74234        * bindings/js/JSDOMWindowCustom.cpp:
74235        * bindings/js/JSDOMWindowShell.cpp:
74236        * bindings/js/JSDatabaseCustom.cpp:
74237        * bindings/js/JSEventListener.cpp:
74238        * bindings/js/JSEventTarget.h:
74239        * bindings/js/JSHTMLDocumentCustom.cpp:
74240        * bindings/js/JSHistoryCustom.cpp:
74241        * bindings/js/JSInspectedObjectWrapper.cpp:
74242        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
74243        * bindings/js/JSLocationCustom.cpp:
74244        * bindings/js/JSNodeFilterCondition.h:
74245        * bindings/js/JSQuarantinedObjectWrapper.cpp:
74246        * bindings/js/JSQuarantinedObjectWrapper.h:
74247        * bindings/js/JSXMLHttpRequestCustom.cpp:
74248        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
74249        * bindings/objc/WebScriptObject.mm:
74250        * bindings/objc/WebScriptObjectPrivate.h:
74251        * bindings/scripts/CodeGeneratorJS.pm:
74252        * bridge/NP_jsobject.cpp:
74253        * bridge/c/c_instance.cpp:
74254        * bridge/c/c_utility.cpp:
74255        * bridge/c/c_utility.h:
74256        * bridge/jni/jni_instance.cpp:
74257        * bridge/jni/jni_jsobject.h:
74258        * bridge/jni/jni_jsobject.mm:
74259        * bridge/jni/jni_runtime.cpp:
74260        * bridge/jni/jni_utility.cpp:
74261        * bridge/jni/jni_utility.h:
74262        * bridge/objc/objc_instance.mm:
74263        * bridge/objc/objc_runtime.h:
74264        * bridge/objc/objc_runtime.mm:
74265        * bridge/objc/objc_utility.h:
74266        * bridge/objc/objc_utility.mm:
74267        * bridge/runtime.h:
74268        * bridge/runtime_array.cpp:
74269        * bridge/runtime_array.h:
74270        * bridge/runtime_method.cpp:
74271        * bridge/runtime_method.h:
74272        * bridge/runtime_object.cpp:
74273        * bridge/runtime_object.h:
74274        * bridge/runtime_root.cpp:
74275        * inspector/JavaScriptCallFrame.cpp:
74276        * inspector/JavaScriptProfile.cpp:
74277        * inspector/JavaScriptProfile.h:
74278        * inspector/JavaScriptProfileNode.cpp:
74279        * inspector/JavaScriptProfileNode.h:
74280        * loader/FrameLoader.cpp:
74281        * page/Console.cpp:
74282        * plugins/PluginView.cpp:
74283        * plugins/gtk/PluginViewGtk.cpp:
74284        * plugins/qt/PluginViewQt.cpp:
74285        * plugins/win/PluginViewWin.cpp:
74286
742872008-10-28  Adele Peterson  <adele@apple.com>
74288
74289        Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
74290
74291        * WebCore.vcproj/WebCore.vcproj:
74292
742932008-10-28  Adele Peterson  <adele@apple.com>
74294
74295        Windows build fix.
74296
74297        * platform/graphics/ImageBuffer.h:
74298        (WebCore::ImageBuffer::create):
74299
743002008-10-28  Cameron Zwarich  <zwarich@apple.com>
74301
74302        Not reviewed.
74303
74304        Roll out a mistaken attempt at fixing the GTK build in r37947.
74305
74306        * GNUmakefile.am:
74307
743082008-10-28  Adele Peterson  <adele@apple.com>
74309
74310        Reviewed by John Sullivan.
74311
74312        Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
74313        "files" string for multifile uploads needs to be localized
74314
74315        * page/mac/WebCoreViewFactory.h:
74316        * platform/LocalizedStrings.h:
74317        * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
74318        * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
74319        * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
74320        * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
74321        * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
74322        * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
74323
743242008-10-28  Brett Wilson  <brettw@chromium.org>
74325
74326        Reviewed by Darin Adler.
74327
74328        https://bugs.webkit.org/show_bug.cgi?id=21816
74329
74330        Remove platform ifdefs in ImageBuffer.h by moving platform specific code
74331        into a new PlatformImageBuffer class. Move the static create function
74332        into the header because it can be cross-platform. Initialization now
74333        happens in the cunstructor which sets a flag that create uses to know
74334        whether it should return null or not. I also made passing of IntSize
74335        more consistent (always by reference).
74336
74337        This change also changes the ifdefs in GraphicsContext to allow Skia
74338        ports to implement text drawing modes.
74339
74340        * platform/graphics/ImageBuffer.h:
74341        (WebCore::ImageBuffer::create):
74342        (WebCore::ImageBuffer::size):
74343        * platform/graphics/cairo/ImageBufferCairo.cpp:
74344        (WebCore::ImageBufferData::ImageBufferData):
74345        (WebCore::ImageBuffer::ImageBuffer):
74346        (WebCore::ImageBuffer::~ImageBuffer):
74347        (WebCore::ImageBuffer::image):
74348        (WebCore::ImageBuffer::getImageData):
74349        (WebCore::ImageBuffer::putImageData):
74350        * platform/graphics/cairo/ImageBufferData.h:
74351        * platform/graphics/cg/ImageBufferCG.cpp:
74352        (WebCore::ImageBufferData::ImageBufferData):
74353        (WebCore::ImageBuffer::ImageBuffer):
74354        (WebCore::ImageBuffer::~ImageBuffer):
74355        (WebCore::ImageBuffer::getImageData):
74356        (WebCore::ImageBuffer::putImageData):
74357        * platform/graphics/cg/ImageBufferData.h:
74358        * platform/graphics/qt/ImageBufferData.h:
74359        * platform/graphics/qt/ImageBufferQt.cpp:
74360        (WebCore::ImageBufferData::ImageBufferData):
74361        (WebCore::ImageBuffer::ImageBuffer):
74362        (WebCore::ImageBuffer::~ImageBuffer):
74363
743642008-10-28  Cameron Zwarich  <zwarich@apple.com>
74365
74366        Not reviewed.
74367
74368        Fix the GTK build.
74369
74370        * GNUmakefile.am:
74371
743722008-10-28  Cameron Zwarich  <zwarich@apple.com>
74373
74374        Not reviewed.
74375
74376        Another Qt build fix.
74377
74378        * WebCore.pro:
74379
743802008-10-28  Greg Bolsinga  <bolsinga@apple.com>
74381
74382        Reviewed by David Kilzer.
74383
74384        https://bugs.webkit.org/show_bug.cgi?id=21932
74385        Add non-pointer constant lookups to SoftLinking.h
74386
74387        * platform/mac/SoftLinking.h:
74388
743892008-10-28  Greg Bolsinga  <bolsinga@apple.com>
74390
74391        Reviewed by David Kilzer.
74392
74393        https://bugs.webkit.org/show_bug.cgi?id=2192
74394        Missing semi-colons in Geoposition.idl
74395
74396        * page/Geoposition.idl: Add missing semi-colons
74397
743982008-10-28  Timothy Hatcher  <timothy@apple.com>
74399
74400        Make the Profiles panel in the Web Inspector have an enable screen.
74401        Profiling now needs to be enabled before console.profile() works.
74402
74403        <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
74404        not slow down JavaScript all the time
74405
74406        Reviewed by Darin Adler and Kevin McCullough.
74407
74408        * English.lproj/localizedStrings.js: New strings.
74409        * WebCore.base.exp: New and changed exports.
74410        * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
74411        * bindings/js/JSDOMWindowBase.cpp:
74412        (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
74413        * inspector/InspectorController.cpp:
74414        (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
74415        Timer to call InspectorController::startUserInitiatedProfiling.
74416        (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
74417        that calls InspectorController::startUserInitiatedProfiling.
74418        (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
74419        and enable the profiler if the profiler was not enabled.
74420        (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
74421        (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
74422        if the skipRecompile argument is false. Call the profilerWasEnabled script function.
74423        (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
74424        Call the profilerWasEnabled script function.
74425        (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
74426        so it won't be started later.
74427        * inspector/InspectorController.h:
74428        (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
74429        * inspector/front-end/Images/debuggingButtons.png: Remove.
74430        * inspector/front-end/Images/enableButtons.png: Added.
74431        * inspector/front-end/Images/profilesSilhouette.png: Added.
74432        * inspector/front-end/Images/scriptsSilhouette.png: Added.
74433        * inspector/front-end/PanelEnablerView.js: Added.
74434        (WebInspector.PanelEnablerView):
74435        (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
74436        event so listeners can do their thing.
74437        (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
74438        * inspector/front-end/ProfilesPanel.js:
74439        (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
74440        (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
74441        (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
74442        (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
74443        (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
74444        (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
74445        (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
74446        show/hide other buttons. Also show/hide the PanelEnablerView.
74447        (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
74448        (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
74449        disableProfiler or enableProfiler.
74450        * inspector/front-end/ScriptsPanel.js:
74451        (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
74452        debuggingButton with the enableToggleButton.
74453        (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
74454        the enableToggleButton.
74455        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
74456        when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
74457        with the enableToggleButton.
74458        (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
74459        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
74460        since reset is called from debuggerWasEnabled and debuggerWasDisabled.
74461        * inspector/front-end/View.js: Inherit from WebInspector.Object.
74462        * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
74463        * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
74464        * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
74465        * inspector/front-end/inspector.js:
74466        (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
74467        (WebInspector.profilerWasDisabled): Ditto.
74468        * page/Console.cpp:
74469        (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
74470        (WebCore::Console::info): Ditto.
74471        (WebCore::Console::log): Ditto.
74472        (WebCore::Console::assertCondition): Ditto.
74473        (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
74474        (WebCore::Console::count): Ditto.
74475        (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
74476        (WebCore::Console::profileEnd): Ditto.
74477        (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
74478        * page/Settings.cpp:
74479        (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
74480        (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
74481        Now just sets the member boolean.
74482        * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
74483
744842008-10-28  Timothy Hatcher  <timothy@apple.com>
74485
74486        Rename a few methods related to attaching and detaching the debugger. Also
74487        adds stub methods for enabling and disabling the profiler.
74488
74489        * Rename attachDebugger to enableDebugger.
74490        * Rename detachDebugger to disableDebugger.
74491        * Rename the debuggerAttached getter to debuggerEnabled.
74492        * Rename the debuggerAttached callback to debuggerWasEnabled.
74493        * Rename the debuggerDetached callback to debuggerWasDisabled.
74494
74495        Reviewed by Darin Adler.
74496
74497        * WebCore.base.exp:
74498        * inspector/InspectorController.cpp:
74499        (WebCore::InspectorController::InspectorController):
74500        (WebCore::InspectorController::setWindowVisible):
74501        (WebCore::InspectorController::windowScriptObjectAvailable):
74502        (WebCore::InspectorController::close):
74503        (WebCore::InspectorController::enableProfiler):
74504        (WebCore::InspectorController::disableProfiler):
74505        (WebCore::InspectorController::enableDebugger):
74506        (WebCore::InspectorController::disableDebugger):
74507        (WebCore::InspectorController::pauseInDebugger):
74508        (WebCore::InspectorController::resumeDebugger):
74509        (WebCore::InspectorController::stepOverStatementInDebugger):
74510        (WebCore::InspectorController::stepIntoStatementInDebugger):
74511        (WebCore::InspectorController::stepOutOfFunctionInDebugger):
74512        * inspector/InspectorController.h:
74513        (WebCore::InspectorController::profilerEnabled):
74514        (WebCore::InspectorController::debuggerEnabled):
74515        * inspector/front-end/BreakpointsSidebarPane.js:
74516        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
74517        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
74518        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
74519        * inspector/front-end/Object.js:
74520        * inspector/front-end/ProfilesPanel.js:
74521        (WebInspector.ProfilesPanel):
74522        * inspector/front-end/ScriptsPanel.js:
74523        (WebInspector.ScriptsPanel):
74524        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
74525        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
74526        (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
74527        (WebInspector.ScriptsPanel.prototype.reset):
74528        (WebInspector.ScriptsPanel.prototype.canShowResource):
74529        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
74530        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
74531        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
74532        * inspector/front-end/View.js:
74533        * inspector/front-end/inspector.css:
74534        * inspector/front-end/inspector.html:
74535        * inspector/front-end/inspector.js:
74536        (WebInspector.addResource):
74537        (WebInspector.debuggerWasEnabled):
74538        (WebInspector.debuggerWasDisabled):
74539
745402008-10-28  Timothy Hatcher  <timothy@apple.com>
74541
74542        Fix an exception when searching the Resources panel while there
74543        and resources queued to be added to the list.
74544
74545        Reviewed by Kevin McCullough.
74546
74547        * inspector/front-end/ResourcesPanel.js:
74548        (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
74549        the _resourcesTreeElement property.
74550        (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
74551
745522008-10-28  Alp Toker  <alp@nuanti.com>
74553
74554        GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
74555        isn't defined.
74556
74557        * platform/graphics/gtk/FontGtk.cpp:
74558        (WebCore::getDefaultPangoLayout):
74559        * platform/graphics/gtk/FontPlatformDataPango.cpp:
74560
745612008-10-28  Alexey Proskuryakov  <ap@webkit.org>
74562
74563        Reviewed by Darin Adler.
74564
74565        https://bugs.webkit.org/show_bug.cgi?id=21893
74566        Character set is incorrect for external scripts in XHTML pages
74567
74568        <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
74569
74570        Test: fast/encoding/external-script-charset.xhtml
74571
74572        Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
74573
74574        * dom/ScriptElement.h:
74575        * dom/XMLTokenizerLibxml2.cpp:
74576        (WebCore::XMLTokenizer::endElementNs):
74577        * dom/XMLTokenizerQt.cpp:
74578        (WebCore::XMLTokenizer::parseEndElement):
74579        * html/HTMLScriptElement.h:
74580        * svg/SVGScriptElement.cpp:
74581        (WebCore::SVGScriptElement::scriptCharset):
74582        * svg/SVGScriptElement.h:
74583
745842008-10-28  Alp Toker  <alp@nuanti.com>
74585
74586        Include copyright license files in the autotools dist target and
74587        exclude unused zlib headers.
74588
74589        Change suggested by Mike Hommey.
74590
74591        * GNUmakefile.am:
74592
745932008-10-27  Sam Weinig  <sam@webkit.org>
74594
74595        Reviewed by Maciej Stachowiak.
74596
74597        Clear the window shell when destroying a page to allow documents
74598        which have no way of being reached anymore, to be torn down.
74599
74600        * page/Frame.cpp:
74601        (WebCore::Frame::pageDestroyed):
74602
746032008-10-27  Kevin Watters  <kevinwatters@gmail.com>
74604
74605        Reviewed by Kevin Ollivier.
74606
74607        Update the active state as well as the focused state as both need to be true
74608        for the caret to be drawn.
74609
74610        https://bugs.webkit.org/show_bug.cgi?id=21900
74611
74612        * WebView.cpp:
74613        (wxWebView::OnSetFocus):
74614        (wxWebView::OnKillFocus):
74615
746162008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
74617
74618        wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
74619
74620        * webcore-wx.bkl:
74621
746222008-10-27  Michael Knaup  <michael.knaup@mac.com>
74623
74624        Reviewed and tweaked by Darin Adler.
74625
74626        - https://bugs.webkit.org/show_bug.cgi?id=8988
74627
74628        Bug 8988: Add support for Mozilla CSS custom cursors.
74629        Added -webkit-grab and -webkit-grabbing cursor suppport
74630        for the Mac, dummy implementations for other platforms.
74631
74632        * css/CSSParser.cpp:
74633        (WebCore::CSSParser::parseValue): Updated since the
74634        -webkit-grabbing cursor is now the last one.
74635
74636        * css/CSSPrimitiveValueMappings.h:
74637        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
74638        CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
74639
74640        * css/CSSValueKeywords.in: Added -webkit-grab and
74641        -webkit-grabbing.
74642
74643        * manual-tests/cursor.html: Added -webkit-zoom-in,
74644        webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
74645
74646        * page/EventHandler.cpp:
74647        (WebCore::EventHandler::selectCursor): Added
74648        CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
74649
74650        * platform/Cursor.h: Added grabCursor and grabbingCursor.
74651
74652        * platform/gtk/CursorGtk.cpp:
74653        (WebCore::grabCursor): Added.
74654        (WebCore::grabbingCursor): Added.
74655        * platform/mac/CursorMac.mm:
74656        (WebCore::grabCursor): Added.
74657        (WebCore::grabbingCursor): Added.
74658        * platform/qt/CursorQt.cpp:
74659        (WebCore::grabCursor): Added.
74660        (WebCore::grabbingCursor): Added.
74661        * platform/win/CursorWin.cpp:
74662        (WebCore::grabCursor): Added.
74663        (WebCore::grabbingCursor): Added.
74664        * platform/wx/CursorWx.cpp:
74665        (WebCore::grabCursor): Added.
74666        (WebCore::grabbingCursor): Added.
74667
74668        * rendering/style/RenderStyleConstants.h:
74669        Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
74670        Also broke ECursor out into a single constant per line.
74671        Also added a couple of comments.
74672
746732008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
74674
74675        Reviewed by Darin Adler.
74676
74677        * svg/SVGAnimatedTemplate.h: needed a HashMap define
74678
746792008-10-21  Eric Seidel  <eric@webkit.org>
74680
74681        Reviewed by Dave Hyatt.
74682
74683        Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
74684        https://bugs.webkit.org/show_bug.cgi?id=20400
74685
74686        Test: svg/custom/stop-crash.svg
74687
74688        * WebCore.xcodeproj/project.pbxproj:
74689        * rendering/RenderSVGGradientStop.h:
74690        (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
74691
746922008-10-27  Anders Carlsson  <andersca@apple.com>
74693
74694        Reviewed by Sam Weinig.
74695
74696        No need to call release if the connection is null.
74697
74698        * platform/network/mac/ResourceHandleMac.mm:
74699        (WebCore::ResourceHandle::start):
74700
747012008-10-27  Anders Carlsson  <andersca@apple.com>
74702
74703        Reviewed by Kevin Decker.
74704
74705        <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
74706
74707        Make sure to null check the NSURLConnection object.
74708
74709        * platform/network/mac/ResourceHandleMac.mm:
74710        (WebCore::ResourceHandle::start):
74711        (WebCore::ResourceHandle::setDefersLoading):
74712
747132008-10-27  Alexey Proskuryakov  <ap@webkit.org>
74714
74715        Fix non-Mac builds.
74716
74717        * GNUmakefile.am:
74718        * WebCore.pro:
74719        * WebCore.vcproj/WebCore.vcproj:
74720        * WebCoreSources.bkl:
74721        Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
74722
747232008-10-26  Alexey Proskuryakov  <ap@webkit.org>
74724
74725        Reviewed by Sam Weinig.
74726
74727        https://bugs.webkit.org/show_bug.cgi?id=21886
74728        window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
74729
74730        Test: fast/dom/HTMLOptionElement/option-prototype.html
74731
74732        We now have separate objects for window.Option and window.HTMLOptionElement - the latter
74733        "constructor" cannot be used to construct anything. This matches Firefox behavior.
74734
74735        * WebCore.xcodeproj/project.pbxproj:
74736        * bindings/js/JSDOMWindowBase.cpp:
74737        (jsDOMWindowBaseOption):
74738        * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
74739        * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
74740        * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
74741        * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
74742        * html/HTMLOptionElement.idl:
74743        Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
74744
74745        * html/HTMLOptionElement.idl: Generate a constructor.
74746
747472008-10-25  Geoffrey Garen  <ggaren@apple.com>
74748
74749        Not reviewed.
74750
74751        Try to fix Mac debug build on the buildbot.
74752
74753        * platform/FileChooser.cpp:
74754        (WebCore::FileChooserClient::~FileChooserClient):
74755        * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
74756        weak exported symbol.
74757
747582008-10-25  Jade Han  <jade.han@nokia.com>
74759
74760        Reviewed by Anders.
74761
74762        Enable custom properties for Qt runtime objects in QtWebKit
74763
74764        https://bugs.webkit.org/show_bug.cgi?id=21813
74765
74766        * bridge/runtime_object.cpp:
74767        (JSC::RuntimeObjectImp::getOwnPropertySlot):
74768        (JSC::RuntimeObjectImp::put):
74769
747702008-10-24  Sam Weinig  <sam@webkit.org>
74771
74772        Fix windows build.
74773
74774        * page/Chrome.cpp:
74775        * page/Chrome.h:
74776
747772008-10-24  Sam Weinig  <sam@webkit.org>
74778
74779        Fix Qt build.
74780
74781        * platform/qt/FileChooserQt.cpp:
74782
747832008-10-24  Sam Weinig  <sam@webkit.org>
74784
74785        Reviewed by Dan Bernstein.
74786
74787        Fix https://bugs.webkit.org/show_bug.cgi?id=21759
74788        Layering violation: FileChooser should not depend on Document/Frame/Page
74789
74790        Move file choosing into WebKit ChromeClient.
74791
74792        * loader/EmptyClients.h:
74793        (WebCore::EmptyChromeClient::runOpenPanel):
74794        * page/Chrome.cpp:
74795        (WebCore::Chrome::runOpenPanel):
74796        * page/Chrome.h:
74797        * page/ChromeClient.h:
74798        * page/mac/ChromeMac.mm:
74799        * platform/FileChooser.h:
74800        * platform/mac/FileChooserMac.mm:
74801        * platform/qt/FileChooserQt.cpp:
74802        * platform/win/FileChooserWin.cpp:
74803        * platform/wx/TemporaryLinkStubs.cpp:
74804        * rendering/RenderFileUploadControl.cpp:
74805        (WebCore::RenderFileUploadControl::click):
74806
748072008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
74808
74809        wx build fix - add newIconForFiles stub.
74810
74811        * platform/wx/TemporaryLinkStubs.cpp:
74812        (Icon::newIconForFiles):
74813
748142008-10-24  Kevin Watters  <kevinwatters@gmail.com>
74815
74816        Reviewed by Kevin Ollivier.
74817
74818        Use the CGFont metrics APIs for more accurate measurements, and tweak the y
74819        value the text is drawn at (it was a couple pixels off before because wx
74820        internally adds to the y value.
74821
74822        https://bugs.webkit.org/show_bug.cgi?id=21853
74823
74824        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
74825        (wxFontProperties::wxFontProperties):
74826        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
74827        (WebCore::drawTextWithSpacing):
74828
748292008-10-24  Eric Seidel  <eric@webkit.org>
74830
74831        Reviewed by Sam Weinig.
74832
74833        Generate missing constructors and add test to prevent missing ones in the future
74834        https://bugs.webkit.org/show_bug.cgi?id=21846
74835
74836        Test: fast/js/global-constructors.html
74837
74838        * css/CSSStyleSheet.idl:
74839        * css/RGBColor.idl:
74840        * dom/NodeIterator.idl:
74841        * dom/TreeWalker.idl:
74842        * xml/XPathExpression.idl:
74843
748442008-10-24  Alexey Proskuryakov  <ap@webkit.org>
74845
74846        Reviewed by Darin Adler.
74847
74848        https://bugs.webkit.org/show_bug.cgi?id=21836
74849        REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
74850
74851        Test: http/tests/xmlhttprequest/detaching-frame.html
74852
74853        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
74854        even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
74855        when dispatching the same callback that results in this function being called.
74856
748572008-10-24  David Kilzer  <ddkilzer@apple.com>
74858
74859        Gtk build fix.
74860
74861        * platform/gtk/TemporaryLinkStubs.cpp:
74862        (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
74863
748642008-10-24  Mark Rowe  <mrowe@apple.com>
74865
74866        Reviewed by Sam Weinig.
74867
74868        <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
74869
74870        * platform/graphics/cg/GraphicsContextCG.cpp:
74871        (WebCore::GraphicsContext::setImageInterpolationQuality):
74872        (WebCore::GraphicsContext::imageInterpolationQuality):
74873
748742008-10-24  Anders Carlsson  <andersca@apple.com>
74875
74876        Reviewed by Sam Weinig.
74877
74878        <rdar://problem/5440917> Support NPN_Construct
74879
74880        * WebCore.NPAPI.exp:
74881        Export _NPN_Construct.
74882
74883        * bridge/NP_jsobject.cpp:
74884        (_NPN_Construct):
74885        Implement this.
74886
74887        * bridge/c/c_instance.cpp:
74888        (JSC::Bindings::CInstance::supportsConstruct):
74889        (JSC::Bindings::CInstance::invokeConstruct):
74890        Have this call the appropriate NPClass method.
74891
74892        * bridge/npruntime.h:
74893        Add NPN_Construct.
74894
74895        * bridge/npruntime_impl.h:
74896        Add _NPN_Construct.
74897
74898        * bridge/runtime.h:
74899        (JSC::Bindings::Instance::supportsConstruct):
74900        (JSC::Bindings::Instance::invokeConstruct):
74901        New methods.
74902
74903        * bridge/runtime_object.cpp:
74904        (JSC::callRuntimeConstructor):
74905        Call the native instance.
74906
74907        (JSC::RuntimeObjectImp::getConstructData):
74908        Implement this.
74909
74910        * bridge/runtime_object.h:
74911        Add new method declarations.
74912
74913        * plugins/gtk/PluginPackageGtk.cpp:
74914        (WebCore::PluginPackage::load):
74915        * plugins/qt/PluginPackageQt.cpp:
74916        (WebCore::PluginPackage::load):
74917        * plugins/win/PluginPackageWin.cpp:
74918        (WebCore::PluginPackage::load):
74919        Initialize m_pluginFuncs.construct.
74920
749212008-10-24  Adele Peterson  <adele@apple.com>
74922
74923        Build fix.
74924
74925        * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
74926        * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
74927
749282008-10-24  Greg Bolsinga  <bolsinga@apple.com>
74929
74930        Fix GTK build break.
74931
74932        Reviewed by David Kilzer.
74933
74934        * GNUmakefile.am: Do not include .idl files whose generated files should not be
74935        compiled.
74936
749372008-10-24  David Kilzer  <ddkilzer@apple.com>
74938
74939        Wx build fix.
74940
74941        * platform/wx/TemporaryLinkStubs.cpp:
74942        (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
74943
749442008-10-24  Adele Peterson  <adele@apple.com>
74945
74946        Reviewed by Sam Weinig.
74947
74948        WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
74949
74950        This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
74951        This is consistent with the direction HTML5 will be going in the future.
74952
74953        The initial implementation here will show "n files" as the text next to the control when multiple files are selected.  You can view
74954        the individual files in a tooltip for now.  Improvements to this control will come later.
74955
74956        Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.
74957        These FileList Files can also be sent in an XMLHTTPRequest.
74958
74959        * manual-tests/post-multi-file-upload.html: Added.
74960        * manual-tests/resources/multiFileResources: Added.
74961        * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
74962        * manual-tests/resources/multiFileResources/testFile1.html: Added.
74963        * manual-tests/resources/multiFileResources/testFile2.html: Added.
74964        * manual-tests/resources/multiFileResources/testFile3.html: Added.
74965
74966        * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
74967
74968        * html/HTMLInputElement.cpp:
74969        (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
74970        (WebCore::HTMLInputElement::value): Added comments.  The HTML5 spec says that value shouldn't apply for the file upload control,
74971        but we don't want to break the behavior for existing websites that may rely on this.
74972        (WebCore::HTMLInputElement::setValue): ditto.
74973        (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
74974        (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
74975        * html/HTMLInputElement.h:
74976
74977        * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
74978
74979        * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
74980
74981        * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
74982        (WebCore::FileChooser::FileChooser):
74983        (WebCore::FileChooser::create):
74984        (WebCore::FileChooser::clear):
74985        (WebCore::FileChooser::chooseFile):
74986        (WebCore::FileChooser::chooseFiles):
74987        (WebCore::FileChooser::chooseIcon):
74988        * platform/FileChooser.h:
74989        (WebCore::FileChooser::filePaths):
74990        (WebCore::FileChooser::allowsMultipleFiles):
74991
74992        * platform/graphics/Icon.h:
74993        * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
74994        * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
74995        * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
74996        * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
74997
74998        * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):  Updated to deal with new filenames vector.
74999        * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
75000        * platform/qt/FileChooserQt.cpp:
75001        (WebCore::FileChooser::openFileChooser):
75002        (WebCore::FileChooser::basenameForWidth):
75003        * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
75004
75005        * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
75006        Removed unnecessary assertion.  This can get hit when connectionDidFinishLoading and cancel
75007        both get called for the same ResourceHandle.  This getting called twice has no negative effect.
75008
75009        * rendering/RenderFileUploadControl.cpp:
75010        (WebCore::RenderFileUploadControl::valueChanged):  Calls setFileListFromRenderer.
75011        (WebCore::RenderFileUploadControl::allowsMultipleFiles):  Added.
75012        (WebCore::RenderFileUploadControl::updateFromElement):  Uses the new filenames call from FileChooser.
75013        (WebCore::RenderFileUploadControl::receiveDroppedFiles):  Updated to support multiple files.
75014        * rendering/RenderFileUploadControl.h:
75015
750162008-10-23  Peter Kasting  <pkasting@google.com>
75017
75018        Reviewed by David Hyatt.
75019
75020        https://bugs.webkit.org/show_bug.cgi?id=21844
75021        Remove setFocusRingColorChangeFunction.
75022
75023        * page/Page.cpp:
75024        (WebCore::Page::Page):
75025        * platform/graphics/Color.h:
75026        * platform/graphics/mac/ColorMac.mm:
75027        (WebCore::focusRingColor):
75028        * platform/graphics/qt/GraphicsContextQt.cpp:
75029        * platform/graphics/win/ColorSafari.cpp:
75030
750312008-10-24  David Kilzer  <ddkilzer@apple.com>
75032
75033        Build fix for Qt.
75034
75035        Reviewed by Greg.
75036
75037        * WebCore.pro: Added missing *.idl files.
75038
750392008-10-24  Greg Bolsinga  <bolsinga@apple.com>
75040
75041        Reviewed by Sam Weinig.
75042
75043        https://bugs.webkit.org/show_bug.cgi?id=21475
75044
75045        Provide support for the Geolocation API
75046
75047        http://dev.w3.org/geo/api/spec-source.html
75048
75049        Test: geolocation/geolocation-not-implemented.html
75050
75051        * DerivedSources.make:
75052        * GNUmakefile.am: Added Geolocation support
75053        * WebCore.pro: Added Geolocation support
75054        * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
75055        * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
75056        * WebCoreSources.bkl: Added Geolocation support
75057        * bindings/js/JSCustomPositionCallback.cpp: Added.
75058        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
75059        (WebCore::JSCustomPositionCallback::handleEvent):
75060        * bindings/js/JSCustomPositionCallback.h: Added.
75061        (WebCore::JSCustomPositionCallback::create):
75062        * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
75063        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
75064        (WebCore::JSCustomPositionErrorCallback::handleEvent):
75065        * bindings/js/JSCustomPositionErrorCallback.h: Added.
75066        (WebCore::JSCustomPositionErrorCallback::create):
75067        * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
75068        (WebCore::markDOMObjectWrapper):
75069        * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
75070        * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
75071        * bindings/js/JSGeolocationCustom.cpp: Added.
75072        (WebCore::JSGeolocation::getCurrentPosition):
75073        (WebCore::JSGeolocation::watchPosition):
75074        * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
75075        (WebCore::JSNavigator::mark):
75076        * dom/Document.cpp:
75077        (WebCore::Document::Document):
75078        * dom/Document.h:
75079        (WebCore::Document::setUsingGeolocation):
75080        (WebCore::Document::usingGeolocation):
75081        * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
75082        (WebCore::FrameLoader::canCachePage):
75083        * page/Geolocation.cpp: Added.
75084        (WebCore::Geolocation::GeoNotifier::GeoNotifier):
75085        (WebCore::Geolocation::GeoNotifier::timerFired):
75086        (WebCore::Geolocation::Geolocation):
75087        (WebCore::Geolocation::disconnectFrame):
75088        (WebCore::Geolocation::getCurrentPosition):
75089        (WebCore::Geolocation::watchPosition):
75090        (WebCore::Geolocation::clearWatch):
75091        (WebCore::Geolocation::stopUpdatingIfEmpty):
75092        (WebCore::Geolocation::sendErrorToOneShots):
75093        (WebCore::Geolocation::sendErrorToWatchers):
75094        (WebCore::Geolocation::sendPositionToOneShots):
75095        (WebCore::Geolocation::sendPositionToWatchers):
75096        (WebCore::Geolocation::handleError):
75097        (WebCore::Geolocation::geolocationServicePositionChanged):
75098        (WebCore::Geolocation::geolocationServiceErrorOccurred):
75099        * page/Geolocation.h: Added.
75100        (WebCore::Geolocation::create):
75101        (WebCore::Geolocation::~Geolocation):
75102        (WebCore::Geolocation::lastPosition):
75103        (WebCore::Geolocation::GeoNotifier::create):
75104        * page/Geolocation.idl: Added.
75105        * page/Geoposition.cpp: Added.
75106        (WebCore::Geoposition::toString):
75107        * page/Geoposition.h: Added.
75108        (WebCore::Geoposition::create):
75109        (WebCore::Geoposition::latitude):
75110        (WebCore::Geoposition::longitude):
75111        (WebCore::Geoposition::altitude):
75112        (WebCore::Geoposition::accuracy):
75113        (WebCore::Geoposition::altitudeAccuracy):
75114        (WebCore::Geoposition::heading):
75115        (WebCore::Geoposition::velocity):
75116        (WebCore::Geoposition::timestamp):
75117        (WebCore::Geoposition::Geoposition):
75118        * page/Geoposition.idl: Added.
75119        * page/Navigator.cpp:
75120        (WebCore::Navigator::disconnectFrame): disconnect Geolocation
75121        (WebCore::Navigator::geolocation): accessor for Geolocation
75122        * page/Navigator.h:
75123        (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
75124        * page/Navigator.idl: accessor for Geolocation
75125        * page/PositionCallback.h: Added.
75126        (WebCore::PositionCallback::~PositionCallback):
75127        * page/PositionCallback.idl: Added.
75128        * page/PositionError.h: Added.
75129        (WebCore::PositionError::):
75130        (WebCore::PositionError::create):
75131        (WebCore::PositionError::code):
75132        (WebCore::PositionError::message):
75133        (WebCore::PositionError::PositionError):
75134        * page/PositionError.idl: Added.
75135        * page/PositionErrorCallback.h: Added.
75136        (WebCore::PositionErrorCallback::~PositionErrorCallback):
75137        * page/PositionErrorCallback.idl: Added.
75138        * page/PositionOptions.h: Added.
75139        (WebCore::PositionOptions::create):
75140        (WebCore::PositionOptions::enableHighAccuracy):
75141        (WebCore::PositionOptions::setEnableHighAccuracy):
75142        (WebCore::PositionOptions::timeout):
75143        (WebCore::PositionOptions::setTimeout):
75144        (WebCore::PositionOptions::PositionOptions):
75145        * page/PositionOptions.idl: Added.
75146        * platform/GeolocationService.cpp: Added.
75147        (WebCore::GeolocationService::GeolocationService):
75148        (WebCore::GeolocationService::positionChanged):
75149        (WebCore::GeolocationService::errorOccurred):
75150        * platform/GeolocationService.h: Added.
75151        (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
75152        (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
75153        (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
75154        (WebCore::GeolocationService::~GeolocationService):
75155
751562008-10-24  Simon Fraser  <simon.fraser@apple.com>
75157
75158        Reviewed by Darin Adler
75159
75160        https://bugs.webkit.org/show_bug.cgi?id=21818
75161
75162        Add HashTraits for AtomicString so that AtomicString can be used as
75163        the key for a HashMap or HashSet.
75164
75165        * GNUmakefile.am: add AtomicStringHash.h
75166        * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
75167        * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
75168        * platform/text/AtomicString.h:
75169        (WebCore::AtomicString::AtomicString):
75170        (WebCore::AtomicString::isHashTableDeletedValue):
75171            specialize DefaultHash for AtomicString to use AtomicStringHash
75172        * platform/text/AtomicStringHash.h: Added.
75173        * platform/text/StringImpl.cpp:
75174        (WebCore::StringImpl::StringImpl):
75175            compute the hash up-front for the empty string
75176        * platform/text/StringImpl.h:
75177        (WebCore::StringImpl::existingHash):
75178            method to get the hash without a test and branch, for callers like
75179            AtomicStringHash who can guarantee that the hash has already been computed.
75180
751812008-10-24  Simon Fraser  <simon.fraser@apple.com>
75182
75183        Reviewed by Sam Weinig
75184
75185        https://bugs.webkit.org/show_bug.cgi?id=21857
75186
75187        Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
75188        switch in _wrapCSSRule.
75189
75190        * bindings/objc/DOMCSS.mm:
75191        (+[DOMCSSRule _wrapCSSRule:WebCore::]):
75192
751932008-10-24  Adam Roben  <aroben@apple.com>
75194
75195        Windows build fix
75196
75197        * plugins/PluginView.cpp:
75198
751992008-10-24  Dan Bernstein  <mitz@apple.com>
75200
75201        Reviewed by Sam Weinig.
75202
75203        - fix https://bugs.webkit.org/show_bug.cgi?id=21851
75204          <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
75205
75206        Test: fast/replaced/percent-height-in-anonymous-block-widget.html
75207
75208        * rendering/RenderWidget.cpp:
75209        (WebCore::RenderWidget::destroy): Copied code added to
75210        RenderBox::destroy() in r36513 into this function.
75211
752122008-10-24  Timothy Hatcher  <timothy@apple.com>
75213
75214        Add a mechanism to ask the InspectorClient for key/value setting pairs.
75215        These settings can be strings, numbers, booleans or string vectors. The
75216        settings are also bridged to and from JavaScript.
75217
75218        https://bugs.webkit.org/show_bug.cgi?id=21856
75219
75220        Reviewed by Darin Adler.
75221
75222        * WebCore.base.exp: Expose the String CFStringRef constructor.
75223        * inspector/InspectorClient.h:
75224        (WebCore::InspectorClient::populateSetting): Added, pure virtual.
75225        (WebCore::InspectorClient::storeSetting): Ditto.
75226        (WebCore::InspectorClient::removeSetting): Ditto.
75227        * inspector/InspectorController.cpp:
75228        (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
75229        (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
75230        (WebCore::InspectorController::InspectorController): Increment a global static
75231        to track the number of live InspectorControllers.
75232        (WebCore::InspectorController::~InspectorController): Decrement the global static
75233        that tracks the number of live InspectorControllers. Delete the setting cache if there
75234        are no more live controllers.
75235        (WebCore::InspectorController::setting): Check the cache and return the setting from there,
75236        otherwise make a new Setting and ask the client to populate it.
75237        (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
75238        (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
75239        to the InspectorController script class.
75240        * inspector/InspectorController.h:
75241        (WebCore::InspectorController::Setting::Setting):
75242        (WebCore::InspectorController::Setting::operator=):
75243        (WebCore::InspectorController::Setting::type): Return m_type.
75244        (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
75245        (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
75246        Assert the type is correct.
75247        (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
75248        Assert the type is correct.
75249        (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
75250        Assert the type is correct.
75251        (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
75252        Assert the type is correct.
75253        (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
75254        field and the type.
75255        * loader/EmptyClients.h:
75256        (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
75257        (WebCore::EmptyInspectorClient::storeSetting): Ditto.
75258        (WebCore::EmptyInspectorClient::removeSetting): Ditto.
75259
752602008-10-24  Cameron Zwarich  <zwarich@apple.com>
75261
75262        Reviewed by Sam Weinig.
75263
75264        Remove some C-style casts.
75265
75266        * html/HTMLViewSourceDocument.cpp:
75267        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
75268
752692008-10-24  Darin Adler  <darin@apple.com>
75270
75271        - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
75272
75273        * bindings/js/JSAttrCustom.cpp:
75274        * bindings/js/JSCSSRuleCustom.cpp:
75275        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
75276        * bindings/js/JSCSSValueCustom.cpp:
75277        * bindings/js/JSCanvasPixelArrayCustom.h:
75278        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
75279        * bindings/js/JSClipboardCustom.cpp:
75280        * bindings/js/JSConsoleCustom.cpp:
75281        * bindings/js/JSCustomSQLStatementCallback.cpp:
75282        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
75283        * bindings/js/JSCustomSQLTransactionCallback.cpp:
75284        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
75285        * bindings/js/JSCustomVoidCallback.cpp:
75286        * bindings/js/JSCustomVoidCallback.h:
75287        * bindings/js/JSCustomXPathNSResolver.cpp:
75288        * bindings/js/JSCustomXPathNSResolver.h:
75289        * bindings/js/JSDOMApplicationCacheCustom.cpp:
75290        * bindings/js/JSDOMBinding.cpp:
75291        * bindings/js/JSDOMBinding.h:
75292        * bindings/js/JSDOMWindowBase.cpp:
75293        * bindings/js/JSDOMWindowBase.h:
75294        * bindings/js/JSDOMWindowCustom.cpp:
75295        * bindings/js/JSDOMWindowCustom.h:
75296        * bindings/js/JSDOMWindowShell.cpp:
75297        * bindings/js/JSDOMWindowShell.h:
75298        * bindings/js/JSDatabaseCustom.cpp:
75299        * bindings/js/JSDedicatedWorkerCustom.cpp:
75300        * bindings/js/JSDocumentCustom.cpp:
75301        * bindings/js/JSElementCustom.cpp:
75302        * bindings/js/JSEventCustom.cpp:
75303        * bindings/js/JSEventListener.cpp:
75304        * bindings/js/JSEventTarget.cpp:
75305        * bindings/js/JSEventTarget.h:
75306        * bindings/js/JSEventTargetBase.h:
75307        * bindings/js/JSEventTargetNodeCustom.cpp:
75308        * bindings/js/JSHTMLAllCollection.h:
75309        * bindings/js/JSHTMLAppletElementCustom.cpp:
75310        * bindings/js/JSHTMLCollectionCustom.cpp:
75311        * bindings/js/JSHTMLDocumentCustom.cpp:
75312        * bindings/js/JSHTMLEmbedElementCustom.cpp:
75313        * bindings/js/JSHTMLFormElementCustom.cpp:
75314        * bindings/js/JSHTMLFrameElementCustom.cpp:
75315        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
75316        * bindings/js/JSHTMLIFrameElementCustom.cpp:
75317        * bindings/js/JSHTMLInputElementCustom.cpp:
75318        * bindings/js/JSHTMLObjectElementCustom.cpp:
75319        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
75320        * bindings/js/JSHTMLSelectElementCustom.cpp:
75321        * bindings/js/JSHTMLSelectElementCustom.h:
75322        * bindings/js/JSHistoryCustom.cpp:
75323        * bindings/js/JSImageDataCustom.cpp:
75324        * bindings/js/JSInspectedObjectWrapper.cpp:
75325        * bindings/js/JSInspectedObjectWrapper.h:
75326        * bindings/js/JSInspectorCallbackWrapper.cpp:
75327        * bindings/js/JSInspectorCallbackWrapper.h:
75328        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
75329        * bindings/js/JSLocationCustom.cpp:
75330        * bindings/js/JSMessagePortCustom.cpp:
75331        * bindings/js/JSMimeTypeArrayCustom.cpp:
75332        * bindings/js/JSNamedNodeMapCustom.cpp:
75333        * bindings/js/JSNamedNodesCollection.cpp:
75334        * bindings/js/JSNamedNodesCollection.h:
75335        * bindings/js/JSNavigatorCustom.cpp:
75336        * bindings/js/JSNodeCustom.cpp:
75337        * bindings/js/JSNodeFilterCondition.cpp:
75338        * bindings/js/JSNodeFilterCondition.h:
75339        * bindings/js/JSNodeFilterCustom.cpp:
75340        * bindings/js/JSNodeIteratorCustom.cpp:
75341        * bindings/js/JSNodeListCustom.cpp:
75342        * bindings/js/JSPluginArrayCustom.cpp:
75343        * bindings/js/JSPluginCustom.cpp:
75344        * bindings/js/JSPluginElementFunctions.cpp:
75345        * bindings/js/JSPluginElementFunctions.h:
75346        * bindings/js/JSQuarantinedObjectWrapper.cpp:
75347        * bindings/js/JSQuarantinedObjectWrapper.h:
75348        * bindings/js/JSRGBColor.cpp:
75349        * bindings/js/JSRGBColor.h:
75350        * bindings/js/JSSQLResultSetRowListCustom.cpp:
75351        * bindings/js/JSSQLTransactionCustom.cpp:
75352        * bindings/js/JSSVGElementInstanceCustom.cpp:
75353        * bindings/js/JSSVGLengthCustom.cpp:
75354        * bindings/js/JSSVGMatrixCustom.cpp:
75355        * bindings/js/JSSVGPathSegCustom.cpp:
75356        * bindings/js/JSSVGPathSegListCustom.cpp:
75357        * bindings/js/JSSVGPointListCustom.cpp:
75358        * bindings/js/JSSVGTransformListCustom.cpp:
75359        * bindings/js/JSStorageCustom.cpp:
75360        * bindings/js/JSStyleSheetCustom.cpp:
75361        * bindings/js/JSStyleSheetListCustom.cpp:
75362        * bindings/js/JSTextCustom.cpp:
75363        * bindings/js/JSTreeWalkerCustom.cpp:
75364        * bindings/js/JSXMLHttpRequestCustom.cpp:
75365        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
75366        * bindings/js/JSXSLTProcessorCustom.cpp:
75367        * bindings/js/ScheduledAction.cpp:
75368        * bindings/js/ScheduledAction.h:
75369        * bindings/js/ScriptController.cpp:
75370        * bindings/js/ScriptController.h:
75371        * bindings/objc/WebScriptObject.mm:
75372        * bindings/objc/WebScriptObjectPrivate.h:
75373        * bindings/scripts/CodeGeneratorJS.pm:
75374        * bridge/NP_jsobject.cpp:
75375        * bridge/c/c_instance.cpp:
75376        * bridge/c/c_instance.h:
75377        * bridge/c/c_runtime.cpp:
75378        * bridge/c/c_runtime.h:
75379        * bridge/c/c_utility.cpp:
75380        * bridge/c/c_utility.h:
75381        * bridge/jni/jni_instance.cpp:
75382        * bridge/jni/jni_instance.h:
75383        * bridge/jni/jni_jsobject.h:
75384        * bridge/jni/jni_jsobject.mm:
75385        * bridge/jni/jni_objc.mm:
75386        * bridge/jni/jni_runtime.cpp:
75387        * bridge/jni/jni_runtime.h:
75388        * bridge/jni/jni_utility.cpp:
75389        * bridge/jni/jni_utility.h:
75390        * bridge/objc/WebScriptObject.h:
75391        * bridge/objc/objc_class.h:
75392        * bridge/objc/objc_class.mm:
75393        * bridge/objc/objc_instance.h:
75394        * bridge/objc/objc_instance.mm:
75395        * bridge/objc/objc_runtime.h:
75396        * bridge/objc/objc_runtime.mm:
75397        * bridge/objc/objc_utility.h:
75398        * bridge/objc/objc_utility.mm:
75399        * bridge/qt/qt_class.cpp:
75400        * bridge/qt/qt_class.h:
75401        * bridge/qt/qt_instance.cpp:
75402        * bridge/qt/qt_instance.h:
75403        * bridge/qt/qt_runtime.cpp:
75404        * bridge/qt/qt_runtime.h:
75405        * bridge/runtime.cpp:
75406        * bridge/runtime.h:
75407        * bridge/runtime_array.cpp:
75408        * bridge/runtime_array.h:
75409        * bridge/runtime_method.cpp:
75410        * bridge/runtime_method.h:
75411        * bridge/runtime_object.cpp:
75412        * bridge/runtime_object.h:
75413        * bridge/testqtbindings.cpp:
75414        * inspector/JavaScriptCallFrame.cpp:
75415        * inspector/JavaScriptCallFrame.h:
75416        * inspector/JavaScriptProfile.cpp:
75417        * inspector/JavaScriptProfile.h:
75418        * inspector/JavaScriptProfileNode.cpp:
75419        * inspector/JavaScriptProfileNode.h:
75420        * loader/FrameLoader.cpp:
75421        * loader/FrameLoader.h:
75422        * page/Console.cpp:
75423        * page/Console.h:
75424        * plugins/MimeTypeArray.h:
75425        * plugins/Plugin.h:
75426        * plugins/PluginArray.h:
75427        * plugins/PluginView.cpp:
75428        * xml/XMLHttpRequest.cpp:
75429        Use JSValue* instead of JSValuePtr.
75430
754312008-10-24  Simon Hausmann  <hausmann@webkit.org>
75432
75433        Fix the Qt build.
75434
75435        * bridge/qt/qt_instance.cpp:
75436        (JSC::Bindings::QtField::valueFromInstance):
75437
754382008-10-24  David Kilzer  <ddkilzer@apple.com>
75439
75440        Rolled out r37840 and r37841.
75441
75442        * DerivedSources.make:
75443        * GNUmakefile.am:
75444        * WebCore.pro:
75445        * WebCore.vcproj/WebCore.vcproj:
75446        * WebCore.xcodeproj/project.pbxproj:
75447        * WebCoreSources.bkl:
75448        * bindings/js/JSCustomPositionCallback.cpp: Removed.
75449        * bindings/js/JSCustomPositionCallback.h: Removed.
75450        * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
75451        * bindings/js/JSCustomPositionErrorCallback.h: Removed.
75452        * bindings/js/JSDOMBinding.cpp:
75453        * bindings/js/JSDOMBinding.h:
75454        * bindings/js/JSDOMWindowCustom.cpp:
75455        (WebCore::markDOMObjectWrapper):
75456        * bindings/js/JSGeolocationCustom.cpp: Removed.
75457        * bindings/js/JSNavigatorCustom.cpp:
75458        * dom/Document.cpp:
75459        (WebCore::Document::Document):
75460        * dom/Document.h:
75461        * loader/FrameLoader.cpp:
75462        (WebCore::FrameLoader::canCachePage):
75463        * page/Geolocation.cpp: Removed.
75464        * page/Geolocation.h: Removed.
75465        * page/Geolocation.idl: Removed.
75466        * page/Geoposition.cpp: Removed.
75467        * page/Geoposition.h: Removed.
75468        * page/Geoposition.idl: Removed.
75469        * page/Navigator.cpp:
75470        (WebCore::Navigator::disconnectFrame):
75471        * page/Navigator.h:
75472        * page/Navigator.idl:
75473        * page/PositionCallback.h: Removed.
75474        * page/PositionCallback.idl: Removed.
75475        * page/PositionError.h: Removed.
75476        * page/PositionError.idl: Removed.
75477        * page/PositionErrorCallback.h: Removed.
75478        * page/PositionErrorCallback.idl: Removed.
75479        * page/PositionOptions.h: Removed.
75480        * page/PositionOptions.idl: Removed.
75481        * platform/GeolocationService.cpp: Removed.
75482        * platform/GeolocationService.h: Removed.
75483
754842008-10-23  David Kilzer  <ddkilzer@apple.com>
75485
75486        Attempt to fix GTK build.
75487
75488        * GNUmakefile.am: Added new *.idl files that were missing.
75489
754902008-10-23  Greg Bolsinga  <bolsinga@apple.com>
75491
75492        Reviewed by Sam Weinig.
75493
75494        https://bugs.webkit.org/show_bug.cgi?id=21475
75495
75496        Provide support for the Geolocation API
75497
75498        http://dev.w3.org/geo/api/spec-source.html
75499
75500        Test: geolocation/geolocation-not-implemented.html
75501
75502        * DerivedSources.make:
75503        * GNUmakefile.am: Added Geolocation support
75504        * WebCore.pro: Added Geolocation support
75505        * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
75506        * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
75507        * WebCoreSources.bkl: Added Geolocation support
75508        * bindings/js/JSCustomPositionCallback.cpp: Added.
75509        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
75510        (WebCore::JSCustomPositionCallback::handleEvent):
75511        * bindings/js/JSCustomPositionCallback.h: Added.
75512        (WebCore::JSCustomPositionCallback::create):
75513        * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
75514        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
75515        (WebCore::JSCustomPositionErrorCallback::handleEvent):
75516        * bindings/js/JSCustomPositionErrorCallback.h: Added.
75517        (WebCore::JSCustomPositionErrorCallback::create):
75518        * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
75519        (WebCore::markDOMObjectWrapper):
75520        * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
75521        * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
75522        * bindings/js/JSGeolocationCustom.cpp: Added.
75523        (WebCore::JSGeolocation::getCurrentPosition):
75524        (WebCore::JSGeolocation::watchPosition):
75525        * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
75526        (WebCore::JSNavigator::mark):
75527        * dom/Document.cpp:
75528        (WebCore::Document::Document):
75529        * dom/Document.h:
75530        (WebCore::Document::setUsingGeolocation):
75531        (WebCore::Document::usingGeolocation):
75532        * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
75533        (WebCore::FrameLoader::canCachePage):
75534        * page/Geolocation.cpp: Added.
75535        (WebCore::Geolocation::GeoNotifier::GeoNotifier):
75536        (WebCore::Geolocation::GeoNotifier::timerFired):
75537        (WebCore::Geolocation::Geolocation):
75538        (WebCore::Geolocation::disconnectFrame):
75539        (WebCore::Geolocation::getCurrentPosition):
75540        (WebCore::Geolocation::watchPosition):
75541        (WebCore::Geolocation::clearWatch):
75542        (WebCore::Geolocation::stopUpdatingIfEmpty):
75543        (WebCore::Geolocation::sendErrorToOneShots):
75544        (WebCore::Geolocation::sendErrorToWatchers):
75545        (WebCore::Geolocation::sendPositionToOneShots):
75546        (WebCore::Geolocation::sendPositionToWatchers):
75547        (WebCore::Geolocation::handleError):
75548        (WebCore::Geolocation::geolocationServicePositionChanged):
75549        (WebCore::Geolocation::geolocationServiceErrorOccurred):
75550        * page/Geolocation.h: Added.
75551        (WebCore::Geolocation::create):
75552        (WebCore::Geolocation::~Geolocation):
75553        (WebCore::Geolocation::lastPosition):
75554        (WebCore::Geolocation::GeoNotifier::create):
75555        * page/Geolocation.idl: Added.
75556        * page/Geoposition.cpp: Added.
75557        (WebCore::Geoposition::toString):
75558        * page/Geoposition.h: Added.
75559        (WebCore::Geoposition::create):
75560        (WebCore::Geoposition::latitude):
75561        (WebCore::Geoposition::longitude):
75562        (WebCore::Geoposition::altitude):
75563        (WebCore::Geoposition::accuracy):
75564        (WebCore::Geoposition::altitudeAccuracy):
75565        (WebCore::Geoposition::heading):
75566        (WebCore::Geoposition::velocity):
75567        (WebCore::Geoposition::timestamp):
75568        (WebCore::Geoposition::Geoposition):
75569        * page/Geoposition.idl: Added.
75570        * page/Navigator.cpp:
75571        (WebCore::Navigator::disconnectFrame): disconnect Geolocation
75572        (WebCore::Navigator::geolocation): accessor for Geolocation
75573        * page/Navigator.h:
75574        (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
75575        * page/Navigator.idl: accessor for Geolocation
75576        * page/PositionCallback.h: Added.
75577        (WebCore::PositionCallback::~PositionCallback):
75578        * page/PositionCallback.idl: Added.
75579        * page/PositionError.h: Added.
75580        (WebCore::PositionError::):
75581        (WebCore::PositionError::create):
75582        (WebCore::PositionError::code):
75583        (WebCore::PositionError::message):
75584        (WebCore::PositionError::PositionError):
75585        * page/PositionError.idl: Added.
75586        * page/PositionErrorCallback.h: Added.
75587        (WebCore::PositionErrorCallback::~PositionErrorCallback):
75588        * page/PositionErrorCallback.idl: Added.
75589        * page/PositionOptions.h: Added.
75590        (WebCore::PositionOptions::create):
75591        (WebCore::PositionOptions::enableHighAccuracy):
75592        (WebCore::PositionOptions::setEnableHighAccuracy):
75593        (WebCore::PositionOptions::timeout):
75594        (WebCore::PositionOptions::setTimeout):
75595        (WebCore::PositionOptions::PositionOptions):
75596        * page/PositionOptions.idl: Added.
75597        * platform/GeolocationService.cpp: Added.
75598        (WebCore::GeolocationService::GeolocationService):
75599        (WebCore::GeolocationService::positionChanged):
75600        (WebCore::GeolocationService::errorOccurred):
75601        * platform/GeolocationService.h: Added.
75602        (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
75603        (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
75604        (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
75605        (WebCore::GeolocationService::~GeolocationService):
75606
756072008-10-23  Alp Toker  <alp@nuanti.com>
75608
75609        Fix typo in comment in previous commit. GTK -> GLIB
75610
75611        * platform/gtk/guriescape.c:
75612
756132008-10-23  Kalle Vahlman  <kalle.vahlman@movial.com>
75614
75615        Reviewed by Alp Toker.
75616
75617        https://bugs.webkit.org/show_bug.cgi?id=21824
75618        [GTK] FileSystem abstraction uses features from Glib 2.16
75619
75620        Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
75621
75622        * platform/gtk/guriescape.c:
75623        (unescape_character):
75624        (_webcore_g_uri_unescape_segment):
75625        (_webcore_g_uri_unescape_string):
75626        * platform/gtk/guriescape.h:
75627
756282008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
75629
75630        Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
75631
75632        * GNUmakefile.am:
75633
756342008-10-23  Darin Fisher  <darin@chromium.org>
75635
75636        Reviewed by Eric Seidel.
75637
75638        m_frame null checked but then dereferenced
75639        https://bugs.webkit.org/show_bug.cgi?id=21845
75640
75641        This error was found using a static analysis tool, and so I do not know
75642        how to produce a null m_frame on entry to this method.  Hence, I have
75643        not included a regression test.
75644
75645        * page/EventHandler.cpp:
75646        (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
75647
756482008-10-23  Dan Bernstein  <mitz@apple.com>
75649
75650        Reviewed by Sam Weinig with no hesitation.
75651
75652        - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
75653          <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
75654
75655        Test: fast/text/bidi-embedding-pop-and-push-same.html
75656
75657        * platform/text/BidiResolver.h:
75658        (WebCore::BidiResolver::embed): Changed to only add the embedding
75659        operation to a vector of pending operations.
75660
75661        (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
75662        code that used to be in the PDF case of embed() here, except the part
75663        that sets the context.
75664
75665        (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
75666        code that used to be in the non-PDF case of embed() here, except the
75667        part the sets the context.
75668
75669        (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
75670        explicit embedding operations in the vector by creating an updated
75671        context and determining the old and new embedding levels. If the levels
75672        are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
75673        sets the context to the new one.
75674
75675        (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
75676        commitExplicitEmbedding() after calling embed() and after calling
75677        increment().
75678
75679        * rendering/bidi.cpp:
75680        (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
75681        this function increments the resolver.
75682
75683        (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
75684
756852008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
75686
75687        Gtk build fix. Not reviewed.
75688
75689        Add DNSCurl and DNSSoup to the Gtk build
75690
75691        * GNUmakefile.am:
75692        * platform/gtk/TemporaryLinkStubs.cpp:
75693        * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
75694        (WebCore::prefetchDNS):
75695
756962008-10-23  Eric Seidel  <eric@webkit.org>
75697
75698        Reviewed by Sam Weinig.
75699
75700        Un-break the Darwin build.
75701
75702        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
75703        * platform/graphics/cg/ImageCG.cpp:
75704
757052008-10-23  Darin Fisher  <darin@chromium.org>
75706
75707        Reviewed by Eric Seidel.
75708
75709        Fix forward decls to be struct instead of class.
75710        https://bugs.webkit.org/show_bug.cgi?id=21838
75711
75712        * rendering/style/StyleRareInheritedData.h:
75713        * rendering/style/StyleRareNonInheritedData.h:
75714
757152008-10-23  Brent Fulgham  <bfulgham@gmail.com>
75716
75717        Reviewed by Oliver Hunt.
75718
75719        * platform/network/curl/ResourceRequest.h:  A better implementation
75720          of CFURLRequest, rather than void*.  This gives better compatibility
75721          with the WebKit.idl interface.
75722        (WebCore::ResourceRequest::cfURLRequest):
75723
757242008-10-23  Mike Pinkerton  <pinkerton@chromium.org>
75725
75726        Reviewed by Eric Seidel.
75727
75728        PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
75729        ifdefs to reflect that.
75730
75731        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
75732        * platform/graphics/cg/ImageCG.cpp:
75733
757342008-10-23  Peter Kasting  <pkasting@google.com>
75735
75736        Reviewed by Adam Roben.
75737
75738        https://bugs.webkit.org/show_bug.cgi?id=21833
75739        Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
75740
75741        * inspector/InspectorController.cpp:
75742        (WebCore::InspectorController::InspectorController):
75743        (WebCore::InspectorController::setWindowVisible):
75744        (WebCore::InspectorController::windowScriptObjectAvailable):
75745        (WebCore::InspectorController::close):
75746        * inspector/InspectorController.h:
75747        * page/Page.cpp:
75748        (WebCore::Page::Page):
75749
757502008-10-23  Kevin McCullough  <kmccullough@apple.com>
75751
75752        Reviewed by Tim Hatcher.
75753
75754        https://bugs.webkit.org/show_bug.cgi?id=21817
75755        Bug 21817: Manual profiler tests should be made into layout tests
75756
75757        -Moving the tests before diffing so that it's clear what changed.
75758
75759        * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
75760        * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
75761        * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
75762        * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
75763        * manual-tests/inspector/profiler-test-apply.html: Removed.
75764        * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
75765        * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
75766        * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
75767        * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
75768        * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
75769        * manual-tests/inspector/profiler-test-constructor.html: Removed.
75770        * manual-tests/inspector/profiler-test-dead-time.html: Removed.
75771        * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
75772        * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
75773        * manual-tests/inspector/profiler-test-event-handler.html: Removed.
75774        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
75775        * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
75776        * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
75777        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
75778        * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
75779        * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
75780        * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
75781        * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
75782        * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
75783        * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
75784        * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
75785        * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
75786        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
75787        * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
75788        * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
75789        * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
75790        * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
75791        * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
75792        * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
75793        * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
75794        * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
75795        * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
75796        * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
75797        * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
75798        * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
75799        * manual-tests/inspector/resources/other-frame.html: Removed.
75800        * manual-tests/inspector/resources/other-window.html: Removed.
75801        * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
75802
758032008-10-23  Adam Barth  <abarth@webkit.org>
75804
75805        Reviewed by Sam Weinig.
75806
75807        https://bugs.webkit.org/show_bug.cgi?id=21826
75808
75809        Add accessor for SecurityOrigin::m_domainWasSetInDOM.
75810
75811        * page/SecurityOrigin.h:
75812        (WebCore::SecurityOrigin::domainWasSetInDOM):
75813
758142008-10-23  Darin Adler  <darin@apple.com>
75815
75816        - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
75817
75818        * bindings/js/ScheduledAction.h:
75819        * inspector/InspectorController.cpp:
75820        ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
75821
758222008-10-23  Simon Hausmann  <hausmann@webkit.org>
75823
75824        Fix the Qt build.
75825
75826        * bridge/qt/qt_runtime.cpp:
75827        (JSC::Bindings::QtConnectionObject::execute):
75828        * bridge/qt/qt_runtime.h:
75829        (JSC::Bindings::QtRuntimeMethod::createStructureID):
75830
758312008-10-23  Alexey Proskuryakov  <ap@webkit.org>
75832
75833        Reviewed by Maciej Stachowiak.
75834
75835        https://bugs.webkit.org/show_bug.cgi?id=21825
75836        JSDOMBinding should not blindly cast the global object to JSDOMWindow
75837
75838        * bindings/js/JSDOMGlobalObject.cpp:
75839        * bindings/js/JSDOMGlobalObject.h:
75840        * GNUmakefile.am:
75841        * WebCore.pro:
75842        * WebCore.vcproj/WebCore.vcproj:
75843        * WebCore.xcodeproj/project.pbxproj:
75844        * WebCoreSources.bkl:
75845        Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
75846
75847        * bindings/js/JSDOMBinding.cpp:
75848        (WebCore::getCachedDOMStructure):
75849        (WebCore::cacheDOMStructure):
75850        (WebCore::getCachedDOMConstructor):
75851        (WebCore::cacheDOMConstructor):
75852        Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
75853
75854        * bindings/js/JSDOMWindowBase.cpp:
75855        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
75856        * bindings/js/JSDOMWindowBase.h:
75857        * bindings/js/JSDOMWindowCustom.cpp:
75858        (WebCore::JSDOMWindow::mark):
75859        Moved constructor and structure tracking to JSDOMGlobalObject.
75860
758612008-10-23  Adam Barth  <abarth@webkit.org>
75862
75863        Reviewed by Sam Weinig.
75864
75865        https://bugs.webkit.org/show_bug.cgi?id=21787
75866
75867        Update postMessage to send origin = "null" for non-serializable
75868        origins to match latest spec.  Merge SecurityOrigin::toString and
75869        SecurityOrigin::toHTTPOrigin because they are now the same.
75870
75871        Test: http/tests/security/postMessage/data-url-sends-null-origin.html
75872
75873        * loader/FrameLoader.cpp:
75874        (WebCore::FrameLoader::outgoingOrigin):
75875        (WebCore::FrameLoader::loadURL):
75876        (WebCore::FrameLoader::addHTTPOriginIfNeeded):
75877        (WebCore::FrameLoader::loadItem):
75878        * loader/loader.cpp:
75879        (WebCore::Loader::Host::servePendingRequests):
75880        * page/SecurityOrigin.cpp:
75881        (WebCore::SecurityOrigin::toString):
75882        * page/SecurityOrigin.h:
75883        * xml/XMLHttpRequest.cpp:
75884        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
75885        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
75886        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
75887        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
75888
758892008-10-22  David Kilzer  <ddkilzer@apple.com>
75890
75891        Bug 21781: WebCore::Settings should have a maximum decoded image size setting
75892
75893        <https://bugs.webkit.org/show_bug.cgi?id=21781>
75894
75895        Reviewed by Antti.
75896
75897        No tests since there is no change in behavior.
75898
75899        * loader/CachedImage.cpp:
75900        (WebCore::CachedImage::maximumDecodedImageSize): Added.  Returns
75901        WebCore::Settings::maximumDecodedImageSize() or 0 on error.
75902        (WebCore::CachedImage::data): Flag an error if the image being
75903        loaded is too big.
75904        * loader/CachedImage.h:
75905        (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
75906        * page/Settings.cpp:
75907        (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
75908        to the maximum value of size_t.
75909        * page/Settings.h:
75910        (WebCore::Settings::setMaximumDecodedImageSize): Added method.
75911        (WebCore::Settings::maximumDecodedImageSize): Ditto.
75912
759132008-10-22  Mike Pinkerton  <pinkerton@chromium.org>
75914
75915        Reviewed by Dan Bernstein.
75916        Landed and tweaked a bit by Darin Adler.
75917
75918        - fix https://bugs.webkit.org/show_bug.cgi?id=21809
75919
75920        Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
75921        its use for PLATFORM(CHROMIUM) in the future.
75922
75923        * platform/graphics/SimpleFontData.h:
75924
759252008-10-22  David Smith  <catfish.man@gmail.com>
75926
75927        Reviewed by Anders Carlsson.
75928
75929        https://bugs.webkit.org/show_bug.cgi?id=19974
75930        getElementsByClassName not live enough
75931
75932        Test: fast/dom/getElementsByClassName/015.html
75933
75934        * dom/StyledElement.cpp:
75935        (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
75936
759372008-10-22  Darin Adler  <darin@apple.com>
75938
75939        Reviewed by Sam Weinig.
75940
75941        - fix https://bugs.webkit.org/show_bug.cgi?id=21294
75942          Bug 21294: Devirtualize getOwnPropertySlot()
75943
75944        * bindings/js/JSDOMWindowShell.h:
75945        (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
75946        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
75947
75948        * bindings/js/JSInspectorCallbackWrapper.cpp:
75949        (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
75950        for this class rather than sharing nullProtoStructureID, which no longer exists.
75951
75952        * bindings/js/JSNamedNodesCollection.h:
75953        (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
75954        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
75955        * bindings/js/JSRGBColor.h:
75956        (WebCore::JSRGBColor::createStructureID): Ditto.
75957
75958        * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
75959        constructors, and prototypes in any case where they override getOwnPropertySlot, without
75960        HasStandardGetOwnPropertySlot.
75961
75962        * bridge/objc/objc_runtime.h:
75963        (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
75964        without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
75965        * bridge/qt/qt_runtime.h:
75966        (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
75967        * bridge/runtime_array.h:
75968        (JSC::RuntimeArray::createStructureID): Ditto.
75969        * bridge/runtime_method.h:
75970        (JSC::RuntimeMethod::createStructureID): Ditto.
75971        * bridge/runtime_object.h:
75972        (JSC::RuntimeObjectImp::createStructureID): Ditto.
75973
759742008-10-22  Brent Fulgham  <bfulgham@gmail.com>
75975
75976        Bring Windows Cairo Port's font handling in line with CG.
75977        http://bugs.webkit.org/show_bug.cgi?id=21812.
75978
75979        Reviewed by Adam Roben.
75980
75981        * platform/graphics/win/FontCacheWin.cpp:
75982        (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
75983        TrueType font search. It should match CG in all font selections.
75984
759852008-10-22  Brent Fulgham  <bfulgham@gmail.com>
75986
75987        http://bugs.webkit.org/show_bug.cgi?id=21812.
75988        Bring Windows Cairo Port's font handling in line with CG.
75989
75990        Reviewed by David Hyatt.
75991
75992        * platform/graphics/win/FontCacheWin.cpp:
75993        (WebCore::createGDIFont):  Remove unnecessary special-case for Cairo TrueType font search.  It should match CG in all font selections.
75994
759952008-10-22  Brady Eidson  <beidson@apple.com>
75996
75997        Reviewed by Adam Roben
75998
75999        <rdar://6261773> - autocomplete="off" doesn't work on Windows
76000
76001        Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
76002        statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
76003        instead of the much more correct "true."
76004
76005        In the past we have worked around this by declaring the bitfield member as an unsigned instead
76006        of the enum type.
76007
76008        For more discussion, see http://trac.webkit.org/changeset/25329
76009
76010        * html/HTMLInputElement.h:  Work around insane Visual Studio enum issue  *sigh*
76011
760122008-10-22  Kevin McCullough  <kmccullough@apple.com>
76013
76014        Reviewed by Oliver Hunt and Tim Hatcher.
76015
76016        https://bugs.webkit.org/show_bug.cgi?id=19225
76017        Bug 19225: JSProfiler: Create automated profiler tests
76018        - This change exports profiles on the console object so that they can be
76019        iterated over via JavaScript, and thus can be used in automated tests.
76020
76021        * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
76022        that JS can use.
76023        (WebCore::JSConsole::profiles):
76024        * inspector/InspectorController.h: Use the new typedef.
76025        (WebCore::InspectorController::profiles):
76026        * page/Console.cpp: Keep our own array of profile objects.
76027        (WebCore::Console::profileEnd):
76028        * page/Console.h: Ditto.
76029        (WebCore::Console::profiles):
76030        * page/Console.idl: Expose the profiles to JS.
76031
760322008-10-22  David Hyatt  <hyatt@apple.com>
76033
76034        https://bugs.webkit.org/show_bug.cgi?id=21775
76035
76036        Convert buttons over to use the new Theme API on OS X.
76037
76038        Reviewed by Adam Roben
76039
76040        * platform/LengthBox.h:
76041        (WebCore::LengthBox::LengthBox):
76042        * platform/Theme.cpp:
76043        (WebCore::Theme::controlBorder):
76044        (WebCore::Theme::controlPadding):
76045        * platform/Theme.h:
76046        (WebCore::Theme::controlFont):
76047        (WebCore::Theme::controlSize):
76048        (WebCore::Theme::minControlSize):
76049        (WebCore::Theme::controlRequiresPreWhiteSpace):
76050        * platform/mac/ThemeMac.h:
76051        (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
76052        * platform/mac/ThemeMac.mm:
76053        (WebCore::checkboxSize):
76054        (WebCore::radioSize):
76055        (WebCore::buttonSizes):
76056        (WebCore::buttonMargins):
76057        (WebCore::button):
76058        (WebCore::paintButton):
76059        (WebCore::ThemeMac::controlFont):
76060        (WebCore::ThemeMac::controlSize):
76061        (WebCore::ThemeMac::minControlSize):
76062        (WebCore::ThemeMac::controlBorder):
76063        (WebCore::ThemeMac::controlPadding):
76064        (WebCore::ThemeMac::inflateControlPaintRect):
76065        (WebCore::ThemeMac::paint):
76066        * rendering/RenderTheme.cpp:
76067        (WebCore::RenderTheme::adjustStyle):
76068        (WebCore::RenderTheme::paint):
76069        (WebCore::RenderTheme::controlStatesForRenderer):
76070        (WebCore::RenderTheme::isDefault):
76071        (WebCore::RenderTheme::adjustRadioStyle):
76072        * rendering/RenderTheme.h:
76073        (WebCore::RenderTheme::setRadioSize):
76074        * rendering/RenderThemeMac.h:
76075        * rendering/RenderThemeMac.mm:
76076        (WebCore::RenderThemeMac::adjustRepaintRect):
76077        (WebCore::menuListButtonSizes):
76078        (WebCore::RenderThemeMac::adjustMenuListStyle):
76079        * rendering/style/RenderStyle.h:
76080        (WebCore::InheritedFlags::paddingBox):
76081        (WebCore::InheritedFlags::setPaddingBox):
76082
760832008-10-22  Chris Marrin  <cmarrin@apple.com>
76084
76085        Reviewed by Dave Hyatt
76086
76087        Make sure that the AtomicString that identifies a set of animation keyframes
76088        stays live by keeping a copy in the WebKitCSSKeyframesRule.
76089
76090        Also call styleSheetChanged() when the keyframes name changes, but
76091        add an internal method that doesn't call styleSheetChanged() for use
76092        during normal stylesheet parsing.
76093
76094        Test: animations/change-keyframes-name.html
76095
76096        * css/CSSGrammar.y:
76097        * css/WebKitCSSKeyframesRule.cpp:
76098        (WebCore::WebKitCSSKeyframesRule::setName):
76099        * css/WebKitCSSKeyframesRule.h:
76100        (WebCore::WebKitCSSKeyframesRule::setNameInternal):
76101
761022008-10-22  Alexey Proskuryakov  <ap@webkit.org>
76103
76104        Reviewed by Sam Weinig.
76105
76106        https://bugs.webkit.org/show_bug.cgi?id=21791
76107        WebCore JS bindings should be able to use non-static hash tables for properties
76108
76109        Add a map for HashTables to WebCore JS client data.
76110
76111        This makes property access noticeably slower, so it is an opt-in. For classes that need to be
76112        supported in workers in forseeable future this is not critical.
76113
76114        * bindings/js/JSDOMBinding.cpp:
76115        (WebCore::DOMObjectHashTableMap::get):
76116        (WebCore::DOMObjectHashTableMap::mapFor):
76117        (WebCore::getHashTableForGlobalData):
76118        (WebCore::DOMObjectWrapperMap::mapFor):
76119        WebCore client data is now a class that contains both a DOM wrapper map and a property hash
76120        table one.
76121
76122        * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
76123
76124        * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
76125        JSDOMBinding map to access its property hash tables.
76126
76127        * dom/MessageChannel.idl:
76128        * dom/MessagePort.idl:
76129        Added NoStaticTables attribute.
76130
761312008-10-22  Gustavo Noronha Silva  <gns@gnome.org>
76132
76133        Reviewed by Timothy Hatcher.
76134
76135        Build failure because of missing include
76136        https://bugs.webkit.org/show_bug.cgi?id=21765
76137
76138        Build failure fix for WebKit/GTK+; added missing
76139        include (GOwnPtr.h)
76140
76141        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
76142
761432008-10-22  Alp Toker  <alp@nuanti.com>
76144
76145        Reviewed by Adam Roben.
76146
76147        Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
76148        doesn't initialize values if the requested property doesn't exist, so
76149        initialize the values to the documented defaults before calling it
76150        where necessary. Additionally, avoid critical warnings by not calling
76151        gtk_widget_style_get() when we know the property isn't available.
76152
76153        Note that this is an imported source file which doesn't follow the
76154        WebKit coding style.
76155
76156        * platform/gtk/gtk2drawing.c:
76157        (moz_gtk_init):
76158        (moz_gtk_button_get_inner_border):
76159        (moz_gtk_combo_box_paint):
76160        (moz_gtk_toolbar_separator_paint):
76161        (moz_gtk_menu_separator_paint):
76162        (moz_gtk_get_widget_border):
76163        (moz_gtk_get_tab_scroll_arrow_size):
76164        (moz_gtk_get_toolbar_separator_width):
76165        (moz_gtk_get_menu_separator_height):
76166
761672008-10-22  Alp Toker  <alp@nuanti.com>
76168
76169        Fix build for Cairo 1.2.
76170
76171        * platform/graphics/cairo/GraphicsContextCairo.cpp:
76172        (WebCore::GraphicsContext::clipOut):
76173        * platform/gtk/RenderThemeGtk.cpp:
76174        (WebCore::paintMozWidget):
76175
761762008-10-22  Darin Fisher  <darin@chromium.org>
76177
76178        Reviewed by Eric Seidel.
76179
76180        A little more PLATFORM(CHROMIUM) in WebCore
76181        https://bugs.webkit.org/show_bug.cgi?id=21758
76182
76183        * page/AccessibilityObject.h:
76184        * platform/graphics/Icon.h:
76185
761862008-10-21  Alexey Proskuryakov  <ap@webkit.org>
76187
76188        Reviewed by Darin Adler.
76189
76190        Test: fast/events/message-channel-gc-3.html
76191
76192        https://bugs.webkit.org/show_bug.cgi?id=21769
76193        MessagePort should be GC protected if there are messages to be delivered
76194
76195        * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
76196        pending, and check if the queue is non-empty.
76197        (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
76198        fix (below).
76199
76200        * dom/MessagePort.cpp:
76201        (WebCore::CloseMessagePortTimer::fired):
76202        (WebCore::MessagePort::MessagePort):
76203        (WebCore::MessagePort::queueCloseEvent):
76204        (WebCore::MessagePort::dispatchCloseEvent):
76205        (WebCore::MessagePort::hasPendingActivity):
76206        Track message and close event activity separately.
76207
76208        * bindings/js/JSDOMBinding.cpp:
76209        (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
76210        causing same-heap ports to never be deleted.
76211
762122008-10-21  Dan Bernstein  <mitz@apple.com>
76213
76214        Reviewed by Sam Weinig.
76215
76216        - remove unreachable code
76217
76218        * platform/text/BidiResolver.h:
76219        (WebCore::::embed):
76220
762212008-10-21  Beth Dakin  <bdakin@apple.com>
76222
76223        Reviewed by Darin Adler.
76224
76225        Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
76226        REGRESSION(r31030-31055): Choosing "Print window" from frame set
76227        prints blank page
76228        and corresponding: <rdar://problem/6142398>
76229
76230        viewHeight() and viewWidth() only return valuable information if we
76231        are not printing. Everywhere else in the code, we make sure we are
76232        not printing before we call these functions. Adding a check for
76233        printing here fixes this bug, and framesets print again.
76234
76235        * rendering/RenderFrameSet.cpp:
76236        (WebCore::RenderFrameSet::layout):
76237
762382008-10-21  Yael Aharon <yael.aharon@nokia.com>
76239
76240        Reviewed by Simon.
76241
76242        Pixmap in canvas tag was not getting initialized.
76243
76244        See https://bugs.webkit.org/show_bug.cgi?id=21771
76245
76246        * platform/graphics/qt/ImageBufferQt.cpp:
76247        (WebCore::ImageBuffer::create):
76248
762492008-10-20  Simon Fraser  <simon.fraser@apple.com>
76250
76251        Reviewed by Dan Bernstein
76252
76253        Add a comment explaining layoutDelta(), and an assertion
76254        that checks that delta changes were correctly paired during layout.
76255
76256        * rendering/RenderView.cpp:
76257        (WebCore::RenderView::layout):
76258        * rendering/RenderView.h:
76259
762602008-10-20  Timothy Hatcher  <timothy@apple.com>
76261
76262        Make auto-complete only suggest properties that are valid syntax
76263        when using dot-notation. Also when completing numeric properties,
76264        the quotes are omitted inside the brackets.
76265
76266        https://bugs.webkit.org/show_bug.cgi?id=21760
76267        https://bugs.webkit.org/show_bug.cgi?id=21761
76268
76269        Reviewed by Oliver Hunt.
76270
76271        * inspector/front-end/Console.js:
76272        (WebInspector.Console.prototype.completions): Skip properties that
76273        are not valid identifies when using dot-notation. And omit the quotes
76274        when completing numbers in bracket-notation.
76275
762762008-10-20  Timothy Hatcher  <timothy@apple.com>
76277
76278        Fixes the Profiles panel in the Web Inspector, which was broken by
76279        the JSValue base-class changes. Also renames some functions and
76280        variables in JavaScriptProfileNode.cpp that where title case.
76281
76282        https://bugs.webkit.org/show_bug.cgi?id=21764
76283
76284        Reviewed by Oliver Hunt.
76285
76286        * inspector/JavaScriptProfile.cpp:
76287        (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
76288        returned JSValuePtr will be treated as an object and not a value.
76289        * inspector/JavaScriptProfileNode.cpp:
76290        (WebCore::toJS): Ditto.
76291
762922008-10-20  Sam Weinig  <sam@webkit.org>
76293
76294        Reviewed by Anders Carlsson.
76295
76296        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
76297
76298        * loader/EmptyClients.h:
76299        (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
76300        * loader/FrameLoader.cpp:
76301        (WebCore::FrameLoader::detachFromParent):
76302        * loader/FrameLoaderClient.h:
76303
763042008-10-20  Antti Koivisto  <antti@apple.com>
76305
76306        Reviewed by Adele Peterson.
76307
76308        Fix https://bugs.webkit.org/show_bug.cgi?id=21763
76309        REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
76310        <rdar://problem/6285025
76311
76312        If we get 304 response we need to explicitly check if that completes the frame load.
76313
76314        No test case, simulating the condition is pretty difficult.
76315
76316        * loader/loader.cpp:
76317        (WebCore::Loader::Host::didReceiveResponse):
76318
763192008-10-20  Anders Carlsson  <andersca@apple.com>
76320
76321        Reviewed by Mark Rowe.
76322
76323        Work around <rdar://problem/6301728>.
76324
76325        Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
76326
76327        * loader/MainResourceLoader.cpp:
76328        (WebCore::MainResourceLoader::didReceiveResponse):
76329        (WebCore::MainResourceLoader::didReceiveData):
76330        (WebCore::MainResourceLoader::didFinishLoading):
76331        (WebCore::MainResourceLoader::didFail):
76332
763332008-10-20  Beth Dakin  <bdakin@apple.com>
76334
76335        Reviewed by Adele Peterson.
76336
76337        Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
76338        crashes in Safari at com.apple.WebCore
76339        WebCore::ScrollView::visibleContentRect const + 153
76340
76341        d->m_view can be null and is null-checked at other points in the
76342        code. The logs indicate that this crash occurs when closing a
76343        window containing a PDF, so in case where we crash, the PDF's view
76344        is probably already null. So the fix is to simply add a null-check.
76345
76346        * page/Frame.cpp:
76347        (WebCore::Frame::selectionRect):
76348
763492008-10-20  Adele Peterson  <adele@apple.com>
76350
76351        Reviewed by Darin Adler.
76352
76353        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
76354        Removed stray increment that would screw up any form with multiple files in it.
76355
763562008-10-20  Sam Weinig  <sam@webkit.org>
76357
76358        Rubber-stamped by David Hyatt.
76359
76360        Split LengthBox and LengthSize into their own files.
76361
76362        * GNUmakefile.am:
76363        * WebCore.vcproj/WebCore.vcproj:
76364        * WebCore.xcodeproj/project.pbxproj:
76365        * platform/Length.h:
76366        (WebCore::Length::blend):
76367        * platform/LengthBox.h: Copied from platform/Length.h.
76368        (WebCore::LengthBox::LengthBox):
76369        (WebCore::LengthBox::nonZero):
76370        * platform/LengthSize.h: Copied from platform/Length.h.
76371        (WebCore::LengthSize::LengthSize):
76372        (WebCore::LengthSize::setWidth):
76373        (WebCore::LengthSize::setHeight):
76374        (WebCore::LengthSize::height):
76375        * platform/Theme.h:
76376        * rendering/style/FillLayer.h:
76377        * rendering/style/NinePieceImage.h:
76378        (WebCore::NinePieceImage::NinePieceImage):
76379        * rendering/style/RenderStyle.h:
76380        * rendering/style/StyleDashboardRegion.h:
76381        * rendering/style/StyleSurroundData.h:
76382        * rendering/style/StyleVisualData.h:
76383
763842008-10-20  Dan Bernstein  <mitz@apple.com>
76385
76386        - Mac build fix
76387
76388        * WebCore.xcodeproj/project.pbxproj:
76389
763902008-10-20  Alp Toker  <alp@nuanti.com>
76391
76392        Fix autotools dist build target by listing recently added header
76393        files only. Not reviewed.
76394
76395        * GNUmakefile.am:
76396
763972008-10-20  David Hyatt  <hyatt@apple.com>
76398
76399        Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms).  Also
76400        refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
76401        originally.
76402
76403        ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
76404
76405        Reviewed by Adam Roben
76406
76407        * WebCore.xcodeproj/project.pbxproj:
76408        * platform/Theme.cpp: Added.
76409        (WebCore::Theme::controlSupportsBorder):
76410        (WebCore::Theme::controlSupportsPadding):
76411        * platform/Theme.h:
76412        * platform/mac/ThemeMac.h:
76413        * platform/mac/ThemeMac.mm:
76414        * rendering/RenderTheme.cpp:
76415        (WebCore::RenderTheme::adjustStyle):
76416        * rendering/RenderTheme.h:
76417
764182008-10-20  David Hyatt  <hyatt@apple.com>
76419
76420        Rename LengthBox's members to have m_ in front of them.
76421
76422        Reviewed by Sam Weinig
76423
76424        * css/CSSComputedStyleDeclaration.cpp:
76425        (WebCore::valueForNinePieceImage):
76426        (WebCore::getPositionOffsetValue):
76427        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
76428        * css/CSSStyleSelector.cpp:
76429        (WebCore::CSSStyleSelector::mapNinePieceImage):
76430        * platform/Length.h:
76431        (WebCore::LengthBox::LengthBox):
76432        (WebCore::LengthBox::left):
76433        (WebCore::LengthBox::right):
76434        (WebCore::LengthBox::top):
76435        (WebCore::LengthBox::bottom):
76436        (WebCore::LengthBox::operator==):
76437        (WebCore::LengthBox::nonZero):
76438        * rendering/RenderObject.cpp:
76439        (WebCore::RenderObject::paintNinePieceImage):
76440        (WebCore::RenderObject::addDashboardRegions):
76441        * rendering/style/RenderStyle.cpp:
76442        (WebCore::positionedObjectMoved):
76443        (WebCore::RenderStyle::setClip):
76444        (WebCore::RenderStyle::noneDashboardRegions):
76445        * rendering/style/RenderStyle.h:
76446        (WebCore::InheritedFlags::left):
76447        (WebCore::InheritedFlags::right):
76448        (WebCore::InheritedFlags::top):
76449        (WebCore::InheritedFlags::bottom):
76450        (WebCore::InheritedFlags::clipLeft):
76451        (WebCore::InheritedFlags::clipRight):
76452        (WebCore::InheritedFlags::clipTop):
76453        (WebCore::InheritedFlags::clipBottom):
76454        (WebCore::InheritedFlags::marginTop):
76455        (WebCore::InheritedFlags::marginBottom):
76456        (WebCore::InheritedFlags::marginLeft):
76457        (WebCore::InheritedFlags::marginRight):
76458        (WebCore::InheritedFlags::paddingTop):
76459        (WebCore::InheritedFlags::paddingBottom):
76460        (WebCore::InheritedFlags::paddingLeft):
76461        (WebCore::InheritedFlags::paddingRight):
76462        (WebCore::InheritedFlags::setLeft):
76463        (WebCore::InheritedFlags::setRight):
76464        (WebCore::InheritedFlags::setTop):
76465        (WebCore::InheritedFlags::setBottom):
76466        (WebCore::InheritedFlags::setDashboardRegion):
76467        (WebCore::InheritedFlags::setClipLeft):
76468        (WebCore::InheritedFlags::setClipRight):
76469        (WebCore::InheritedFlags::setClipTop):
76470        (WebCore::InheritedFlags::setClipBottom):
76471        (WebCore::InheritedFlags::setMarginTop):
76472        (WebCore::InheritedFlags::setMarginBottom):
76473        (WebCore::InheritedFlags::setMarginLeft):
76474        (WebCore::InheritedFlags::setMarginRight):
76475        (WebCore::InheritedFlags::setPaddingTop):
76476        (WebCore::InheritedFlags::setPaddingBottom):
76477        (WebCore::InheritedFlags::setPaddingLeft):
76478        (WebCore::InheritedFlags::setPaddingRight):
76479
764802008-10-20  Timothy Hatcher  <timothy@apple.com>
76481
76482        Make the Resource panel perform graph updates atomically, so when resources
76483        are added the graph and summary graph update at the same time.
76484
76485        https://bugs.webkit.org/show_bug.cgi?id=21755
76486
76487        Reviewed by Kevin McCullough.
76488
76489        * inspector/front-end/Resource.js:
76490        (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
76491        property is undefined, null or 0. This allows callers to check for -1 and not
76492        the other values when there is no startTime yet.
76493        (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
76494        (WebInspector.Resource.prototype.get endTime): Ditto.
76495        (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
76496        (WebInspector.Resource.prototype.get latency): Ditto.
76497        (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
76498        property is undefined or null. This allows callers to always assume a number.
76499        (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
76500        (WebInspector.Resource.prototype.get errors): Simplify the case where there is
76501        no _errors property yet.
76502        (WebInspector.Resource.prototype.set errors): Remove the check if the new value
76503        if the same as the previous value, since there is no work to guard.
76504        (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
76505        no _warnings property yet.
76506        (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
76507        if the same as the previous value, since there is no work to guard.
76508        (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
76509        responseReceivedTime is -1.
76510        (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
76511        * inspector/front-end/ResourcesPanel.js:
76512        (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
76513        have a _resourcesTreeElement yet, exclude it from the searchable views.
76514        (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
76515        and call refresh to refresh the entire graph.
76516        (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
76517        is visible that calls refresh.
76518        (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
76519        graph for a resource if it hasn't been created yet. If the boundaries changed during
76520        the first stale resource pass, do a full pass of all resources when updating the graphs.
76521        (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
76522        (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
76523        graph, these are now created during the first refresh.
76524        (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
76525        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
76526        (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
76527        (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
76528        add the resource to the _staleResources and set needsRefresh.
76529        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
76530        _resourcesTreeElement.
76531        (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
76532        the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
76533        since the insertBefore call will do it if needed.
76534        (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
76535        clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
76536        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
76537        timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
76538        since all the legend items are removed in one pass right before.
76539        (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
76540        before the calculator so the correct sortingFunction is there when a refresh happens.
76541        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
76542        when the startTime is -1, since that looks best visually. Also set middle and end
76543        to the start and middle (respectfully) when startAtZero. This looks best visually.
76544        (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
76545        (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
76546
765472008-10-20  David Hyatt  <hyatt@apple.com>
76548
76549        https://bugs.webkit.org/show_bug.cgi?id=21733
76550
76551        Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
76552        no attempt is made to re-cache the frame from a non-existent image source.
76553
76554        Reviewed by Sam Weinig
76555
76556        * platform/graphics/cairo/ImageCairo.cpp:
76557        (WebCore::BitmapImage::BitmapImage):
76558        * platform/graphics/cg/ImageCG.cpp:
76559        (WebCore::BitmapImage::BitmapImage):
76560
765612008-10-20  Dan Bernstein  <mitz@apple.com>
76562
76563        Reviewed by John Sullivan.
76564
76565        - make hasARenderedDescendant() have internal linkage
76566
76567        * editing/CompositeEditCommand.cpp:
76568        (WebCore::hasARenderedDescendant):
76569
765702008-10-20  Chris Fleizach  <cfleizach@apple.com>
76571
76572        Reviewed by Jon Honeycutt
76573
76574        Fix a crash in Accessibility where a table section was being
76575        referenced without first checking if it was null
76576
76577        https://bugs.webkit.org/show_bug.cgi?id=21721
76578
76579        Test: accessibility/table-nofirstbody.html
76580
76581        * page/AccessibilityTable.cpp:
76582        (WebCore::AccessibilityTable::addChildren):
76583
765842008-10-20  David Hyatt  <hyatt@apple.com>
76585
76586        Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
76587
76588        Reviewed by Darin Adler
76589
76590        * platform/graphics/cg/ImageSourceCG.cpp:
76591        (WebCore::ImageSource::repetitionCount):
76592        (WebCore::ImageSource::frameDurationAtIndex):
76593
765942008-10-20  Alp Toker  <alp@nuanti.com>
76595
76596        Reviewed by Mark Rowe.
76597
76598        Fix the pthread conditionals in the FTP code to correctly define
76599        threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
76600        build.
76601
76602        * loader/FTPDirectoryDocument.cpp:
76603        * loader/FTPDirectoryParser.cpp:
76604
766052008-10-20  David Hyatt  <hyatt@apple.com>
76606
76607        https://bugs.webkit.org/show_bug.cgi?id=21751
76608
76609        Convert checkboxes and radio buttons on OS X over to the new Theme API.
76610
76611        Reviewed by Adam Roben
76612
76613        * css/CSSComputedStyleDeclaration.cpp:
76614        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
76615        * css/CSSStyleSelector.cpp:
76616        (WebCore::CSSStyleSelector::mapFillSize):
76617        * platform/Length.h:
76618        (WebCore::LengthSize::LengthSize):
76619        (WebCore::LengthSize::operator==):
76620        (WebCore::LengthSize::width):
76621        (WebCore::LengthSize::height):
76622        (WebCore::LengthSize::setWidth):
76623        (WebCore::LengthSize::setHeight):
76624        * platform/Theme.h:
76625        (WebCore::Theme::controlSize):
76626        (WebCore::Theme::controlSupportsBorder):
76627        (WebCore::Theme::controlSupportsPadding):
76628        (WebCore::Theme::paint):
76629        (WebCore::Theme::inflateControlPaintRect):
76630        * platform/ThemeTypes.h:
76631        (WebCore::):
76632        * platform/mac/ThemeMac.h:
76633        * platform/mac/ThemeMac.mm:
76634        (WebCore::):
76635        (WebCore::controlSizeForFont):
76636        (WebCore::sizeFromFont):
76637        (WebCore::setControlSize):
76638        (WebCore::updateStates):
76639        (WebCore::inflateRect):
76640        (WebCore::checkboxSizes):
76641        (WebCore::checkboxMargins):
76642        (WebCore::checkboxSize):
76643        (WebCore::checkbox):
76644        (WebCore::paintCheckbox):
76645        (WebCore::radioSizes):
76646        (WebCore::radioMargins):
76647        (WebCore::radioSize):
76648        (WebCore::radio):
76649        (WebCore::paintRadio):
76650        (WebCore::ThemeMac::baselinePositionAdjustment):
76651        (WebCore::ThemeMac::controlSize):
76652        (WebCore::ThemeMac::controlSupportsBorder):
76653        (WebCore::ThemeMac::controlSupportsPadding):
76654        (WebCore::ThemeMac::inflateControlPaintRect):
76655        (WebCore::ThemeMac::paint):
76656        * rendering/RenderBox.cpp:
76657        (WebCore::RenderBox::calculateBackgroundSize):
76658        * rendering/RenderObject.cpp:
76659        (WebCore::mustRepaintFillLayers):
76660        * rendering/RenderTheme.cpp:
76661        (WebCore::RenderTheme::adjustStyle):
76662        (WebCore::RenderTheme::paint):
76663        (WebCore::RenderTheme::baselinePosition):
76664        (WebCore::RenderTheme::adjustRepaintRect):
76665        (WebCore::RenderTheme::controlStatesForRenderer):
76666        (WebCore::RenderTheme::isFocused):
76667        * rendering/RenderTheme.h:
76668        * rendering/RenderThemeMac.h:
76669        * rendering/RenderThemeMac.mm:
76670        (WebCore::RenderThemeMac::adjustRepaintRect):
76671        * rendering/style/FillLayer.cpp:
76672        (WebCore::FillLayer::operator==):
76673
766742008-10-18  Geoffrey Garen  <ggaren@apple.com>
76675
76676        Reviewed by Darin Adler.
76677
76678        Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
76679        Emit profiling instrumentation only if the Web Inspector's profiling
76680        feature is enabled
76681
76682        * bindings/js/JSDOMWindowBase.cpp:
76683        (WebCore::JSDOMWindowBase::supportsProfiling):
76684        * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
76685        whether a target global object has the Web Inspector's profiling feature
76686        enabled.
76687
76688        * inspector/JavaScriptDebugServer.cpp:
76689        (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
76690        (WebCore::JavaScriptDebugServer::didAddListener):
76691        (WebCore::JavaScriptDebugServer::didRemoveListener):
76692        * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
76693        used by the Settings object.
76694
76695        * page/Settings.cpp:
76696        (WebCore::Settings::Settings):
76697        (WebCore::Settings::setDeveloperExtrasEnabled):
76698        * page/Settings.h: Recompile when the developer menu is enabled/disabled
76699        for the first time, to add/remove profiling hooks. In the future, with
76700        better Web Inspector UI, we can do this on a page-by-page basis,
76701        instead of a global basis.
76702
767032008-10-20  David Hyatt  <hyatt@apple.com>
76704
76705        Move Length to platform/.
76706
76707        Reviewed by Adam Roben
76708
76709        * GNUmakefile.am:
76710        * WebCore.pro:
76711        * WebCore.vcproj/WebCore.vcproj:
76712        * WebCore.xcodeproj/project.pbxproj:
76713        * WebCoreSources.bkl:
76714        * platform/Length.cpp: Copied from rendering/Length.cpp.
76715        * platform/Length.h: Copied from rendering/Length.h.
76716
767172008-10-20  Darin Adler  <darin@apple.com>
76718
76719        - try to fix Qt build
76720
76721        * bridge/qt/qt_runtime.cpp:
76722        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
76723        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
76724
767252008-10-20  Darin Adler  <darin@apple.com>
76726
76727        - try to fix Qt build
76728
76729        * bridge/qt/qt_instance.cpp:
76730        (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
76731        (JSC::Bindings::QtField::valueFromInstance): Ditto.
76732        * bridge/qt/qt_instance.h: Ditto.
76733
767342008-10-20  Darin Adler  <darin@apple.com>
76735
76736        - try to fix Tiger build
76737
76738        * bridge/objc/objc_instance.mm:
76739        (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
76740        volatile qualifier.
76741        (ObjcInstance::invokeDefaultMethod): Ditto.
76742        (ObjcInstance::getValueOfUndefinedField): Ditto.
76743        * bridge/objc/objc_runtime.mm:
76744        (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
76745
767462008-10-20  Alexey Proskuryakov  <ap@webkit.org>
76747
76748        Reviewed by Darin Adler.
76749
76750        https://bugs.webkit.org/show_bug.cgi?id=21750
76751        Eliminate the notion of "temporary events"
76752
76753        We mark some events as temporary when dispatching, for the sole reason of
76754        manually calling forgetDOMObject when done dispatching.
76755
76756        There doesn't seem to be any reason to call it manually, as JSEvent destructor
76757        will do this automatically right away.
76758
76759        * bindings/js/ScriptController.cpp:
76760        * bindings/js/ScriptController.h:
76761        Removed ScriptController::finishedWithEvent(), which was called after dispatching
76762        a temporary event.
76763
76764        * dom/ContainerNode.cpp:
76765        (WebCore::dispatchChildInsertionEvents):
76766        (WebCore::dispatchChildRemovalEvents):
76767        * dom/EventTarget.h:
76768        * dom/EventTargetNode.cpp:
76769        (WebCore::EventTargetNode::dispatchEvent):
76770        (WebCore::EventTargetNode::dispatchGenericEvent):
76771        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
76772        (WebCore::EventTargetNode::dispatchWindowEvent):
76773        (WebCore::EventTargetNode::dispatchUIEvent):
76774        (WebCore::EventTargetNode::dispatchKeyEvent):
76775        (WebCore::EventTargetNode::dispatchMouseEvent):
76776        (WebCore::EventTargetNode::dispatchWheelEvent):
76777        (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
76778        (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
76779        (WebCore::EventTargetNode::dispatchEventForType):
76780        (WebCore::EventTargetNode::dispatchProgressEvent):
76781        (WebCore::EventTargetNode::dispatchStorageEvent):
76782        * dom/EventTargetNode.h:
76783        * dom/MessagePort.cpp:
76784        (WebCore::MessagePort::dispatchMessages):
76785        (WebCore::MessagePort::dispatchCloseEvent):
76786        (WebCore::MessagePort::dispatchEvent):
76787        * dom/MessagePort.h:
76788        * editing/Editor.cpp:
76789        (WebCore::Editor::dispatchCPPEvent):
76790        (WebCore::dispatchEditableContentChangedEvents):
76791        * editing/ReplaceSelectionCommand.cpp:
76792        (WebCore::ReplacementFragment::ReplacementFragment):
76793        * editing/TypingCommand.cpp:
76794        (WebCore::TypingCommand::insertText):
76795        * loader/appcache/DOMApplicationCache.cpp:
76796        (WebCore::DOMApplicationCache::dispatchEvent):
76797        (WebCore::DOMApplicationCache::callListener):
76798        * loader/appcache/DOMApplicationCache.h:
76799        * page/EventHandler.cpp:
76800        (WebCore::EventHandler::dispatchDragEvent):
76801        (WebCore::EventHandler::keyEvent):
76802        (WebCore::EventHandler::handleTextInputEvent):
76803        * page/FrameView.cpp:
76804        (WebCore::FrameView::scheduleEvent):
76805        (WebCore::FrameView::updateOverflowStatus):
76806        (WebCore::FrameView::dispatchScheduledEvents):
76807        * page/FrameView.h:
76808        * rendering/RenderLayer.cpp:
76809        (WebCore::RenderLayer::scrollToOffset):
76810        (WebCore::RenderLayer::updateOverflowStatus):
76811        * svg/SVGElement.cpp:
76812        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
76813        * svg/SVGElementInstance.cpp:
76814        (WebCore::SVGElementInstance::dispatchEvent):
76815        * svg/SVGElementInstance.h:
76816        * xml/XMLHttpRequest.cpp:
76817        (WebCore::XMLHttpRequest::dispatchEvent):
76818        (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
76819        (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
76820        * xml/XMLHttpRequest.h:
76821        * xml/XMLHttpRequestUpload.cpp:
76822        (WebCore::XMLHttpRequestUpload::dispatchEvent):
76823        (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
76824        * xml/XMLHttpRequestUpload.h:
76825        Don't pass the tempEvent boolean around.
76826
768272008-10-20  Alp Toker  <alp@nuanti.com>
76828
76829        Remove unused includes only. Partial GTK+/Win build fix.
76830
76831        * platform/graphics/gtk/SimpleFontDataPango.cpp:
76832
768332008-10-20  Alexey Proskuryakov  <ap@webkit.org>
76834
76835        Reviewed by Oliver Hunt.
76836
76837        https://bugs.webkit.org/show_bug.cgi?id=21705
76838        Implement Web Workers client-side API
76839
76840        The implementation is experimental, and disabled by default. It doesn't quite match the
76841        published draft, being influenced by further WHATWG discussions.
76842
76843        This only implements the client-side API, and does not actually create any threads or
76844        global contexts yet.
76845
76846        * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
76847        still not sure if having separate classes for these helps at all.
76848
76849        * WebCore.xcodeproj/project.pbxproj: Added new files.
76850
76851        * bindings/js/JSDOMWindowBase.cpp:
76852        (jsDOMWindowBaseWorker):
76853        (WebCore::JSDOMWindowBase::put):
76854        (setJSDOMWindowBaseWorker):
76855        Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
76856        to match prevailing style.
76857
76858        * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
76859        * bindings/js/JSDedicatedWorkerConstructor.h: Added.
76860        * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
76861        The implementation of event listeners are left custom intentionally, for easier implementation
76862        of listeners that are not tied to any Document in the future.
76863
76864        * dom/DedicatedWorker.cpp: Added.
76865        * dom/DedicatedWorker.h: Added.
76866        * dom/DedicatedWorker.idl: Added.
76867        Added an implementation that can only load requested scripts for now.
76868
768692008-10-19  Darin Adler  <darin@apple.com>
76870
76871        Reviewed by Dan Bernstein.
76872
76873        - fix assertion seen when opening inspector
76874
76875        * bindings/js/JSQuarantinedObjectWrapper.cpp:
76876        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
76877        Removed unneeded asObject cast.
76878
768792008-10-19  Dan Bernstein  <mitz@apple.com>
76880
76881        Rubber-stamped by Timothy Hatcher.
76882
76883        - remove empty directories and correct the MIME type of inspector images
76884
76885        * page/inspector: Removed.
76886        * page/inspector/Images: Removed.
76887
768882008-10-19  Timothy Hatcher  <timothy@apple.com>
76889
76890        Make the Web Inspector Resources panel open quicker and change graphs
76891        faster. There was some accidental n^2 logic at fault when updating the
76892        graph boundaries.
76893
76894        https://bugs.webkit.org/show_bug.cgi?id=21742
76895
76896        Reviewed by Darin Adler.
76897
76898        * inspector/front-end/ResourcesPanel.js:
76899        (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
76900        a null calculator. Remove the second argument passed to _refreshAllResources.
76901        (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
76902        the calculator for all the stale resources before calling refreshResource.
76903        Pass true for the first argument of refreshResource to skip the boundary update.
76904        (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
76905        the second argument passed to _refreshAllResources.
76906        (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
76907        skipSort argument since every passed true, and it would be bad to pass false.
76908        (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
76909        skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
76910        the resources before calling refreshResource. Pass true for the first argument
76911        of refreshResource to skip the boundary update.
76912
769132008-10-19  Timothy Hatcher  <timothy@apple.com>
76914
76915        Visually distinguish resources that loaded from the memory cache.
76916
76917        https://bugs.webkit.org/show_bug.cgi?id=14279
76918
76919        Reviewed by Dan Bernstein.
76920
76921        * English.lproj/localizedStrings.js: New string.
76922        * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
76923        * inspector/front-end/Images/timelineHollowPillGray.png: Added.
76924        * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
76925        * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
76926        * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
76927        * inspector/front-end/Images/timelineHollowPillRed.png: Added.
76928        * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
76929        * inspector/front-end/ResourcesPanel.js:
76930        (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
76931        Add the "(from cache)" suffix to the tooltip.
76932        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
76933        Add the "(from cache)" suffix to the tooltip.
76934        (WebInspector.ResourceGraph): Add the "resource-cached" class.
76935        * inspector/front-end/inspector.css: New styles to make the timeline
76936        bars use the hollow pill images.
76937
769382008-10-19  Timothy Hatcher  <timothy@apple.com>
76939
76940        Update the scroll position in the Resources panel when loading
76941        a new page or toggling on small resource rows.
76942
76943        https://bugs.webkit.org/show_bug.cgi?id=20114
76944
76945        Reviewed by Darin Adler.
76946
76947        * inspector/front-end/ResourcesPanel.js:
76948        (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
76949        since all the resource are being removed.
76950        (WebInspector.ResourcesPanel.prototype.removeResource): Call
76951        _adjustScrollPosition in case the view is shorter and needs scrolled.
76952        (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
76953        (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
76954        the height of the sidebar against the scrollTop and height of the
76955        resourcesContainerElement. If the sidebar is shorter, scroll up
76956        so the last resource is at the bottom again.
76957
769582008-10-19  Timothy Hatcher  <timothy@apple.com>
76959
76960        Show per resource times and sizes when hovering over the bar graph for a resource.
76961
76962        https://bugs.webkit.org/show_bug.cgi?id=14300
76963        rdar://problem/5712802
76964
76965        Reviewed by Cameron Zwarich.
76966
76967        * English.lproj/localizedStrings.js: Add new strings.
76968        * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
76969        * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
76970        * inspector/front-end/ResourcesPanel.js:
76971        (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
76972        ResourceGraph.refresh function.
76973        (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
76974        returns the formatted value.
76975        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
76976        for the latency and download times. Also generate a custom tooltip.
76977        (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
76978        (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
76979        in case the bar has changed size.
76980        (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
76981        * inspector/front-end/inspector.css: New styles for the labels.
76982
769832008-10-19  Darin Adler  <darin@apple.com>
76984
76985        Reviewed by Oliver Hunt.
76986
76987        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
76988          improve performance by eliminating JSValue as a base class for JSCell
76989
76990        Remove most uses of JSValue, which will be removed in a future patch.
76991
76992        * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
76993        and used JSValuePtr instead.
76994        * bindings/js/JSEventTarget.h: Ditto.
76995        * bindings/js/JSNodeFilterCondition.h: Ditto.
76996        * bindings/js/ScheduledAction.h: Ditto.
76997        * bindings/js/ScriptController.h: Ditto.
76998        * bindings/objc/WebScriptObjectPrivate.h: Ditto.
76999        * bridge/c/c_utility.h: Ditto.
77000        * bridge/jni/jni_jsobject.h: Ditto.
77001        * bridge/jni/jni_utility.h: Ditto.
77002        * bridge/objc/WebScriptObject.h: Ditto.
77003        * dom/Traversal.h: Ditto.
77004        * inspector/InspectorController.cpp: Ditto.
77005        * inspector/JavaScriptProfile.h: Ditto.
77006        * inspector/JavaScriptProfileNode.h: Ditto.
77007        * loader/FrameLoader.h: Ditto.
77008        * page/Console.h: Ditto.
77009        * plugins/MimeTypeArray.h: Ditto.
77010        * plugins/Plugin.h: Ditto.
77011        * plugins/PluginArray.h: Ditto.
77012        * plugins/PluginView.cpp:
77013        (WebCore::getString): Ditto.
77014        (WebCore::PluginView::performRequest): Ditto.
77015        * plugins/gtk/PluginViewGtk.cpp: Ditto.
77016        * plugins/qt/PluginViewQt.cpp: Ditto.
77017        * plugins/win/PluginViewWin.cpp: Ditto.
77018
77019        * bridge/qt/qt_class.cpp:
77020        (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
77021        instead of JSValue*.
77022        * bridge/qt/qt_class.h: Ditto.
77023        * bridge/qt/qt_instance.cpp:
77024        (JSC::Bindings::QtInstance::mark): Ditto.
77025        (JSC::Bindings::QtInstance::invokeMethod): Ditto.
77026        (JSC::Bindings::QtInstance::defaultValue): Ditto.
77027        (JSC::Bindings::QtInstance::stringValue): Ditto.
77028        (JSC::Bindings::QtInstance::numberValue): Ditto.
77029        (JSC::Bindings::QtInstance::booleanValue): Ditto.
77030        (JSC::Bindings::QtInstance::valueOf): Ditto.
77031        (JSC::Bindings::QtField::valueFromInstance): Ditto.
77032        (JSC::Bindings::QtField::setValueToInstance): Ditto.
77033        * bridge/qt/qt_instance.h: Ditto.
77034        * bridge/qt/qt_runtime.cpp: Ditto.
77035        (JSC::Bindings::valueRealType): Ditto.
77036        (JSC::Bindings::convertValueToQVariant): Ditto.
77037        (JSC::Bindings::convertQVariantToValue): Ditto.
77038        (JSC::Bindings::findMethodIndex): Ditto.
77039        (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
77040        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
77041        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
77042        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
77043        (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
77044        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
77045        (JSC::Bindings::QtArray::setValueAt): Ditto.
77046        (JSC::Bindings::QtArray::valueAt): Ditto.
77047        * bridge/qt/qt_runtime.h: Ditto.
77048
77049        * bridge/testqtbindings.cpp:
77050        (main): Use JSValuePtr.
77051
770522008-10-18  Darin Adler  <darin@apple.com>
77053
77054        Reviewed by Oliver Hunt.
77055
77056        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
77057          improve performance by eliminating JSValue as a base class for JSCell
77058
77059        Tweak a little more to get closer to where we can make JSValuePtr a class.
77060
77061        * bindings/js/JSAudioConstructor.cpp:
77062        (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
77063        (WebCore::constructAudio): Ditto.
77064        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
77065        (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
77066
77067        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
77068        (WebCore::toHTMLCanvasStyle): Use asString and asObject.
77069        (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
77070        (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
77071        (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
77072        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
77073        (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
77074        (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
77075
77076        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
77077        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
77078
77079        * bindings/js/JSDOMBinding.cpp:
77080        (WebCore::setDOMException): Use noValue.
77081
77082        * bindings/js/JSDOMBinding.h:
77083        (WebCore::getDOMPrototype): Use asObject.
77084
77085        * bindings/js/JSDOMWindowBase.cpp:
77086        (WebCore::showModalDialog): Use noValue.
77087        (jsDOMWindowBaseEvent): Use asObject.
77088        (jsDOMWindowBaseImage): Ditto.
77089        (jsDOMWindowBaseMessageChannel): Ditto.
77090        (jsDOMWindowBaseOption): Ditto.
77091        (jsDOMWindowBaseXMLHttpRequest): Ditto.
77092        (jsDOMWindowBaseAudio): Ditto.
77093        (jsDOMWindowBaseXSLTProcessor): Ditto.
77094        (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
77095        (WebCore::JSDOMWindowBase::indexGetter): Ditto.
77096        (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
77097        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
77098        (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
77099        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
77100        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
77101        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
77102        (windowProtoFuncOpen): Use noValue.
77103        (WebCore::toJSDOMWindow): Use asObject.
77104
77105        * bindings/js/JSDOMWindowCustom.cpp:
77106        (WebCore::setTimeoutOrInterval): Use asString.
77107        (WebCore::toDOMWindow): Use asObject.
77108
77109        * bindings/js/JSEventListener.cpp:
77110        (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
77111        (WebCore::JSLazyEventListener::parseCode): Use asObject.
77112
77113        * bindings/js/JSHTMLCollectionCustom.cpp:
77114        (WebCore::JSHTMLCollection::nameGetter): Use asObject.
77115        * bindings/js/JSHTMLDocumentCustom.cpp:
77116        (WebCore::JSHTMLDocument::nameGetter): Ditto.
77117        * bindings/js/JSHTMLElementCustom.cpp:
77118        (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
77119        * bindings/js/JSHTMLFormElementCustom.cpp:
77120        (WebCore::JSHTMLFormElement::nameGetter): Ditto.
77121        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
77122        (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
77123        * bindings/js/JSHTMLOptionElementConstructor.cpp:
77124        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
77125        (WebCore::constructHTMLOptionElement): Ditto.
77126        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
77127        (WebCore::JSHTMLOptionsCollection::remove): Ditto.
77128        * bindings/js/JSImageConstructor.cpp:
77129        (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
77130        (WebCore::constructImage): Ditto.
77131        * bindings/js/JSInspectedObjectWrapper.cpp:
77132        (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
77133        * bindings/js/JSInspectorCallbackWrapper.cpp:
77134        (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
77135
77136        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
77137        (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
77138
77139        * bindings/js/JSMessageChannelConstructor.cpp:
77140        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
77141        (WebCore::JSMessageChannelConstructor::construct): Ditto.
77142        * bindings/js/JSMimeTypeArrayCustom.cpp:
77143        (WebCore::JSMimeTypeArray::nameGetter): Ditto.
77144        * bindings/js/JSNamedNodeMapCustom.cpp:
77145        (WebCore::JSNamedNodeMap::nameGetter): Ditto.
77146        * bindings/js/JSNamedNodesCollection.cpp:
77147        (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
77148        (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
77149        * bindings/js/JSNodeFilterCustom.cpp:
77150        (WebCore::toNodeFilter): Ditto.
77151        * bindings/js/JSNodeListCustom.cpp:
77152        (WebCore::JSNodeList::nameGetter): Ditto.
77153        * bindings/js/JSPluginArrayCustom.cpp:
77154        (WebCore::JSPluginArray::nameGetter): Ditto.
77155        * bindings/js/JSPluginCustom.cpp:
77156        (WebCore::JSPlugin::nameGetter): Ditto.
77157        * bindings/js/JSPluginElementFunctions.cpp:
77158        (WebCore::runtimeObjectGetter): Ditto.
77159        (WebCore::runtimeObjectPropertyGetter): Ditto.
77160        * bindings/js/JSQuarantinedObjectWrapper.cpp:
77161        (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
77162        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
77163        (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
77164        * bindings/js/JSRGBColor.cpp:
77165        (jsRGBColorRed): Ditto.
77166        (jsRGBColorGreen): Ditto.
77167        (jsRGBColorBlue): Ditto.
77168
77169        * bindings/js/JSSQLResultSetRowListCustom.cpp:
77170        (WebCore::JSSQLResultSetRowList::item): Use noValue.
77171
77172        * bindings/js/JSStorageCustom.cpp:
77173        (WebCore::JSStorage::nameGetter): Use asObject.
77174        (WebCore::JSStorage::deleteProperty): Ditto.
77175        (WebCore::JSStorage::customPut): Ditto.
77176        * bindings/js/JSStyleSheetListCustom.cpp:
77177        (WebCore::JSStyleSheetList::nameGetter): Ditto.
77178        * bindings/js/JSXMLHttpRequestConstructor.cpp:
77179        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
77180        * bindings/js/JSXSLTProcessorCustom.cpp:
77181        (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
77182        (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
77183        (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
77184
77185        * bindings/js/ScriptController.cpp:
77186        (WebCore::ScriptController::evaluate): Use noValue.
77187        * bindings/objc/DOMInternal.mm:
77188        (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
77189
77190        * bindings/objc/WebScriptObject.mm:
77191        (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
77192        (-[WebScriptObject valueForKey:]): Ditto.
77193        (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
77194        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
77195        Use asObject and asString.
77196
77197        * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
77198
77199        * bridge/c/c_instance.h: Use JSValuePtr.
77200        * bridge/c/c_runtime.cpp:
77201        (JSC::Bindings::CField::setValueToInstance): Ditto.
77202
77203        * bridge/c/c_utility.cpp:
77204        (JSC::Bindings::convertValueToNPVariant): Use asObject.
77205
77206        * bridge/jni/jni_instance.cpp:
77207        (JavaInstance::booleanValue): Use JSValuePtr.
77208        (JavaInstance::invokeMethod): Ditto. And noValue.
77209        * bridge/jni/jni_jsobject.mm:
77210        (JavaJSObject::getSlot): Ditto.
77211        (JavaJSObject::convertValueToJObject): Ditto.
77212        * bridge/jni/jni_runtime.cpp:
77213        (JavaField::dispatchValueFromInstance): Ditto.
77214        (JavaField::valueFromInstance): Ditto.
77215        (JavaField::dispatchSetValueToInstance): Ditto.
77216        (JavaField::setValueToInstance): Ditto.
77217        (JavaArray::setValueAt): Ditto.
77218        (JavaArray::valueAt): Ditto.
77219        * bridge/jni/jni_runtime.h: Ditto.
77220
77221        * bridge/jni/jni_utility.cpp:
77222        (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
77223        instead of a JSValue*.
77224        (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
77225
77226        * bridge/objc/objc_class.h: Use JSValuePtr.
77227        * bridge/objc/objc_instance.h: Ditto.
77228        * bridge/objc/objc_runtime.h: Ditto.
77229
77230        * bridge/objc/objc_runtime.mm:
77231        (JSC::Bindings::callObjCFallbackObject): Use asObject.
77232
77233        * bridge/objc/objc_utility.h: Use JSValuePtr.
77234        * bridge/objc/objc_utility.mm:
77235        (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
77236        (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
77237
77238        * bridge/runtime.cpp:
77239        (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
77240        (JSC::Bindings::Instance::setValueOfField): Ditto.
77241
77242        * bridge/runtime_array.cpp:
77243        (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
77244        (JSC::RuntimeArray::indexGetter): Ditto.
77245        * bridge/runtime_array.h: Ditto.
77246        * bridge/runtime_method.cpp:
77247        (JSC::RuntimeMethod::lengthGetter): Ditto.
77248        (JSC::callRuntimeMethod): Ditto.
77249        * bridge/runtime_object.cpp:
77250        (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
77251        (JSC::RuntimeObjectImp::fieldGetter): Ditto.
77252        (JSC::RuntimeObjectImp::methodGetter): Ditto.
77253
77254        * loader/FrameLoader.cpp:
77255        (WebCore::FrameLoader::executeScript): Use noValue.
77256
77257        * page/Console.cpp:
77258        (WebCore::Console::trace): Use asInternalFunction.
77259
772602008-10-19  Dan Bernstein  <mitz@apple.com>
77261
77262        Reviewed by Timothy Hatcher.
77263
77264        - lower the default button repaint frequency
77265
77266        * rendering/RenderButton.cpp:
77267        (WebCore::RenderButton::styleDidChange): Changed the timer interval from
77268        0.01 to 0.03.
77269
772702008-10-18  Dan Bernstein  <mitz@apple.com>
77271
77272        Reviewed by Mark Rowe.
77273
77274        - Windows build fix
77275
77276        * rendering/RenderThemeSafari.cpp:
77277        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
77278        (WebCore::RenderThemeSafari::paintMediaMuteButton):
77279        (WebCore::RenderThemeSafari::paintMediaPlayButton):
77280        (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
77281        (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
77282        (WebCore::RenderThemeSafari::paintMediaSliderThumb):
77283
772842008-10-18  Dan Bernstein  <mitz@apple.com>
77285
77286        Reviewed by Sam Weinig.
77287
77288        - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
77289          Long-dead decoded image data make up for most of the object cache's memory use over time
77290
77291        Add a cache setting for how long decoded image data should be allowed to
77292        persist in memory after the image has died. By default, this is set to
77293        0, which means "forever".
77294
77295        * loader/Cache.cpp:
77296        (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
77297        * loader/Cache.h:
77298        (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
77299        (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
77300        * loader/CachedImage.cpp:
77301        (WebCore::CachedImage::CachedImage): Initialize the decoded data
77302        deletion timer.
77303        (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
77304        the decoded image data.
77305        (WebCore::CachedImage::addClient): Stop the timer if it is active.
77306        (WebCore::CachedImage::allClientsRemoved): Start the decoded data
77307        deletion timer.
77308        * loader/CachedImage.h:
77309
773102008-10-18  Darin Adler  <darin@apple.com>
77311
77312        Reviewed by Dan Bernstein.
77313
77314        - fix https://bugs.webkit.org/show_bug.cgi?id=21645
77315          REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
77316
77317        * html/HTMLFormElement.cpp:
77318        (WebCore::HTMLFormElement::formData):
77319        Fix loop that goes through the FormDataList to go two at a time in a clearer
77320        way. My last patch screwed up the way it got form content from the items.
77321        This "two at a time" approach is a confusing way to do things, which explains
77322        why I got it wrong last time through, but I decided to just fix it locally for
77323        now rather than changing the design of FormDataList.
77324
773252008-10-18  Darin Adler  <darin@apple.com>
77326
77327        Reviewed by Cameron Zwarich.
77328
77329        - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
77330          improve performance by eliminating JSValue as a base class for JSCell
77331
77332        Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
77333        changing JSValuePtr to be a class, and then eventually renaming it
77334        to JSValue once that's done.
77335
77336        * bindings/js/JSAttrCustom.cpp:
77337        * bindings/js/JSCSSRuleCustom.cpp:
77338        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
77339        * bindings/js/JSCSSValueCustom.cpp:
77340        * bindings/js/JSCanvasPixelArrayCustom.h:
77341        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
77342        * bindings/js/JSClipboardCustom.cpp:
77343        * bindings/js/JSConsoleCustom.cpp:
77344        * bindings/js/JSCustomSQLStatementCallback.cpp:
77345        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
77346        * bindings/js/JSCustomSQLTransactionCallback.cpp:
77347        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
77348        * bindings/js/JSCustomVoidCallback.cpp:
77349        * bindings/js/JSCustomVoidCallback.h:
77350        * bindings/js/JSCustomXPathNSResolver.cpp:
77351        * bindings/js/JSDOMApplicationCacheCustom.cpp:
77352        * bindings/js/JSDOMBinding.cpp:
77353        * bindings/js/JSDOMBinding.h:
77354        * bindings/js/JSDOMWindowBase.cpp:
77355        * bindings/js/JSDOMWindowBase.h:
77356        * bindings/js/JSDOMWindowCustom.cpp:
77357        * bindings/js/JSDOMWindowCustom.h:
77358        * bindings/js/JSDOMWindowShell.cpp:
77359        * bindings/js/JSDOMWindowShell.h:
77360        * bindings/js/JSDatabaseCustom.cpp:
77361        * bindings/js/JSDocumentCustom.cpp:
77362        * bindings/js/JSElementCustom.cpp:
77363        * bindings/js/JSEventCustom.cpp:
77364        * bindings/js/JSEventListener.cpp:
77365        * bindings/js/JSEventTarget.cpp:
77366        * bindings/js/JSEventTargetBase.h:
77367        * bindings/js/JSEventTargetNodeCustom.cpp:
77368        * bindings/js/JSHTMLAllCollection.h:
77369        * bindings/js/JSHTMLAppletElementCustom.cpp:
77370        * bindings/js/JSHTMLCollectionCustom.cpp:
77371        * bindings/js/JSHTMLDocumentCustom.cpp:
77372        * bindings/js/JSHTMLEmbedElementCustom.cpp:
77373        * bindings/js/JSHTMLFormElementCustom.cpp:
77374        * bindings/js/JSHTMLFrameElementCustom.cpp:
77375        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
77376        * bindings/js/JSHTMLIFrameElementCustom.cpp:
77377        * bindings/js/JSHTMLInputElementCustom.cpp:
77378        * bindings/js/JSHTMLObjectElementCustom.cpp:
77379        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
77380        * bindings/js/JSHTMLSelectElementCustom.cpp:
77381        * bindings/js/JSHTMLSelectElementCustom.h:
77382        * bindings/js/JSHistoryCustom.cpp:
77383        * bindings/js/JSImageDataCustom.cpp:
77384        * bindings/js/JSInspectedObjectWrapper.cpp:
77385        * bindings/js/JSInspectedObjectWrapper.h:
77386        * bindings/js/JSInspectorCallbackWrapper.cpp:
77387        * bindings/js/JSInspectorCallbackWrapper.h:
77388        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
77389        * bindings/js/JSLocationCustom.cpp:
77390        * bindings/js/JSMessagePortCustom.cpp:
77391        * bindings/js/JSMimeTypeArrayCustom.cpp:
77392        * bindings/js/JSNamedNodeMapCustom.cpp:
77393        * bindings/js/JSNamedNodesCollection.cpp:
77394        * bindings/js/JSNamedNodesCollection.h:
77395        * bindings/js/JSNavigatorCustom.cpp:
77396        * bindings/js/JSNodeCustom.cpp:
77397        * bindings/js/JSNodeFilterCondition.cpp:
77398        * bindings/js/JSNodeFilterCustom.cpp:
77399        * bindings/js/JSNodeIteratorCustom.cpp:
77400        * bindings/js/JSNodeListCustom.cpp:
77401        * bindings/js/JSPluginArrayCustom.cpp:
77402        * bindings/js/JSPluginCustom.cpp:
77403        * bindings/js/JSPluginElementFunctions.cpp:
77404        * bindings/js/JSPluginElementFunctions.h:
77405        * bindings/js/JSQuarantinedObjectWrapper.cpp:
77406        * bindings/js/JSQuarantinedObjectWrapper.h:
77407        * bindings/js/JSRGBColor.cpp:
77408        * bindings/js/JSRGBColor.h:
77409        * bindings/js/JSSQLResultSetRowListCustom.cpp:
77410        * bindings/js/JSSQLTransactionCustom.cpp:
77411        * bindings/js/JSSVGElementInstanceCustom.cpp:
77412        * bindings/js/JSSVGLengthCustom.cpp:
77413        * bindings/js/JSSVGMatrixCustom.cpp:
77414        * bindings/js/JSSVGPathSegCustom.cpp:
77415        * bindings/js/JSSVGPathSegListCustom.cpp:
77416        * bindings/js/JSSVGPointListCustom.cpp:
77417        * bindings/js/JSSVGTransformListCustom.cpp:
77418        * bindings/js/JSStorageCustom.cpp:
77419        * bindings/js/JSStyleSheetCustom.cpp:
77420        * bindings/js/JSStyleSheetListCustom.cpp:
77421        * bindings/js/JSTextCustom.cpp:
77422        * bindings/js/JSTreeWalkerCustom.cpp:
77423        * bindings/js/JSXMLHttpRequestCustom.cpp:
77424        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
77425        * bindings/js/JSXSLTProcessorCustom.cpp:
77426        * bindings/js/ScheduledAction.cpp:
77427        * bindings/js/ScheduledAction.h:
77428        * bindings/js/ScriptController.cpp:
77429        * bindings/js/ScriptController.h:
77430        * bindings/objc/WebScriptObject.mm:
77431        * bindings/scripts/CodeGeneratorJS.pm:
77432        * bridge/NP_jsobject.cpp:
77433        * bridge/c/c_instance.cpp:
77434        * bridge/c/c_instance.h:
77435        * bridge/c/c_runtime.cpp:
77436        * bridge/c/c_runtime.h:
77437        * bridge/c/c_utility.cpp:
77438        * bridge/jni/jni_instance.cpp:
77439        * bridge/jni/jni_instance.h:
77440        * bridge/jni/jni_jsobject.mm:
77441        * bridge/jni/jni_objc.mm:
77442        * bridge/jni/jni_runtime.cpp:
77443        * bridge/jni/jni_runtime.h:
77444        * bridge/jni/jni_utility.cpp:
77445        * bridge/objc/objc_class.mm:
77446        * bridge/objc/objc_instance.h:
77447        * bridge/objc/objc_instance.mm:
77448        * bridge/objc/objc_runtime.h:
77449        * bridge/objc/objc_runtime.mm:
77450        * bridge/objc/objc_utility.h:
77451        * bridge/objc/objc_utility.mm:
77452        * bridge/runtime.h:
77453        * bridge/runtime_array.cpp:
77454        * bridge/runtime_array.h:
77455        * bridge/runtime_method.cpp:
77456        * bridge/runtime_method.h:
77457        * bridge/runtime_object.cpp:
77458        * bridge/runtime_object.h:
77459        * inspector/JavaScriptCallFrame.cpp:
77460        * inspector/JavaScriptCallFrame.h:
77461        * inspector/JavaScriptProfile.cpp:
77462        * inspector/JavaScriptProfileNode.cpp:
77463        * loader/FrameLoader.cpp:
77464        * loader/FrameLoader.h:
77465        * page/Console.cpp:
77466        * page/Console.h:
77467        * plugins/MimeTypeArray.h:
77468        * plugins/Plugin.h:
77469        * plugins/PluginArray.h:
77470        * xml/XMLHttpRequest.cpp:
77471        Replace JSValue* with JSValuePtr.
77472
774732008-10-18  Darin Adler  <darin@apple.com>
77474
77475        Reviewed by Oliver Hunt.
77476
77477        - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
77478          improve performance by eliminating JSValue as a base class for JSCell
77479
77480        Update for change to make PreferredPrimitiveType no longer
77481        a member of JSValue.
77482
77483        * bridge/c/c_instance.cpp:
77484        (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
77485        * bridge/jni/jni_instance.cpp:
77486        (JavaInstance::defaultValue): Ditto.
77487        * bridge/objc/objc_instance.mm:
77488        (ObjcInstance::defaultValue): Ditto.
77489        * bridge/qt/qt_instance.cpp:
77490        (JSC::Bindings::QtInstance::defaultValue): Ditto.
77491        * bridge/runtime.h: Ditto. Also removed typedef.
77492
774932008-10-18  Darin Adler  <darin@apple.com>
77494
77495        - try to fix Windows build
77496
77497        * rendering/RenderThemeSafari.cpp:
77498        (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
77499        SafariTheme namespace, since there is now an identically named constant in
77500        the ControlPart enum.
77501        (WebCore::RenderThemeSafari::paintButton): Ditto.
77502        (WebCore::RenderThemeSafari::paintTextField): Ditto.
77503        (WebCore::RenderThemeSafari::paintTextArea): Ditto.
77504        (WebCore::RenderThemeSafari::paintSearchField): Ditto.
77505        (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
77506        (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
77507        (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
77508
775092008-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
77510
77511        Reviewed by Alp Toker.
77512
77513        [GTK] crash after selecting a file on an <input type=file>
77514        https://bugs.webkit.org/show_bug.cgi?id=21385
77515
77516        Follow Mac and Win's behaviors for Icon::paint
77517
77518        * platform/graphics/gtk/IconGtk.cpp:
77519        (WebCore::Icon::paint): check if painting is enabled before
77520        painting the icon
77521
775222008-10-18  Zan Dobersek  <zandobersek@gmail.com>
77523
77524        Reviewed by Oliver Hunt.
77525
77526        Qt port build fix.
77527
77528        * platform/qt/RenderThemeQt.h:
77529
775302008-10-17  Kevin Watters  <kevinwatters@gmail.com>
77531
77532        Reviewed by Kevin Ollivier
77533
77534        Fix wx port's scrollbar and drawing handling after recent changes.
77535
77536        https://bugs.webkit.org/show_bug.cgi?id=21720
77537
77538        * platform/ScrollView.h:
77539        * platform/wx/ScrollViewWx.cpp:
77540        (WebCore::ScrollView::platformVisibleContentRect):
77541        (WebCore::ScrollView::platformContentsSize):
77542        (WebCore::ScrollView::platformSetContentsSize):
77543        * platform/wx/WidgetWx.cpp:
77544        (WebCore::Widget::paint):
77545
775462008-10-17  Kevin Ollivier  <kevino@theolliviers.com>
77547
77548        wx build fix. EAppearance -> ControlPart.
77549
77550        * platform/wx/RenderThemeWx.cpp:
77551        (WebCore::RenderThemeWx::isControlStyled):
77552        (WebCore::RenderThemeWx::adjustRepaintRect):
77553        (WebCore::RenderThemeWx::controlSupportsTints):
77554        (WebCore::RenderThemeWx::supportsFocus):
77555        (WebCore::RenderThemeWx::paintButton):
77556
775572008-10-17  David Hyatt  <hyatt@apple.com>
77558
77559        Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
77560        values from the enum since they are handled by ScrollbarTheme instead.
77561
77562        Reviewed by Tim Hatcher
77563
77564        * css/CSSPrimitiveValueMappings.h:
77565        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
77566        (WebCore::CSSPrimitiveValue::operator ControlPart):
77567        * css/CSSStyleSelector.cpp:
77568        (WebCore::CSSStyleSelector::adjustRenderStyle):
77569        * css/CSSValueKeywords.in:
77570        * platform/gtk/RenderThemeGtk.cpp:
77571        (WebCore::supportsFocus):
77572        (WebCore::RenderThemeGtk::baselinePosition):
77573        (WebCore::setToggleSize):
77574        (WebCore::RenderThemeGtk::setCheckboxSize):
77575        (WebCore::RenderThemeGtk::setRadioSize):
77576        (WebCore::RenderThemeGtk::adjustButtonStyle):
77577        * platform/qt/RenderThemeQt.cpp:
77578        (WebCore::RenderThemeQt::baselinePosition):
77579        (WebCore::RenderThemeQt::controlSupportsTints):
77580        (WebCore::RenderThemeQt::adjustRepaintRect):
77581        (WebCore::RenderThemeQt::isControlStyled):
77582        (WebCore::computeSizeBasedOnStyle):
77583        (WebCore::RenderThemeQt::paintButton):
77584        (WebCore::RenderThemeQt::paintTextField):
77585        (WebCore::RenderThemeQt::paintMenuList):
77586        (WebCore::RenderThemeQt::supportsFocus):
77587        (WebCore::RenderThemeQt::applyTheme):
77588        (WebCore::RenderThemeQt::adjustSliderThumbSize):
77589        * platform/qt/RenderThemeQt.h:
77590        * rendering/RenderSlider.cpp:
77591        (WebCore::RenderSlider::createThumbStyle):
77592        (WebCore::RenderSlider::layout):
77593        (WebCore::RenderSlider::setValueForPosition):
77594        (WebCore::RenderSlider::setPositionFromValue):
77595        (WebCore::RenderSlider::positionForOffset):
77596        (WebCore::RenderSlider::currentPosition):
77597        (WebCore::RenderSlider::setCurrentPosition):
77598        (WebCore::RenderSlider::trackSize):
77599        * rendering/RenderTheme.cpp:
77600        (WebCore::RenderTheme::adjustStyle):
77601        (WebCore::RenderTheme::paint):
77602        (WebCore::RenderTheme::paintBorderOnly):
77603        (WebCore::RenderTheme::paintDecorations):
77604        (WebCore::RenderTheme::isControlContainer):
77605        (WebCore::RenderTheme::isControlStyled):
77606        (WebCore::RenderTheme::supportsFocusRing):
77607        (WebCore::RenderTheme::isDefault):
77608        * rendering/RenderTheme.h:
77609        * rendering/RenderThemeMac.mm:
77610        (WebCore::RenderThemeMac::isControlStyled):
77611        (WebCore::RenderThemeMac::adjustRepaintRect):
77612        (WebCore::RenderThemeMac::baselinePosition):
77613        (WebCore::RenderThemeMac::controlSupportsTints):
77614        (WebCore::RenderThemeMac::adjustButtonStyle):
77615        (WebCore::RenderThemeMac::setButtonCellState):
77616        (WebCore::RenderThemeMac::popupInternalPaddingLeft):
77617        (WebCore::RenderThemeMac::popupInternalPaddingRight):
77618        (WebCore::RenderThemeMac::popupInternalPaddingTop):
77619        (WebCore::RenderThemeMac::popupInternalPaddingBottom):
77620        (WebCore::RenderThemeMac::paintSliderTrack):
77621        (WebCore::RenderThemeMac::paintSliderThumb):
77622        (WebCore::RenderThemeMac::adjustSliderThumbSize):
77623        * rendering/RenderThemeSafari.cpp:
77624        (WebCore::RenderThemeSafari::isControlStyled):
77625        (WebCore::RenderThemeSafari::adjustRepaintRect):
77626        (WebCore::RenderThemeSafari::baselinePosition):
77627        (WebCore::RenderThemeSafari::controlSupportsTints):
77628        (WebCore::RenderThemeSafari::adjustButtonStyle):
77629        (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
77630        (WebCore::RenderThemeSafari::popupInternalPaddingRight):
77631        (WebCore::RenderThemeSafari::popupInternalPaddingTop):
77632        (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
77633        (WebCore::RenderThemeSafari::paintSliderTrack):
77634        (WebCore::RenderThemeSafari::adjustSliderThumbSize):
77635        * rendering/RenderThemeWin.cpp:
77636        (WebCore::RenderThemeWin::supportsFocus):
77637        (WebCore::RenderThemeWin::determineClassicState):
77638        (WebCore::RenderThemeWin::getClassicThemeData):
77639        (WebCore::RenderThemeWin::getThemeData):
77640        (WebCore::drawControl):
77641        (WebCore::RenderThemeWin::paintSliderTrack):
77642        (WebCore::RenderThemeWin::adjustSliderThumbSize):
77643        * rendering/RenderThemeWin.h:
77644        * rendering/style/RenderStyle.h:
77645        (WebCore::InheritedFlags::hasAppearance):
77646        (WebCore::InheritedFlags::appearance):
77647        (WebCore::InheritedFlags::setAppearance):
77648        (WebCore::InheritedFlags::initialAppearance):
77649        * rendering/style/RenderStyleConstants.h:
77650
776512008-10-17  David Hyatt  <hyatt@apple.com>
77652
77653        Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
77654        file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
77655
77656        Reviewed by Tim Hatcher
77657
77658        * WebCore.vcproj/WebCore.vcproj:
77659        * WebCore.xcodeproj/project.pbxproj:
77660        * config.h:
77661        * platform/Theme.h: Added.
77662        (WebCore::Theme::Theme):
77663        (WebCore::Theme::~Theme):
77664        (WebCore::Theme::baselinePositionAdjustment):
77665        (WebCore::Theme::controlHasInactiveAppearance):
77666        (WebCore::Theme::controlsCanHaveInactiveAppearance):
77667        (WebCore::Theme::controlsCanHaveHoveredAppearance):
77668        (WebCore::Theme::controlDrawsBorder):
77669        (WebCore::Theme::controlDrawsBackground):
77670        (WebCore::Theme::controlDrawsFocusOutline):
77671        (WebCore::Theme::selectionColor):
77672        (WebCore::Theme::textSearchHighlightColor):
77673        (WebCore::Theme::systemColor):
77674        (WebCore::Theme::systemFont):
77675        (WebCore::Theme::caretBlinkFrequency):
77676        (WebCore::Theme::themeChanged):
77677        (WebCore::Theme::controlSize):
77678        (WebCore::Theme::controlFont):
77679        (WebCore::Theme::controlPadding):
77680        (WebCore::Theme::controlInternalPadding):
77681        (WebCore::Theme::controlBorder):
77682        (WebCore::Theme::controlBorderRadius):
77683        (WebCore::Theme::paint):
77684        (WebCore::Theme::inflateControlPaintRect):
77685        * platform/ThemeTypes.h: Added.
77686        (WebCore::):
77687        (WebCore::ControlBox::ControlBox):
77688        (WebCore::ControlBox::top):
77689        (WebCore::ControlBox::right):
77690        (WebCore::ControlBox::bottom):
77691        (WebCore::ControlBox::left):
77692        * platform/mac/ThemeMac.h: Added.
77693        (WebCore::ThemeMac::ThemeMac):
77694        (WebCore::ThemeMac::~ThemeMac):
77695        * platform/mac/ThemeMac.mm: Added.
77696        (WebCore::platformTheme):
77697        * rendering/RenderTheme.cpp:
77698        (WebCore::RenderTheme::RenderTheme):
77699        * rendering/RenderTheme.h:
77700
777012008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
77702
77703        Reviewed by Sam Weinig. Landed by Jan Alonzo.
77704
77705        https://bugs.webkit.org/show_bug.cgi?id=21603
77706        [GTK] Minor fixes to GOwnPtr
77707
77708        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
77709        (WebCore::mediaPlayerPrivateErrorCallback):
77710
777112008-10-17  Timothy Hatcher  <timothy@apple.com>
77712
77713        Recompile the JavaScript functions when removing any listener, so functions that are
77714        not being debugged can resume normal speed again.
77715
77716        https://bugs.webkit.org/show_bug.cgi?id=21715
77717
77718        Reviewed by Geoffrey Garen.
77719
77720        * bindings/js/JSDOMWindowBase.cpp:
77721        (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
77722        was firing when closing the window and having the recompile fire after. This was an
77723        overzelious assert now.
77724        * inspector/JavaScriptDebugServer.cpp:
77725        (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
77726        (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
77727
777282008-10-17  Timothy Hatcher  <timothy@apple.com>
77729
77730        Fixes a regression where starting a debugging session in
77731        another Web Inspector window would not show any scripts.
77732        Also only attach the debugger to only the required Pages.
77733
77734        https://bugs.webkit.org/show_bug.cgi?id=21708
77735
77736        Reviewed by Darin Adler.
77737
77738        * inspector/JavaScriptDebugServer.cpp:
77739        (WebCore::JavaScriptDebugServer::addListener): Add an assert and
77740        remove the call to willAddFirstListener(). Add a call to
77741        didAddListener().
77742        (WebCore::JavaScriptDebugServer::removeListener): Add an assert
77743        and call to didRemoveListener().
77744        (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
77745        if there is a listener interested in the new Page.
77746        (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
77747        Use hasGlobalListeners() instead of isEmpty().
77748        (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
77749        (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
77750        debugger to the page if non-null, or all pages if page is null.
77751        (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
77752        the debugger only if there are no interested listeners.
77753        (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
77754        call to Page::setDebuggerForAllPages().
77755        * inspector/JavaScriptDebugServer.h:
77756        (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
77757
777582008-10-15  Brett Wilson  <brettw@chromium.org>
77759
77760        Reviewed by Timothy Hatcher.
77761
77762        Have ImageDocument generate its own filename for the title of images
77763        without relying on the suggested filename from the network layer, which
77764        may be nonexistant or not relevant.
77765        https://bugs.webkit.org/show_bug.cgi?id=21565
77766
77767        * loader/ImageDocument.cpp:
77768        (WebCore::ImageTokenizer::finish):
77769
777702008-10-17  Alexey Proskuryakov  <ap@webkit.org>
77771
77772        Non-Mac build fix.
77773
77774        * GNUmakefile.am:
77775        * WebCore.pro:
77776        * WebCore.vcproj/WebCore.vcproj:
77777        * WebCoreSources.bkl:
77778        Added ActiveDOMObject to the build.
77779
777802008-10-17  Alexey Proskuryakov  <ap@webkit.org>
77781
77782        Reviewed by Sam Weinig.
77783
77784        https://bugs.webkit.org/show_bug.cgi?id=21642
77785        Abstract out active object tracking
77786
77787        * WebCore.xcodeproj/project.pbxproj:
77788        * bindings/js/JSDOMBinding.cpp:
77789        (WebCore::markActiveObjectsForDocument):
77790        * dom/ActiveDOMObject.cpp: Added.
77791        (WebCore::ActiveDOMObject::ActiveDOMObject):
77792        (WebCore::ActiveDOMObject::~ActiveDOMObject):
77793        (WebCore::ActiveDOMObject::contextDestroyed):
77794        (WebCore::ActiveDOMObject::stop):
77795        * dom/ActiveDOMObject.h: Added.
77796        (WebCore::ActiveDOMObject::document):
77797        (WebCore::ActiveDOMObject::hasPendingActivity):
77798        (WebCore::ActiveDOMObject::setPendingActivity):
77799        (WebCore::ActiveDOMObject::unsetPendingActivity):
77800        * dom/Document.cpp:
77801        (WebCore::Document::~Document):
77802        (WebCore::Document::stopActiveDOMObjects):
77803        (WebCore::Document::createdActiveDOMObject):
77804        (WebCore::Document::destroyedActiveDOMObject):
77805        * dom/Document.h:
77806        (WebCore::Document::activeDOMObjects):
77807        * dom/MessagePort.cpp:
77808        (WebCore::MessagePort::contextDestroyed):
77809        * dom/MessagePort.h:
77810        * loader/FrameLoader.cpp:
77811        (WebCore::FrameLoader::stopLoading):
77812        * xml/XMLHttpRequest.cpp:
77813        (WebCore::XMLHttpRequest::XMLHttpRequest):
77814        (WebCore::XMLHttpRequest::~XMLHttpRequest):
77815        (WebCore::XMLHttpRequest::associatedFrame):
77816        (WebCore::XMLHttpRequest::responseXML):
77817        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
77818        (WebCore::XMLHttpRequest::initSend):
77819        (WebCore::XMLHttpRequest::send):
77820        (WebCore::XMLHttpRequest::createRequest):
77821        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
77822        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
77823        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
77824        (WebCore::XMLHttpRequest::loadRequestSynchronously):
77825        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
77826        (WebCore::XMLHttpRequest::dropProtection):
77827        (WebCore::XMLHttpRequest::setRequestHeader):
77828        (WebCore::XMLHttpRequest::processSyncLoadResults):
77829        (WebCore::XMLHttpRequest::didFinishLoading):
77830        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
77831        (WebCore::XMLHttpRequest::willSendRequest):
77832        (WebCore::XMLHttpRequest::accessControlCheck):
77833        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
77834        (WebCore::XMLHttpRequest::stop):
77835        (WebCore::XMLHttpRequest::contextDestroyed):
77836        * xml/XMLHttpRequest.h:
77837        Move activity tracking to a new ActiveDOMObject class.
77838
778392008-10-16  David Hyatt  <hyatt@apple.com>
77840
77841        Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
77842        they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
77843        did though.  This patch removes the renderer argument and the Element subclass shadow implementation
77844        so that confusion like this can't occur again.
77845
77846        Reviewed by Oliver Hunt
77847
77848        * dom/Element.cpp:
77849        * dom/Element.h:
77850        * dom/Node.cpp:
77851        (WebCore::Node::createRendererIfNeeded):
77852        (WebCore::Node::styleForRenderer):
77853        * dom/Node.h:
77854        * html/HTMLOptGroupElement.cpp:
77855        (WebCore::HTMLOptGroupElement::attach):
77856        * html/HTMLOptionElement.cpp:
77857        (WebCore::HTMLOptionElement::attach):
77858        * svg/SVGClipPathElement.cpp:
77859        (WebCore::SVGClipPathElement::canvasResource):
77860        * svg/SVGFEDiffuseLightingElement.cpp:
77861        (WebCore::SVGFEDiffuseLightingElement::build):
77862        * svg/SVGFEFloodElement.cpp:
77863        (WebCore::SVGFEFloodElement::build):
77864        * svg/SVGFESpecularLightingElement.cpp:
77865        (WebCore::SVGFESpecularLightingElement::build):
77866        * svg/SVGGradientElement.cpp:
77867        (WebCore::SVGGradientElement::buildStops):
77868        * svg/SVGUseElement.cpp:
77869        (WebCore::SVGUseElement::attachShadowTree):
77870
778712008-10-16  David Hyatt  <hyatt@apple.com>
77872
77873        https://bugs.webkit.org/attachment.cgi?bugid=21647
77874
77875        Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
77876        out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
77877        all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
77878        to use the arena.
77879
77880        At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
77881        as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
77882        arena also limited the usefulness.
77883
77884        Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
77885        mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
77886        manual ref/deref far outweigh keeping them in the arena.
77887
77888        Reviewed by Adam Roben
77889
77890        * css/CSSStyleSelector.cpp:
77891        (WebCore::CSSStyleSelector::CSSStyleSelector):
77892        (WebCore::CSSStyleSelector::~CSSStyleSelector):
77893        (WebCore::CSSStyleSelector::styleForElement):
77894        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
77895        (WebCore::CSSStyleSelector::pseudoStyleForElement):
77896        These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
77897        so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
77898
77899        (WebCore::CSSStyleSelector::updateFont):
77900        (WebCore::CSSStyleSelector::checkSelector):
77901        (WebCore::CSSStyleSelector::applyProperty):
77902        (WebCore::CSSStyleSelector::mapFillSize):
77903        (WebCore::CSSStyleSelector::mapFillXPosition):
77904        (WebCore::CSSStyleSelector::mapFillYPosition):
77905        * css/CSSStyleSelector.h:
77906        (WebCore::CSSStyleSelector::style):
77907        * dom/Document.cpp:
77908        (WebCore::Document::recalcStyle):
77909        * dom/Element.cpp:
77910        (WebCore::Element::styleForRenderer):
77911        (WebCore::Element::recalcStyle):
77912        (WebCore::Element::computedStyle):
77913        * dom/Element.h:
77914        * dom/ElementRareData.h:
77915        (WebCore::ElementRareData::ElementRareData):
77916        (WebCore::ElementRareData::resetComputedStyle):
77917        * dom/Node.cpp:
77918        (WebCore::Node::diff):
77919        (WebCore::Node::createRendererIfNeeded):
77920        (WebCore::Node::styleForRenderer):
77921        (WebCore::Node::setRenderStyle):
77922        * dom/Node.h:
77923        * html/CanvasRenderingContext2D.cpp:
77924        (WebCore::CanvasRenderingContext2D::setFont):
77925        * html/HTMLOptGroupElement.cpp:
77926        (WebCore::HTMLOptGroupElement::attach):
77927        (WebCore::HTMLOptGroupElement::detach):
77928        (WebCore::HTMLOptGroupElement::setRenderStyle):
77929        (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
77930        * html/HTMLOptGroupElement.h:
77931        * html/HTMLOptionElement.cpp:
77932        (WebCore::HTMLOptionElement::attach):
77933        (WebCore::HTMLOptionElement::detach):
77934        (WebCore::HTMLOptionElement::setRenderStyle):
77935        (WebCore::HTMLOptionElement::nonRendererRenderStyle):
77936        * html/HTMLOptionElement.h:
77937        * page/animation/AnimationBase.h:
77938        (WebCore::AnimationBase::animate):
77939        * page/animation/AnimationController.cpp:
77940        (WebCore::AnimationController::updateAnimations):
77941        * page/animation/AnimationController.h:
77942        * page/animation/CompositeAnimation.cpp:
77943        (WebCore::CompositeAnimationPrivate::updateTransitions):
77944        (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
77945        (WebCore::CompositeAnimationPrivate::animate):
77946        (WebCore::CompositeAnimation::animate):
77947        * page/animation/CompositeAnimation.h:
77948        * page/animation/ImplicitAnimation.cpp:
77949        (WebCore::ImplicitAnimation::ImplicitAnimation):
77950        (WebCore::ImplicitAnimation::~ImplicitAnimation):
77951        (WebCore::ImplicitAnimation::animate):
77952        (WebCore::ImplicitAnimation::reset):
77953        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
77954        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
77955        * page/animation/ImplicitAnimation.h:
77956        (WebCore::ImplicitAnimation::create):
77957        * page/animation/KeyframeAnimation.cpp:
77958        (WebCore::KeyframeAnimation::KeyframeAnimation):
77959        (WebCore::KeyframeAnimation::~KeyframeAnimation):
77960        (WebCore::KeyframeAnimation::animate):
77961        (WebCore::KeyframeAnimation::validateTransformFunctionList):
77962        * page/animation/KeyframeAnimation.h:
77963        (WebCore::KeyframeAnimation::create):
77964        (WebCore::KeyframeAnimation::unanimatedStyle):
77965        * rendering/InlineTextBox.cpp:
77966        (WebCore::InlineTextBox::paint):
77967        * rendering/MediaControlElements.cpp:
77968        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
77969        (WebCore::MediaControlInputElement::MediaControlInputElement):
77970        * rendering/RenderBlock.cpp:
77971        (WebCore::RenderBlock::styleDidChange):
77972        (WebCore::RenderBlock::updateFirstLetter):
77973        * rendering/RenderContainer.cpp:
77974        (WebCore::RenderContainer::addChild):
77975        (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
77976        * rendering/RenderFileUploadControl.cpp:
77977        (WebCore::RenderFileUploadControl::updateFromElement):
77978        (WebCore::RenderFileUploadControl::createButtonStyle):
77979        * rendering/RenderFileUploadControl.h:
77980        * rendering/RenderFlow.cpp:
77981        (WebCore::RenderFlow::createAnonymousFlow):
77982        * rendering/RenderFlow.h:
77983        * rendering/RenderInline.cpp:
77984        (WebCore::RenderInline::addChildToFlow):
77985        * rendering/RenderLayer.cpp:
77986        (WebCore::RenderLayer::updateScrollCornerStyle):
77987        (WebCore::RenderLayer::updateResizerStyle):
77988        (WebCore::RenderLayer::updateReflectionStyle):
77989        * rendering/RenderListItem.cpp:
77990        (WebCore::RenderListItem::styleDidChange):
77991        * rendering/RenderMedia.cpp:
77992        (WebCore::RenderMedia::createPanel):
77993        (WebCore::RenderMedia::createTimeDisplay):
77994        (WebCore::RenderMedia::changeOpacity):
77995        * rendering/RenderObject.cpp:
77996        (WebCore::RenderObject::selectionBackgroundColor):
77997        (WebCore::RenderObject::selectionForegroundColor):
77998        (WebCore::RenderObject::createAnonymousBlock):
77999        (WebCore::RenderObject::setAnimatableStyle):
78000        (WebCore::RenderObject::setStyle):
78001        (WebCore::RenderObject::setStyleInternal):
78002        (WebCore::RenderObject::arenaDelete):
78003        (WebCore::RenderObject::firstLineStyle):
78004        (WebCore::RenderObject::getPseudoStyle):
78005        * rendering/RenderObject.h:
78006        (WebCore::RenderObject::style):
78007        * rendering/RenderSVGBlock.cpp:
78008        (WebCore::RenderSVGBlock::setStyle):
78009        * rendering/RenderSVGBlock.h:
78010        * rendering/RenderScrollbar.cpp:
78011        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
78012        (WebCore::RenderScrollbar::updateScrollbarPart):
78013        * rendering/RenderScrollbar.h:
78014        * rendering/RenderSlider.cpp:
78015        (WebCore::RenderSlider::styleDidChange):
78016        (WebCore::RenderSlider::createThumbStyle):
78017        (WebCore::RenderSlider::updateFromElement):
78018        * rendering/RenderSlider.h:
78019        * rendering/RenderTable.cpp:
78020        (WebCore::RenderTable::addChild):
78021        * rendering/RenderTableRow.cpp:
78022        (WebCore::RenderTableRow::addChild):
78023        * rendering/RenderTableSection.cpp:
78024        (WebCore::RenderTableSection::addChild):
78025        * rendering/RenderTextControl.cpp:
78026        (WebCore::RenderTextControl::styleDidChange):
78027        (WebCore::RenderTextControl::createInnerBlockStyle):
78028        (WebCore::RenderTextControl::createInnerTextStyle):
78029        (WebCore::RenderTextControl::createResultsButtonStyle):
78030        (WebCore::RenderTextControl::createCancelButtonStyle):
78031        (WebCore::RenderTextControl::createSubtreeIfNeeded):
78032        (WebCore::RenderTextControl::updatePlaceholderVisibility):
78033        * rendering/RenderTextControl.h:
78034        * rendering/TextControlInnerElements.cpp:
78035        (WebCore::TextControlInnerElement::attachInnerElement):
78036        * rendering/TextControlInnerElements.h:
78037        * rendering/style/KeyframeList.cpp:
78038        (WebCore::KeyframeList::clear):
78039        (WebCore::KeyframeList::operator==):
78040        (WebCore::KeyframeList::insert):
78041        * rendering/style/KeyframeList.h:
78042        (WebCore::KeyframeValue::KeyframeValue):
78043        (WebCore::KeyframeValue::~KeyframeValue):
78044        (WebCore::KeyframeValue::key):
78045        (WebCore::KeyframeValue::style):
78046        * rendering/style/RenderStyle.cpp:
78047        (WebCore::defaultStyle):
78048        (WebCore::RenderStyle::create):
78049        (WebCore::RenderStyle::createDefaultStyle):
78050        (WebCore::RenderStyle::clone):
78051        (WebCore::RenderStyle::RenderStyle):
78052        (WebCore::RenderStyle::getCachedPseudoStyle):
78053        (WebCore::RenderStyle::addCachedPseudoStyle):
78054        * rendering/style/RenderStyle.h:
78055        (WebCore::):
78056        (WebCore::InheritedFlags::operator!=):
78057        * svg/SVGClipPathElement.cpp:
78058        (WebCore::SVGClipPathElement::canvasResource):
78059        * svg/SVGGradientElement.cpp:
78060        (WebCore::SVGGradientElement::buildStops):
78061        * svg/SVGStyledElement.cpp:
78062        (WebCore::SVGStyledElement::resolveStyle):
78063        * svg/SVGStyledElement.h:
78064        * svg/SVGUseElement.cpp:
78065        (WebCore::SVGUseElement::recalcStyle):
78066        (WebCore::SVGUseElement::attachShadowTree):
78067
780682008-10-16  Kenneth Russell  <kenneth.russell@sun.com>
78069
78070        Reviewed and landed by Anders Carlsson.
78071
78072        https://bugs.webkit.org/show_bug.cgi?id=21587
78073        NPN_PluginThreadAsyncCall does not work properly
78074
78075        * plugins/PluginMainThreadScheduler.cpp:
78076        (WebCore::PluginMainThreadScheduler::dispatchCalls):
78077        Make sure to set m_callPending to false once the queue has been cleared.
78078
780792008-10-15  Alexey Proskuryakov  <ap@webkit.org>
78080
78081        Reviewed by Darin Adler.
78082
78083        https://bugs.webkit.org/show_bug.cgi?id=21609
78084        Make MessagePorts protect their peers across heaps
78085
78086        * dom/MessagePort.cpp:
78087        (WebCore::MessagePort::MessagePort):
78088        * dom/MessagePort.h:
78089        (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
78090        (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
78091        Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
78092        means that the implementation object knows about JS bindings - but it is not possible to
78093        access JS wrappers from another heap/thread.
78094
78095        * bindings/js/JSDOMBinding.cpp:
78096        (WebCore::markCrossHeapDependentObjectsForDocument):
78097        * bindings/js/JSDOMBinding.h:
78098        * bindings/js/JSDOMWindowBase.cpp:
78099        (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
78100        * bindings/js/JSDOMWindowBase.h:
78101        Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
78102        hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
78103        as long as its entangled port is accessible itself.
78104
781052008-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
78106
78107        Remove unneeded check of whether a Page defers loading before running it
78108        in a modal dialog.
78109
78110        No test possible.
78111
78112        Reviewed by Tim Hatcher.
78113
78114        * page/Chrome.cpp:
78115
781162008-10-15  Geoffrey Garen  <ggaren@apple.com>
78117
78118        Reviewed by Cameron Zwarich.
78119
78120        Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
78121        Start the debugger without reloading the inspected page
78122
78123        * WebCore.base.exp: New symbols.
78124
78125        * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
78126        * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
78127        * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
78128
78129        * inspector/InspectorController.cpp:
78130        (WebCore::InspectorController::setWindowVisible):
78131        (WebCore::InspectorController::windowScriptObjectAvailable):
78132        (WebCore::InspectorController::startDebugging):
78133        * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
78134        to startDebugging, and changed its behavior to match.
78135
78136        * inspector/JavaScriptDebugListener.h:
78137        * inspector/JavaScriptDebugServer.cpp:
78138        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
78139        (WebCore::JavaScriptDebugServer::addListener):
78140        (WebCore::JavaScriptDebugServer::removeListener):
78141        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
78142        (WebCore::JavaScriptDebugServer::willAddFirstListener):
78143        (WebCore::JavaScriptDebugServer::didRemoveLastListener):
78144        * inspector/JavaScriptDebugServer.h: Refactored the
78145        JavaScriptDebugServer to centralize handling of adding the first listener
78146        and removing the last. Then, added a feature to recompile all JS functions
78147        in these cases. This allows us to dynamically add and remove hooks like
78148        the debugger hooks without reloading the page.
78149
78150        * inspector/front-end/ScriptsPanel.js:
78151        * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
78152        startDebugging rename. Removed all UI that claimed that starting the
78153        debugger would reload the page.
78154
781552008-10-15  Adele Peterson  <adele@apple.com>
78156
78157        Attempt to fix the Tiger build.
78158
78159        * platform/network/mac/ResourceHandleMac.mm:
78160
781612008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
78162
78163        Build fix attempt.
78164
78165        Try to fix static/non-static declaration of g_string_append_uri_escape
78166        by renaming that string. Another look needs to be taken.
78167
78168        * platform/gtk/guriescape.c:
78169        (_webcore_g_string_append_uri_escaped):
78170        (_webcore_g_uri_escape_string):
78171
781722008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
78173
78174        Build fix.
78175
78176        m_animatingImageType is gone.
78177
78178        * platform/graphics/cairo/ImageCairo.cpp:
78179        (WebCore::BitmapImage::BitmapImage):
78180
781812008-10-15  Jeff Cook <cookiecaper@gmail.com>
78182
78183        Reviewed by Holger Freyther.
78184
78185        Stop SIGSEGV when leaving a page with a Flash object by reordering
78186        window destruction and plugin stop.
78187
78188        See https://bugs.webkit.org/show_bug.cgi?id=20779
78189
78190        * plugins/gtk/PluginViewGtk.cpp:
78191        (WebCore::PluginView::stop):
78192
781932008-10-15  Adele Peterson  <adele@apple.com>
78194
78195        Reviewed by Sam Weinig.
78196
78197        Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
78198
78199        * platform/network/ResourceHandle.h:
78200        * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
78201        * platform/network/mac/ResourceHandleMac.mm:
78202        (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
78203        (WebCore::ResourceHandle::start):
78204        (WebCore::ResourceHandle::cancel):
78205        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
78206        (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
78207        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
78208        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
78209
782102008-10-15  Peter Kasting  <pkasting@google.com>
78211
78212        Reviewed by David Hyatt.
78213
78214        Qt build bustage fix.
78215
78216        * platform/graphics/qt/StillImageQt.h:
78217        (WebCore::StillImage::destroyDecodedData):
78218
782192008-10-15  David Hyatt  <hyatt@apple.com>
78220
78221        Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
78222
78223        Reviewed by Mark Rowe
78224
78225        * rendering/RenderScrollbar.cpp:
78226        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
78227        (WebCore::RenderScrollbar::updateScrollbarPart):
78228
782292008-10-15  Peter Kasting  <pkasting@google.com>
78230
78231        Reviewed by David Hyatt.
78232
78233        https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
78234        Account for paint and timer lag when animating images.  Also pretend
78235        that images whose animations were paused (by becoming invisible)
78236        continued to animate, by "catching up" to the correct frame when they're
78237        shown again.
78238
78239        * platform/graphics/BitmapImage.cpp:
78240        (WebCore::BitmapImage::BitmapImage):
78241        (WebCore::BitmapImage::destroyDecodedData):
78242        (WebCore::BitmapImage::cacheFrame):
78243        (WebCore::BitmapImage::frameIsCompleteAtIndex):
78244        (WebCore::BitmapImage::frameDurationAtIndex):
78245        (WebCore::BitmapImage::frameHasAlphaAtIndex):
78246        (WebCore::BitmapImage::repetitionCount):
78247        (WebCore::BitmapImage::shouldAnimate):
78248        (WebCore::BitmapImage::startAnimation):
78249        (WebCore::BitmapImage::resetAnimation):
78250        (WebCore::BitmapImage::advanceAnimation):
78251        (WebCore::BitmapImage::internalAdvanceAnimation):
78252        (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
78253        * platform/graphics/BitmapImage.h:
78254        (WebCore::FrameData::FrameData):
78255        (WebCore::BitmapImage::):
78256        * platform/graphics/GeneratedImage.h:
78257        (WebCore::GeneratedImage::destroyDecodedData):
78258        * platform/graphics/Image.h:
78259        * platform/graphics/cairo/ImageCairo.cpp:
78260        (WebCore::FrameData::clear):
78261        (WebCore::BitmapImage::BitmapImage):
78262        (WebCore::BitmapImage::draw):
78263        * platform/graphics/cg/ImageCG.cpp:
78264        (WebCore::FrameData::clear):
78265        (WebCore::BitmapImage::BitmapImage):
78266        (WebCore::BitmapImage::draw):
78267        * platform/graphics/cg/PDFDocumentImage.h:
78268        (WebCore::PDFDocumentImage::destroyDecodedData):
78269        * platform/graphics/qt/ImageQt.cpp:
78270        (WebCore::FrameData::clear):
78271        (WebCore::BitmapImage::draw):
78272        * platform/graphics/wx/ImageWx.cpp:
78273        (WebCore::FrameData::clear):
78274        (WebCore::BitmapImage::draw):
78275        * svg/graphics/SVGImage.h:
78276        (WebCore::SVGImage::destroyDecodedData):
78277
782782008-10-14  Maxime Britto  <britto@apple.com>
78279
78280        Reviewed by Darin Adler, tweaked and landed by Beth.
78281
78282        * WebCore.base.exp: Exposes two functions to be able to create a
78283        selection from a point on the screen. Also exposes the new
78284        TextIterator::currentNode function.
78285        * WebCore/editing/TextIterator.cpp:
78286        (TextIterator::currentNode) : New function that returns the current
78287        text node or NULL if there is no text node.
78288
782892008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
78290
78291        Reviewed by Holger Freyther.
78292
78293        http://bugs.webkit.org/show_bug.cgi?id=21211
78294        [CURL] Upload doesn't work because cancel is called
78295
78296        FormDataStream::read returns 0 when retrieving data from the form
78297        fails, but also when there is no more data to send. This means that
78298        ResourceHandleManager::cancel is always called even when the data was
78299        successfully sent.
78300
78301        Check if there are more elements in the form before calling
78302        FormDataStream::read.
78303
78304        * platform/network/curl/FormDataStreamCurl.cpp:
78305        (WebCore::FormDataStream::hasMoreElements):
78306        * platform/network/curl/FormDataStreamCurl.h:
78307        * platform/network/curl/ResourceHandleManager.cpp:
78308        (WebCore::readCallback):
78309
783102008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
78311
78312        Reviewed by Holger Freyther.
78313
78314        http://bugs.webkit.org/show_bug.cgi?id=20664
78315        [GTK] File names are not always encodable in UTF-8
78316
78317        On Linux file names are just raw data and cannot always be directly
78318        encoded in UTF-8 or in any other encodings, so we escape them before
78319        storing the file name in a String and unescape them before passing
78320        them to native functions handling files.
78321
78322        * GNUmakefile.am:
78323        * platform/FileSystem.h:
78324        * platform/gtk/FileChooserGtk.cpp:
78325        (WebCore::stringByAdoptingFileSystemRepresentation):
78326        (WebCore::FileChooser::basenameForWidth):
78327        * platform/gtk/FileSystemGtk.cpp:
78328        (WebCore::filenameToString):
78329        (WebCore::filenameFromString):
78330        (WebCore::filenameForDisplay):
78331        (WebCore::fileExists):
78332        (WebCore::deleteFile):
78333        (WebCore::deleteEmptyDirectory):
78334        (WebCore::getFileSize):
78335        (WebCore::getFileModificationTime):
78336        (WebCore::makeAllDirectories):
78337        (WebCore::homeDirectoryPath):
78338        (WebCore::pathGetFileName):
78339        (WebCore::listDirectory):
78340        * platform/gtk/KURLGtk.cpp:
78341        (WebCore::KURL::fileSystemPath):
78342        * platform/gtk/SharedBufferGtk.cpp:
78343        (WebCore::SharedBuffer::createWithContentsOfFile):
78344        * platform/gtk/guriescape.c: Added.
78345        (is_valid):
78346        (gunichar_ok):
78347        (g_string_append_uri_escaped):
78348        (_webcore_g_uri_escape_string):
78349        * platform/gtk/guriescape.h: Added.
78350
783512008-10-15  Dirk Schulze  <vbs85@gmx.de>
78352
78353        Reviewed by Eric Seidel.
78354
78355        - part of https://bugs.webkit.org/show_bug.cgi?id=20543
78356          Moved gradient spread method out of SVG into the GraphicsContext.
78357
78358        * platform/graphics/GraphicsContext.cpp:
78359        (WebCore::GraphicsContext::spreadMethod):
78360        (WebCore::GraphicsContext::setSpreadMethod):
78361        * platform/graphics/GraphicsContext.h:
78362        (WebCore::):
78363        * platform/graphics/GraphicsContextPrivate.h:
78364        * platform/graphics/cairo/GraphicsContextCairo.cpp:
78365        (WebCore::applySpreadMethod):
78366        (WebCore::GraphicsContext::fillPath):
78367        (WebCore::GraphicsContext::strokePath):
78368        * platform/graphics/qt/GraphicsContextQt.cpp:
78369        (WebCore::applySpreadMethod):
78370        (WebCore::GraphicsContext::fillPath):
78371        (WebCore::GraphicsContext::strokePath):
78372        * svg/GradientAttributes.h:
78373        (WebCore::GradientAttributes::GradientAttributes):
78374        (WebCore::GradientAttributes::spreadMethod):
78375        (WebCore::GradientAttributes::setSpreadMethod):
78376        * svg/SVGGradientElement.cpp:
78377        (WebCore::SVGGradientElement::parseMappedAttribute):
78378        * svg/SVGGradientElement.h:
78379        * svg/SVGLinearGradientElement.cpp:
78380        (WebCore::SVGLinearGradientElement::collectGradientProperties):
78381        * svg/SVGRadialGradientElement.cpp:
78382        (WebCore::SVGRadialGradientElement::collectGradientProperties):
78383        * svg/graphics/SVGPaintServerGradient.cpp:
78384        (WebCore::operator<<):
78385        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
78386        (WebCore::SVGPaintServerGradient::spreadMethod):
78387        (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
78388        (WebCore::SVGPaintServerGradient::externalRepresentation):
78389        * svg/graphics/SVGPaintServerGradient.h:
78390        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
78391        (WebCore::SVGPaintServerGradient::setup):
78392        * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
78393        (WebCore::SVGPaintServerGradient::setup):
78394
783952008-10-09  Darin Fisher  <darin@chromium.org>
78396
78397        Reviewed by Sam Weinig.
78398
78399        Make pan scrolling a platform configurable option
78400        https://bugs.webkit.org/show_bug.cgi?id=21515
78401
78402        * page/EventHandler.cpp:
78403        (WebCore::EventHandler::handleAutoscroll):
78404        (WebCore::EventHandler::autoscrollTimerFired):
78405        (WebCore::EventHandler::stopAutoscrollTimer):
78406        (WebCore::EventHandler::handleMousePressEvent):
78407        (WebCore::EventHandler::keyEvent):
78408
784092008-10-10  Darin Fisher  <darin@chromium.org>
78410
78411        Reviewed by Darin Adler.
78412
78413        Add some PLATFORM(CHROMIUM) ifdefs to WebCore
78414        https://bugs.webkit.org/show_bug.cgi?id=21511
78415
78416        * loader/FTPDirectoryDocument.cpp:
78417        * loader/FTPDirectoryParser.cpp:
78418        * loader/FrameLoader.cpp:
78419        (WebCore::FrameLoader::finishedLoadingDocument):
78420        * platform/ContextMenuItem.h:
78421        * platform/Cursor.h:
78422        * platform/DragData.h:
78423        * platform/DragImage.h:
78424        * platform/Pasteboard.h:
78425        * platform/PlatformKeyboardEvent.h:
78426        (WebCore::PlatformKeyboardEvent::isSystemKey):
78427        * platform/PlatformMenuDescription.h:
78428        * platform/PlatformMouseEvent.h:
78429        * platform/PlatformWheelEvent.h:
78430        * platform/PopupMenu.h:
78431        * platform/ScrollView.h:
78432        * platform/Widget.h:
78433        * platform/network/NetworkStateNotifier.h:
78434
784352008-10-14  Chris Marrin  <cmarrin@apple.com>
78436
78437        Reviewed by Darin Adler.
78438
78439        Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
78440        Optimize keyframe style sheet changes by avoiding styleSheetChanged()
78441
78442        Test: css3/change-keyframes.html
78443
78444        * css/WebKitCSSKeyframesRule.cpp:
78445        (WebCore::WebKitCSSKeyframesRule::append):
78446        (WebCore::WebKitCSSKeyframesRule::deleteRule):
78447
784482008-10-14  David Hyatt  <hyatt@apple.com>
78449
78450        https://bugs.webkit.org/show_bug.cgi?id=21595
78451
78452        Clean up background and overflow propagation from the body to the viewport.  Make it match the
78453        latest CSS2.1 spec thinking.
78454
78455        Reviewed by Adam Roben
78456
78457        Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
78458        (available at http://simon.html5.org/test/css/magic-body/).
78459
78460        * dom/Document.cpp:
78461        (WebCore::Document::body):
78462        * page/FrameView.cpp:
78463        (WebCore::FrameView::layout):
78464        * rendering/RenderBox.cpp:
78465        (WebCore::RenderBox::styleDidChange):
78466        (WebCore::RenderBox::paintRootBoxDecorations):
78467        (WebCore::RenderBox::paintBoxDecorations):
78468        (WebCore::RenderBox::repaintLayerRectsForImage):
78469
784702008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
78471
78472        Reviewed and landed by Sam Weinig.
78473
78474        Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
78475        remove NSResolver code, leaving only checking for selectors that need
78476        NS resolution and throwing a coresponding error.
78477
78478        * WebCore.pro:
78479        * WebCore.vcproj/WebCore.vcproj:
78480        * WebCore.xcodeproj/project.pbxproj:
78481        * WebCoreSources.bkl:
78482        * bindings/js/JSDocumentCustom.cpp:
78483        * bindings/js/JSDocumentFragmentCustom.cpp:
78484        * bindings/js/JSElementCustom.cpp:
78485        * bindings/js/JSNSResolver.cpp: Removed.
78486        * bindings/js/JSNSResolver.h: Removed.
78487        * dom/Document.idl:
78488        * dom/DocumentFragment.idl:
78489        * dom/Element.idl:
78490        * dom/NSResolver.h: Removed.
78491        * dom/NSResolver.idl: Removed.
78492        * dom/Node.h:
78493        * dom/Node.cpp:
78494        (WebCore::forEachTagSelector):
78495        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
78496        (WebCore::selectorNeedsNamespaceResolution):
78497        (WebCore::Node::querySelector):
78498        (WebCore::Node::querySelectorAll):
78499
785002008-10-14  Darin Adler  <darin@apple.com>
78501
78502        Reviewed by Sam Weinig (all but the FormDataListItem rename).
78503
78504        - https://bugs.webkit.org/show_bug.cgi?id=21593
78505          Bug 21593: add multiple-file support to HTMLFormElement
78506
78507        * html/FormDataList.cpp: Removed appendFile since it's now inline.
78508        Also took incorrect old copyrights off of this file that are left
78509        over from when it was split.
78510        * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
78511        made it a member of FormDataList. Changed it to hold a File object
78512        instead of a path. And made its data members private. Changed
78513        FormDataList::appendFile accordingly.
78514
78515        * html/HTMLFormElement.cpp:
78516        (WebCore::HTMLFormElement::formData): Updated for above changes.
78517        Removed the code that special-cases HTMLInputElement, because now
78518        the FormDataListItem has everything we need. And if there are
78519        multiple files, we'll get multiple list items for them.
78520
78521        * html/HTMLInputElement.cpp:
78522        (WebCore::HTMLInputElement::appendFormData): Changed the code for
78523        <input type=file> to use File objects instead of path strings and
78524        also to append multiple files if the file list has them.
78525
785262008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
78527
78528        Reviewed by Simon.
78529
78530        Fix QtWebKit scrollbar painting errors
78531
78532        * platform/qt/ScrollbarThemeQt.cpp:
78533        (WebCore::ScrollbarThemeQt::paint):
78534        (WebCore::ScrollbarThemeQt::paintScrollCorner):
78535
785362008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
78537
78538        Reviewed by Simon.
78539
78540        Fix scrollbar arrows for horizontal scrollbars
78541
78542        * platform/qt/ScrollbarThemeQt.cpp:
78543        (WebCore::styleOptionSlider):
78544
785452008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
78546
78547        Reviewed by Simon.
78548
78549        Use style-painter to draw scrollbars in ScrollbarThemeQt
78550
78551        This has the benefit of setting up the painter properly without
78552        antialiasing and saving and restoring the brush. It also ensures
78553        that we use the style of the QWebView over the QApplication style
78554        if possible.
78555
78556        * platform/qt/RenderThemeQt.cpp:
78557        (WebCore::StylePainter::StylePainter):
78558        (WebCore::StylePainter::init):
78559        * platform/qt/RenderThemeQt.h:
78560        * platform/qt/ScrollbarThemeQt.cpp:
78561        (WebCore::ScrollbarThemeQt::paint):
78562
785632008-10-13  David Hyatt  <hyatt@apple.com>
78564
78565        Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
78566        for how to add support for the rest.
78567
78568        Reviewed by Oliver Hunt
78569
78570        * page/animation/AnimationBase.cpp:
78571        (WebCore::ensurePropertyMap):
78572        * rendering/style/RenderStyle.h:
78573        (WebCore::RenderStyle::fillOpacity):
78574        (WebCore::RenderStyle::setFillOpacity):
78575        (WebCore::RenderStyle::strokeOpacity):
78576        (WebCore::RenderStyle::setStrokeOpacity):
78577        (WebCore::RenderStyle::floodOpacity):
78578        (WebCore::RenderStyle::setFloodOpacity):
78579
785802008-10-13  David Hyatt  <hyatt@apple.com>
78581
78582        <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
78583
78584        Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
78585        implements paintTrackBackground so that when the thumb is not present the track still paints.
78586
78587        Reviewed by Oliver Hunt
78588
78589        * platform/ScrollbarThemeComposite.cpp:
78590        (WebCore::ScrollbarThemeComposite::paint):
78591        * platform/win/ScrollbarThemeWin.cpp:
78592        (WebCore::ScrollbarThemeWin::paintTrackBackground):
78593        * platform/win/ScrollbarThemeWin.h:
78594
785952008-10-13  David Hyatt  <hyatt@apple.com>
78596
78597        Fix over-invalidation of native scrollbars.
78598
78599        Reviewed by Oliver Hunt
78600
78601        * platform/Scrollbar.h:
78602        (WebCore::Scrollbar::styleChanged):
78603        * platform/mac/ScrollbarThemeMac.mm:
78604        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
78605        * rendering/RenderScrollbar.cpp:
78606        (WebCore::RenderScrollbar::styleChanged):
78607
786082008-10-13  Alp Toker  <alp@nuanti.com>
78609
78610        Fix autotools dist build target by listing recently added header
78611        files only. Not reviewed.
78612
78613        * GNUmakefile.am:
78614
786152008-10-13  Mark Rowe  <mrowe@apple.com>
78616
78617        Reviewed by Brady Eidson.
78618
78619        Don't run a SQLite query on every iteration of the sync thread when the query
78620        will touch a large portion of the icon database while performing no useful work.
78621
78622        * loader/icon/IconDatabase.cpp:
78623        (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
78624        we modified the database.
78625        (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
78626        unless we've been asked to prune any dangling pageURLs that we find.
78627
786282008-10-13  Maciej Stachowiak  <mjs@apple.com>
78629
78630        Rubber stamped by Mark Rowe.
78631
78632        - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
78633
78634        * Configurations/DebugRelease.xcconfig:
78635
786362008-10-13  David Hyatt  <hyatt@apple.com>
78637
78638        Make dropdown lists on Windows work with CSS custom scrollbars.
78639
78640        Reviewed by Adele
78641
78642        * platform/PopupMenu.h:
78643        (WebCore::PopupMenu::scrollbarCornerPresent):
78644        * platform/PopupMenuClient.h:
78645        * platform/win/PopupMenuWin.cpp:
78646        (WebCore::PopupMenu::show):
78647        * rendering/RenderMenuList.cpp:
78648        (WebCore::RenderMenuList::createScrollbar):
78649        * rendering/RenderMenuList.h:
78650        * rendering/RenderTextControl.cpp:
78651        (WebCore::RenderTextControl::createScrollbar):
78652        * rendering/RenderTextControl.h:
78653
786542008-10-13  Chris Fleizach  <cfleizach@apple.com>
78655
78656        Reviewed by Beth Dakin.
78657
78658        <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
78659
78660        Links from image maps were not being included in the web area's AXLinkUIElements attribute.
78661        The position of image map links was being reported incorrectly and the parent-chain
78662        hierarchy for image map links was incorrect because image map links did not have a reference
78663        to their parent image.
78664
78665        Test: accessibility/document-links.html
78666
78667        * page/AccessibilityImageMapLink.cpp:
78668        (WebCore::AccessibilityImageMapLink::parentObject):
78669        (WebCore::AccessibilityImageMapLink::actionElement):
78670        (WebCore::AccessibilityImageMapLink::elementRect):
78671        * page/AccessibilityImageMapLink.h:
78672        (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
78673        (WebCore::AccessibilityImageMapLink::setParent):
78674        * page/AccessibilityObject.cpp:
78675        * page/AccessibilityObject.h:
78676        * page/AccessibilityRenderObject.cpp:
78677        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
78678        (WebCore::AccessibilityRenderObject::getDocumentLinks):
78679        (WebCore::AccessibilityRenderObject::addChildren):
78680        * page/AccessibilityRenderObject.h:
78681        * page/mac/AccessibilityObjectWrapper.mm:
78682        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
78683
786842008-10-13  David Hyatt  <hyatt@apple.com>
78685
78686        Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
78687        the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
78688        idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
78689
78690        Reviewed by Tim Hatcher
78691
78692        Added scrollbars/listbox-scrollbar-combinations.html
78693
78694        * rendering/RenderListBox.cpp:
78695        (WebCore::RenderListBox::~RenderListBox):
78696        (WebCore::RenderListBox::updateFromElement):
78697        (WebCore::RenderListBox::createScrollbar):
78698        (WebCore::RenderListBox::destroyScrollbar):
78699        (WebCore::RenderListBox::setHasVerticalScrollbar):
78700        * rendering/RenderListBox.h:
78701
787022008-10-13  David Hyatt  <hyatt@apple.com>
78703
78704        In order to always match the :corner-present pseudo-class properly, delay initial updating of
78705        scrollbar styles until the layer has the scrollbars in its member variables.
78706
78707        Reviewed by Tim Hatcher
78708
78709        * rendering/RenderLayer.cpp:
78710        (WebCore::RenderLayer::setHasHorizontalScrollbar):
78711        (WebCore::RenderLayer::setHasVerticalScrollbar):
78712        * rendering/RenderScrollbar.cpp:
78713        (WebCore::RenderScrollbar::RenderScrollbar):
78714
787152008-10-13  Sam Weinig  <sam@webkit.org>
78716
78717        Reviewed by Dan Bernstein.
78718
78719        Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
78720        5 false positive StructureID leaks
78721
78722        In WebCore, we intentionally leak the common JSGlobalData which in turn
78723        leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
78724        ignore the StructureIDs leaked within.
78725
78726        * bindings/js/JSDOMWindowBase.cpp:
78727        (WebCore::JSDOMWindowBase::commonJSGlobalData):
78728
787292008-10-13  David Hyatt  <hyatt@apple.com>
78730
78731        Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
78732        artwork based on whether there is a scrollbar corner present.
78733
78734        Reviewed by Tim Hatcher
78735
78736        * css/CSSSelector.cpp:
78737        (WebCore::CSSSelector::extractPseudoType):
78738        * css/CSSSelector.h:
78739        (WebCore::CSSSelector::):
78740        * css/CSSStyleSelector.cpp:
78741        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
78742        * platform/ScrollView.cpp:
78743        (WebCore::ScrollView::scrollbarCornerPresent):
78744        * platform/ScrollView.h:
78745        * platform/ScrollbarClient.h:
78746        * rendering/RenderLayer.cpp:
78747        (WebCore::cornerRect):
78748        (WebCore::scrollCornerRect):
78749        (WebCore::resizerCornerRect):
78750        (WebCore::RenderLayer::scrollbarCornerPresent):
78751        (WebCore::RenderLayer::setHasHorizontalScrollbar):
78752        (WebCore::RenderLayer::setHasVerticalScrollbar):
78753        * rendering/RenderLayer.h:
78754        (WebCore::RenderLayer::horizontalScrollbar):
78755        (WebCore::RenderLayer::verticalScrollbar):
78756        * rendering/RenderListBox.h:
78757        (WebCore::RenderListBox::scrollbarCornerPresent):
78758
787592008-10-13  David Hyatt  <hyatt@apple.com>
78760
78761        Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
78762        test case for all this can land).
78763
78764        Reviewed by Tim Hatcher
78765
78766        * css/CSSStyleSelector.cpp:
78767        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
78768        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
78769        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
78770        * rendering/RenderLayer.cpp:
78771        (WebCore::RenderLayer::paintOverflowControls):
78772        (WebCore::RenderLayer::paintScrollCorner):
78773        (WebCore::RenderLayer::paintResizer):
78774        (WebCore::RenderLayer::styleChanged):
78775        (WebCore::RenderLayer::updateScrollCornerStyle):
78776        (WebCore::RenderLayer::updateResizerStyle):
78777        * rendering/RenderLayer.h:
78778        * rendering/RenderScrollbar.cpp:
78779        (WebCore::RenderScrollbar::paint):
78780        * rendering/RenderScrollbarPart.cpp:
78781        (WebCore::RenderScrollbarPart::paintIntoRect):
78782
787832008-10-13  David Hyatt  <hyatt@apple.com>
78784
78785        Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
78786        and invalidate properly as images load, etc.
78787
78788        Reviewed by Tim Hatcher
78789
78790        * rendering/RenderLayer.cpp:
78791        (WebCore::cornerRect):
78792        (WebCore::scrollCornerRect):
78793        (WebCore::resizerCornerRect):
78794        (WebCore::RenderLayer::positionOverflowControls):
78795        (WebCore::RenderLayer::paintOverflowControls):
78796        (WebCore::RenderLayer::paintScrollCorner):
78797        (WebCore::RenderLayer::paintResizer):
78798        (WebCore::RenderLayer::isPointInResizeControl):
78799        (WebCore::RenderLayer::hitTestOverflowControls):
78800        (WebCore::RenderLayer::styleChanged):
78801        * rendering/RenderLayer.h:
78802        * rendering/RenderObject.h:
78803        (WebCore::RenderObject::setRect):
78804        * rendering/RenderScrollbarPart.cpp:
78805        (WebCore::RenderScrollbarPart::styleDidChange):
78806        (WebCore::RenderScrollbarPart::imageChanged):
78807
788082008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
78809
78810        Reviewed by Darin Adler. Landed by Jan Alonzo.
78811
78812        WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
78813        http://bugs.webkit.org/show_bug.cgi?id=20483
78814
78815        Start the conversion to use GOwnPtr and fix a memory leak.
78816
78817        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
78818        (WebCore::mediaPlayerPrivateErrorCallback):
78819
788202008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
78821
78822        Windows build fix.
78823
78824        * loader/TextResourceDecoder.cpp:
78825
788262008-10-12  Darin Fisher  <darin@chromium.org>
78827
78828        Reviewed by Darin Adler.
78829
78830        - fix https://bugs.webkit.org/show_bug.cgi?id=21229
78831          Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
78832
78833        * platform/network/NetworkStateNotifier.h: Add the #include.
78834
788352008-10-12  Darin Adler  <darin@apple.com>
78836
78837        Based on work by Holger Freyther.
78838
78839        - part of https://bugs.webkit.org/show_bug.cgi?id=20953
78840          Split WidthIterator into its own source file.
78841
78842        * GNUmakefile.am: Added new source files.
78843        * WebCore.vcproj/WebCore.vcproj: Ditto.
78844        * WebCore.xcodeproj/project.pbxproj: Ditto.
78845        * WebCoreSources.bkl: Ditto.
78846
78847        * platform/graphics/Font.cpp: Use WidthIterator from its new place.
78848        * platform/graphics/WidthIterator.cpp: Added.
78849        * platform/graphics/WidthIterator.h: Added.
78850
788512008-10-12  Tony Chang  <tony@chromium.org>
78852
78853        Reviewed by Sam Weinig.
78854
78855        - https://bugs.webkit.org/show_bug.cgi?id=21480
78856          Remove duplicate definitions of MimeClassInfo and PluginInfo.
78857
78858        * plugins/PluginInfoStore.cpp: Added an include.
78859        * plugins/PluginInfoStore.h: Removed struct declarations.
78860
788612008-10-12  Darin Adler  <darin@apple.com>
78862
78863        Reviewed by Dan Bernstein.
78864
78865        - https://bugs.webkit.org/show_bug.cgi?id=21563
78866          Bug 21563: platform Gradient class should not use the CSS parser
78867
78868        * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
78869        that accepts a CSS color string. That's handled in the DOM now, not here.
78870        (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
78871        copy of it here.
78872        * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
78873
788742008-10-12  Glenn Wilson  <gwilson@google.com>
78875
78876        Reviewed by Darin Adler.
78877
78878        - https://bugs.webkit.org/show_bug.cgi?id=20461
78879
78880        Added feature to allow multi-line inputs into text fields.
78881        HTMLInputElement would cut the set text at the first 'system' character,
78882        so it would truncate at the first carriage return or newline.
78883        This fix modifies that behavior to truncate at any non-space system character
78884        but changes \r, \n, and \r\n to a single space.
78885
78886        Tests: editing/pasteboard/paste-multiline-text-input.html
78887
78888        * html/HTMLInputElement.cpp:
78889        (WebCore::HTMLInputElement::constrainValue):
78890
788912008-10-12  Dirk Schulze  <vbs85@gmx.de>
78892
78893        Reviewed by Eric Seidel.
78894
78895        - https://bugs.webkit.org/show_bug.cgi?id=20435
78896
78897        Added exception codes to canvas gradients to match current specification.
78898
78899        Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
78900               fast/canvas/linearGradient-infinite-values.html
78901               fast/canvas/radialGradient-infinite-values.html
78902
78903        * html/CanvasGradient.cpp:
78904        (WebCore::CanvasGradient::addColorStop):
78905        * html/CanvasGradient.h:
78906        * html/CanvasGradient.idl:
78907        * html/CanvasRenderingContext2D.cpp:
78908        (WebCore::CanvasRenderingContext2D::createLinearGradient):
78909        (WebCore::CanvasRenderingContext2D::createRadialGradient):
78910        * html/CanvasRenderingContext2D.h:
78911        * html/CanvasRenderingContext2D.idl:
78912
789132008-10-12  Eric Roman  <eroman@chromium.org>
78914
78915        - https://bugs.webkit.org/show_bug.cgi?id=20246
78916          Implement RenderThemeWin::systemColor() to match Windows colors.
78917
78918        Reviewed by David Hyatt.
78919
78920        * rendering/RenderThemeWin.cpp:
78921        (WebCore::cssValueIdToSysColorIndex):
78922        (WebCore::RenderThemeWin::systemColor):
78923        * rendering/RenderThemeWin.h:
78924
789252008-10-12  Aaron Bockover  <abockover@novell.com>
78926
78927        Reviewed by Alp Toker.
78928
78929        Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
78930        plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
78931        handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
78932
78933        * plugins/gtk/PluginPackageGtk.cpp:
78934
789352008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
78936
78937        Reviewed by Oliver Hunt.
78938
78939        - https://bugs.webkit.org/show_bug.cgi?id=19331
78940          <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
78941
78942        * page/DragController.cpp:
78943        (WebCore::DragController::startDrag): When a link is dragged without any
78944        text selected (note: for this to work, the EditableLinkBehavior setting must be
78945        set to 'live' or 'default') and then dropped into an editable html document it
78946        will eventually violate an ASSERT in MoveSelectionCommand that requires that there
78947        is a selection.  To prevent this, expand the selection to the enclosing anchor tag
78948        when the drag begins.
78949
789502008-10-12  Darin Adler  <darin@apple.com>
78951
78952        Reviewed by Mark Rowe.
78953
78954        - fix https://bugs.webkit.org/show_bug.cgi?id=21557
78955          Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
78956
78957        * rendering/RenderObject.cpp:
78958        (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
78959        until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
78960        as RenderObject::isText(), and this guarantees that the node can be cast to
78961        Element*, which is done just below. The reason this is hit is that RenderLayer
78962        can call getPseudoStyle on a RenderView, which has the document as its
78963        element() -- and a document is neither a Text node nor an Element. A loose
78964        end is that this seems to mean you can't style the scrollbar corner or the
78965        resizer on a RenderView. Hyatt may want to look into that later.
78966
789672008-10-12  Darin Adler  <darin@apple.com>
78968
78969        Reviewed by Sam Weinig.
78970
78971        - https://bugs.webkit.org/show_bug.cgi?id=21556
78972          Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
78973
78974        Tests: fast/dom/HTMLFontElement/size-attribute.html
78975               fast/dom/HTMLInputElement/size-attribute.html
78976               fast/dom/HTMLTableElement/cellpadding-attribute.html
78977
78978        * html/HTMLFontElement.cpp:
78979        (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
78980        Unicode::isDigit, since non-ASCII digits are not valid here.
78981        * html/HTMLFontElement.h: Tweaked formatting a bit and removed
78982        the unneeded destructor declaration.
78983        * platform/text/String.cpp:
78984        (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
78985        of Unicode::isDigit, since non-ASCII digits are not valid.
78986
789872008-10-12  Jungshik Shin  <jshin@chromium.org>
78988
78989        Reviewed by Darin Adler.
78990
78991        Treat x-user-defined as windows-1252 for html files with meta charset
78992        declaration to be compatible with Indian web sites.
78993        ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
78994
78995        Test: fast/encoding/charset-xuser-defined.html
78996
78997        * loader/TextResourceDecoder.cpp:
78998        (WebCore::TextResourceDecoder::setEncoding):
78999
790002008-10-12  Sam Weinig  <sam@webkit.org>
79001
79002        Reviewed by Dan Bernstein.
79003
79004        Remove unneeded forward declaration.
79005
79006        * platform/graphics/ImageBuffer.h:
79007
790082008-10-12  Sam Weinig  <sam@webkit.org>
79009
79010        Reviewed by Darin Adler.
79011
79012        Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
79013        Layering violation: String should not be responsible for creating Lengths
79014
79015        It was a layering violation for String to know haw to parse
79016        into Lengths, LengthArrays, and CoordsArrays.
79017
79018        * GNUmakefile.am:
79019        * WebCore.pro:
79020        * WebCore.vcproj/WebCore.vcproj:
79021        * WebCore.xcodeproj/project.pbxproj:
79022        * WebCoreSources.bkl:
79023        * html/HTMLAreaElement.cpp:
79024        (WebCore::HTMLAreaElement::parseMappedAttribute):
79025        * html/HTMLFrameSetElement.cpp:
79026        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
79027        * platform/text/AtomicString.h:
79028        (WebCore::AtomicString::percentage):
79029        * platform/text/PlatformString.h:
79030        * platform/text/String.cpp:
79031        * platform/text/StringImpl.cpp:
79032        * platform/text/StringImpl.h:
79033        * rendering/Length.cpp: Added.
79034        (WebCore::parseLength):
79035        (WebCore::countCharacter):
79036        (WebCore::newCoordsArray):
79037        (WebCore::newLengthArray):
79038        * rendering/Length.h:
79039        (WebCore::LengthSize::LengthSize):
79040
790412008-10-12  Brad Garcia  <bgarcia@google.com>
79042
79043        Reviewed by Darin Adler.
79044
79045        Interpret fractional percentage values for %MultiLength values.
79046        Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
79047        Test: fast/frames/frame-length-fractional-percentage.html
79048
79049        * platform/text/StringImpl.cpp:
79050        (WebCore::parseLength):
79051
790522008-10-12  Timothy Hatcher  <timothy@apple.com>
79053
79054        Remember the expanded state of the rules in the Styles pane. So
79055        collapsing a rule will persist across all the elements that have
79056        that same rule. The same applies to Computed Style, so the Computed
79057        Style rule is now collapsed by default. This should help lessen the
79058        confusion on why Computed Style can't be edited (a common confusion.)
79059
79060        https://bugs.webkit.org/show_bug.cgi?id=21553
79061
79062        Reviewed by Darin Adler.
79063
79064        * inspector/front-end/PropertiesSection.js:
79065        (WebInspector.PropertiesSection): Set the _expanded property directly,
79066        instead of using the setter. Expanded is the default, so no work is needed.
79067        This prevents calling StylesSidebarPane.collapse before object initialization
79068        is complete.
79069        * inspector/front-end/StylesSidebarPane.js:
79070        (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
79071        for the expanded state of the StylePropertiesSection. Collapse computed style
79072        by default and expand everything else.
79073        (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
79074        when remembering expanded state.
79075        (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
79076        to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
79077        the state if the dontRememberState property is true.
79078        (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
79079        to false for this identifier in Preferences.styleRulesExpandedState.
79080        * inspector/front-end/inspector.js:
79081        (Preferences.styleRulesExpandedState): Initialize to an empty object.
79082
790832008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
79084
79085        Reviewed by Alp Toker.
79086
79087        [Gtk] Remove libWebCoreJS.la when doing make clean
79088        https://bugs.webkit.org/show_bug.cgi?id=21544
79089
79090        Remove libWebCoreJS.la when doing a clean target
79091
79092        * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
79093
790942008-10-11  Alp Toker  <alp@nuanti.com>
79095
79096        Reviewed by Darin Adler.
79097
79098        https://bugs.webkit.org/show_bug.cgi?id=20592
79099        The focus ring is not shown while navigating on some pages
79100
79101        Fix drawFocusRing() so it doesn't depend on the current graphics
79102        state, thus matching other platforms which already work this way.
79103
79104        This patch provides two code paths: one using straight Cairo and
79105        one specialised for the GTK+ port with a more conventional appearance.
79106
79107        Also change focusRingColor() to return a null color, allowing the
79108        focus ring to pick up the style's current color if it isn't overridden
79109        with CSS.
79110
79111        * platform/graphics/cairo/GraphicsContextCairo.cpp:
79112        (WebCore::GraphicsContext::drawFocusRing):
79113        * platform/gtk/TemporaryLinkStubs.cpp:
79114        (WebCore::focusRingColor):
79115
791162008-10-11  Dan Bernstein  <mitz@apple.com>
79117
79118        Rubber-stamped by Sam Weinig.
79119
79120        - change all internal callers to use Cache::evict() instead of remove()
79121
79122        * loader/Cache.cpp:
79123        (WebCore::Cache::revalidateResource):
79124        (WebCore::Cache::revalidationSucceeded):
79125        (WebCore::Cache::pruneDeadResources):
79126        (WebCore::Cache::setDisabled):
79127
791282008-10-11  David Hyatt  <hyatt@apple.com>
79129
79130        Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
79131
79132        Reviewed by Tim Hatcher
79133
79134        * platform/ScrollbarThemeComposite.cpp:
79135        (WebCore::ScrollbarThemeComposite::invalidatePart):
79136
791372008-10-11  David Hyatt  <hyatt@apple.com>
79138
79139        https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
79140
79141        Also fixed resizer positioning problems.
79142
79143        Reviewed by Tim Hatcher
79144
79145        * platform/ScrollbarThemeComposite.cpp:
79146        (WebCore::ScrollbarThemeComposite::splitTrack):
79147        (WebCore::ScrollbarThemeComposite::trackPosition):
79148        (WebCore::ScrollbarThemeComposite::trackLength):
79149        * platform/ScrollbarThemeComposite.h:
79150        (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
79151        * rendering/RenderLayer.cpp:
79152        (WebCore::scrollCornerRect):
79153        (WebCore::RenderLayer::positionOverflowControls):
79154        (WebCore::RenderLayer::paintOverflowControls):
79155        (WebCore::RenderLayer::isPointInResizeControl):
79156        (WebCore::RenderLayer::hitTestOverflowControls):
79157        * rendering/RenderScrollbarTheme.cpp:
79158        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
79159        * rendering/RenderScrollbarTheme.h:
79160
791612008-10-11  Alp Toker  <alp@nuanti.com>
79162
79163        Reviewed by David Hyatt.
79164
79165        Implement release/retain for Widget GTK+.
79166
79167        * platform/Widget.cpp:
79168        * platform/gtk/WidgetGtk.cpp:
79169        (WebCore::Widget::~Widget):
79170        (WebCore::Widget::releasePlatformWidget):
79171        (WebCore::Widget::retainPlatformWidget):
79172
791732008-10-11  Dan Bernstein  <mitz@apple.com>
79174
79175        Reviewed by Sam Weinig.
79176
79177        - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
79178          and add a corresponding getter; add the same functions on Windows
79179
79180        * WebCore.base.exp:
79181        * platform/graphics/Font.cpp:
79182        (WebCore::Font::setCodePath):
79183        (WebCore::codePath):
79184        (WebCore::Font::canUseGlyphCache):
79185        * platform/graphics/Font.h:
79186        * platform/mac/WebCoreTextRenderer.h:
79187        * platform/mac/WebCoreTextRenderer.mm:
79188        (WebCoreSetAlwaysUsesComplexTextCodePath):
79189        (WebCoreAlwaysUsesComplexTextCodePath):
79190        * platform/win/WebCoreTextRenderer.cpp:
79191        (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
79192        (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
79193        * platform/win/WebCoreTextRenderer.h:
79194
791952008-10-11  Sam Weinig  <sam@webkit.org>
79196
79197        Reviewed by Cameron Zwarich.
79198
79199        Stop leaking the event parameter names.  The protected strings were showing up
79200        in the caches window after one use.  No measurable performance loss.
79201
79202        * bindings/js/JSEventListener.cpp:
79203        (WebCore::eventParameterName):
79204
792052008-10-11  Sam Weinig  <sam@webkit.org>
79206
79207        Reviewed by Cameron Zwarich.
79208
79209        Remove unused function getNodeEventListener.
79210
79211        * bindings/js/JSEventListener.cpp:
79212        * bindings/js/JSEventListener.h:
79213
792142008-10-11  David Hyatt  <hyatt@apple.com>
79215
79216        Add support for both positive and negative margins to tracks and track pieces.
79217
79218        Reviewed by Tim Hatcher
79219
79220        * platform/ScrollbarThemeComposite.cpp:
79221        (WebCore::ScrollbarThemeComposite::paint):
79222        (WebCore::ScrollbarThemeComposite::hitTest):
79223        (WebCore::ScrollbarThemeComposite::splitTrack):
79224        (WebCore::ScrollbarThemeComposite::trackPieceRects):
79225        (WebCore::ScrollbarThemeComposite::trackPosition):
79226        (WebCore::ScrollbarThemeComposite::trackLength):
79227        * platform/ScrollbarThemeComposite.h:
79228        (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
79229        * rendering/RenderScrollbar.cpp:
79230        (WebCore::RenderScrollbar::trackRect):
79231        (WebCore::RenderScrollbar::trackPieceRectWithMargins):
79232        * rendering/RenderScrollbar.h:
79233        * rendering/RenderScrollbarPart.cpp:
79234        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
79235        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
79236        * rendering/RenderScrollbarTheme.cpp:
79237        (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
79238        * rendering/RenderScrollbarTheme.h:
79239
792402008-10-10  David Hyatt  <hyatt@apple.com>
79241
79242        Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
79243        the scrollbar pseudo-elements anyway.
79244
79245        Reviewed by Tim Hatcher
79246
79247        * css/CSSSelector.cpp:
79248        (WebCore::CSSSelector::extractPseudoType):
79249        * css/CSSSelector.h:
79250        (WebCore::CSSSelector::):
79251        * css/CSSStyleSelector.cpp:
79252        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79253
792542008-10-10  Dan Bernstein  <mitz@apple.com>
79255
79256        Reviewed by Sam Weinig.
79257
79258        - separate Cache::remove() into a private method and a public interface,
79259          then make Cache::pruneDeadResources() use the private method.
79260
79261        * loader/Cache.cpp:
79262        (WebCore::Cache::pruneDeadResources):
79263        (WebCore::Cache::evict):
79264        * loader/Cache.h:
79265        (WebCore::Cache::remove):
79266
792672008-10-10  David Hyatt  <hyatt@apple.com>
79268
79269        Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
79270        now that the track pieces meet under the thumb.
79271
79272        Reviewed by Tim Hatcher
79273
79274        * platform/ScrollbarThemeComposite.cpp:
79275        (WebCore::ScrollbarThemeComposite::paint):
79276        (WebCore::ScrollbarThemeComposite::splitTrack):
79277
792782008-10-10  David Hyatt  <hyatt@apple.com>
79279
79280        Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
79281
79282        Reviewed by Tim Hatcher
79283
79284        * platform/ScrollbarThemeComposite.cpp:
79285        (WebCore::ScrollbarThemeComposite::hitTest):
79286        (WebCore::ScrollbarThemeComposite::splitTrack):
79287
792882008-10-10  David Hyatt  <hyatt@apple.com>
79289
79290        Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
79291
79292        Reviewed by Tim Hatcher
79293
79294        * rendering/RenderLayer.cpp:
79295        (WebCore::RenderLayer::createScrollbar):
79296        * rendering/RenderScrollbar.cpp:
79297        (WebCore::RenderScrollbar::createCustomScrollbar):
79298        (WebCore::RenderScrollbar::RenderScrollbar):
79299        (WebCore::RenderScrollbar::setParent):
79300        (WebCore::RenderScrollbar::updateScrollbarParts):
79301        (WebCore::RenderScrollbar::updateScrollbarPart):
79302        * rendering/RenderScrollbar.h:
79303        * rendering/style/RenderStyle.h:
79304        (WebCore::RenderStyle::):
79305
793062008-10-10  David Hyatt  <hyatt@apple.com>
79307
79308        Make sure scrollbar background images cause proper part invalidation to occur.
79309
79310        Reviewed by Tim Hatcher
79311
79312        * rendering/RenderScrollbar.cpp:
79313        (WebCore::RenderScrollbar::setHoveredPart):
79314        (WebCore::RenderScrollbar::setPressedPart):
79315        * rendering/RenderScrollbarPart.cpp:
79316        (WebCore::RenderScrollbarPart::styleDidChange):
79317        (WebCore::RenderScrollbarPart::imageChanged):
79318        * rendering/RenderScrollbarPart.h:
79319
793202008-10-10  Simon Fraser  <simon.fraser@apple.com>
79321
79322        Reviewed by Darin Adler
79323
79324        https://bugs.webkit.org/show_bug.cgi?id=21538
79325
79326        The blendFunc() for TransformOperations should never mess with the
79327        operation lists by replacing some ops with identity, otherwise the lists
79328        no longer match and transitions break.
79329
79330        Test: transitions/matched-transform-functions.html
79331
79332        * page/animation/AnimationBase.cpp:
79333        (WebCore::blendFunc):
79334
793352008-10-10  Simon Fraser  <simon.fraser@apple.com>
79336
79337        Reviewed by Darin Adler
79338
79339        https://bugs.webkit.org/show_bug.cgi?id=21537
79340
79341        Fix re-targetting a running transition; if the target property
79342        changes, we do need to make a new ImplicitAnimation.
79343
79344        Test: transitions/retargetted-transition.html
79345
79346        * page/animation/CompositeAnimation.cpp:
79347        (WebCore::CompositeAnimationPrivate::updateTransitions):
79348
793492008-10-10  Oliver Hunt  <oliver@apple.com>
79350
79351        Reviewed by Cameron Zwarich.
79352
79353        Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
79354
79355        When JS is terminated by the user choosing to stop a slow script
79356        the exception toString method throws, yet the console logger does
79357        not perform exception checks after logging.  This leaves an
79358        exception on the Machine, which in turn results in an assertion
79359        failure next time we attempt to enter JS.  The solution is just to
79360        clear the exception state after attempting to record the exception.
79361
79362        * page/Console.cpp:
79363        (WebCore::Console::reportException):
79364
793652008-10-10  David Hyatt  <hyatt@apple.com>
79366
79367        Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
79368        when looking for pseudo styles.
79369
79370        Reviewed by Tim Hatcher
79371
79372        * rendering/RenderLayer.cpp:
79373        (WebCore::RenderLayer::createScrollbar):
79374        (WebCore::RenderLayer::styleChanged):
79375
793762008-10-10  David Hyatt  <hyatt@apple.com>
79377
79378        Add the ability to style the scroll corner and the resizer from CSS.
79379
79380        Reviewed by Tim Hatcher
79381
79382        * css/CSSSelector.cpp:
79383        (WebCore::CSSSelector::extractPseudoType):
79384        * css/CSSSelector.h:
79385        (WebCore::CSSSelector::):
79386        * css/CSSStyleSelector.cpp:
79387        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
79388        * rendering/RenderLayer.cpp:
79389        (WebCore::RenderLayer::RenderLayer):
79390        (WebCore::RenderLayer::~RenderLayer):
79391        (WebCore::RenderLayer::paintOverflowControls):
79392        (WebCore::RenderLayer::paintScrollCorner):
79393        (WebCore::RenderLayer::paintResizer):
79394        (WebCore::RenderLayer::styleChanged):
79395        * rendering/RenderLayer.h:
79396        * rendering/RenderScrollbar.cpp:
79397        (WebCore::RenderScrollbar::updateScrollbarPart):
79398        (WebCore::RenderScrollbar::paintPart):
79399        * rendering/RenderScrollbarPart.cpp:
79400        (WebCore::RenderScrollbarPart::RenderScrollbarPart):
79401        (WebCore::RenderScrollbarPart::paintIntoRect):
79402        * rendering/RenderScrollbarPart.h:
79403        * rendering/style/RenderStyle.h:
79404        (WebCore::RenderStyle::):
79405
794062008-10-10  David Hyatt  <hyatt@apple.com>
79407
79408        Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
79409
79410        Reviewed by Sam Weinig
79411
79412        No test case possible, since the OS setting can vary.
79413
79414        * css/CSSSelector.cpp:
79415        (WebCore::CSSSelector::extractPseudoType):
79416        * css/CSSSelector.h:
79417        (WebCore::CSSSelector::):
79418        * css/CSSStyleSelector.cpp:
79419        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79420        * platform/Scrollbar.h:
79421        (WebCore::Scrollbar::styleChanged):
79422        * platform/mac/ScrollbarThemeMac.mm:
79423        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
79424        (WebCore::ScrollbarThemeMac::preferencesChanged):
79425        * rendering/RenderLayer.cpp:
79426        (WebCore::RenderLayer::invalidateScrollbarRect):
79427        * rendering/RenderScrollbar.cpp:
79428        (WebCore::RenderScrollbar::styleChanged):
79429        (WebCore::RenderScrollbar::updateScrollbarPart):
79430        * rendering/RenderScrollbar.h:
79431        * rendering/RenderScrollbarTheme.h:
79432        (WebCore::RenderScrollbarTheme::buttonsPlacement):
79433
794342008-10-10  Timothy Hatcher  <timothy@apple.com>
79435
79436        Fixes a regression with input search fields, where the placeholder text
79437        would not be updated when the value of the placeholder attribute changed.
79438
79439        https://bugs.webkit.org/show_bug.cgi?id=21521
79440
79441        Reviewed by Adele Peterson.
79442
79443        Test: fast/forms/search-placeholder-value-changed.html
79444
79445        * html/HTMLInputElement.cpp:
79446        (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
79447        placeholderValueChanged parameter of updatePlaceholderVisibility.
79448        (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
79449        for placeholderValueChanged that informs the method that the value changed.
79450        * html/HTMLInputElement.h: Add the placeholderValueChanged to the
79451        updatePlaceholderVisibility method. Made it default to false.
79452
794532008-10-10  David Hyatt  <hyatt@apple.com>
79454
79455        Allow the track part to have negative margins so that it can slightly overlap buttons.  This
79456        is necessary to emulate the Aqua look in CSS.
79457
79458        Reviewed by Sam Weinig
79459
79460        * platform/ScrollbarThemeComposite.cpp:
79461        (WebCore::ScrollbarThemeComposite::paint):
79462        (WebCore::ScrollbarThemeComposite::hitTest):
79463        * rendering/RenderScrollbar.cpp:
79464        (WebCore::RenderScrollbar::setHoveredPart):
79465        (WebCore::RenderScrollbar::trackRect):
79466        * rendering/RenderScrollbar.h:
79467        * rendering/RenderScrollbarPart.cpp:
79468        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
79469        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
79470        * rendering/RenderScrollbarTheme.cpp:
79471        (WebCore::RenderScrollbarTheme::backButtonRect):
79472        (WebCore::RenderScrollbarTheme::forwardButtonRect):
79473        (WebCore::RenderScrollbarTheme::trackRect):
79474
794752008-10-10  David Hyatt  <hyatt@apple.com>
79476
79477        https://bugs.webkit.org/show_bug.cgi?id=21527
79478
79479        Make CSS scrollbars support :not, :hover and :active.
79480
79481        Reviewed by Adam Roben
79482
79483        Added WebCore/manual-tests/scrollbar-hover-active.html
79484
79485        * css/CSSStyleSelector.cpp:
79486        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
79487        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79488        * platform/Scrollbar.cpp:
79489        (WebCore::Scrollbar::autoscrollPressedPart):
79490        (WebCore::Scrollbar::startTimerIfNeeded):
79491        (WebCore::Scrollbar::setHoveredPart):
79492        (WebCore::Scrollbar::setPressedPart):
79493        (WebCore::Scrollbar::mouseMoved):
79494        (WebCore::Scrollbar::mouseExited):
79495        (WebCore::Scrollbar::mouseUp):
79496        (WebCore::Scrollbar::mouseDown):
79497        * platform/Scrollbar.h:
79498        * rendering/RenderScrollbar.cpp:
79499        (WebCore::RenderScrollbar::setHoveredPart):
79500        (WebCore::RenderScrollbar::setPressedPart):
79501        (WebCore::RenderScrollbar::updateScrollbarParts):
79502        (WebCore::pseudoForScrollbarPart):
79503        (WebCore::RenderScrollbar::updateScrollbarPart):
79504        * rendering/RenderScrollbar.h:
79505
795062008-10-10  Chris Marrin  <cmarrin@apple.com>
79507
79508        Reviewed by Dan Bernstein.
79509
79510        Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
79511        CSS transition with duration=0 and delay=0 doesn't override ongoing transition
79512
79513        Test: transitions/interrupt-zero-duration.html
79514
79515        * page/animation/CompositeAnimation.cpp:
79516        (WebCore::CompositeAnimation::updateTransitions):
79517
795182008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
79519
79520        wx build fix. Add new scrollbar-related sources.
79521
79522        * WebCoreSources.bkl:
79523
795242008-10-10  David Hyatt  <hyatt@apple.com>
79525
79526        https://bugs.webkit.org/show_bug.cgi?id=21522
79527
79528        Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
79529        created.  (Just :hover/:active left to finish it up.)
79530
79531        Reviewed by Adam Roben
79532
79533        Added scrollbars/scrollbar-buttons.html
79534
79535        * css/CSSStyleSelector.cpp:
79536        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79537
795382008-10-10  David Hyatt  <hyatt@apple.com>
79539
79540        Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
79541        back/forward to decrement/increment.  Adding start/end pseudoclasses.
79542
79543        Reviewed by Eric Seidel
79544
79545        * css/CSSSelector.cpp:
79546        (WebCore::CSSSelector::extractPseudoType):
79547        * css/CSSSelector.h:
79548        (WebCore::CSSSelector::):
79549        * css/CSSStyleSelector.cpp:
79550        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79551
795522008-10-10  David Hyatt  <hyatt@apple.com>
79553
79554        Switch window-active to window-inactive, since that will work better as far as degrading in other
79555        browsers.
79556
79557        Reviewed by Tim Hatcher
79558
79559        * css/CSSSelector.cpp:
79560        (WebCore::CSSSelector::extractPseudoType):
79561        * css/CSSSelector.h:
79562        (WebCore::CSSSelector::):
79563        * css/CSSStyleSelector.cpp:
79564        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79565
795662008-10-09  Chris Marrin  <cmarrin@apple.com>
79567
79568        Reviewed by Dan Bernstein.
79569
79570        https://bugs.webkit.org/show_bug.cgi?id=21310
79571
79572        Redesigned how animation events are sent in order to get rid of
79573        AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
79574        are now ref counted. While calling the event handler, I keep a
79575        reference to this class to avoid it getting destroyed out from under me.
79576
79577        I also moved most of the functionality of CompositeAnimation to
79578        and internal class (CompositeAnimationPrivate) to reduce the exposure
79579        of the internals of the various animation classes.
79580
79581        We have several transition and animation LayoutTests which verify that
79582        this fix works as expected and continues to avoid crashes.
79583
79584        * page/animation/AnimationBase.cpp:
79585        (WebCore::AnimationBase::AnimationBase):
79586        * page/animation/AnimationBase.h:
79587        (WebCore::AnimationBase::cancelTimers):
79588        (WebCore::AnimationBase::waitingForStyleAvailable):
79589        * page/animation/CompositeAnimation.cpp:
79590        (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
79591        (WebCore::CompositeAnimationPrivate::suspended):
79592        (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
79593        (WebCore::CompositeAnimationPrivate::updateTransitions):
79594        (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
79595        (WebCore::CompositeAnimationPrivate::animate):
79596        (WebCore::CompositeAnimationPrivate::setAnimating):
79597        (WebCore::CompositeAnimationPrivate::animating):
79598        (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
79599        (WebCore::CompositeAnimationPrivate::resetTransitions):
79600        (WebCore::CompositeAnimationPrivate::resetAnimations):
79601        (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
79602        (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
79603        (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
79604        (WebCore::CompositeAnimationPrivate::suspendAnimations):
79605        (WebCore::CompositeAnimationPrivate::resumeAnimations):
79606        (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
79607        (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
79608        (WebCore::compareAnimationIndices):
79609        (WebCore::CompositeAnimationPrivate::styleAvailable):
79610        (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
79611        (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
79612        (WebCore::CompositeAnimation::CompositeAnimation):
79613        (WebCore::CompositeAnimation::~CompositeAnimation):
79614        (WebCore::CompositeAnimation::animate):
79615        (WebCore::CompositeAnimation::animating):
79616        (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
79617        (WebCore::CompositeAnimation::resetTransitions):
79618        (WebCore::CompositeAnimation::suspendAnimations):
79619        (WebCore::CompositeAnimation::resumeAnimations):
79620        (WebCore::CompositeAnimation::suspended):
79621        (WebCore::CompositeAnimation::styleAvailable):
79622        (WebCore::CompositeAnimation::setAnimating):
79623        (WebCore::CompositeAnimation::isAnimatingProperty):
79624        (WebCore::CompositeAnimation::setAnimationStartTime):
79625        (WebCore::CompositeAnimation::setTransitionStartTime):
79626        (WebCore::CompositeAnimation::overrideImplicitAnimations):
79627        (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
79628        * page/animation/CompositeAnimation.h:
79629        * page/animation/ImplicitAnimation.cpp:
79630        (WebCore::ImplicitAnimation::sendTransitionEvent):
79631        * page/animation/ImplicitAnimation.h:
79632        (WebCore::ImplicitAnimation::create):
79633        * page/animation/KeyframeAnimation.cpp:
79634        (WebCore::KeyframeAnimation::sendAnimationEvent):
79635        * page/animation/KeyframeAnimation.h:
79636        (WebCore::KeyframeAnimation::create):
79637
796382008-10-09  David Hyatt  <hyatt@apple.com>
79639
79640        Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
79641        is active as well.
79642
79643        Reviewed by Tim Hatcher
79644
79645        Added scrollbars/scrollbar-orientation.html
79646
79647        * css/CSSSelector.cpp:
79648        (WebCore::CSSSelector::extractPseudoType):
79649        * css/CSSSelector.h:
79650        (WebCore::CSSSelector::):
79651        * css/CSSStyleSelector.cpp:
79652        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79653        * platform/Scrollbar.cpp:
79654        (WebCore::Scrollbar::isWindowActive):
79655        * platform/Scrollbar.h:
79656        * rendering/RenderScrollbar.cpp:
79657        (WebCore::RenderScrollbar::paint):
79658        (WebCore::RenderScrollbar::partForStyleResolve):
79659        * rendering/RenderScrollbar.h:
79660
796612008-10-09  David Hyatt  <hyatt@apple.com>
79662
79663        Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
79664        :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
79665
79666        Reviewed by Tim Hatcher
79667
79668        Added scrollbars/disabled-scrollbar.html
79669
79670        * css/CSSStyleSelector.cpp:
79671        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
79672        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
79673        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
79674        * css/CSSStyleSelector.h:
79675        * rendering/RenderObject.cpp:
79676        (WebCore::RenderObject::getPseudoStyle):
79677        * rendering/RenderObject.h:
79678        * rendering/RenderScrollbar.cpp:
79679        (WebCore::RenderScrollbar::setEnabled):
79680        (WebCore::RenderScrollbar::scrollbarForStyleResolve):
79681        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
79682        (WebCore::RenderScrollbar::paintPart):
79683        * rendering/RenderScrollbar.h:
79684
796852008-10-09  Eric Carlson  <eric.carlson@apple.com>
79686
79687        Media controls should not show when element is not visible
79688
79689        https://bugs.webkit.org/show_bug.cgi?id=21155
79690
79691        Reviewed by Adele Peterson.
79692
79693        * html/HTMLMediaElement.cpp:
79694        (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
79695        in sync with visibility changes
79696        * html/HTMLMediaElement.h:
79697        * rendering/RenderMedia.cpp:
79698        (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
79699        (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
79700        if element is visible or not. Don't animate controller visibility when change triggered by
79701        showing or hiding media element.
79702        * rendering/RenderMedia.h: declare m_previousVisible
79703
797042008-10-09  Timothy Hatcher  <timothy@apple.com>
79705
79706        Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
79707        availability macros and version macros.
79708
79709        https://bugs.webkit.org/show_bug.cgi?id=21496
79710        rdar://problem/6259225
79711
79712        Reviewed by Sam Weinig.
79713
79714        * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
79715        * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
79716        and add an #if around the enum.
79717        * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
79718        comment to match the other headers.
79719        * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
79720        * bindings/objc/DOMObject.h: Add a version #if around class interface.
79721        * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
79722        and add a version #if around the enum.
79723        * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
79724        * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
79725        * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
79726        when they where added to WebKit. Also annotate individual methods that are
79727        deprecated or where added after the class was added to WebKit.
79728        * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
79729        since this header is included by most DOM headers. Annotate the JSObject method.
79730
79731        * bindings/scripts/CodeGeneratorObjC.pm:
79732        (ReadPublicInterfaces): Parse out the availability macro for each function/property.
79733        And parse out the availability version for the class/protocol. Default to
79734        WEBKIT_VERSION_LATEST if the class is new.
79735        (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
79736        interface availability version check if the class has a required version. Create
79737        a public interface key (used to lookup in $publicInterfaces) and make a declaration
79738        suffix that includes the availability macro (if needed). Use the "available in 1.3
79739        and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
79740        the default availability macro for old style methods. Tweak line breaks in the generated
79741        headers to look good and not have too many extra lines.
79742
797432008-10-09  Simon Fraser  <simon.fraser@apple.com>
79744
79745        Reviewed by Dave Hyatt
79746
79747        https://bugs.webkit.org/show_bug.cgi?id=20947
79748
79749        Refactor setStyle() methods into styleWillChange()
79750        and styleDidChange(), so most of the setStyle() overrides can
79751        be removed.
79752
79753        * rendering/RenderBR.cpp:
79754        (WebCore::RenderBR::styleDidChange):
79755        * rendering/RenderBR.h:
79756        * rendering/RenderBlock.cpp:
79757        (WebCore::RenderBlock::styleWillChange):
79758        (WebCore::RenderBlock::styleDidChange):
79759        * rendering/RenderBlock.h:
79760        * rendering/RenderBox.cpp:
79761        (WebCore::RenderBox::~RenderBox):
79762        (WebCore::RenderBox::destroy):
79763        (WebCore::RenderBox::styleWillChange):
79764        (WebCore::RenderBox::styleDidChange):
79765        * rendering/RenderBox.h:
79766        * rendering/RenderButton.cpp:
79767        (WebCore::RenderButton::styleWillChange):
79768        (WebCore::RenderButton::styleDidChange):
79769        * rendering/RenderButton.h:
79770        * rendering/RenderFieldset.cpp:
79771        (WebCore::RenderFieldset::styleDidChange):
79772        * rendering/RenderFieldset.h:
79773        * rendering/RenderFileUploadControl.cpp:
79774        (WebCore::RenderFileUploadControl::styleDidChange):
79775        * rendering/RenderFileUploadControl.h:
79776        * rendering/RenderInline.cpp:
79777        (WebCore::RenderInline::styleDidChange):
79778        * rendering/RenderInline.h:
79779        * rendering/RenderLayer.cpp:
79780        (WebCore::RenderLayer::styleChanged):
79781        * rendering/RenderLayer.h:
79782        * rendering/RenderListBox.cpp:
79783        (WebCore::RenderListBox::styleDidChange):
79784        * rendering/RenderListBox.h:
79785        * rendering/RenderListItem.cpp:
79786        (WebCore::RenderListItem::styleDidChange):
79787        * rendering/RenderListItem.h:
79788        * rendering/RenderListMarker.cpp:
79789        (WebCore::RenderListMarker::styleWillChange):
79790        (WebCore::RenderListMarker::styleDidChange):
79791        * rendering/RenderListMarker.h:
79792        * rendering/RenderMenuList.cpp:
79793        (WebCore::RenderMenuList::styleDidChange):
79794        * rendering/RenderMenuList.h:
79795        * rendering/RenderObject.cpp:
79796        (WebCore::RenderObject::setStyle):
79797        (WebCore::RenderObject::setStyleInternal):
79798        (WebCore::RenderObject::styleWillChange):
79799        (WebCore::RenderObject::styleDidChange):
79800        * rendering/RenderObject.h:
79801        * rendering/RenderReplaced.cpp:
79802        (WebCore::RenderReplaced::styleDidChange):
79803        * rendering/RenderReplaced.h:
79804        * rendering/RenderSVGGradientStop.cpp:
79805        (WebCore::RenderSVGGradientStop::styleDidChange):
79806        * rendering/RenderSVGGradientStop.h:
79807        * rendering/RenderScrollbarPart.cpp:
79808        (WebCore::RenderScrollbarPart::styleDidChange):
79809        * rendering/RenderScrollbarPart.h:
79810        * rendering/RenderSlider.cpp:
79811        (WebCore::RenderSlider::styleDidChange):
79812        * rendering/RenderSlider.h:
79813        * rendering/RenderTable.cpp:
79814        (WebCore::RenderTable::styleDidChange):
79815        * rendering/RenderTable.h:
79816        * rendering/RenderTableCell.cpp:
79817        (WebCore::RenderTableCell::styleWillChange):
79818        (WebCore::RenderTableCell::styleDidChange):
79819        * rendering/RenderTableCell.h:
79820        * rendering/RenderTableRow.cpp:
79821        (WebCore::RenderTableRow::styleWillChange):
79822        * rendering/RenderTableRow.h:
79823        * rendering/RenderText.cpp:
79824        (WebCore::RenderText::styleDidChange):
79825        * rendering/RenderText.h:
79826        * rendering/RenderTextControl.cpp:
79827        (WebCore::RenderTextControl::styleDidChange):
79828        * rendering/RenderTextControl.h:
79829        * rendering/RenderWidget.cpp:
79830        (WebCore::RenderWidget::styleDidChange):
79831        * rendering/RenderWidget.h:
79832
798332008-10-09  David Hyatt  <hyatt@apple.com>
79834
79835        Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
79836        parent is nulled out is a good time.
79837
79838        Reviewed by Oliver Hunt
79839
79840        * rendering/RenderScrollbar.cpp:
79841        (WebCore::RenderScrollbar::~RenderScrollbar):
79842        (WebCore::RenderScrollbar::setParent):
79843        (WebCore::RenderScrollbar::updateScrollbarPart):
79844        * rendering/RenderScrollbar.h:
79845
798462008-10-09  David Hyatt  <hyatt@apple.com>
79847
79848        https://bugs.webkit.org/show_bug.cgi?id=21446
79849
79850        This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
79851        orientation and back vs. forward on the buttons, but it's a start.
79852
79853        Reviewed by Oliver Hunt
79854
79855        Added scrollbars/basic-scrollbar.html
79856
79857        * WebCore.xcodeproj/project.pbxproj:
79858        * css/CSSSelector.cpp:
79859        (WebCore::CSSSelector::extractPseudoType):
79860        * css/CSSSelector.h:
79861        (WebCore::CSSSelector::):
79862        * css/CSSStyleSelector.cpp:
79863        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
79864        * platform/ScrollTypes.h:
79865        (WebCore::):
79866        * platform/Scrollbar.h:
79867        (WebCore::Scrollbar::styleChanged):
79868        * platform/ScrollbarThemeComposite.cpp:
79869        (WebCore::ScrollbarThemeComposite::paint):
79870        (WebCore::ScrollbarThemeComposite::splitTrack):
79871        * platform/ScrollbarThemeComposite.h:
79872        (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
79873        (WebCore::ScrollbarThemeComposite::paintTrackBackground):
79874        (WebCore::ScrollbarThemeComposite::paintTrackPiece):
79875        * platform/win/ScrollbarThemeSafari.cpp:
79876        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
79877        * platform/win/ScrollbarThemeSafari.h:
79878        * platform/win/ScrollbarThemeWin.cpp:
79879        (WebCore::ScrollbarThemeWin::paintTrack):
79880        * platform/win/ScrollbarThemeWin.h:
79881        * rendering/RenderLayer.cpp:
79882        (WebCore::RenderLayer::createScrollbar):
79883        (WebCore::RenderLayer::styleChanged):
79884        * rendering/RenderScrollbar.cpp: Added.
79885        (WebCore::RenderScrollbar::createCustomScrollbar):
79886        (WebCore::RenderScrollbar::RenderScrollbar):
79887        (WebCore::RenderScrollbar::~RenderScrollbar):
79888        (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
79889        (WebCore::RenderScrollbar::updateScrollbarParts):
79890        (WebCore::RenderScrollbar::updateScrollbarPart):
79891        (WebCore::RenderScrollbar::paintPart):
79892        (WebCore::RenderScrollbar::buttonRect):
79893        (WebCore::RenderScrollbar::minimumThumbLength):
79894        * rendering/RenderScrollbar.h: Added.
79895        (WebCore::RenderScrollbar::styleChanged):
79896        (WebCore::RenderScrollbar::owningRenderer):
79897        * rendering/RenderScrollbarPart.cpp: Added.
79898        (WebCore::RenderScrollbarPart::RenderScrollbarPart):
79899        (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
79900        (WebCore::RenderScrollbarPart::layout):
79901        (WebCore::RenderScrollbarPart::layoutHorizontalPart):
79902        (WebCore::RenderScrollbarPart::layoutVerticalPart):
79903        (WebCore::calcScrollbarThicknessUsing):
79904        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
79905        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
79906        (WebCore::RenderScrollbarPart::calcPrefWidths):
79907        (WebCore::RenderScrollbarPart::setStyle):
79908        * rendering/RenderScrollbarPart.h: Added.
79909        (WebCore::RenderScrollbarPart::renderName):
79910        (WebCore::RenderScrollbarPart::requiresLayer):
79911        * rendering/RenderScrollbarTheme.cpp: Added.
79912        (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
79913        (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
79914        (WebCore::RenderScrollbarTheme::hasButtons):
79915        (WebCore::RenderScrollbarTheme::hasThumb):
79916        (WebCore::RenderScrollbarTheme::minimumThumbLength):
79917        (WebCore::RenderScrollbarTheme::backButtonRect):
79918        (WebCore::RenderScrollbarTheme::forwardButtonRect):
79919        (WebCore::RenderScrollbarTheme::trackRect):
79920        (WebCore::RenderScrollbarTheme::paintScrollCorner):
79921        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
79922        (WebCore::RenderScrollbarTheme::paintTrackBackground):
79923        (WebCore::RenderScrollbarTheme::paintTrackPiece):
79924        (WebCore::RenderScrollbarTheme::paintButton):
79925        (WebCore::RenderScrollbarTheme::paintThumb):
79926        * rendering/RenderScrollbarTheme.h: Added.
79927        (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
79928        (WebCore::RenderScrollbarTheme::scrollbarThickness):
79929        (WebCore::RenderScrollbarTheme::buttonsPlacement):
79930        (WebCore::RenderScrollbarTheme::supportsControlTints):
79931        (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
79932        (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
79933        (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
79934        (WebCore::RenderScrollbarTheme::registerScrollbar):
79935        (WebCore::RenderScrollbarTheme::unregisterScrollbar):
79936        * rendering/style/RenderStyle.h:
79937        (WebCore::RenderStyle::):
79938
799392008-10-09  Eric Seidel  <eric@webkit.org>
79940
79941        Reviewed by Oliver Hunt.
79942
79943        Fix Canvex DOOM Game
79944        Gradient clips were not getting cleared after filling the
79945        gradient, this was causing nothing to draw in Canvex
79946        https://bugs.webkit.org/show_bug.cgi?id=21498
79947
79948        Tests forthcoming.
79949
79950        * WebCore.xcodeproj/project.pbxproj:
79951        * platform/graphics/cg/GraphicsContextCG.cpp:
79952        (WebCore::GraphicsContext::fillPath):
79953        (WebCore::GraphicsContext::strokePath):
79954        (WebCore::GraphicsContext::fillRect):
79955
799562008-10-09  Eric Seidel  <eric@webkit.org>
79957
79958        Reviewed by Oliver Hunt.
79959
79960        Fix transformed patterns
79961        https://bugs.webkit.org/show_bug.cgi?id=21498
79962
79963        Test: fast/canvas/patternfill-repeat.html
79964
79965        * WebCore.xcodeproj/project.pbxproj:
79966        * platform/graphics/GraphicsContext.cpp:
79967        (WebCore::GraphicsContext::setStrokePattern):
79968        (WebCore::GraphicsContext::setFillPattern):
79969        (WebCore::GraphicsContext::setStrokeGradient):
79970        (WebCore::GraphicsContext::setFillGradient):
79971        * platform/graphics/GraphicsContext.h:
79972        * platform/graphics/cairo/GraphicsContextCairo.cpp:
79973        * platform/graphics/cg/GraphicsContextCG.cpp:
79974        (WebCore::applyStrokePattern):
79975        (WebCore::applyFillPattern):
79976        (WebCore::GraphicsContext::drawPath):
79977        (WebCore::GraphicsContext::fillPath):
79978        (WebCore::GraphicsContext::strokePath):
79979        (WebCore::GraphicsContext::fillRect):
79980        * platform/graphics/qt/GraphicsContextQt.cpp:
79981        * platform/graphics/wx/GraphicsContextWx.cpp:
79982
799832008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
79984
79985        wx build fixes.
79986
79987        * platform/wx/WidgetWx.cpp:
79988        * plugins/wx/PluginViewWx.cpp:
79989        (WebCore::PluginView::invalidateRect):
79990        * webcore-base.bkl:
79991
799922008-10-09  Chris Marrin  <cmarrin@apple.com>
79993
79994        Reviewed by Darin Adler.
79995
79996        Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
79997        Animations assert when navigating from page
79998
79999        Changed assertions to test the right flag for the paused state
80000
80001        * page/animation/AnimationBase.cpp:
80002        (WebCore::AnimationBase::updateStateMachine):
80003
800042008-10-09  Chris Marrin  <cmarrin@apple.com>
80005
80006        Reviewed by Dan Bernstein.
80007
80008        Fixed > 180 degree rotation bug
80009        Ensure that validateTransformFunctionList() is called after updating keyframe styles
80010
80011        https://bugs.webkit.org/show_bug.cgi?id=21420
80012
80013        Test: animations/big-rotation.html
80014
80015        * page/animation/KeyframeAnimation.cpp:
80016        (WebCore::KeyframeAnimation::KeyframeAnimation):
80017
800182008-10-09  Brady Eidson  <beidson@apple.com>
80019
80020        Reviewed by Anders
80021
80022        <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
80023
80024        The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
80025
80026        * loader/FrameLoader.cpp:
80027        (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
80028        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
80029          so perform a second null check on the page.  Bail if it has been cleared.
80030
800312008-10-09  Alp Toker  <alp@nuanti.com>
80032
80033        Build fix for recent DOM generation Makefile changes when custom
80034        CFLAGS/CXXFLAGS are passed in.
80035
80036        * GNUmakefile.am:
80037
800382008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
80039
80040        Reviewed by Alp Toker.
80041
80042        https://bugs.webkit.org/show_bug.cgi?id=21390
80043        [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
80044
80045        * platform/gtk/ScrollViewGtk.cpp:
80046        (WebCore::ScrollView::platformRemoveChild):
80047
800482008-10-09  Darin Adler  <darin@apple.com>
80049
80050       - try to fix Qt build
80051
80052        * bridge/qt/qt_runtime.cpp:
80053        (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
80054
800552008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
80056
80057        Reviewed by Oliver Hunt & Sam Weinig.
80058
80059        Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
80060        Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
80061        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
80062
80063        Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
80064        Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
80065        use tree is rebuild.
80066
80067        Make SVGElementInstance a real EventTarget, as the SVG specification demands.
80068        When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
80069        is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
80070        share an event listener list. Every event listener change on the SVGElementInstance object is forwared
80071        to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
80072        Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
80073        to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
80074        Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
80075
80076        Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
80077        see resources/use-instanceRoot-event-bubbling.js for details.
80078
80079        Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
80080               svg/custom/use-elementInstance-methods.svg (reenabled)
80081               svg/custom/use-setAttribute-crash.svg (covers bug 20550)
80082               svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
80083               svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
80084               svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
80085
80086        * DerivedSources.make:
80087        * GNUmakefile.am:
80088        * WebCore.pro:
80089        * WebCore.vcproj/WebCore.vcproj:
80090        * WebCore.xcodeproj/project.pbxproj:
80091        * bindings/js/JSEventListener.h:
80092        (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
80093        * bindings/js/JSEventTarget.cpp:
80094        * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
80095        * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
80096        * bindings/js/JSSVGElementInstanceCustom.cpp:
80097        (WebCore::JSSVGElementInstance::addEventListener):
80098        (WebCore::JSSVGElementInstance::removeEventListener):
80099        (WebCore::JSSVGElementInstance::pushEventHandlerScope):
80100        * bindings/scripts/CodeGeneratorJS.pm:
80101        * bindings/scripts/CodeGeneratorObjC.pm:
80102        * dom/EventListener.h:
80103        (WebCore::EventListener::wasCreatedFromMarkup):
80104        * dom/EventTargetNode.cpp:
80105        (WebCore::updateSVGElementInstancesAfterEventListenerChange):
80106        (WebCore::EventTargetNode::addEventListener):
80107        (WebCore::EventTargetNode::removeEventListener):
80108        (WebCore::eventTargetAsSVGElementInstance):
80109        (WebCore::eventTargetRespectingSVGTargetRules):
80110        (WebCore::EventTargetNode::dispatchEvent):
80111        (WebCore::EventTargetNode::dispatchGenericEvent):
80112        (WebCore::EventTargetNode::removeEventListenerForType):
80113        * page/EventHandler.cpp:
80114        (WebCore::EventHandler::clear):
80115        (WebCore::instanceAssociatedWithShadowTreeElement):
80116        (WebCore::EventHandler::updateMouseEventTargetNode):
80117        * page/EventHandler.h:
80118        * svg/EventTargetSVGElementInstance.cpp: Removed.
80119        * svg/EventTargetSVGElementInstance.h: Removed.
80120        * svg/SVGElementInstance.cpp:
80121        (WebCore::SVGElementInstance::SVGElementInstance):
80122        (WebCore::SVGElementInstance::~SVGElementInstance):
80123        (WebCore::SVGElementInstance::childNodes):
80124        (WebCore::SVGElementInstance::setShadowTreeElement):
80125        (WebCore::SVGElementInstance::forgetWrapper):
80126        (WebCore::SVGElementInstance::appendChild):
80127        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
80128        (WebCore::SVGElementInstance::setNeedsUpdate):
80129        (WebCore::SVGElementInstance::associatedFrame):
80130        (WebCore::SVGElementInstance::addEventListener):
80131        (WebCore::SVGElementInstance::removeEventListener):
80132        (WebCore::SVGElementInstance::dispatchEvent):
80133        (WebCore::SVGElementInstance::onabort):
80134        (WebCore::SVGElementInstance::setOnabort):
80135        (WebCore::SVGElementInstance::onblur):
80136        (WebCore::SVGElementInstance::setOnblur):
80137        (WebCore::SVGElementInstance::onchange):
80138        (WebCore::SVGElementInstance::setOnchange):
80139        (WebCore::SVGElementInstance::onclick):
80140        (WebCore::SVGElementInstance::setOnclick):
80141        (WebCore::SVGElementInstance::oncontextmenu):
80142        (WebCore::SVGElementInstance::setOncontextmenu):
80143        (WebCore::SVGElementInstance::ondblclick):
80144        (WebCore::SVGElementInstance::setOndblclick):
80145        (WebCore::SVGElementInstance::onerror):
80146        (WebCore::SVGElementInstance::setOnerror):
80147        (WebCore::SVGElementInstance::onfocus):
80148        (WebCore::SVGElementInstance::setOnfocus):
80149        (WebCore::SVGElementInstance::oninput):
80150        (WebCore::SVGElementInstance::setOninput):
80151        (WebCore::SVGElementInstance::onkeydown):
80152        (WebCore::SVGElementInstance::setOnkeydown):
80153        (WebCore::SVGElementInstance::onkeypress):
80154        (WebCore::SVGElementInstance::setOnkeypress):
80155        (WebCore::SVGElementInstance::onkeyup):
80156        (WebCore::SVGElementInstance::setOnkeyup):
80157        (WebCore::SVGElementInstance::onload):
80158        (WebCore::SVGElementInstance::setOnload):
80159        (WebCore::SVGElementInstance::onmousedown):
80160        (WebCore::SVGElementInstance::setOnmousedown):
80161        (WebCore::SVGElementInstance::onmousemove):
80162        (WebCore::SVGElementInstance::setOnmousemove):
80163        (WebCore::SVGElementInstance::onmouseout):
80164        (WebCore::SVGElementInstance::setOnmouseout):
80165        (WebCore::SVGElementInstance::onmouseover):
80166        (WebCore::SVGElementInstance::setOnmouseover):
80167        (WebCore::SVGElementInstance::onmouseup):
80168        (WebCore::SVGElementInstance::setOnmouseup):
80169        (WebCore::SVGElementInstance::onmousewheel):
80170        (WebCore::SVGElementInstance::setOnmousewheel):
80171        (WebCore::SVGElementInstance::onbeforecut):
80172        (WebCore::SVGElementInstance::setOnbeforecut):
80173        (WebCore::SVGElementInstance::oncut):
80174        (WebCore::SVGElementInstance::setOncut):
80175        (WebCore::SVGElementInstance::onbeforecopy):
80176        (WebCore::SVGElementInstance::setOnbeforecopy):
80177        (WebCore::SVGElementInstance::oncopy):
80178        (WebCore::SVGElementInstance::setOncopy):
80179        (WebCore::SVGElementInstance::onbeforepaste):
80180        (WebCore::SVGElementInstance::setOnbeforepaste):
80181        (WebCore::SVGElementInstance::onpaste):
80182        (WebCore::SVGElementInstance::setOnpaste):
80183        (WebCore::SVGElementInstance::ondragenter):
80184        (WebCore::SVGElementInstance::setOndragenter):
80185        (WebCore::SVGElementInstance::ondragover):
80186        (WebCore::SVGElementInstance::setOndragover):
80187        (WebCore::SVGElementInstance::ondragleave):
80188        (WebCore::SVGElementInstance::setOndragleave):
80189        (WebCore::SVGElementInstance::ondrop):
80190        (WebCore::SVGElementInstance::setOndrop):
80191        (WebCore::SVGElementInstance::ondragstart):
80192        (WebCore::SVGElementInstance::setOndragstart):
80193        (WebCore::SVGElementInstance::ondrag):
80194        (WebCore::SVGElementInstance::setOndrag):
80195        (WebCore::SVGElementInstance::ondragend):
80196        (WebCore::SVGElementInstance::setOndragend):
80197        (WebCore::SVGElementInstance::onreset):
80198        (WebCore::SVGElementInstance::setOnreset):
80199        (WebCore::SVGElementInstance::onresize):
80200        (WebCore::SVGElementInstance::setOnresize):
80201        (WebCore::SVGElementInstance::onscroll):
80202        (WebCore::SVGElementInstance::setOnscroll):
80203        (WebCore::SVGElementInstance::onsearch):
80204        (WebCore::SVGElementInstance::setOnsearch):
80205        (WebCore::SVGElementInstance::onselect):
80206        (WebCore::SVGElementInstance::setOnselect):
80207        (WebCore::SVGElementInstance::onselectstart):
80208        (WebCore::SVGElementInstance::setOnselectstart):
80209        (WebCore::SVGElementInstance::onsubmit):
80210        (WebCore::SVGElementInstance::setOnsubmit):
80211        (WebCore::SVGElementInstance::onunload):
80212        (WebCore::SVGElementInstance::setOnunload):
80213        * svg/SVGElementInstance.h:
80214        (WebCore::SVGElementInstance::needsUpdate):
80215        (WebCore::SVGElementInstance::toNode):
80216        (WebCore::SVGElementInstance::toSVGElementInstance):
80217        (WebCore::SVGElementInstance::correspondingElement):
80218        (WebCore::SVGElementInstance::correspondingUseElement):
80219        (WebCore::SVGElementInstance::shadowTreeElement):
80220        (WebCore::SVGElementInstance::parentNode):
80221        (WebCore::SVGElementInstance::previousSibling):
80222        (WebCore::SVGElementInstance::nextSibling):
80223        (WebCore::SVGElementInstance::firstChild):
80224        (WebCore::SVGElementInstance::lastChild):
80225        (WebCore::SVGElementInstance::ownerDocument):
80226        (WebCore::SVGElementInstance::hasChildNodes):
80227        (WebCore::SVGElementInstance::setFirstChild):
80228        (WebCore::SVGElementInstance::setLastChild):
80229        (WebCore::SVGElementInstance::setNextSibling):
80230        (WebCore::SVGElementInstance::setPreviousSibling):
80231        (WebCore::SVGElementInstance::refEventTarget):
80232        (WebCore::SVGElementInstance::derefEventTarget):
80233        * svg/SVGElementInstance.idl:
80234        * svg/SVGStyledElement.cpp:
80235        (WebCore::SVGStyledElement::svgAttributeChanged):
80236        (WebCore::SVGStyledElement::childrenChanged):
80237        * svg/SVGUseElement.cpp:
80238        (WebCore::SVGUseElement::svgAttributeChanged):
80239        (WebCore::shadowTreeContainsChangedNodes):
80240        (WebCore::SVGUseElement::recalcStyle):
80241        (WebCore::dumpInstanceTree):
80242        (WebCore::SVGUseElement::buildPendingResource):
80243        (WebCore::SVGUseElement::buildInstanceTree):
80244        (WebCore::SVGUseElement::transferEventListenersToShadowTree):
80245        * svg/SVGUseElement.h:
80246
802472008-10-08  Sam Weinig  <sam@webkit.org>
80248
80249        Reviewed by Cameron Zwarich.
80250
80251        Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
80252        REGRESSION (r36977): getRGBColorValue().red returning incorrect value
80253
80254        Update JSRGBColor to use the new static function per getter approach.
80255
80256        Test: fast/dom/css-RGBValue.html
80257
80258        * bindings/js/JSRGBColor.cpp:
80259        (WebCore::):
80260        (jsRGBColorRed):
80261        (jsRGBColorGreen):
80262        (jsRGBColorBlue):
80263        * bindings/js/JSRGBColor.h:
80264
802652008-10-08  Eric Seidel  <eric@webkit.org>
80266
80267        Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
80268
80269        svgElement.className.baseValue = "foo" does not work
80270        https://bugs.webkit.org/show_bug.cgi?id=20651
80271
80272        * dom/StyledElement.cpp:
80273        (WebCore::StyledElement::classAttributeChanged):
80274        (WebCore::StyledElement::parseMappedAttribute):
80275        * dom/StyledElement.h:
80276        * svg/SVGStyledElement.cpp:
80277        (WebCore::SVGStyledElement::svgAttributeChanged):
80278
802792008-10-08  Anthony Ricaud  <rik24d@gmail.com>
80280
80281        Make the toolbar label text-shadow not disappear when clicking on the
80282        search result count or around the search field.
80283
80284        Reviewed by Timothy Hatcher.
80285
80286        * inspector/front-end/inspector.css:
80287        (.toolbar-item:active .toolbar-label): Make this rule also require the
80288        toggleable class with the toolbar-item class.
80289
802902008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
80291
80292        Reviewed by Simon.
80293
80294        Updated the qrc file for the Web Inspector to contain the current set
80295        of images.
80296
80297        * inspector/front-end/WebKit.qrc:
80298
802992008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
80300
80301        Reviewed by Simon.
80302
80303        Fix the linking of applications against WebKit on Qt/Windows.
80304
80305        The prl files that qmake creates are buggy on Unix, but we they're
80306        fine on Windows and we have to have them there in order to get the
80307        dependencies correct.
80308
80309        * WebCore.pro:
80310
803112008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
80312
80313        Reviewed by Simon.
80314
80315        Speed up rectangle filling by not re-creating a QBrush all the time.
80316
80317        This triggers faster path in QPainter where the brush is reused.
80318
80319        * platform/graphics/qt/GraphicsContextQt.cpp:
80320        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
80321        (WebCore::GraphicsContext::fillRect):
80322
803232008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
80324
80325        Reviewed by Simon.
80326
80327        Fixes: Encoding of Qt URLs
80328
80329        This encoding was added by Simon and I because QUrl's
80330        tolerant parser wasn't tolerant enough. Now it is, so we don't need
80331        this anymore.
80332
80333        * platform/qt/KURLQt.cpp:
80334        (WebCore::KURL::operator QUrl):
80335
803362008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
80337
80338        Reviewed by Simon.
80339
80340        Fixes dependencies in qmake generated visual studio projects.
80341
80342        Only add debug lib name if we're in the debug build_pass, else the release version.
80343        The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
80344
80345        * WebCore.pro:
80346
803472008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
80348
80349        Reviewed by Simon.
80350
80351        Fix compilation errors on VS2008 64Bit
80352
80353        * platform/text/TextStream.cpp:
80354        (WebCore::TextStream::operator<<):
80355        * platform/text/TextStream.h:
80356        * plugins/win/PluginViewWin.cpp:
80357        (WebCore::PluginView::init):
80358
803592008-10-07  Alp Toker  <alp@nuanti.com>
80360
80361        GTK+ build fix for older automake versions (1.7). Discussed in bug
80362        #21392.
80363
80364        * GNUmakefile.am:
80365
803662008-10-07  Anders Carlsson  <andersca@apple.com>
80367
80368        Reviewed by Antti Koivisto.
80369
80370        <rdar://problem/6273887> Crash in ApplicationCacheGroup
80371
80372        Make sure to stop loading even before a cache update is in progress so that the
80373        manifest load will be stopped.
80374
80375        * loader/appcache/ApplicationCacheGroup.cpp:
80376        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
80377        (WebCore::ApplicationCacheGroup::stopLoading):
80378        (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
80379
803802008-10-07  Timothy Hatcher  <timothy@apple.com>
80381
80382        Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
80383
80384        https://bugs.webkit.org/show_bug.cgi?id=21433
80385
80386        Reviewed by Sam Weinig.
80387
80388        * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
80389        * bindings/objc/DOM.mm: Remove previous category implementations
80390        on DOMDocument for createNodeIterator: and createTreeWalker:. Also
80391        moves ObjCNodeFilterCondition to its own file.
80392        * bindings/objc/DOMTraversal.h: Remove the category methods that added
80393        createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
80394        to do since DOmDocument.h is included still, and has these methods.
80395        * bindings/objc/DOMUtility.mm:
80396        (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
80397        JSTreeWalker now that the ObjC binding conforms to the standard wrap.
80398        * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
80399        (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
80400        (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
80401        * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
80402        (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
80403        * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
80404        createTreeWalker: methods to DOMDocument.
80405        * bindings/scripts/CodeGeneratorObjC.pm:
80406        (GetObjCTypeGetter): Add a case for NodeFilter.
80407        (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
80408        (GenerateImplementation): Remove existing NodeFilter special case that
80409        used the m_filter member variable. Add a new special getter for protocol
80410        types that aren't EventTarget, so the right class is used for NodeFilter.
80411        Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
80412        * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
80413        OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
80414        Rename the entityReferenceExpansion parameter to expandEntityReferences to
80415        match the previous ObjC API.
80416        * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
80417        m_filter member variable was never used in practice, it was always nil!
80418        We can remove it and not pad the object because this can't be subclassed.
80419        * dom/TreeWalker.idl: Ditto.
80420
804212008-10-07  Timothy Hatcher  <timothy@apple.com>
80422
80423        Auto-generate the DOMEventTarget protocol implementation for
80424        DOMNode and DOMSVGElementInstance.
80425
80426        https://bugs.webkit.org/show_bug.cgi?id=21432
80427
80428        Reviewed by Darin Adler.
80429
80430        * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
80431        * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
80432        ObjCEventListener to it's own file. Remove the manual impelmentations
80433        of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
80434        * bindings/objc/DOMEvents.h: Remove the categories that defined
80435        DOMEventTarget for DOMNode and DOMSVGElementInstance.
80436        * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
80437        * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
80438        (WebCore::ObjCEventListener::find): Moved from DOM.mm.
80439        (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
80440        callers from doing a manual deref.
80441        (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
80442        (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
80443        * bindings/scripts/CodeGeneratorObjC.pm:
80444        (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
80445        (AddIncludesForType): Include ObjCEventListener.h for EventListener.
80446        And include EventTargetSVGElementInstance.h for SVGElementInstance.
80447        (GenerateHeader): Remove the check for multiple parents.
80448        (GenerateImplementation): Remove the check for multiple parents. Remove
80449        the @deprecatedFunctions array since deprecated methods get generated
80450        into the main @interface now to work with protocols. Add support
80451        for the EventTargetNodeCast extended attribute. Add support for
80452        EventListener parameters.
80453        * dom/Node.idl: Define superclasses for ObjC so the implementation
80454        and interface implement the DOMEventTarget protocol. Explicitly
80455        specify Object as a superclass to use DOMEventTarget. Object will turn
80456        into DOMObject. This is needed to take the code generator down the right
80457        path of multiple super-classes as protocols. It is ObjC only for legacy
80458        reasons. The event target methods are normally on NodeEventTarget, a
80459        subclass of Node. But the ObjC API has never has this subclass and
80460        they are on DOMNode.
80461        * svg/SVGElementInstance.idl: Ditto.
80462
804632008-10-07  David Hyatt  <hyatt@apple.com>
80464
80465        Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
80466
80467        The new pseudo-elements are:
80468            scrollbar
80469            scrollbar-button
80470            scrollbar-corner
80471            scrollbar-thumb
80472            scrollbar-track
80473
80474        These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
80475        the following new pseudo-classes:
80476            scrollbar-active
80477            scrollbar-back
80478            scrollbar-forward
80479            scrollbar-horizontal
80480            scrollbar-vertical
80481
80482        Reviewed by Adele
80483
80484        * css/CSSSelector.cpp:
80485        (WebCore::CSSSelector::extractPseudoType):
80486        * css/CSSSelector.h:
80487        (WebCore::CSSSelector::):
80488
804892008-10-06  Timothy Hatcher  <timothy@apple.com>
80490
80491        Add support to the Resources panel for queries like "#123", "foo #123",
80492        "line: 123" and "foo line: 123". These will match the query limiting
80493        the search only to the line specified. If only a line is specified,
80494        the whole line is matched.
80495
80496        https://bugs.webkit.org/show_bug.cgi?id=21422
80497
80498        Reviewed by Darin Adler.
80499
80500        * inspector/front-end/SourceFrame.js:
80501        (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
80502        row if the index is greater than the rows collection. Let it return
80503        undefined by indexing out-of-bounds.
80504        * inspector/front-end/SourceView.js:
80505        (WebInspector.SourceView.prototype.performSearch): Add support for
80506        queries like "#123", "foo #123", "line: 123" and "foo line: 123".
80507        Also match the whole query to the whole document in case there are
80508        colors like "#333".
80509
805102008-10-07  Alp Toker  <alp@nuanti.com>
80511
80512        Reviewed by Mark Rowe.
80513
80514        https://bugs.webkit.org/show_bug.cgi?id=21392
80515        [GTK] Auto-generate JS DOM binding sources list
80516
80517        Remove the huge lists of generated DOM binding sources and headers in
80518        the build system. These are difficult to maintain and can be derived
80519        automatically.
80520
80521        The new strategy is to re-use the existing lists of IDL sources (which
80522        are needed for dist support anyway). This will also ease the addition
80523        of new language bindings.
80524
80525        * GNUmakefile.am:
80526
805272008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
80528
80529        Reviewed by Simon.
80530
80531        Don't attempt to paint when updating control tints
80532
80533        We don't have a valid PlatformGraphicsContext so schedule
80534        the dirty scrollbar/scrollview area for repaint instead.
80535
80536        * platform/qt/ScrollbarThemeQt.cpp:
80537        (WebCore::ScrollbarThemeQt::paint):
80538        (WebCore::ScrollbarThemeQt::paintScrollCorner):
80539
805402008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
80541
80542        [qt] Build fix after Scrollbar.h and Widget.h changes.
80543
80544        * plugins/qt/PluginViewQt.cpp:
80545        (WebCore::PluginView::getValue):
80546        (WebCore::PluginView::init):
80547
805482008-10-06  David Hyatt  <hyatt@apple.com>
80549
80550        Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
80551
80552        Reviewed by Sam Weinig
80553
80554        * WebCore.base.exp:
80555        * WebCore.xcodeproj/project.pbxproj:
80556        * loader/EmptyClients.h:
80557        (WebCore::EmptyFrameLoaderClient::hasWebView):
80558        * loader/FrameLoader.cpp:
80559        (WebCore::FrameLoader::loadWithDocumentLoader):
80560        (WebCore::FrameLoader::transitionToCommitted):
80561        * loader/FrameLoaderClient.h:
80562        * page/FocusController.cpp:
80563        (WebCore::FocusController::setActive):
80564        * page/FrameView.cpp:
80565        (WebCore::FrameView::FrameView):
80566        (WebCore::FrameView::init):
80567        (WebCore::FrameView::layoutIfNeededRecursive):
80568        * page/FrameView.h:
80569
805702008-10-06  Dan Bernstein  <mitz@apple.com>
80571
80572        - build fix
80573
80574        * bindings/objc/DOMEvents.h:
80575
805762008-10-06  Mark Mentovai  <mark@moxienet.com>
80577
80578        Reviewed by Tim Hatcher.
80579
80580        Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
80581        Platform.h is not available, in preference to #ifdef ENABLE_feature.
80582        #ifdef is wrong now that features are disabled by #defining
80583        ENABLE_feature to 0.
80584
80585        https://bugs.webkit.org/show_bug.cgi?id=21338
80586
80587        * bindings/objc/DOMEvents.h:
80588        * bindings/objc/PublicDOMInterfaces.h:
80589        * dom/Document.idl:
80590        * page/DOMWindow.idl:
80591        * svg/svgtags.in:
80592
805932008-10-06  Mark Mentovai  <mark@moxienet.com>
80594
80595        Reviewed by Sam Weinig.
80596
80597        * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
80598        to get the declaration for isMainThread().
80599
806002008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
80601
80602        Reviewed by Tim Hatcher.
80603
80604        WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
80605        to reflect that.
80606
80607        * WebCore.xcodeproj/project.pbxproj:
80608        * platform/mac/WebCoreObjCExtras.c: Removed.
80609        * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
80610
806112008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
80612
80613        Reviewed by Dan Bernstein.
80614
80615        Added C++ forward declaration for the NSURLAuthenticationChallenge class
80616        so that the m_currentMacChallenge variable doesn't cause a
80617        compilation error when ResourceHandleInternal.h is included from a C++ file.
80618        Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
80619
80620        * platform/network/ResourceHandleInternal.h:
80621
806222008-10-06  Steve Falkenburg  <sfalken@apple.com>
80623
80624        Windows build fix.
80625
80626        * WebCore.vcproj/WebCore.vcproj:
80627
806282008-10-06  Steve Falkenburg  <sfalken@apple.com>
80629
80630        https://bugs.webkit.org/show_bug.cgi?id=21416
80631        Add missing null checks identified by Application Verifier.
80632
80633        Reviewed by Darin Adler.
80634
80635        * platform/win/SharedTimerWin.cpp:
80636        (WebCore::clearTimer):
80637
806382008-10-06  Kevin McCullough  <kmccullough@apple.com>
80639
80640        Reviewed by Tim Hatcher.
80641
80642        Removed accidentally left in debugging statement.
80643
80644        * inspector/front-end/inspector.js:
80645
806462008-10-06  Kevin McCullough  <kmccullough@apple.com>
80647
80648        Reviewed by Tim Hatcher and Oliver Hunt.
80649
80650        https://bugs.webkit.org/show_bug.cgi?id=21412
80651        Bug 21412: Refactor user initiated profile count to be more stable
80652
80653        * inspector/InspectorController.cpp: Keep track of the user-initiated
80654        profiles here now.
80655        (WebCore::InspectorController::InspectorController):
80656        (WebCore::InspectorController::startUserInitiatedProfiling):
80657        (WebCore::InspectorController::stopUserInitiatedProfiling):
80658        * inspector/InspectorController.h:
80659        The front end will now need to check for the existence of the user-
80660        initiated profile title and use its count instead of keeping its own.
80661        * inspector/front-end/ProfilesPanel.js:
80662
806632008-10-06  Dan Bernstein  <mitz@apple.com>
80664
80665        Reviewed by Sam Weinig.
80666
80667        - separate GDI text drawing into its own function
80668
80669        * platform/graphics/win/FontCGWin.cpp:
80670        (WebCore::drawGDIGlyphs):
80671        (WebCore::Font::drawGlyphs):
80672
806732008-10-03  Steve Falkenburg  <sfalken@apple.com>
80674
80675        <rdar://problem/6249833> Fix default button appearance
80676
80677        Reviewed by Adele Peterson.
80678
80679        * rendering/RenderThemeWin.cpp:
80680        (WebCore::RenderThemeWin::supportsFocus):
80681        (WebCore::RenderThemeWin::determineClassicState):
80682        (WebCore::RenderThemeWin::determineButtonState):
80683        (WebCore::RenderThemeWin::getClassicThemeData):
80684        (WebCore::RenderThemeWin::getThemeData):
80685        (WebCore::drawControl):
80686        * rendering/RenderThemeWin.h:
80687
806882008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
80689
80690        Reviewed by Simon.
80691
80692        Add native virtual keycode to PlatformKeyboardEvent
80693
80694        * platform/PlatformKeyboardEvent.h:
80695        * platform/gtk/KeyEventGtk.cpp:
80696        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
80697        * platform/mac/KeyEventMac.mm:
80698        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
80699        * platform/qt/PlatformKeyboardEventQt.cpp:
80700        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
80701        * platform/win/KeyEventWin.cpp:
80702        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
80703        * platform/wx/KeyboardEventWx.cpp:
80704        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
80705
807062008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
80707
80708        Reviewed by Simon.
80709
80710        Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
80711
80712        * platform/text/PlatformString.h:
80713        * platform/text/StringImpl.h:
80714        * platform/text/cf/StringCF.cpp:
80715        * platform/text/cf/StringImplCF.cpp:
80716
807172008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
80718
80719        Reviewed by Simon.
80720
80721        Use bundles on QtWebKit/Mac for platform modules
80722
80723        * platform/FileSystem.h:
80724        * platform/qt/FileSystemQt.cpp:
80725        (WebCore::unloadModule):
80726
807272008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
80728
80729        Reviewed by Simon.
80730
80731        Build fix for MinGW.
80732
80733        * platform/win/SystemTimeWin.cpp:
80734        * plugins/win/PluginViewWin.cpp:
80735        (WebCore::PluginView::invalidateRect):
80736
807372008-10-06  Adam Roben  <aroben@apple.com>
80738
80739        Mimic the inspector/ directory structure in WebCore.vcproj
80740
80741        * WebCore.vcproj/WebCore.vcproj:
80742
807432008-10-06  Adam Roben  <aroben@apple.com>
80744
80745        Windows build fix
80746
80747        * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
80748        configurations to include WebCore/inspector.
80749
807502008-10-04  Eric Seidel  <eric@webkit.org>
80751
80752        Reviewed by Darin Adler.
80753
80754        SVG should support ascent and descent properties <font-face> instead of <font>!
80755        https://bugs.webkit.org/show_bug.cgi?id=21365
80756
80757        Tested by many many existing SVG tests.
80758
80759        * svg/SVGFontFaceElement.cpp:
80760        (WebCore::SVGFontFaceElement::ascent):
80761        (WebCore::SVGFontFaceElement::descent):
80762
807632008-10-05  Darin Fisher  <darin@chromium.org>
80764
80765        Reviewed by Eric Seidel.
80766
80767        REGRESSION: crash in ScriptElement::notifyFinished
80768        Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
80769
80770        * dom/ScriptElement.cpp:
80771        (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
80772        ensure that the ScriptElementData object is not destroyed prematurely.
80773
807742008-10-05  Chris Lord  <chris@openedhand.com>
80775
80776        Reviewed by Alp Toker. Landed by Jan Alonzo.
80777
80778        https://bugs.webkit.org/show_bug.cgi?id=20624
80779        WebKit-gtk uses deprecated GtkType/GtkObject
80780
80781        * plugins/gtk/gtk2xtbin.c:
80782        (gtk_xtbin_get_type):
80783        * plugins/gtk/gtk2xtbin.h:
80784
807852008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
80786
80787        Reviewed by David Hyatt.
80788
80789        GTK_WINDOW_HWND not GTK_WINDOWING_HWND
80790        https://bugs.webkit.org/show_bug.cgi?id=20725
80791
80792        Updated to ToT by Jan Alonzo.
80793
80794        * plugins/gtk/PluginViewGtk.cpp:
80795        (WebCore::PluginView::getValue):
80796
807972008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
80798
80799        Reviewed by Darin Adler.
80800
80801        Invalid cast from GdkWindow to GtkWidget
80802        https://bugs.webkit.org/show_bug.cgi?id=21391
80803
80804        Fix a misplaced closing parenthesis to actually cast the widget, not the window
80805
80806        * platform/gtk/PlatformScreenGtk.cpp:
80807        (WebCore::screenDepth):
80808
808092008-10-05  Adam Barth  <abarth@webkit.org>
80810
80811        Reviewed by Darin Alder.
80812
80813        Attach the Origin header to POST requests to help defend against
80814        cross-site request forgery.
80815
80816        https://bugs.webkit.org/show_bug.cgi?id=20792
80817
80818        Collin Jackson <collinj@webkit.org> also contributed to this patch.
80819
80820        Tests: http/tests/security/originHeader/origin-header-for-data.html
80821               http/tests/security/originHeader/origin-header-for-empty.html
80822               http/tests/security/originHeader/origin-header-for-get.html
80823               http/tests/security/originHeader/origin-header-for-https.html
80824               http/tests/security/originHeader/origin-header-for-post.html
80825
80826        * bindings/js/JSDOMWindowBase.cpp:
80827        (WebCore::createWindow):
80828        * loader/FrameLoader.cpp:
80829        (WebCore::FrameLoader::createWindow):
80830        (WebCore::FrameLoader::urlSelected):
80831        (WebCore::FrameLoader::submitForm):
80832        (WebCore::FrameLoader::outgoingOrigin):
80833        (WebCore::FrameLoader::loadURL):
80834        (WebCore::FrameLoader::addExtraFieldsToRequest):
80835        (WebCore::FrameLoader::loadPostRequest):
80836        (WebCore::FrameLoader::loadResourceSynchronously):
80837        (WebCore::FrameLoader::loadItem):
80838        * loader/FrameLoader.h:
80839        * loader/SubresourceLoader.cpp:
80840        (WebCore::SubresourceLoader::create):
80841        * loader/loader.cpp:
80842        (WebCore::Loader::Host::servePendingRequests):
80843        * platform/SecurityOrigin.cpp:
80844        (WebCore::SecurityOrigin::toHTTPOrigin):
80845        * platform/SecurityOrigin.h:
80846        * platform/network/ResourceRequestBase.h:
80847        (WebCore::ResourceRequestBase::httpOrigin):
80848        (WebCore::ResourceRequestBase::setHTTPOrigin):
80849        (WebCore::ResourceRequestBase::clearHTTPOrigin):
80850        * xml/XMLHttpRequest.cpp:
80851        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
80852        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
80853        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
80854        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
80855
808562008-10-04  Oliver Hunt  <oliver@apple.com>
80857
80858        Reviewed by Tim Hatcher.
80859
80860        Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
80861        <https://bugs.webkit.org/show_bug.cgi?id=21381>
80862
80863        If we hit a parsing boundary (end of a packet, etc) in the middle of a
80864        <script> element when we are doing an incremental parse, we exit the
80865        parser, and reenter later when more data is available.  During this
80866        reentry we incorrectly reset the scriptStartLineno to the current line
80867        in the parser, which is now part way through the script element.
80868
80869        The solution is to track whether we are entering or reentering the parsing
80870        of a script element.  We do this simply by 0 checking scriptStartLineno,
80871        and resetting it after we complete parsing of each script element.
80872
80873        Test: http/tests/incremental/pause-in-script-element.pl
80874
80875        * ChangeLog:
80876        * html/HTMLTokenizer.cpp:
80877        (WebCore::HTMLTokenizer::parseSpecial):
80878        (WebCore::HTMLTokenizer::scriptHandler):
80879
808802008-10-04  Alp Toker  <alp@nuanti.com>
80881
80882        Reviewed by David Hyatt. Landed by Jan Alonzo.
80883
80884        https://bugs.webkit.org/show_bug.cgi?id=20924
80885        [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
80886
80887        https://bugs.webkit.org/show_bug.cgi?id=19578
80888        [CURL] problem in parseDataUrl
80889
80890        De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
80891        This patch also fixes encoding support in escaped (non-Base64) data
80892        URLs. All manual data URL tests now pass in both GLib and non-GLib
80893        code paths.
80894
80895        * platform/network/curl/ResourceHandleManager.cpp:
80896        (WebCore::parseDataUrl):
80897
808982008-10-04  Timothy Hatcher  <timothy@apple.com>
80899
80900        Makes breakpoints and debugging code during page load work in the
80901        Web Inspector's debugger. Specifically, this makes the source
80902        code for loading resources show up in the Scripts panel.
80903
80904        https://bugs.webkit.org/show_bug.cgi?id=19053
80905        rdar://problem/5933408
80906
80907        Reviewed by Mark Rowe.
80908
80909        * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
80910        not using tabs and a tab width of 8.
80911        * inspector/InspectorController.cpp:
80912        (WebCore::addResourceSourceToFrame): Return a bool to report if the
80913        source was added successfully or not.
80914        (WebCore::addSourceToFrame): Ditto.
80915        * inspector/front-end/ScriptView.js:
80916        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
80917        Return early if the InspectorController.addSourceToFrame fails.
80918        Moved the delete of the _frameNeedsSetup property after that call so
80919        if the source wasn't added it will be attempted again.
80920        * inspector/front-end/SourceView.js:
80921        (WebInspector.SourceView.prototype.detach): Move a comment.
80922        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
80923        Don't check if the resource is finished or failed, just attempt
80924        to add the source to the frame. WebCore has the source, but the
80925        finished property hasn't been set yet. Return early if the
80926        InspectorController.addSourceToFrame fails. Moved the delete
80927        of the _frameNeedsSetup property after that call so if the source
80928        wasn't added it will be attempted again.
80929        (WebInspector.SourceView.prototype._resourceLoadingFinished):
80930        Clear the _frameNeedsSetup and _sourceFrameSetup properties so
80931        the source frame will we populated again now that the resource
80932        load has finished.
80933        * manual-tests/inspector/debugger-pause-during-load.html: Added.
80934
809352008-10-04  Mark Rowe  <mrowe@apple.com>
80936
80937        Reviewed by Tim Hatcher.
80938
80939        Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
80940
80941        * WebCore.xcodeproj/project.pbxproj:
80942
809432008-10-04  David Hyatt  <hyatt@apple.com>
80944
80945        https://bugs.webkit.org/show_bug.cgi?id=21373
80946
80947        Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
80948        is still present.
80949
80950        Reviewed by Mark Rowe
80951
80952        * page/FrameView.cpp:
80953        (WebCore::FrameView::~FrameView):
80954
809552008-10-04  Sam Weinig  <sam@webkit.org>
80956
80957        Reviewed by Dan Bernstein.
80958
80959        Avoid copying a Vector when using getSupportedKeySizes.
80960
80961        * html/HTMLKeygenElement.cpp:
80962        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
80963        * platform/SSLKeyGenerator.h:
80964        * platform/gtk/TemporaryLinkStubs.cpp:
80965        (WebCore::getSupportedKeySizes):
80966        * platform/mac/SSLKeyGeneratorMac.mm:
80967        (WebCore::getSupportedKeySizes):
80968        * platform/qt/TemporaryLinkStubs.cpp:
80969        (WebCore::getSupportedKeySizes):
80970        * platform/win/TemporaryLinkStubs.cpp:
80971        (WebCore::getSupportedKeySizes):
80972        * platform/wx/TemporaryLinkStubs.cpp:
80973        (WebCore::getSupportedKeySizes):
80974
809752008-10-04  Darin Adler  <darin@apple.com>
80976
80977        Reviewed by Cameron Zwarich.
80978
80979        - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
80980          Bug 21295: Replace ExecState with a call frame Register pointer
80981
80982        * bindings/js/JSQuarantinedObjectWrapper.cpp:
80983        (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
80984        Remove bogus "const".
80985        * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
80986
809872008-10-04  David Hyatt  <hyatt@apple.com>
80988
80989        Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
80990
80991        Reviewed by Darin Adler
80992
80993        * WebCore.xcodeproj/project.pbxproj:
80994        * platform/PopupMenuClient.h:
80995        * platform/gtk/PopupMenuGtk.cpp:
80996        (WebCore::PopupMenu::show):
80997        * platform/mac/PopupMenuMac.mm:
80998        (WebCore::PopupMenu::populate):
80999        (WebCore::PopupMenu::show):
81000        * platform/qt/PopupMenuQt.cpp:
81001        (WebCore::PopupMenu::populate):
81002        * platform/win/PopupMenuWin.cpp:
81003        (WebCore::PopupMenu::calculatePositionAndSize):
81004        (WebCore::PopupMenu::paint):
81005        (WebCore::PopupWndProc):
81006        * rendering/RenderMenuList.cpp:
81007        (WebCore::RenderMenuList::itemStyle):
81008        (WebCore::RenderMenuList::menuStyle):
81009        (WebCore::RenderMenuList::hostWindow):
81010        * rendering/RenderMenuList.h:
81011        * rendering/RenderTextControl.cpp:
81012        (WebCore::RenderTextControl::itemStyle):
81013        (WebCore::RenderTextControl::menuStyle):
81014        (WebCore::RenderTextControl::hostWindow):
81015        * rendering/RenderTextControl.h:
81016
810172008-10-04  Matt Lilek  <webkit@mattlilek.com>
81018
81019        Build fix - restore Private role to headers that had it before the move.
81020
81021        * WebCore.xcodeproj/project.pbxproj:
81022
810232008-10-04  Darin Adler  <darin@apple.com>
81024
81025        - try to fix build
81026
81027        * DerivedSources.make: Add new inspector directory to VPATH.
81028        * GNUmakefile.am: Add new inspector directory to includes.
81029        Re-sort the IDL_BINDINGS list. Add new inspector directory
81030        to VPATH.
81031
810322008-10-04  Matt Lilek  <webkit@mattlilek.com>
81033
81034        Not reviewed, attempt to fix Gtk build.
81035
81036        * GNUmakefile.am:
81037
810382008-10-03  Timothy Hatcher  <timothy@apple.com>
81039
81040        Move the Web Inspector files into a top-level "inspector" folder.
81041
81042        https://bugs.webkit.org/show_bug.cgi?id=21359
81043
81044        Reviewed by Dave Hyatt.
81045
81046        * GNUmakefile.am:
81047        * WebCore.pro:
81048        * WebCore.vcproj/WebCore.vcproj:
81049        * WebCore.xcodeproj/project.pbxproj:
81050        * WebCoreSources.bkl:
81051        * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
81052        * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
81053        * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
81054        * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
81055        * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
81056        * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
81057        * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
81058        * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
81059        * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
81060        * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
81061        * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
81062        * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
81063        * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
81064        * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
81065        * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
81066        * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
81067        * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
81068        * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
81069        * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
81070        * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
81071        * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
81072        * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
81073        * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
81074        * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
81075        * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
81076        * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
81077        * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
81078        * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
81079        * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
81080        * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
81081        * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
81082        * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
81083        * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
81084        * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
81085        * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
81086        * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
81087        * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
81088        * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
81089        * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
81090        * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
81091        * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
81092        * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
81093        * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
81094        * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
81095        * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
81096        * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
81097        * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
81098        * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
81099        * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
81100        * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
81101        * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
81102        * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
81103        * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
81104        * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
81105        * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
81106        * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
81107        * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
81108        * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
81109        * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
81110        * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
81111        * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
81112        * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
81113        * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
81114        * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
81115        * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
81116        * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
81117        * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
81118        * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
81119        * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
81120        * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
81121        * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
81122        * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
81123        * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
81124        * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
81125        * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
81126        * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
81127        * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
81128        * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
81129        * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
81130        * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
81131        * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
81132        * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
81133        * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
81134        * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
81135        * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
81136        * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
81137        * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
81138        * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
81139        * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
81140        * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
81141        * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
81142        * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
81143        * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
81144        * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
81145        * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
81146        * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
81147        * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
81148        * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
81149        * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
81150        * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
81151        * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
81152        * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
81153        * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
81154        * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
81155        * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
81156        * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
81157        * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
81158        * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
81159        * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
81160        * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
81161        * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
81162        * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
81163        * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
81164        * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
81165        * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
81166        * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
81167        * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
81168        * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
81169        * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
81170        * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
81171        * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
81172        * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
81173        * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
81174        * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
81175        * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
81176        * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
81177        * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
81178        * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
81179        * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
81180        * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
81181        * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
81182        * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
81183        * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
81184        * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
81185        * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
81186        * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
81187        * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
81188        * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
81189        * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
81190        * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
81191        * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
81192        * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
81193        * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
81194        * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
81195        * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
81196        * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
81197        * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
81198        * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
81199        * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
81200        * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
81201        * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
81202        * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
81203        * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
81204        * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
81205        * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
81206        * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
81207
812082008-10-03  Timothy Hatcher  <timothy@apple.com>
81209
81210        Adds support to the Web Inspector's Elements panel for fast tag name,
81211        class name, id and attribute name searching. The panel first tries
81212        using getElementById, getElementsByClassName and getElementsByTagName
81213        with the search query. Then does a slower search using XPath for partial
81214        matches, text and comment matches.
81215
81216        Adds support for search queries like "<div>", "<h" and "frame>".
81217        These forms limit the search to tag names, text and comment matches.
81218
81219        https://bugs.webkit.org/show_bug.cgi?id=21353
81220
81221        Reviewed by Maciej Stachowiak.
81222
81223        * page/inspector/ElementsPanel.js:
81224        (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
81225        support. Add new search functions that try exact matches first.
81226
812272008-10-03  Timothy Hatcher  <timothy@apple.com>
81228
81229        Changes how searching works in the Web Inspector's Elements
81230        panel. The search tasks are divided into chunks that are small
81231        units of work that are performed at a time interval. This
81232        change also prevents queries that will select all elements,
81233        since that isn't useful.
81234
81235        https://bugs.webkit.org/show_bug.cgi?id=21285
81236
81237        Reviewed by Oliver Hunt.
81238
81239        * page/inspector/ElementsPanel.js:
81240        (WebInspector.ElementsPanel.prototype.searchCancled):
81241        Remove the searchResultsProperty form results since there might
81242        be an unfinished search.
81243        (WebInspector.ElementsPanel.prototype.performSearch): Divide the
81244        documents and search functions into chunks that are performed on
81245        a interval of 25ms. Prevent searches for "//*" and "*".
81246
812472008-10-03  Maciej Stachowiak  <mjs@apple.com>
81248
81249        Reviewed by Cameron Zwarich.
81250
81251        - "this" object in methods called on primitives should be wrapper object
81252        https://bugs.webkit.org/show_bug.cgi?id=21362
81253
81254        Updated so toThis conversion for the split window is handled properly.
81255
81256        * bindings/scripts/CodeGeneratorJS.pm:
81257
812582008-10-03  Sam Weinig  <sam@webkit.org>
81259
81260        Reviewed by David "The Motivator" Hyatt.
81261
81262        Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
81263        Move SecurityOrigin out of platform/ to page/.
81264
81265        It was a layering violation for SecurityOrigin to be in platform
81266        as it depended on FrameLoader.
81267
81268        * GNUmakefile.am:
81269        * WebCore.pro:
81270        * WebCore.vcproj/WebCore.vcproj:
81271        * WebCore.xcodeproj/project.pbxproj:
81272        * WebCoreSources.bkl:
81273        * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
81274        * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
81275        * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
81276        * platform/SecurityOrigin.cpp: Removed.
81277        * platform/SecurityOrigin.h: Removed.
81278        * platform/SecurityOriginHash.h: Removed.
81279
812802008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
81281
81282        Reviewed by Alp Toker.
81283
81284        http://bugs.webkit.org/show_bug.cgi?id=18832
81285        [curl] file upload does not work
81286
81287        The curl_off_t integer type has a different size depending if large
81288        file support is enabled or not. There is no different public API for
81289        the two cases, so the same function accepts a different type based on
81290        a compilation option the could be different in WebKit and libcurl.
81291        To fix the bug we query libcurl at runtime for large file support and
81292        pass the right type based on that.
81293
81294        * platform/network/curl/ResourceHandleManager.cpp:
81295        (WebCore::ResourceHandleManager::setupPOST):
81296
812972008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
81298
81299        Reviewed by David Hyatt.
81300
81301        Gtk build fixes.
81302
81303        * platform/gtk/FileChooserGtk.cpp:
81304        (WebCore::FileChooser::openFileChooser):
81305        * platform/gtk/PlatformScreenGtk.cpp:
81306        (WebCore::screenDepth):
81307        (WebCore::screenDepthPerComponent):
81308        (WebCore::screenAvailableRect):
81309        * platform/gtk/PopupMenuGtk.cpp:
81310        (WebCore::PopupMenu::show):
81311        * platform/gtk/ScrollViewGtk.cpp:
81312        (WebCore::ScrollView::platformAddChild):
81313        (WebCore::ScrollView::platformRemoveChild):
81314        * platform/gtk/WidgetGtk.cpp:
81315        (WebCore::Widget::setCursor):
81316        * plugins/gtk/PluginViewGtk.cpp:
81317        (WebCore::PluginView::getValue):
81318        (WebCore::PluginView::forceRedraw):
81319        (WebCore::PluginView::init):
81320
813212008-10-03  David Hyatt  <hyatt@apple.com>
81322
81323        Fix Qt bustage from missing include.
81324
81325        * platform/qt/PlatformScreenQt.cpp:
81326
813272008-10-03  David Hyatt  <hyatt@apple.com>
81328
81329        Fix Windows scrollbar bustage in popup menus.
81330
81331        * platform/win/PopupMenuWin.cpp:
81332        (WebCore::PopupWndProc):
81333
813342008-10-03  David Hyatt  <hyatt@apple.com>
81335
81336        Fix Windows bustage.
81337
81338        * platform/win/FileChooserWin.cpp:
81339        (WebCore::FileChooser::openFileChooser):
81340        * platform/win/PlatformScreenWin.cpp:
81341        (WebCore::monitorInfoForWidget):
81342        * platform/win/WidgetWin.cpp:
81343        * plugins/win/PluginViewWin.cpp:
81344        (WebCore::PluginView::getValue):
81345        (WebCore::PluginView::forceRedraw):
81346        (WebCore::PluginView::init):
81347
813482008-10-03  Darin Adler  <darin@apple.com>
81349
81350        * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
81351        seen on some machines but not others by adding an include.
81352
813532008-10-03  Darin Adler  <darin@apple.com>
81354
81355        - Qt build fix
81356
81357        * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
81358        execute functions. Declarations for these relied on the CodeType
81359        enumeration, which used to be in ExecState.h; but the functions
81360        aren't needed at all.
81361        * bridge/qt/qt_runtime.h: Ditto.
81362
813632008-10-03  Darin Adler  <darin@apple.com>
81364
81365        Reviewed by Geoff Garen.
81366
81367        - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
81368          Turn ExecState into a call frame pointer.
81369
81370        Remove m_globalObject and m_globalData from ExecState.
81371
81372        * bindings/js/JSDOMWindowBase.cpp:
81373        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
81374        Removed an argument now that JSGlobalObject doesn't need it any more.
81375        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
81376        the JSDOMWindowBaseData constructor, and added the this argument to the
81377        JSGlobalObject constructor. This is because a couple key bits of
81378        initialization moved from the data constructor to the JSGlobalObject
81379        constructor.
81380        * bindings/js/JSDOMWindowBase.h: Ditto.
81381
81382        * bridge/qt/qt_runtime.cpp:
81383        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
81384        * bridge/runtime_method.cpp:
81385        (JSC::RuntimeMethod::RuntimeMethod):
81386        Pass JSGlobalData* instead of ExecState* to the InternalFunction
81387        constructor.
81388
813892008-10-03  David Hyatt  <hyatt@apple.com>
81390
81391        Fix Windows/Qt build bustage.
81392
81393        Reviewed by ggaren
81394
81395        * loader/EmptyClients.h:
81396        (WebCore::EmptyChromeClient::platformWindow):
81397        * page/Chrome.cpp:
81398        (WebCore::Chrome::platformWindow):
81399        * page/Chrome.h:
81400        * page/ChromeClient.h:
81401        * platform/HostWindow.h:
81402        * platform/qt/PlatformScreenQt.cpp:
81403        (WebCore::screenDepth):
81404        (WebCore::screenDepthPerComponent):
81405        (WebCore::screenIsMonochrome):
81406        (WebCore::screenRect):
81407        (WebCore::screenAvailableRect):
81408        * platform/qt/PopupMenuQt.cpp:
81409        (WebCore::PopupMenu::show):
81410        * platform/win/PopupMenuWin.cpp:
81411        (WebCore::PopupMenu::show):
81412        (WebCore::PopupMenu::calculatePositionAndSize):
81413        (WebCore::PopupWndProc):
81414
814152008-10-03  Simon Fraser  <simon.fraser@apple.com>
81416
81417        Reviewed by Dave Hyatt
81418
81419        Make setStyle() take a const RenderStyle, to ensure that an
81420        earlier RenderStyle::diff() remains valid.
81421
81422        * rendering/RenderBR.cpp:
81423        * rendering/RenderBR.h:
81424        * rendering/RenderBlock.cpp:
81425        * rendering/RenderBlock.h:
81426        * rendering/RenderBox.cpp:
81427        * rendering/RenderBox.h:
81428        * rendering/RenderButton.cpp:
81429        * rendering/RenderButton.h:
81430        * rendering/RenderFieldset.cpp:
81431        * rendering/RenderFieldset.h:
81432        * rendering/RenderFileUploadControl.cpp:
81433        * rendering/RenderFileUploadControl.h:
81434        * rendering/RenderInline.cpp:
81435        * rendering/RenderInline.h:
81436        * rendering/RenderListBox.cpp:
81437        * rendering/RenderListBox.h:
81438        * rendering/RenderListItem.cpp:
81439        * rendering/RenderListItem.h:
81440        * rendering/RenderListMarker.cpp:
81441        * rendering/RenderListMarker.h:
81442        * rendering/RenderMenuList.cpp:
81443        * rendering/RenderMenuList.h:
81444        * rendering/RenderObject.cpp:
81445        (WebCore::RenderObject::setStyle):
81446        * rendering/RenderObject.h:
81447        * rendering/RenderReplaced.cpp:
81448        * rendering/RenderReplaced.h:
81449        * rendering/RenderSVGBlock.cpp:
81450        (WebCore::RenderSVGBlock::setStyle):
81451        * rendering/RenderSVGBlock.h:
81452        * rendering/RenderSVGGradientStop.cpp:
81453        * rendering/RenderSVGGradientStop.h:
81454        * rendering/RenderSlider.cpp:
81455        * rendering/RenderSlider.h:
81456        * rendering/RenderTable.cpp:
81457        * rendering/RenderTable.h:
81458        * rendering/RenderTableCell.cpp:
81459        * rendering/RenderTableCell.h:
81460        * rendering/RenderTableRow.cpp:
81461        * rendering/RenderTableRow.h:
81462        * rendering/RenderText.cpp:
81463        * rendering/RenderText.h:
81464        * rendering/RenderTextControl.cpp:
81465        * rendering/RenderTextControl.h:
81466        * rendering/RenderWidget.cpp:
81467        * rendering/RenderWidget.h:
81468        * rendering/style/RenderStyle.h:
81469        (WebCore::RenderStyle::isDisplayReplacedType):
81470        (WebCore::RenderStyle::isDisplayInlineType):
81471
814722008-10-03  David Hyatt  <hyatt@apple.com>
81473
81474        Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
81475        event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
81476        method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
81477        that will work properly for hit testing.  This patch just stubs out that method to return the same
81478        event untransformed.
81479
81480        Reviewed by Darin Adler
81481
81482        * page/EventHandler.cpp:
81483        (WebCore::EventHandler::handleMouseDoubleClickEvent):
81484        (WebCore::EventHandler::handleMouseMoveEvent):
81485        (WebCore::EventHandler::handleMouseReleaseEvent):
81486        (WebCore::EventHandler::passMousePressEventToScrollbar):
81487        * page/gtk/EventHandlerGtk.cpp:
81488        * page/mac/EventHandlerMac.mm:
81489        * page/qt/EventHandlerQt.cpp:
81490        * page/win/EventHandlerWin.cpp:
81491        * page/wx/EventHandlerWx.cpp:
81492        * platform/Scrollbar.cpp:
81493        (WebCore::Scrollbar::mouseMoved):
81494        (WebCore::Scrollbar::mouseExited):
81495        (WebCore::Scrollbar::mouseUp):
81496        (WebCore::Scrollbar::mouseDown):
81497        (WebCore::Scrollbar::transformEvent):
81498        * platform/Scrollbar.h:
81499
815002008-10-03  David Hyatt  <hyatt@apple.com>
81501
81502        https://bugs.webkit.org/show_bug.cgi?id=21340
81503
81504        Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
81505
81506        Reviewed by Dan Bernstein & Darin Adler
81507
81508        * platform/ScrollView.cpp:
81509        (WebCore::ScrollView::addChild):
81510        * platform/Widget.cpp:
81511        (WebCore::Widget::init):
81512        * platform/Widget.h:
81513        * platform/mac/WidgetMac.mm:
81514        * platform/win/PopupMenuWin.cpp:
81515        (WebCore::PopupMenu::show):
81516
815172008-10-03  Adele Peterson  <adele@apple.com>
81518
81519        Reviewed by Sam Weinig.
81520
81521        * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
81522        Return early if settings is nil.
81523
815242008-10-03  Rob Buis  <buis@kde.org>
81525
81526        Reviewed by Darin.
81527
81528        https://bugs.webkit.org/show_bug.cgi?id=20134
81529        REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
81530
81531        Make sure the input element gets the right default value when no value is set.
81532
81533        Test: fast/forms/range-default-value.html
81534
81535        * rendering/RenderSlider.cpp:
81536        (WebCore::RenderSlider::setPositionFromValue):
81537
815382008-10-03  David Hyatt  <hyatt@apple.com>
81539
81540        Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
81541        destructor that calls them, switch to having a cross-platform constructor/destructor that calls
81542        platform-specific init/destroy methods.
81543
81544        With this change, ScrollViewWin.cpp can be removed from the build (yay!).
81545
81546        Reviewed by Darin Adler
81547
81548        * WebCore.vcproj/WebCore.vcproj:
81549        * platform/ScrollView.cpp:
81550        (WebCore::ScrollView::ScrollView):
81551        (WebCore::ScrollView::~ScrollView):
81552        (WebCore::ScrollView::platformInit):
81553        (WebCore::ScrollView::platformDestroy):
81554        (WebCore::ScrollView::platformAddChild):
81555        (WebCore::ScrollView::platformRemoveChild):
81556        * platform/ScrollView.h:
81557        * platform/gtk/ScrollViewGtk.cpp:
81558        (WebCore::ScrollView::platformInit):
81559        (WebCore::ScrollView::platformDestroy):
81560        * platform/mac/ScrollViewMac.mm:
81561        * platform/qt/ScrollViewQt.cpp:
81562        (WebCore::ScrollView::platformInit):
81563        (WebCore::ScrollView::platformDestroy):
81564        * platform/win/ScrollViewWin.cpp: Removed.
81565        * platform/wx/ScrollViewWx.cpp:
81566        (WebCore::ScrollView::platformInit):
81567        (WebCore::ScrollView::platformDestroy):
81568        (WebCore::ScrollView::setPlatformWidget):
81569
815702008-10-03  Adele Peterson  <adele@apple.com>
81571
81572        Reviewed by Dan Bernstein.
81573
81574        Fix for <rdar://problem/6012018>
81575        https://bugs.webkit.org/show_bug.cgi?id=21335
81576        CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
81577
81578        * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
81579
815802008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
81581
81582        Build fix.
81583
81584        * platform/qt/WidgetQt.cpp:
81585        (WebCore::Widget::invalidateRect):
81586
815872008-10-03  Alp Toker  <alp@nuanti.com>
81588
81589        Remove some left-over GTK+ includes. No change in functionality.
81590
81591        * platform/Cursor.h:
81592        * platform/graphics/Icon.h:
81593        * platform/gtk/RenderThemeGtk.h:
81594
815952008-10-03  Alp Toker  <alp@nuanti.com>
81596
81597        Build fix for trailing comment after #endif
81598
81599        * dom/ElementRareData.h:
81600
816012008-10-03  David Hyatt  <hyatt@apple.com>
81602
81603        Remove addToDirtyRegion.
81604
81605        Reviewed by Oliver Hunt
81606
81607        * page/Chrome.cpp:
81608        * page/Chrome.h:
81609        * page/ChromeClient.h:
81610        * platform/ScrollView.h:
81611        * platform/gtk/ScrollViewGtk.cpp:
81612        * platform/qt/ScrollViewQt.cpp:
81613        * platform/win/ScrollViewWin.cpp:
81614
816152008-10-03  Dan Bernstein  <mitz@apple.com>
81616
81617        Reviewed by Maciej Stachowiak.
81618
81619        - fix a CachedResource leak introduced in r37176
81620
81621        Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
81622        afterwards bail out of the outer pruneDeadResources().
81623
81624        * loader/Cache.cpp:
81625        (WebCore::Cache::Cache):
81626        (WebCore::Cache::pruneDeadResources):
81627        (WebCore::Cache::remove):
81628        * loader/Cache.h:
81629
816302008-10-03  David Hyatt  <hyatt@apple.com>
81631
81632        https://bugs.webkit.org/show_bug.cgi?id=21330
81633
81634        Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
81635        scrollbars.
81636
81637        Reviewed by Oliver Hunt
81638
81639        * platform/ScrollView.cpp:
81640        (WebCore::ScrollView::setHasHorizontalScrollbar):
81641        (WebCore::ScrollView::setHasVerticalScrollbar):
81642        (WebCore::ScrollView::platformHasHorizontalAdjustment):
81643        (WebCore::ScrollView::platformHasVerticalAdjustment):
81644        * platform/ScrollView.h:
81645        * platform/gtk/ScrollViewGtk.cpp:
81646        (WebCore::ScrollView::adjustmentChanged):
81647        (WebCore::ScrollView::ScrollView):
81648        (WebCore::ScrollView::~ScrollView):
81649        (WebCore::ScrollView::setGtkAdjustments):
81650        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
81651        (WebCore::ScrollView::platformHandleVerticalAdjustment):
81652
816532008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
81654
81655        Reviewed by Maciej Stachowiak.
81656
81657        Bug 21106: .in format discussed changes
81658        https://bugs.webkit.org/show_bug.cgi?id=21106
81659
81660        Change "upperCase" to "interfaceName" per-tag parameter as
81661        discussed on the mailing list. Removed the per-attribute version
81662        as it was not used.
81663
81664        Also add the "Element" suffix to all interfaceName parameter to match
81665        the class name (and thus remove it from make_names.pl).
81666
81667        * dom/make_names.pl:
81668        * html/HTMLTagNames.in:
81669        * svg/svgtags.in:
81670
816712008-10-03  David Hyatt  <hyatt@apple.com>
81672
81673        Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
81674        Hopefully this is a temporary hack that could eventually be removed.
81675
81676        Reviewed by Sam Weinig
81677
81678        * platform/ScrollView.cpp:
81679        (WebCore::ScrollView::scrollContents):
81680        * platform/ScrollView.h:
81681        (WebCore::ScrollView::rootPreventsBlitting):
81682        * platform/qt/ScrollViewQt.cpp:
81683        (WebCore::ScrollView::ScrollView):
81684        (WebCore::ScrollView::~ScrollView):
81685        (WebCore::ScrollView::platformAddChild):
81686        (WebCore::ScrollView::platformRemoveChild):
81687
816882008-10-02  David Hyatt  <hyatt@apple.com>
81689
81690        https://bugs.webkit.org/show_bug.cgi?id=21328
81691
81692        Make widget invalidation more cross-platform.
81693
81694        (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
81695
81696        (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
81697        This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
81698
81699        (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
81700
81701        (4) FrameViews now do a repaintRectangle on their owner element's renderer.
81702
81703        Reviewed by Sam Weinig
81704
81705        * WebCore.base.exp:
81706        * page/FrameView.cpp:
81707        (WebCore::FrameView::invalidateRect):
81708        (WebCore::FrameView::invalidateScrollbarRect):
81709        * page/FrameView.h:
81710        * platform/PopupMenu.h:
81711        * platform/ScrollView.cpp:
81712        (WebCore::ScrollView::scrollContents):
81713        * platform/ScrollView.h:
81714        * platform/Scrollbar.cpp:
81715        (WebCore::Scrollbar::setEnabled):
81716        (WebCore::Scrollbar::invalidateRect):
81717        * platform/Scrollbar.h:
81718        * platform/ScrollbarClient.h:
81719        * platform/Widget.h:
81720        * platform/gtk/WidgetGtk.cpp:
81721        * platform/mac/WidgetMac.mm:
81722        * platform/win/PopupMenuWin.cpp:
81723        (WebCore::PopupMenu::invalidateScrollbarRect):
81724        * platform/win/WidgetWin.cpp:
81725        * plugins/PluginView.cpp:
81726        (WebCore::PluginView::invalidateTimerFired):
81727        (WebCore::PluginView::invalidateWindowlessPluginRect):
81728        * plugins/PluginView.h:
81729        * plugins/gtk/PluginViewGtk.cpp:
81730        (WebCore::PluginView::invalidateRect):
81731        * plugins/qt/PluginViewQt.cpp:
81732        (WebCore::PluginView::invalidateRect):
81733        * plugins/win/PluginViewWin.cpp:
81734        (WebCore::PluginView::invalidateRect):
81735        (WebCore::PluginView::invalidateRegion):
81736        * rendering/RenderLayer.cpp:
81737        (WebCore::RenderLayer::invalidateScrollbarRect):
81738        * rendering/RenderLayer.h:
81739        * rendering/RenderListBox.cpp:
81740        (WebCore::RenderListBox::paintObject):
81741        (WebCore::RenderListBox::paintScrollbar):
81742        (WebCore::RenderListBox::invalidateScrollbarRect):
81743        * rendering/RenderListBox.h:
81744
817452008-10-02  Dan Bernstein  <mitz@apple.com>
81746
81747        Reviewed by Geoffrey Garen and Sam Weinig.
81748
81749        - fix SVGFontFaceElement leaks seen in Acid3
81750        - make font-face elements take effect only when they are in the document tree
81751
81752        Test: svg/custom/font-face-not-in-document.svg
81753
81754        * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
81755        RefPtr to a plain pointer to break a ref cycle.
81756        (WebCore::SVGFontData::svgFontFaceElement):
81757
81758        * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
81759        @font-face rule from the document's mapped element sheet when the
81760        element is inserted and removed from the document, and to update it
81761        only when the element is in the document.
81762        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
81763        (WebCore::SVGFontFaceElement::parseMappedAttribute):
81764        (WebCore::SVGFontFaceElement::rebuildFontFace):
81765        (WebCore::SVGFontFaceElement::insertedIntoDocument):
81766        (WebCore::SVGFontFaceElement::removedFromDocument):
81767        (WebCore::SVGFontFaceElement::childrenChanged):
81768        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
81769        * svg/SVGFontFaceElement.h:
81770
817712008-10-01  Simon Fraser  <simon.fraser@apple.com>
81772
81773        Reviewed by Dave Hyatt
81774
81775        Fix RenderFileUploadControl::setStyle() and
81776        RenderMenuList::setStyle() to not touch the style; replace
81777        with html4.css and CSSStyleSelector changes.
81778
81779        https://bugs.webkit.org/show_bug.cgi?id=21287
81780
81781        * css/CSSStyleSelector.cpp:
81782        (WebCore::CSSStyleSelector::adjustRenderStyle):
81783        * css/html4.css:
81784        * rendering/RenderBlock.cpp:
81785        (WebCore::RenderBlock::setStyle):
81786        * rendering/RenderFileUploadControl.cpp:
81787        * rendering/RenderMenuList.cpp:
81788        (WebCore::RenderMenuList::setStyle):
81789
817902008-10-01  Simon Fraser  <simon.fraser@apple.com>
81791
81792        Reviewed by Dave Hyatt
81793
81794        Clean up code that changes the RenderStyle passed in to
81795        table renderer setStyle() methods.
81796
81797        https://bugs.webkit.org/show_bug.cgi?id=21287
81798
81799        Tests: fast/table/floating-th.html
81800               fast/table/table-display-types-strict.html
81801               fast/table/table-display-types.html
81802
81803        * css/CSSStyleSelector.cpp:
81804        (WebCore::CSSStyleSelector::adjustRenderStyle):
81805        * rendering/RenderTableCell.cpp:
81806        (WebCore::RenderTableCell::setStyle):
81807        * rendering/RenderTableRow.cpp:
81808        (WebCore::RenderTableRow::setStyle):
81809        * rendering/RenderTableSection.cpp:
81810        (WebCore::RenderTableSection::setStyle):
81811
818122008-10-02  Darin Adler  <darin@apple.com>
81813
81814        - fix build
81815
81816        * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
81817        Not just locally in my generated file!
81818
818192008-10-02  Adele Peterson  <adele@apple.com>
81820
81821        Reviewed by Dan Bernstein.
81822
81823        Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
81824        REGRESSION: <input> color specified in inline style applies to placeholder
81825
81826        I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
81827        is more appropriate.  This change adds "-webkit-input-placeholder".
81828
81829        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
81830        Added definition for "-webkit-input-placeholder" pseudo element.
81831        * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
81832        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
81833        Added case for PseudoInputPlaceholder.
81834        * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
81835        * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
81836
81837        * html/HTMLInputElement.cpp:
81838        (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
81839        (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
81840        (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
81841        setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
81842        * rendering/RenderTextControl.cpp:
81843        (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
81844        (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
81845        the text will be updated correctly.
81846        * rendering/RenderTextControl.h:
81847
818482008-10-02  Chris Fleizach  <cfleizach@apple.com>
81849
81850        Reviewed by Darin Adler.
81851
81852        https://bugs.webkit.org/show_bug.cgi?id=21280
81853        <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
81854
81855        Updated AXTable detection to be more robust to false-positives. Specifically, added checks
81856        to ensure that there is more than one valid table cell, and that at least half of the cells
81857        have borders or have specific background colors. Modified the table detection layout test
81858        to test for the tables mentioned in the bug
81859
81860        * page/AccessibilityTable.cpp:
81861        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
81862
818632008-10-02  Darin Adler  <darin@apple.com>
81864
81865        Reviewed by Geoff Garen.
81866
81867        - https://bugs.webkit.org/show_bug.cgi?id=21321
81868          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
81869
81870        * bindings/js/GCController.cpp:
81871        (WebCore::collect): Use heap. instead of heap-> to work with the heap.
81872        (WebCore::GCController::gcTimerFired): Ditto.
81873        (WebCore::GCController::garbageCollectNow): Ditto.
81874        * bindings/js/JSDOMWindowShell.cpp:
81875        (WebCore::JSDOMWindowShell::operator new): Ditto.
81876        * storage/Database.cpp:
81877        (WebCore::Database::Database): Ditto.
81878
818792008-10-02  Dan Bernstein  <mitz@apple.com>
81880
81881        Reviewed by Alexey Proskuryakov.
81882
81883        - fix a Database leak that resulted in Document leaks
81884
81885        * storage/Database.cpp:
81886        (WebCore::Database::openDatabase): Account for the fact that RefCounted
81887        objects start out with a ref count of 1.
81888
818892008-10-02  Sam Weinig  <sam@webkit.org>
81890
81891        Reviewed by Mr. Geoffrey Garen.
81892
81893        Always mark your parent before marking members.
81894
81895        * bindings/js/JSDOMWindowCustom.cpp:
81896        (WebCore::JSDOMWindow::mark):
81897
818982008-10-02  David Hyatt  <hyatt@apple.com>
81899
81900        https://bugs.webkit.org/show_bug.cgi?id=21314
81901
81902        Make scrollBackingStore cross-platform.
81903
81904        Reviewed by Sam Weinig
81905
81906        * loader/EmptyClients.h:
81907        (WebCore::EmptyChromeClient::repaint):
81908        (WebCore::EmptyChromeClient::scroll):
81909        * page/Chrome.cpp:
81910        (WebCore::Chrome::repaint):
81911        (WebCore::Chrome::scroll):
81912        * page/Chrome.h:
81913        * page/ChromeClient.h:
81914        * page/EventHandler.cpp:
81915        (WebCore::EventHandler::handleAutoscroll):
81916        * platform/HostWindow.h:
81917        * platform/ScrollView.cpp:
81918        (WebCore::ScrollView::scrollContents):
81919        (WebCore::ScrollView::addPanScrollIcon):
81920        (WebCore::ScrollView::removePanScrollIcon):
81921        * platform/ScrollView.h:
81922        * platform/gtk/ScrollViewGtk.cpp:
81923        * platform/qt/ScrollViewQt.cpp:
81924        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
81925        (WebCore::ScrollView::~ScrollView):
81926        * platform/win/ScrollViewWin.cpp:
81927        (WebCore::ScrollView::ScrollView):
81928        (WebCore::ScrollView::~ScrollView):
81929
819302008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
81931
81932        wx build fixes after Frame/ScrollView changes.
81933
81934        * WebCoreSources.bkl:
81935        * platform/wx/ScrollViewWx.cpp:
81936        (WebCore::ScrollView::platformContentsToScreen):
81937        (WebCore::ScrollView::platformScreenToContents):
81938        (WebCore::ScrollView::platformIsOffscreen):
81939
819402008-10-02  Brett Wilson  <brettw@chromium.org>
81941
81942        Reviewed by Sam Weinig
81943
81944        https://bugs.webkit.org/show_bug.cgi?id=21292
81945
81946        Revert the changes to enclosingIntRect made in r12530 since the new code
81947        doesn't round correctly.
81948
81949        * ChangeLog:
81950        * platform/graphics/FloatRect.cpp:
81951        (WebCore::enclosingIntRect):
81952
819532008-10-02  Dan Bernstein  <mitz@apple.com>
81954
81955        Reviewed by Anders Carlsson and Eric Seidel.
81956
81957        - fix HTMLCanvaseElement leak from -webkit-canvas() values
81958
81959        Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
81960        pointer, as the document owns the canvas elements. Added code to release
81961        those elements in Document::removedLastRef() because they reference
81962        the document.
81963
81964        * css/CSSCanvasValue.cpp:
81965        (WebCore::CSSCanvasValue::element):
81966        * css/CSSCanvasValue.h:
81967        (WebCore::CSSCanvasValue::CSSCanvasValue):
81968        * dom/Document.cpp:
81969        (WebCore::Document::removedLastRef):
81970
819712008-10-02  Alexey Proskuryakov  <ap@webkit.org>
81972
81973        Reviewed by Maciej Stachowiak.
81974
81975        Build fix for platforms that don't implement WTF::ThreadSpecific.
81976
81977        * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
81978        Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
81979        code is only needed for JS bindings in worker threads.
81980
819812008-10-01  David Hyatt  <hyatt@apple.com>
81982
81983        https://bugs.webkit.org/show_bug.cgi?id=21298
81984
81985        Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
81986        will make that cross-platform.
81987
81988        The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
81989        multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
81990        windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
81991
81992        Reviewed by Sam Weinig
81993
81994        * page/FrameView.cpp:
81995        (WebCore::FrameView::windowClipRect):
81996        (WebCore::FrameView::isActive):
81997        * page/FrameView.h:
81998        (WebCore::FrameView::visibleContentsResized):
81999        * platform/PopupMenu.h:
82000        * platform/ScrollView.cpp:
82001        (WebCore::ScrollView::init):
82002        (WebCore::ScrollView::destroy):
82003        (WebCore::ScrollView::setHasHorizontalScrollbar):
82004        (WebCore::ScrollView::setHasVerticalScrollbar):
82005        (WebCore::ScrollView::valueChanged):
82006        (WebCore::ScrollView::updateScrollbars):
82007        (WebCore::ScrollView::scrollContents):
82008        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
82009        (WebCore::ScrollView::platformHandleVerticalAdjustment):
82010        * platform/ScrollView.h:
82011        * platform/Scrollbar.cpp:
82012        (WebCore::Scrollbar::windowClipRect):
82013        * platform/ScrollbarClient.h:
82014        * platform/gtk/ScrollViewGtk.cpp:
82015        (WebCore::ScrollView::platformHandleHorizontalAdjustment):
82016        (WebCore::ScrollView::platformHandleVerticalAdjustment):
82017        * platform/qt/ScrollViewQt.cpp:
82018        (WebCore::ScrollView::scrollContents):
82019        * platform/win/PopupMenuWin.cpp:
82020        (WebCore::PopupMenu::windowClipRect):
82021        * platform/win/ScrollViewWin.cpp:
82022        (WebCore::ScrollView::scrollContents):
82023        * rendering/RenderLayer.cpp:
82024        (WebCore::RenderLayer::windowClipRect):
82025        * rendering/RenderLayer.h:
82026        * rendering/RenderListBox.cpp:
82027        (WebCore::RenderListBox::panScroll):
82028        (WebCore::RenderListBox::windowClipRect):
82029        * rendering/RenderListBox.h:
82030
820312008-10-02  Alexey Proskuryakov  <ap@webkit.org>
82032
82033        Reviewed by Darin Adler.
82034
82035        https://bugs.webkit.org/show_bug.cgi?id=21304
82036        Stop using a static wrapper map for WebCore JS bindings
82037
82038        The static domObjects map was not thread safe.
82039
82040        * dom/Document.h:
82041        (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
82042        ports.
82043        (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
82044
82045        * dom/Document.cpp:
82046        (WebCore::Document::createdXMLHttpRequest):
82047        (WebCore::Document::destroyedXMLHttpRequest):
82048        Moved XMLHttpRequest tracking from a global map to Document.
82049
82050        * GNUmakefile.am:
82051        * WebCore.pro:
82052        * WebCore.vcproj/WebCore.vcproj:
82053        * WebCore.xcodeproj/project.pbxproj:
82054        * WebCoreSources.bkl:
82055        * webcore-base.bkl:
82056        * bindings/DOMProtect.cpp: Removed.
82057        * bindings/DOMProtect.h: Removed.
82058        Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
82059        so they can no longer protect bindings objects.
82060
82061        * dom/MessagePort.cpp:
82062        (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
82063        (WebCore::CloseMessagePortTimer::fired):
82064        (WebCore::MessagePort::MessagePort):
82065        (WebCore::MessagePort::queueCloseEvent):
82066        (WebCore::MessagePort::setPendingActivity):
82067        (WebCore::MessagePort::unsetPendingActivity):
82068        * dom/MessagePort.h:
82069        (WebCore::MessagePort::hasPendingActivity):
82070        MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
82071        to protect it.
82072
82073        * xml/XMLHttpRequest.h:
82074        (WebCore::XMLHttpRequest::hasPendingActivity):
82075        * xml/XMLHttpRequest.cpp:
82076        (WebCore::XMLHttpRequest::XMLHttpRequest):
82077        (WebCore::XMLHttpRequest::~XMLHttpRequest):
82078        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
82079        (WebCore::XMLHttpRequest::dropProtection):
82080        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
82081        (WebCore::XMLHttpRequest::cancelRequests):
82082        (WebCore::XMLHttpRequest::detachRequests):
82083        (WebCore::XMLHttpRequest::setPendingActivity):
82084        (WebCore::XMLHttpRequest::unsetPendingActivity):
82085        Moved XMLHttpRequest tracking from a global map to Document.
82086
82087        * bindings/js/JSDOMBinding.cpp:
82088        (WebCore::wrapperSet):
82089        (WebCore::DOMObjectWrapperMap::mapFor):
82090        (WebCore::DOMObjectWrapperMap::get):
82091        (WebCore::DOMObjectWrapperMap::set):
82092        (WebCore::DOMObjectWrapperMap::remove):
82093        (WebCore::getCachedDOMObjectWrapper):
82094        (WebCore::cacheDOMObjectWrapper):
82095        (WebCore::forgetDOMObject):
82096        (WebCore::getCachedDOMNodeWrapper):
82097        (WebCore::forgetDOMNode):
82098        (WebCore::cacheDOMNodeWrapper):
82099        (WebCore::markActiveObjectsForDocument):
82100        * bindings/js/JSDOMBinding.h:
82101        (WebCore::createDOMObjectWrapper):
82102        (WebCore::getDOMObjectWrapper):
82103        Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
82104        to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
82105        WebCore objects can never migrate between threads.
82106
82107        * bindings/js/JSDocumentCustom.cpp:
82108        (WebCore::JSDocument::mark):
82109        Call markActiveObjectsForDocument() from JSDOMBinding.
82110
82111        * bindings/js/JSCSSRuleCustom.cpp:
82112        (WebCore::toJS):
82113        * bindings/js/JSCSSValueCustom.cpp:
82114        (WebCore::toJS):
82115        * bindings/js/JSDOMWindowCustom.cpp:
82116        (WebCore::markDOMObjectWrapper):
82117        (WebCore::JSDOMWindow::mark):
82118        * bindings/js/JSEventCustom.cpp:
82119        (WebCore::toJS):
82120        * bindings/js/JSEventTarget.cpp:
82121        (WebCore::toJS):
82122        * bindings/js/JSHTMLCollectionCustom.cpp:
82123        (WebCore::toJS):
82124        * bindings/js/JSImageDataCustom.cpp:
82125        (WebCore::toJS):
82126        * bindings/js/JSMessageChannelCustom.cpp:
82127        (WebCore::JSMessageChannel::mark):
82128        * bindings/js/JSMessagePortCustom.cpp:
82129        (WebCore::JSMessagePort::mark):
82130        * bindings/js/JSNodeCustom.cpp:
82131        (WebCore::JSNode::mark):
82132        * bindings/js/JSSVGPathSegCustom.cpp:
82133        (WebCore::toJS):
82134        * bindings/js/JSStyleSheetCustom.cpp:
82135        (WebCore::toJS):
82136        * bindings/js/JSXMLHttpRequestCustom.cpp:
82137        (WebCore::JSXMLHttpRequest::mark):
82138        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
82139        (WebCore::JSXMLHttpRequestUpload::mark):
82140        * bindings/js/ScriptController.cpp:
82141        (WebCore::ScriptController::finishedWithEvent):
82142        * bindings/scripts/CodeGeneratorJS.pm:
82143        Pass a JSGlobalData reference to functions that track JS wrapper objects.
82144
821452008-10-02  Dan Bernstein  <mitz@apple.com>
82146
82147        - build fix
82148
82149        * page/JavaScriptCallFrame.idl:
82150
821512008-10-02  Oliver Hunt  <oliver@apple.com>
82152
82153        Reviewed by NOBODY (Build fix).
82154
82155        Add new file to project files
82156
82157        * GNUmakefile.am:
82158        * WebCore.pro:
82159        * WebCore.vcproj/WebCore.vcproj:
82160
821612008-10-02  Geoffrey Garen  <ggaren@apple.com>
82162
82163        Not reviewed.
82164
82165        Try to fix some more builds.
82166
82167        * GNUmakefile.am:
82168        * WebCore.pro:
82169
821702008-10-02  Geoffrey Garen  <ggaren@apple.com>
82171
82172        Not reviewed.
82173
82174        Try to fix Windows build.
82175
82176        * WebCore.vcproj/WebCore.vcproj:
82177
821782008-10-01  Geoffrey Garen  <ggaren@apple.com>
82179
82180        Reviewed by Darin Adler and Cameron Zwarich.
82181
82182        Updated for JavaScriptCore API changes: use a SourceCode instead of
82183        broken out parameters; treat sourceId as intptr_t.
82184
82185        * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
82186        * bindings/js/JSXMLHttpRequestCustom.cpp:
82187        (WebCore::JSXMLHttpRequest::send):
82188        * bindings/js/ScriptController.cpp:
82189        (WebCore::ScriptController::evaluate):
82190        * bindings/js/StringSourceProvider.h:
82191        (WebCore::StringSourceProvider::create):
82192        (WebCore::StringSourceProvider::StringSourceProvider):
82193
82194        (WebCore::makeSource): Added a makeSource function for convenience.
82195
82196        * bindings/objc/WebScriptObject.mm:
82197        (-[WebScriptObject evaluateWebScript:]):
82198        * bridge/NP_jsobject.cpp:
82199        (_NPN_Evaluate):
82200        * bridge/jni/jni_jsobject.mm:
82201        (JavaJSObject::call):
82202        (JavaJSObject::eval):
82203        (JavaJSObject::getMember):
82204        (JavaJSObject::setMember):
82205        (JavaJSObject::removeMember):
82206
82207        * bridge/jni/jni_runtime.h:
82208        (JSC::Bindings::JavaString::operator UString): Replaced the explicit
82209        ustring() function with an implicit operator because this class already
82210        holds a UString::rep.
82211
82212        * page/Console.cpp:
82213        (WebCore::retrieveLastCaller):
82214        (WebCore::Console::trace):
82215        * page/InspectorController.cpp:
82216        (WebCore::jsStringRef):
82217        (WebCore::InspectorController::addBreakpoint):
82218        (WebCore::InspectorController::removeBreakpoint):
82219        (WebCore::InspectorController::didParseSource):
82220        (WebCore::InspectorController::failedToParseSource):
82221        * page/InspectorController.h:
82222        * page/JavaScriptCallFrame.cpp:
82223        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
82224        * page/JavaScriptCallFrame.h:
82225        (WebCore::JavaScriptCallFrame::create):
82226        (WebCore::JavaScriptCallFrame::sourceIdentifier):
82227        (WebCore::JavaScriptCallFrame::update):
82228        * page/JavaScriptDebugListener.h:
82229        * page/JavaScriptDebugServer.cpp:
82230        (WebCore::JavaScriptDebugServer::addBreakpoint):
82231        (WebCore::JavaScriptDebugServer::removeBreakpoint):
82232        (WebCore::JavaScriptDebugServer::hasBreakpoint):
82233        (WebCore::dispatchDidParseSource):
82234        (WebCore::dispatchFailedToParseSource):
82235        (WebCore::JavaScriptDebugServer::sourceParsed):
82236        (WebCore::JavaScriptDebugServer::callEvent):
82237        (WebCore::JavaScriptDebugServer::atStatement):
82238        (WebCore::JavaScriptDebugServer::returnEvent):
82239        (WebCore::JavaScriptDebugServer::exception):
82240        (WebCore::JavaScriptDebugServer::willExecuteProgram):
82241        (WebCore::JavaScriptDebugServer::didExecuteProgram):
82242        (WebCore::JavaScriptDebugServer::didReachBreakpoint):
82243        * page/JavaScriptDebugServer.h:
82244        * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
82245        sourceIdentifier to sourceID.
82246
822472008-10-01  Dan Bernstein  <mitz@apple.com>
82248
82249        Reviewed by Geoffrey Garen.
82250
82251        - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
82252
82253        Broke a ref cycle by changing the m_svgFontFaceElement members of
82254        CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
82255        pointers. Also made sure that the @font-face rule added by
82256        SVGFontFaceElement to the document's mapped element sheet is removed
82257        when the font-face element is deleted or moved to another document.
82258
82259        * css/CSSFontFaceSource.cpp:
82260        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
82261        (WebCore::CSSFontFaceSource::getFontData):
82262        * css/CSSFontFaceSource.h:
82263        (WebCore::CSSFontFaceSource::svgFontFaceElement):
82264        * css/CSSFontFaceSrcValue.h:
82265        (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
82266        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
82267        * svg/SVGFontFaceElement.cpp:
82268        (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
82269        (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
82270        (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
82271        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
82272        * svg/SVGFontFaceElement.h:
82273
822742008-10-01  Oliver Hunt  <oliver@apple.com>
82275
82276        Reviewed by Maciej Stachowiak.
82277
82278        Bug 20315: Memory leak with Canvas getImageData
82279        <https://bugs.webkit.org/show_bug.cgi?id=20315>
82280
82281        This wasn't a leak, the issue was that we were reporting the cost
82282        of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
82283        and we should have been reporting the cost when we create the
82284        JSImageData wrapper.
82285
82286        * WebCore.xcodeproj/project.pbxproj:
82287        * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
82288          This was only needed to report the extra memory cost
82289          of the CPA.
82290        * bindings/js/JSImageDataCustom.cpp:
82291        (WebCore::toJS):
82292          We need a custom toJS function now so that we can report
82293          the extra memory cost.
82294        * bindings/scripts/CodeGeneratorJS.pm:
82295          Need to replace the reference to CanvasPixelArray with ImageData
82296          to be able to create the custom toJS implementation.
82297        * html/CanvasPixelArray.idl:
82298        * html/ImageData.idl:
82299
823002008-10-01  Dan Bernstein  <mitz@apple.com>
82301
82302        Reviewed by Mark Rowe.
82303
82304        - https://bugs.webkit.org/show_bug.cgi?id=21293
82305          REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
82306
82307        * svg/SVGMarkerElement.cpp:
82308        (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
82309        that renderer destruction happens before the SVGMarkerElement is
82310        destroyed.
82311        * svg/SVGSVGElement.cpp:
82312        (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
82313
823142008-10-01  Evan Martin  <evan@chromium.org>
82315
82316        Reviewed by Eric Seidel.
82317
82318        https://bugs.webkit.org/show_bug.cgi?id=20669
82319
82320        * css/makeprop.pl:
82321        Die if gperf fails.
82322
823232008-10-01  Evan Martin  <evan@chromium.org>
82324
82325        Reviewed by Eric Seidel.
82326
82327        * loader/icon/IconDatabase.h:
82328        IconDatabase uses HashMap, so it needs to #include the header.
82329
823302008-10-01  Dan Bernstein  <mitz@apple.com>
82331
82332        Reviewed by Mark Rowe.
82333
82334        - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
82335
82336        * loader/Cache.cpp:
82337        (WebCore::Cache::remove): Disable pruning temporarily during
82338        CachedResource deletion.
82339
823402008-10-01  Dan Bernstein  <mitz@apple.com>
82341
82342        Reviewed by Mark Rowe.
82343
82344        - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
82345
82346        * svg/SVGFontFaceElement.cpp:
82347        (WebCore::SVGFontFaceElement::rebuildFontFace):
82348        * svg/SVGFontFaceElement.h:
82349        (WebCore::SVGFontFaceElement::associatedFontElement):
82350
823512008-10-01  Brett Wilson  <brettw@chromium.org>
82352
82353        Reviewed by Maciej Stachowiak.
82354
82355        Document the rounding behavior of the mapRect(IntRect) function in
82356        AffineTransform.h.
82357
82358        * platform/graphics/AffineTransform.h:
82359
823602008-10-01  David Hyatt  <hyatt@apple.com>
82361
82362        Move prohibitsScrolling from the Frame to the ScrollView.
82363
82364        Reviewed by Sam Weinig
82365
82366        * WebCore.base.exp:
82367        * page/Frame.cpp:
82368        (WebCore::FramePrivate::FramePrivate):
82369        * page/Frame.h:
82370        * page/FramePrivate.h:
82371        * page/FrameView.cpp:
82372        (WebCore::FrameView::scrollRectIntoViewRecursively):
82373        (WebCore::FrameView::setScrollPosition):
82374        * platform/ScrollView.cpp:
82375        (WebCore::ScrollView::init):
82376        (WebCore::ScrollView::scrollRectIntoViewRecursively):
82377        (WebCore::ScrollView::setScrollPosition):
82378        * platform/ScrollView.h:
82379        (WebCore::ScrollView::setProhibitsScrolling):
82380        (WebCore::ScrollView::prohibitsScrolling):
82381        * platform/gtk/ScrollViewGtk.cpp:
82382        (WebCore::ScrollView::updateScrollbars):
82383        * platform/qt/ScrollViewQt.cpp:
82384        (WebCore::ScrollView::updateScrollbars):
82385        * platform/win/ScrollViewWin.cpp:
82386        (WebCore::ScrollView::updateScrollbars):
82387
823882008-10-01  Mark Rowe  <mrowe@apple.com>
82389
82390        Reviewed by Geoff Garen.
82391
82392        Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
82393
82394        * xml/XMLHttpRequest.cpp:
82395        (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
82396        that we do during the loadRequestAsynchronously of the preflight request with a deref and
82397        GC unprotect.
82398
823992008-10-01  David Hyatt  <hyatt@apple.com>
82400
82401        Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
82402        clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.
82403
82404        Reviewed by Tim Hatcher
82405
82406        * WebCore.base.exp:
82407        * page/FrameView.cpp:
82408        (WebCore::FrameView::setCanHaveScrollbars):
82409        * page/FrameView.h:
82410        * platform/ScrollView.cpp:
82411        (WebCore::ScrollView::setCanHaveScrollbars):
82412        (WebCore::ScrollView::wheelEvent):
82413        * platform/ScrollView.h:
82414        (WebCore::ScrollView::canHaveScrollbars):
82415
824162008-10-01  Dan Bernstein  <mitz@apple.com>
82417
82418        Reviewed by Mark Rowe.
82419
82420        - fix some CachedResource leaks seen on buildbot
82421
82422        The issue here was that emptying the cache was a no-op when it only
82423        contained resources with no data. Changed to go after those
82424        resources when the desired cache capacity is zero.
82425
82426        * loader/Cache.cpp:
82427        (WebCore::Cache::pruneLiveResources):
82428        (WebCore::Cache::pruneDeadResources):
82429        * loader/Cache.h:
82430        (WebCore::Cache::prune):
82431
824322008-10-01  David Hyatt  <hyatt@apple.com>
82433
82434        Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
82435        HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)
82436
82437        Reviewed by Adam Roben
82438
82439        * platform/ScrollView.cpp:
82440        (WebCore::ScrollView::isOffscreen):
82441        (WebCore::ScrollView::platformIsOffscreen):
82442        * platform/ScrollView.h:
82443        * platform/gtk/ScrollViewGtk.cpp:
82444        * platform/mac/ScrollViewMac.mm:
82445        (WebCore::ScrollView::platformIsOffscreen):
82446        * platform/qt/ScrollViewQt.cpp:
82447        * platform/wx/ScrollViewWx.cpp:
82448
824492008-10-01  David Hyatt  <hyatt@apple.com>
82450
82451        Make show/hide/setParentVisible cross-platform on ScrollView.
82452
82453        Reviewed by Adam Roben
82454
82455        * platform/ScrollView.cpp:
82456        (WebCore::ScrollView::setParentVisible):
82457        (WebCore::ScrollView::show):
82458        (WebCore::ScrollView::hide):
82459        * platform/ScrollView.h:
82460        * platform/win/ScrollViewWin.cpp:
82461
824622008-10-01  Kevin McCullough  <kmccullough@apple.com>
82463
82464        Reviewed by Dan Bernstein.
82465
82466        https://bugs.webkit.org/show_bug.cgi?id=21284
82467        Bug 21284: Max height affects max width
82468        - Looks like a cut and paste bug
82469        - Added layout test fast/css/max-height-and-max-width.html
82470
82471        * css/CSSComputedStyleDeclaration.cpp:
82472        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82473
824742008-10-01  David Hyatt  <hyatt@apple.com>
82475
82476        https://bugs.webkit.org/show_bug.cgi?id=21282
82477
82478        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
82479
82480        Reviewed by Adam Roben
82481
82482        * loader/EmptyClients.h:
82483        (WebCore::EmptyChromeClient::screenToWindow):
82484        (WebCore::EmptyChromeClient::windowToScreen):
82485        * page/Chrome.cpp:
82486        (WebCore::Chrome::screenToWindow):
82487        (WebCore::Chrome::windowToScreen):
82488        * page/Chrome.h:
82489        * page/ChromeClient.h:
82490        * platform/HostWindow.h:
82491        * platform/ScrollView.cpp:
82492        (WebCore::ScrollView::contentsToScreen):
82493        (WebCore::ScrollView::screenToContents):
82494        (WebCore::ScrollView::platformContentsToScreen):
82495        (WebCore::ScrollView::platformScreenToContents):
82496        * platform/ScrollView.h:
82497        * platform/mac/ScrollViewMac.mm:
82498        (WebCore::ScrollView::platformContentsToScreen):
82499        (WebCore::ScrollView::platformScreenToContents):
82500        * platform/win/ScrollViewWin.cpp:
82501
825022008-10-01  Dan Bernstein  <mitz@apple.com>
82503
82504        Reviewed by Darin Adler.
82505
82506        - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
82507
82508        Test: fast/parser/residual-style-close-across-removed-block.html
82509
82510        * html/HTMLParser.cpp:
82511        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
82512        an assertion that turned out to be wrong in this case, and changed to
82513        terminate the algorithm at the first empty block.
82514
825152008-10-01  David Hyatt  <hyatt@apple.com>
82516
82517        Make setFrameRect on ScrollView cross-platform.
82518
82519        Reviewed by Sam Weinig
82520
82521        * page/FrameView.h:
82522        (WebCore::FrameView::contentsResized):
82523        * platform/ScrollView.cpp:
82524        (WebCore::ScrollView::setFrameRect):
82525        * platform/ScrollView.h:
82526        * platform/gtk/ScrollViewGtk.cpp:
82527        * platform/qt/ScrollViewQt.cpp:
82528        * platform/win/ScrollViewWin.cpp:
82529
825302008-10-01  Sam Weinig  <sam@webkit.org>
82531
82532        Reviewed by Adele Peterson.
82533
82534        Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
82535        to JSDOMWindow from JSDOMWindowBase.
82536
82537        * WebCore.xcodeproj/project.pbxproj:
82538        * bindings/js/JSDOMWindowBase.cpp:
82539        (WebCore::JSDOMWindowBase::removeTimeout):
82540        * bindings/js/JSDOMWindowBase.h:
82541        * bindings/js/JSDOMWindowCustom.cpp:
82542        (WebCore::setTimeoutOrInterval):
82543        (WebCore::JSDOMWindow::setTimeout):
82544        (WebCore::JSDOMWindow::clearTimeout):
82545        (WebCore::JSDOMWindow::setInterval):
82546        (WebCore::JSDOMWindow::clearInterval):
82547        (WebCore::JSDOMWindow::atob):
82548        (WebCore::JSDOMWindow::btoa):
82549        * page/DOMWindow.idl:
82550
825512008-10-01  Dan Bernstein  <mitz@apple.com>
82552
82553        - Mac build fix
82554
82555        * WebCore.base.exp:
82556
825572008-10-01  Timothy Hatcher  <timothy@apple.com>
82558
82559        Prevent stealing focus from the search field when focusing a DOM node.
82560
82561        https://bugs.webkit.org/show_bug.cgi?id=21275
82562
82563        Reviewed by Kevin McCullough.
82564
82565        * page/inspector/ElementsPanel.js:
82566        (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
82567        Don't steal focus if the current focus element is the search field.
82568
825692008-09-30  Sam Weinig  <sam@webkit.org>
82570
82571        Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
82572
82573        Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
82574        Autogenerate JS event listeners
82575
82576        - Generate getting/setting of EventListeners.
82577
82578        - Adding a new named EventListener now has the same process as adding any other DOM
82579          attribute. (Add a method with the same name in the c++ file).
82580
82581        (The EventListeners for MessagePort have been intentionally left custom so that we
82582        can continue to experiment with making those EventListeners work in a frame-less world.)
82583
82584        * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
82585        * bindings/js/JSDOMWindowCustom.cpp: ditto.
82586        * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
82587        * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
82588        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
82589        * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
82590        getter/setters
82591        * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
82592        * dom/EventTargetNode.h: ditto.
82593        * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
82594        will use JSEventListerner instead of JSUnprotectedEventListener.
82595        * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
82596        * page/DOMWindow.cpp: Add getter/setters for named EventListener
82597        * page/DOMWindow.h: ditto.
82598        * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
82599        will use JSEventListerner instead of JSUnprotectedEventListener.
82600        * xml/XMLHttpRequest.idl: Remove custom attributes.
82601        * xml/XMLHttpRequestUpload.idl: ditto.
82602
826032008-09-30  Mark Rowe  <mrowe@apple.com>
82604
82605        Reviewed by Dan Bernstein.
82606
82607        Add a leak counter for CachedResources since we've had two recent leaks involving them.
82608
82609        * loader/CachedResource.cpp:
82610        (WebCore::CachedResource::CachedResource):
82611        (WebCore::CachedResource::~CachedResource):
82612
826132008-09-30  Dan Bernstein  <mitz@apple.com>
82614
82615        Reviewed by Dave Hyatt.
82616
82617        - fix https://bugs.webkit.org/show_bug.cgi?id=21127
82618          <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
82619
82620        If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
82621        the font name in memory.
82622
82623        * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
82624        OpenTypeUtilities.*.
82625
82626        * platform/graphics/win/FontCustomPlatformData.cpp:
82627        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
82628        to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
82629        used.
82630        (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
82631        for fonts loaded using AddFontMemResourceEx.
82632        (WebCore::createFontCustomPlatformData): Added a call to
82633        renameAndActivateFont() if TTLoadEmbeddedFont fails. If
82634        TTLoadEmbeddedFont succeeds, set the font name to the null string, as
82635        fontPlatformData() will retrieve the name from the font reference.
82636
82637        * platform/graphics/win/FontCustomPlatformData.h:
82638        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
82639        font name member.
82640
82641        * platform/graphics/win/GetEOTHeader.cpp: Renamed.
82642        * platform/graphics/win/GetEOTHeader.h: Renamed.
82643
82644        * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
82645        (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
82646        (WebCore::BigEndianULong::BigEndianULong): Ditto.
82647        (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
82648        the font data and modifies it to have the given name, then activates
82649        it using AddFontMemResourceEx.
82650
82651        * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
82652
826532008-09-30  Mark Rowe  <mrowe@apple.com>
82654
82655        Reviewed by Dan Bernstein.
82656
82657        Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
82658
82659        * rendering/RenderObject.cpp:
82660        (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
82661        with calls to removeClient when we're being destroyed.
82662
826632008-09-30  Eric Carlson  <eric.carlson@apple.com>
82664
82665        Reviewed by Antti Koivisto.
82666
82667        https://bugs.webkit.org/show_bug.cgi?id=21243
82668
82669        Fix loopstart and loopend default values.
82670
82671        Tests: media/loopend-limits.html
82672               media/loopstart-limits.html
82673
82674        * html/HTMLMediaElement.cpp:
82675        (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
82676        (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
82677
826782008-09-30  Kevin Ollivier  <kevino@theolliviers.com>
82679
82680        wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
82681
82682        * WebCoreSources.bkl:
82683        * platform/wx/ScrollViewWx.cpp:
82684        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
82685
826862008-09-30  Dan Bernstein  <mitz@apple.com>
82687
82688        Reviewed by Sam Weinig.
82689
82690        - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
82691          was fixed in r17249 and re-introduced in r31435.
82692
82693        * html/HTMLViewSourceDocument.cpp:
82694        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
82695        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
82696        (WebCore::HTMLViewSourceDocument::addLine):
82697        (WebCore::HTMLViewSourceDocument::addLink):
82698        * html/HTMLViewSourceDocument.h:
82699
827002008-09-30  Sam Weinig  <sam@webkit.org>
82701
82702        Reviewed by Eric Seidel.
82703
82704        More for https://bugs.webkit.org/show_bug.cgi?id=21122
82705        Autogenerate JS event listeners
82706
82707        - Make EventListener getter/setters names in c++ files match those in
82708          JS (ie. onLoadListener -> onload).
82709        - Add standard way to access the frame associated with the EventTarget
82710          for EventListener lookup.
82711        - Autogenerate dispatchEvent, it wasn't doing anything custom.
82712
82713        * bindings/js/JSDOMApplicationCacheCustom.cpp:
82714        (WebCore::JSDOMApplicationCache::mark):
82715        (WebCore::JSDOMApplicationCache::addEventListener):
82716        (WebCore::JSDOMApplicationCache::removeEventListener):
82717        (WebCore::JSDOMApplicationCache::setOnchecking):
82718        (WebCore::JSDOMApplicationCache::onchecking):
82719        (WebCore::JSDOMApplicationCache::setOnerror):
82720        (WebCore::JSDOMApplicationCache::onerror):
82721        (WebCore::JSDOMApplicationCache::setOnnoupdate):
82722        (WebCore::JSDOMApplicationCache::onnoupdate):
82723        (WebCore::JSDOMApplicationCache::setOndownloading):
82724        (WebCore::JSDOMApplicationCache::ondownloading):
82725        (WebCore::JSDOMApplicationCache::setOnprogress):
82726        (WebCore::JSDOMApplicationCache::onprogress):
82727        (WebCore::JSDOMApplicationCache::setOnupdateready):
82728        (WebCore::JSDOMApplicationCache::onupdateready):
82729        (WebCore::JSDOMApplicationCache::setOncached):
82730        (WebCore::JSDOMApplicationCache::oncached):
82731        * bindings/js/JSEventTargetNodeCustom.cpp:
82732        (WebCore::JSEventTargetNode::addEventListener):
82733        (WebCore::JSEventTargetNode::removeEventListener):
82734        (WebCore::JSEventTargetNode::getListener):
82735        (WebCore::JSEventTargetNode::setListener):
82736        * bindings/js/JSMessagePortCustom.cpp:
82737        (WebCore::JSMessagePort::mark):
82738        (WebCore::JSMessagePort::addEventListener):
82739        (WebCore::JSMessagePort::removeEventListener):
82740        (WebCore::JSMessagePort::setOnmessage):
82741        (WebCore::JSMessagePort::onmessage):
82742        (WebCore::JSMessagePort::setOnclose):
82743        (WebCore::JSMessagePort::onclose):
82744        * bindings/js/JSXMLHttpRequestCustom.cpp:
82745        (WebCore::JSXMLHttpRequest::mark):
82746        (WebCore::JSXMLHttpRequest::onreadystatechange):
82747        (WebCore::JSXMLHttpRequest::setOnreadystatechange):
82748        (WebCore::JSXMLHttpRequest::onabort):
82749        (WebCore::JSXMLHttpRequest::setOnabort):
82750        (WebCore::JSXMLHttpRequest::onerror):
82751        (WebCore::JSXMLHttpRequest::setOnerror):
82752        (WebCore::JSXMLHttpRequest::onload):
82753        (WebCore::JSXMLHttpRequest::setOnload):
82754        (WebCore::JSXMLHttpRequest::onloadstart):
82755        (WebCore::JSXMLHttpRequest::setOnloadstart):
82756        (WebCore::JSXMLHttpRequest::onprogress):
82757        (WebCore::JSXMLHttpRequest::setOnprogress):
82758        (WebCore::JSXMLHttpRequest::addEventListener):
82759        (WebCore::JSXMLHttpRequest::removeEventListener):
82760        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
82761        (WebCore::JSXMLHttpRequestUpload::mark):
82762        (WebCore::JSXMLHttpRequestUpload::onabort):
82763        (WebCore::JSXMLHttpRequestUpload::setOnabort):
82764        (WebCore::JSXMLHttpRequestUpload::onerror):
82765        (WebCore::JSXMLHttpRequestUpload::setOnerror):
82766        (WebCore::JSXMLHttpRequestUpload::onload):
82767        (WebCore::JSXMLHttpRequestUpload::setOnload):
82768        (WebCore::JSXMLHttpRequestUpload::onloadstart):
82769        (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
82770        (WebCore::JSXMLHttpRequestUpload::onprogress):
82771        (WebCore::JSXMLHttpRequestUpload::setOnprogress):
82772        (WebCore::JSXMLHttpRequestUpload::addEventListener):
82773        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
82774        * bindings/scripts/CodeGeneratorJS.pm:
82775        * dom/EventTarget.h:
82776        * dom/EventTargetNode.cpp:
82777        (WebCore::EventTargetNode::associatedFrame):
82778        * dom/EventTargetNode.h:
82779        * dom/EventTargetNode.idl:
82780        * dom/MessagePort.cpp:
82781        (WebCore::MessagePort::associatedFrame):
82782        * dom/MessagePort.h:
82783        (WebCore::MessagePort::setOnmessage):
82784        (WebCore::MessagePort::onmessage):
82785        (WebCore::MessagePort::setOnclose):
82786        (WebCore::MessagePort::onclose):
82787        * dom/MessagePort.idl:
82788        * loader/appcache/DOMApplicationCache.h:
82789        (WebCore::DOMApplicationCache::setOnchecking):
82790        (WebCore::DOMApplicationCache::onchecking):
82791        (WebCore::DOMApplicationCache::setOnerror):
82792        (WebCore::DOMApplicationCache::onerror):
82793        (WebCore::DOMApplicationCache::setOnnoupdate):
82794        (WebCore::DOMApplicationCache::onnoupdate):
82795        (WebCore::DOMApplicationCache::setOndownloading):
82796        (WebCore::DOMApplicationCache::ondownloading):
82797        (WebCore::DOMApplicationCache::setOnprogress):
82798        (WebCore::DOMApplicationCache::onprogress):
82799        (WebCore::DOMApplicationCache::setOnupdateready):
82800        (WebCore::DOMApplicationCache::onupdateready):
82801        (WebCore::DOMApplicationCache::setOncached):
82802        (WebCore::DOMApplicationCache::oncached):
82803        (WebCore::DOMApplicationCache::associatedFrame):
82804        * loader/appcache/DOMApplicationCache.idl:
82805        * svg/EventTargetSVGElementInstance.cpp:
82806        (WebCore::EventTargetSVGElementInstance::associatedFrame):
82807        (WebCore::EventTargetSVGElementInstance::addEventListener):
82808        (WebCore::EventTargetSVGElementInstance::removeEventListener):
82809        (WebCore::EventTargetSVGElementInstance::dispatchEvent):
82810        * svg/EventTargetSVGElementInstance.h:
82811        * xml/XMLHttpRequest.cpp:
82812        (WebCore::XMLHttpRequest::associatedFrame):
82813        * xml/XMLHttpRequest.h:
82814        (WebCore::XMLHttpRequest::setOnreadystatechange):
82815        (WebCore::XMLHttpRequest::onreadystatechange):
82816        (WebCore::XMLHttpRequest::setOnabort):
82817        (WebCore::XMLHttpRequest::onabort):
82818        (WebCore::XMLHttpRequest::setOnerror):
82819        (WebCore::XMLHttpRequest::onerror):
82820        (WebCore::XMLHttpRequest::setOnload):
82821        (WebCore::XMLHttpRequest::onload):
82822        (WebCore::XMLHttpRequest::setOnloadstart):
82823        (WebCore::XMLHttpRequest::onloadstart):
82824        (WebCore::XMLHttpRequest::setOnprogress):
82825        (WebCore::XMLHttpRequest::onprogress):
82826        * xml/XMLHttpRequest.idl:
82827        * xml/XMLHttpRequestUpload.cpp:
82828        (WebCore::XMLHttpRequestUpload::associatedFrame):
82829        * xml/XMLHttpRequestUpload.h:
82830        (WebCore::XMLHttpRequestUpload::setOnabort):
82831        (WebCore::XMLHttpRequestUpload::onabort):
82832        (WebCore::XMLHttpRequestUpload::setOnerror):
82833        (WebCore::XMLHttpRequestUpload::onerror):
82834        (WebCore::XMLHttpRequestUpload::setOnload):
82835        (WebCore::XMLHttpRequestUpload::onload):
82836        (WebCore::XMLHttpRequestUpload::setOnloadstart):
82837        (WebCore::XMLHttpRequestUpload::onloadstart):
82838        (WebCore::XMLHttpRequestUpload::setOnprogress):
82839        (WebCore::XMLHttpRequestUpload::onprogress):
82840        * xml/XMLHttpRequestUpload.idl:
82841
828422008-09-30  Darin Adler  <darin@apple.com>
82843
82844        - roll out assertion breaking regression tests
82845
82846        * platform/ScrollView.cpp:
82847        (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
82848        that fires in regression tests. Hyatt can add it back later. The assertion
82849        fires in the regression test because of layout that triggers repaint occuring
82850        during the process of removing a frame.
82851
828522008-09-30  Adele Peterson  <adele@apple.com>
82853
82854        Reviewed by Darin Adler.
82855
82856        Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
82857        <rdar://problem/6222134> add a way to set color for input placeholder text
82858
82859        Test: fast/forms/placeholder-pseudo-style.html
82860
82861        This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
82862        input elements when they are displaying the placeholder text.
82863
82864        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
82865        * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
82866        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
82867        Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
82868        * css/html4.css: Add rule to make placeholder text default to darkGray.
82869
82870        * html/HTMLInputElement.cpp:
82871        (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
82872        (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
82873        (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
82874        (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
82875        (WebCore::HTMLInputElement::setValue): ditto.
82876        (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
82877        (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
82878         This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
82879         renderer will just ask the node if it should draw the placeholder.
82880        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
82881
82882        * rendering/RenderTextControl.cpp:
82883        (WebCore::disabledTextColor): Moved to the top of the file.  If there's not very much contrast between the disabled color and the background color,
82884        just leave the text color alone.  We don't want to change a good contrast color scheme so that it has really bad contrast.
82885        If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
82886        (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
82887        This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
82888        is called directly from updateFromElement.  updateFromElement will immediately update the text displayed.
82889        (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
82890        (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state.  This is now done in HTMLInputElement.
82891        * rendering/RenderTextControl.h:
82892
828932008-09-30  Beth Dakin  <bdakin@apple.com>
82894
82895        Reviewed by Darin Adler.
82896
82897        Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
82898        by failed allocation due to invalid counter/attr
82899        and corresponding: <rdar://problem/6152371>
82900
82901        * css/CSSParser.cpp:
82902        (WebCore::CSSParser::parseCounterContent): The spec indicates that
82903        only identifiers should be accepted here.
82904
829052008-09-30  Kevin McCullough  <kmccullough@apple.com>
82906
82907        Reviewed by Oliver Hunt.
82908
82909        Bug 21255: console.profileEnd() without a console.profile() crashes the
82910        web inspector
82911
82912        * page/Console.cpp:
82913        (WebCore::Console::profileEnd):
82914
829152008-09-30  Kevin McCullough  <kmccullough@apple.com>
82916
82917        Reviewed by Tim Hatcher.
82918
82919        Bug 21252: calling console.profile() with a title that is 2 chars or
82920        shorter does not linkify it
82921
82922        - Previously we tried to not linkify very short URLs but since profile
82923        titles can be any length this is not always true.
82924
82925        * page/inspector/inspector.js:
82926
829272008-09-30  Dave Hyatt  <hyatt@apple.com>
82928
82929        Remove the update() method on ScrollView.  This method was only called in one place, and its purpose
82930        was to cause a display/flush to happen.  Here is a breakdown of the method use on each platform:
82931        (1) Not used on Mac
82932        (2) Used on Windows
82933        (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
82934        (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
82935        (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
82936
82937        There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
82938        cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
82939        With the changes to this method, the new behavior is as follows:
82940        (1) Not used on Mac
82941        (2) Used on Windows
82942        (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
82943        (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
82944        (5) Not used on wx
82945
82946        This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
82947        platforms.  At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
82948
82949        Reviewed by Sam Weinig
82950
82951        * ChangeLog:
82952        * dom/Document.cpp:
82953        (WebCore::Document::implicitClose):
82954        * platform/HostWindow.h:
82955        (WebCore::HostWindow::paint):
82956        * platform/ScrollView.h:
82957        * platform/gtk/ScrollViewGtk.cpp:
82958        * platform/mac/ScrollViewMac.mm:
82959        * platform/qt/ScrollViewQt.cpp:
82960        * platform/win/ScrollViewWin.cpp:
82961        * platform/wx/ScrollViewWx.cpp:
82962
829632008-09-30  Timothy Hatcher  <timothy@apple.com>
82964
82965        Focus the DOM tree in the Web Inspector when a node is inspected.
82966        So when the search field has focus, the focus moves to the tree,
82967        allowing the arrow keys work. This can happen when using the new
82968        find in page feature.
82969
82970        https://bugs.webkit.org/show_bug.cgi?id=21251
82971
82972        Reviewed by Geoff Garen.
82973
82974        * page/inspector/ElementsPanel.js:
82975        (WebInspector.ElementsPanel): Set currentFocusElement to
82976        the main-panels element if the panel is visible.
82977        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
82978        Remove a set of currentFocusElement since this moved.
82979        * page/inspector/inspector.js:
82980        (WebInspector.set currentFocusElement): Always focus the element.
82981        This ensures that when focus changes in the page and we don't
82982        catch it, we will still focus the elements even if we think it
82983        was already focused.
82984
829852008-09-30  Timothy Hatcher  <timothy@apple.com>
82986
82987        Make the Web Inspector's toolbar icons darker when the mouse is
82988        pressed on them. This matches the standard NSToolbar look.
82989
82990        https://bugs.webkit.org/show_bug.cgi?id=21249
82991        rdar://problem/6033752
82992
82993        Reviewed by Adam Roben.
82994
82995        * page/inspector/Images/databasesIcon.png:
82996        * page/inspector/Images/elementsIcon.png:
82997        * page/inspector/Images/profilesIcon.png:
82998        * page/inspector/Images/resourcesIcon.png:
82999        * page/inspector/Images/scriptsIcon.png:
83000        * page/inspector/Panel.js:
83001        * page/inspector/inspector.css:
83002
830032008-09-30  Kevin McCullough  <kmccullough@apple.com>
83004
83005        Reviewed by Tim Hatcher.
83006
83007        Bug 21139: Profiler log message is wrong
83008        - Correctly fix =(
83009        Don't call _format twice.
83010
83011        * page/Page.h:
83012        * page/inspector/Console.js:
83013        * page/inspector/ProfilesPanel.js:
83014        * page/inspector/inspector.js:
83015
830162008-09-30  Dave Hyatt  <hyatt@apple.com>
83017
83018        http://bugs.webkit.org/show_bug.cgi?id=21250
83019
83020        Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
83021        repaints up through the ChromeClient.
83022
83023        Reviewed by Darin Adler
83024
83025        * loader/EmptyClients.h:
83026        (WebCore::EmptyChromeClient::repaint):
83027        * page/Chrome.cpp:
83028        (WebCore::Chrome::repaint):
83029        * page/Chrome.h:
83030        * page/ChromeClient.h:
83031        * page/FrameView.cpp:
83032        (WebCore::FrameView::hostWindow):
83033        (WebCore::FrameView::repaintContentRectangle):
83034        * page/FrameView.h:
83035        * platform/HostWindow.h:
83036        * platform/ScrollView.cpp:
83037        (WebCore::ScrollView::repaintContentRectangle):
83038        (WebCore::ScrollView::platformRepaintContentRectangle):
83039        * platform/ScrollView.h:
83040        * platform/gtk/ScrollViewGtk.cpp:
83041        * platform/mac/ScrollViewMac.mm:
83042        (WebCore::ScrollView::platformRepaintContentRectangle):
83043        * platform/qt/ScrollViewQt.cpp:
83044        * platform/win/ScrollViewWin.cpp:
83045        * platform/wx/ScrollViewWx.cpp:
83046        (WebCore::ScrollView::platformRepaintContentRectangle):
83047
830482008-09-30  Alexey Proskuryakov  <ap@webkit.org>
83049
83050        Non-Mac build fixes.
83051
83052        * GNUmakefile.am:
83053        * WebCore.pro:
83054        * WebCore.vcproj/WebCore.vcproj:
83055        * WebCoreSources.bkl:
83056        * webcore-base.bkl:
83057        Added DOMProtect.{cpp,h}.
83058
830592008-09-39  Kevin Decker  <kdecker@apple.com>
83060
83061        Reviewed by John Sullivan.
83062
83063        * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
83064        for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
83065
830662008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
83067
83068        Reviewed by Maciej Stachowiak.
83069
83070        Bug 21106: .in format discussed changes
83071        https://bugs.webkit.org/show_bug.cgi?id=21106
83072
83073        - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
83074        is the only namespace used.
83075
83076        - Removed "generateFactory" and "generateWrapperFactory" parameters and
83077        re-introduced the command line options.
83078
83079        - Cleaned up the output of make_names.pl (removed unneeded new line).
83080
83081        * DerivedSources.make: Added factories command line options.
83082        * GNUmakefile.am: Ditto.
83083        * WebCore.pro: Ditto and removed some arguments that were migrated to
83084        the .in files.
83085
83086        * dom/make_names.pl: Clean up (see above).
83087
83088        * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
83089        and "generateWrapperFactory" occurences.
83090        * html/HTMLTagNames.in: Ditto.
83091        * svg/svgattrs.in: Ditto.
83092        * svg/svgtags.in: Ditto.
83093        * svg/xlinkattrs.in: Ditto.
83094        * xml/xmlattrs.in: Ditto.
83095
830962008-09-29  Chris Fleizach  <cfleizach@apple.com>
83097
83098        Reviewed by John Sullivan.
83099
83100        <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
83101        Make sure that certain types of elements do not return children and, moreover, do not waste their
83102        energy trying to return children
83103
83104        Test: accessibility/nochildren-elements.html
83105
83106        * page/AccessibilityObject.h:
83107        (WebCore::AccessibilityObject::canHaveChildren):
83108        * page/AccessibilityRenderObject.cpp:
83109        (WebCore::AccessibilityRenderObject::canHaveChildren):
83110        (WebCore::AccessibilityRenderObject::addChildren):
83111        * page/AccessibilityRenderObject.h:
83112
831132008-09-30  Alexey Proskuryakov  <ap@webkit.org>
83114
83115        Reviewed by Sam Weinig.
83116
83117        https://bugs.webkit.org/show_bug.cgi?id=21213
83118        MessagePort crash when GC collects an object with a pending close event
83119
83120        Test: fast/events/message-channel-gc-2.html
83121              fast/events/message-channel-listener-circular-ownership.html
83122
83123        * bindings/DOMProtect.cpp: Added.
83124        (WebCore::gcProtectDOMObject):
83125        (WebCore::gcUnprotectDOMObject):
83126        * bindings/DOMProtect.h: Added.
83127        Added an abstraction for GC protection to avoid the need to call JS bindings code from
83128        DOM objects directly.
83129
83130        * dom/MessagePort.cpp:
83131        (WebCore::CloseMessagePortTimer::fired):
83132        (WebCore::MessagePort::queueCloseEvent):
83133        GC protect MessagePort wrapper while there is a pending close event.
83134        This may be necessary for message events, too, but that case is not a crasher, and actually
83135        behaves to the letter of the current HTML5 text, so I'll consider it later.
83136
83137        * xml/XMLHttpRequest.cpp:
83138        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
83139        (WebCore::XMLHttpRequest::dropProtection):
83140        Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
83141
83142        * bindings/js/JSMessagePortCustom.cpp:
83143        (WebCore::JSMessagePort::addEventListener):
83144        (WebCore::JSMessagePort::removeEventListener):
83145        (WebCore::JSMessagePort::setOnmessage):
83146        (WebCore::JSMessagePort::setOnclose):
83147        Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
83148        know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
83149
83150        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
83151        (WebCore::JSXMLHttpRequestUpload::mark):
83152        While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
83153        from XMLHttpRequest.
83154
831552008-09-30  Adam Roben  <aroben@apple.com>
83156
83157        Windows build fix
83158
83159        * DerivedSources.cpp: Add JSEventTargetNode.cpp.
83160
831612008-09-29  Sam Weinig  <sam@webkit.org>
83162
83163        Reviewed by Tim Hatcher.
83164
83165        Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
83166        Autogenerate JS event listeners
83167
83168        - Generate EventTargetNode.
83169
83170        * DerivedSources.make:
83171        * GNUmakefile.am:
83172        * WebCore.pro:
83173        * WebCore.vcproj/WebCore.vcproj:
83174        * WebCore.xcodeproj/project.pbxproj:
83175        * WebCoreSources.bkl:
83176        * bindings/js/JSEventListener.cpp:
83177        * bindings/js/JSEventTarget.cpp: Added.
83178        (WebCore::toJS):
83179        * bindings/js/JSEventTarget.h: Added.
83180        * bindings/js/JSEventTargetBase.cpp: Removed.
83181        * bindings/js/JSEventTargetBase.h:
83182        * bindings/js/JSEventTargetNode.cpp: Removed.
83183        * bindings/js/JSEventTargetNode.h: Removed.
83184        * bindings/js/JSEventTargetNodeCustom.cpp: Added.
83185        (WebCore::JSEventTargetNode::addEventListener):
83186        (WebCore::JSEventTargetNode::removeEventListener):
83187        (WebCore::JSEventTargetNode::dispatchEvent):
83188        (WebCore::JSEventTargetNode::getListener):
83189        (WebCore::JSEventTargetNode::setListener):
83190        (WebCore::JSEventTargetNode::pushEventHandlerScope):
83191        * bindings/js/JSEventTargetSVGElementInstance.cpp:
83192        (WebCore::):
83193        (WebCore::JSEventTargetSVGElementInstancePrototype::self):
83194        (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
83195        (jsEventTargetAddEventListener):
83196        (jsEventTargetRemoveEventListener):
83197        (jsEventTargetDispatchEvent):
83198        * bindings/js/JSEventTargetSVGElementInstance.h:
83199        (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
83200        (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
83201        * bindings/scripts/CodeGeneratorJS.pm:
83202        * dom/EventTargetNode.idl: Added.
83203
832042008-09-29  Darin Adler  <darin@apple.com>
83205
83206        Reviewed by Sam Weinig.
83207
83208        - https://bugs.webkit.org/show_bug.cgi?id=21214
83209          work on getting rid of ExecState
83210
83211        * bindings/js/JSDOMWindowBase.cpp:
83212        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
83213        for base class constructor.
83214
832152008-09-29  David Hyatt  <hyatt@apple.com>
83216
83217        Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
83218        now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
83219        and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
83220        (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
83221
83222        Reviewed by Sam Weinig
83223
83224        * WebCore.xcodeproj/project.pbxproj:
83225        * page/Chrome.h:
83226        * platform/HostWindow.h: Added.
83227        (WebCore::HostWindow::HostWindow):
83228        (WebCore::HostWindow::~HostWindow):
83229
832302008-09-29  Kevin Decker  <kdecker@apple.com>
83231
83232        Reviewed by Anders Carlsson.
83233
83234        * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of
83235        2000.
83236
832372008-09-29  Dan Bernstein  <mitz@apple.com>
83238
83239        Reviewed by Adam Roben.
83240
83241        - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
83242
83243        * rendering/RenderThemeWin.cpp:
83244        (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
83245        (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
83246        unloaded, to avoid calling uxtheme.dll functions after that library has
83247        been unloaded.
83248        * rendering/RenderThemeWin.h:
83249
832502008-09-29  Chris Fleizach  <cfleizach@apple.com>
83251
83252        Reviewed by John Sullivan
83253
83254        <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
83255
83256        Sends AXLoadComplete only when the top level web area is finished loading
83257
83258        * dom/Document.cpp:
83259        (WebCore::Document::implicitClose):
83260
832612008-09-29  Timothy Hatcher  <timothy@apple.com>
83262
83263        Makes the node highlight always show up when hovering a node in
83264        the Web Inspector now that the highlight does not scroll to reveal
83265        the node. Also adds a hover effect in the inspector when hovering
83266        causes a highlight in the page. This ties the user hovering action
83267        to the highlight so it is clear what causes the highlight to appear.
83268
83269        Also the highlight now temporarily shows up for 2 seconds after
83270        selecting a node in the DOM tree. So arrowing around in the tree
83271        will show the node on the page, providing feedback to the user.
83272
83273        Plus fixes an issue where quickly moving away from hovering
83274        a node would keep showing the page highlight. This was happening
83275        in breadcrumbs and the DOM tree.
83276
83277        https://bugs.webkit.org/show_bug.cgi?id=21220
83278
83279        Reviewed by Kevin McCullough.
83280
83281        * page/inspector/Console.js:
83282        (WebInspector.Console.prototype._mouseOverNode): Added. Used for
83283        hovering DOM nodes in the console.
83284        (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
83285        (WebInspector.Console.prototype._formatnode): Use the new event
83286        listeners and add a class name to the anchor element.
83287        * page/inspector/ElementsPanel.js:
83288        (WebInspector.ElementsPanel): Add new event listeners to the
83289        crumbs element to do the node hovering highlight.
83290        (WebInspector.ElementsPanel.prototype.hide):
83291        (WebInspector.ElementsPanel.prototype.reset):
83292        (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
83293        (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
83294        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
83295        * page/inspector/ElementsTreeOutline.js:
83296        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
83297        Show the node hishlight for 2 seconds then restore the highlight
83298        to the current hovered node.
83299        (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
83300        hovered node and set the hovered state on the tree element.
83301        (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
83302        hovered node to null and removed the hovered state from the previous
83303        hovered tree element.
83304        (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
83305        the hovered class to the list item.
83306        (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
83307        * page/inspector/inspector.css:
83308        * page/inspector/inspector.js:
83309        (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
83310        based on the showingDOMNodeHighlight property of 50ms or 500ms. This
83311        causes the highlight to change sooner if there is one already showing
83312        and appear later if there isn't one showing. This is like tooltips,
83313        hovering a node for 500ms will cause highlight then mousing between nodes
83314        will keep the highlight and change to the new node.
83315        (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
83316        always reset the timeout so continuous mousing does not keep flasshing
83317        the highlight on the screen.
83318        (WebInspector._updateHoverHighlight): Removed the alt key check and added
83319        the showingDOMNodeHighlight property.
83320        (WebInspector.documentKeyDown): Removed the alt key check.
83321        (WebInspector.documentKeyUp): Ditto.
83322        (WebInspector.reset): Clear the hoveredDOMNode.
83323
833242008-09-29  Simon Fraser  <simon.fraser@apple.com>
83325
83326        Reviewed by Anders Carlsson
83327
83328        Fix RenderStyle leak in animation code, and assert that
83329        keyframe resolution in CSSStyleSelector is not going to clobber
83330        m_style.
83331
83332        * css/CSSStyleSelector.cpp:
83333        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
83334        * page/animation/KeyframeAnimation.cpp:
83335        (WebCore::KeyframeAnimation::~KeyframeAnimation):
83336
833372008-09-29  Chris Marrin  <cmarrin@apple.com>
83338
83339        Reviewed by Dave Hyatt
83340
83341        Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
83342        Rewrite keyframe resolution to be like styleForElement()
83343
83344        Test: animations/lineheight-animation.html
83345
83346        * css/CSSStyleSelector.cpp:
83347        (WebCore::CSSStyleSelector::addKeyframeStyle):
83348        (WebCore::CSSStyleSelector::~CSSStyleSelector):
83349        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
83350        (WebCore::CSSRuleSet::addRulesFromSheet):
83351        (WebCore::CSSStyleSelector::mapAnimationName):
83352        * css/CSSStyleSelector.h:
83353        * page/animation/CompositeAnimation.cpp:
83354        (WebCore::CompositeAnimation::updateKeyframeAnimations):
83355        * page/animation/KeyframeAnimation.cpp:
83356        (WebCore::KeyframeAnimation::KeyframeAnimation):
83357        (WebCore::KeyframeAnimation::animate):
83358        (WebCore::KeyframeAnimation::hasAnimationForProperty):
83359        (WebCore::KeyframeAnimation::sendAnimationEvent):
83360        (WebCore::KeyframeAnimation::overrideAnimations):
83361        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
83362        (WebCore::KeyframeAnimation::affectsProperty):
83363        (WebCore::KeyframeAnimation::validateTransformFunctionList):
83364        * page/animation/KeyframeAnimation.h:
83365        * rendering/style/Animation.cpp:
83366        (WebCore::Animation::animationsMatch):
83367        * rendering/style/Animation.h:
83368        * rendering/style/KeyframeList.cpp:
83369        (WebCore::KeyframeList::~KeyframeList):
83370        (WebCore::KeyframeList::clear):
83371        (WebCore::KeyframeList::insert):
83372        * rendering/style/KeyframeList.h:
83373        (WebCore::KeyframeValue::KeyframeValue):
83374        (WebCore::KeyframeList::KeyframeList):
83375        (WebCore::KeyframeList::operator!=):
83376        (WebCore::KeyframeList::animationName):
83377        (WebCore::KeyframeList::addProperty):
83378        (WebCore::KeyframeList::containsProperty):
83379        (WebCore::KeyframeList::beginProperties):
83380        (WebCore::KeyframeList::endProperties):
83381        (WebCore::KeyframeList::isEmpty):
83382        (WebCore::KeyframeList::size):
83383        (WebCore::KeyframeList::beginKeyframes):
83384        (WebCore::KeyframeList::endKeyframes):
83385        * rendering/style/RenderStyle.h:
83386        * rendering/style/StyleRareNonInheritedData.cpp:
83387        * rendering/style/StyleRareNonInheritedData.h:
83388
833892008-09-29  Chris Marrin  <cmarrin@apple.com>
83390
83391        Reviewed by Eric Seidel
83392
83393        Clean up fix in PropertyWrapperGetter::equals
83394        https://bugs.webkit.org/show_bug.cgi?id=21011
83395
83396        Test: transitions/override-transition-crash.html
83397
83398        * page/animation/AnimationBase.cpp:
83399        (WebCore::PropertyWrapperGetter::equals):
83400        * page/animation/CompositeAnimation.cpp:
83401        (WebCore::CompositeAnimation::updateTransitions):
83402
834032008-09-29  Chris Marrin  <cmarrin@apple.com>
83404
83405        Reviewed by Eric Seidel
83406
83407        https://bugs.webkit.org/show_bug.cgi?id=21001
83408        Starting transition after animation, when animation
83409        is finished, transition is wrong.
83410
83411        Test: animations/transition-and-animation-2.html
83412
83413        * page/animation/AnimationBase.h:
83414        * page/animation/CompositeAnimation.cpp:
83415        (WebCore::CompositeAnimation::updateTransitions):
83416        (WebCore::CompositeAnimation::updateKeyframeAnimations):
83417        (WebCore::CompositeAnimation::resetTransitions):
83418        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
83419        * page/animation/ImplicitAnimation.cpp:
83420        (WebCore::ImplicitAnimation::ImplicitAnimation):
83421        (WebCore::ImplicitAnimation::~ImplicitAnimation):
83422        (WebCore::ImplicitAnimation::animate):
83423        (WebCore::ImplicitAnimation::reset):
83424        * page/animation/ImplicitAnimation.h:
83425
834262008-09-29  Chris Marrin  <cmarrin@apple.com>
83427
83428        Reviewed by Sam Weinig
83429
83430        https://bugs.webkit.org/show_bug.cgi?id=20921
83431        -webkit-animation-timing-function: inside of keyframes is ignored
83432
83433        Test: animations/keyframe-timing-functions.html
83434
83435        * page/animation/AnimationBase.cpp:
83436        (WebCore::AnimationBase::progress):
83437        * page/animation/AnimationBase.h:
83438        * page/animation/ImplicitAnimation.cpp:
83439        (WebCore::ImplicitAnimation::animate):
83440        * page/animation/KeyframeAnimation.cpp:
83441        (WebCore::KeyframeAnimation::animate):
83442
834432008-09-29  Dan Bernstein  <mitz@apple.com>
83444
83445        - Windows build fix
83446
83447        * platform/ScrollView.cpp:
83448        (WebCore::ScrollView::platformScroll):
83449
834502008-09-29  Dan Bernstein  <mitz@apple.com>
83451
83452        - another attempt at a Windows build fix
83453
83454        * platform/ScrollView.cpp:
83455        (WebCore::platformScroll):
83456
834572008-09-29  Dan Bernstein  <mitz@apple.com>
83458
83459        - Windows build fix
83460
83461        * platform/ScrollView.cpp:
83462        (WebCore::ScrollView::platformSetScrollPosition):
83463
834642008-09-29  David Hyatt  <hyatt@apple.com>
83465
83466        https://bugs.webkit.org/show_bug.cgi?id=21218
83467
83468        Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
83469        It's silly that the code was this fragile, but for now just put the check back in.
83470
83471        Reviewed by Dan Bernstein
83472
83473        * platform/ScrollView.cpp:
83474        (WebCore::ScrollView::setScrollbarModes):
83475
834762008-09-29  David Hyatt  <hyatt@apple.com>
83477
83478        https://bugs.webkit.org/show_bug.cgi?id=21216
83479
83480        Make setScrollPosition and scroll() cross-platform.
83481
83482        Reviewed by Anders
83483
83484        * platform/ScrollView.cpp:
83485        (WebCore::ScrollView::setScrollPosition):
83486        (WebCore::ScrollView::scroll):
83487        * platform/ScrollView.h:
83488        * platform/gtk/ScrollViewGtk.cpp:
83489        * platform/mac/ScrollViewMac.mm:
83490        (WebCore::ScrollView::platformSetScrollPosition):
83491        (WebCore::ScrollView::platformScroll):
83492        * platform/qt/ScrollViewQt.cpp:
83493        * platform/win/ScrollViewWin.cpp:
83494        * platform/wx/ScrollViewWx.cpp:
83495        (WebCore::ScrollView::platformSetScrollPosition):
83496        (WebCore::ScrollView::platformScroll):
83497
834982008-09-29  Kevin McCullough  <kmccullough@apple.com>
83499
83500        Reviewed by Oliver.
83501
83502        Bug 21139: Profiler log message is wrong
83503        - Because _format was called twice the number in the log was incremented
83504        too many times, but we were passing it around in the link the whole time
83505
83506        * page/inspector/ProfilesPanel.js:
83507        * page/inspector/inspector.js:
83508
835092008-09-29  Sam Weinig  <sam@webkit.org>
83510
83511        Reviewed by Cameron Zwarich.
83512
83513        Autogenerate EventListeners, addEventListener and removeEventListener
83514        for JSDOMWindow.
83515
83516        * bindings/js/JSDOMWindowBase.cpp:
83517        * bindings/js/JSDOMWindowBase.h:
83518        * bindings/js/JSDOMWindowCustom.cpp:
83519        (WebCore::JSDOMWindow::onwebkitanimationstart):
83520        (WebCore::JSDOMWindow::setOnwebkitanimationstart):
83521        (WebCore::JSDOMWindow::onwebkitanimationiteration):
83522        (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
83523        (WebCore::JSDOMWindow::onwebkitanimationend):
83524        (WebCore::JSDOMWindow::setOnwebkitanimationend):
83525        (WebCore::JSDOMWindow::onwebkittransitionend):
83526        (WebCore::JSDOMWindow::setOnwebkittransitionend):
83527        (WebCore::JSDOMWindow::addEventListener):
83528        (WebCore::JSDOMWindow::removeEventListener):
83529        (WebCore::JSDOMWindow::setListener):
83530        (WebCore::JSDOMWindow::getListener):
83531        * bindings/scripts/CodeGeneratorJS.pm:
83532        * page/DOMWindow.idl:
83533
835342008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
83535
83536        Reviewed by Simon.
83537
83538        Changed copyright from Trolltech ASA to Nokia.
83539
83540        Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
83541
83542        * bindings/js/JSMimeTypeArrayCustom.cpp:
83543        * bindings/js/JSNavigatorCustom.cpp:
83544        * bindings/js/JSPluginArrayCustom.cpp:
83545        * bindings/js/JSPluginCustom.cpp:
83546        * bindings/js/ScriptControllerMac.mm:
83547        * bindings/js/ScriptControllerQt.cpp:
83548        * bridge/qt/qt_class.cpp:
83549        * bridge/qt/qt_class.h:
83550        * bridge/qt/qt_instance.cpp:
83551        * bridge/qt/qt_instance.h:
83552        * bridge/qt/qt_runtime.cpp:
83553        * bridge/qt/qt_runtime.h:
83554        * bridge/testqtbindings.cpp:
83555        * css/makegrammar.pl:
83556        * css/makeprop.pl:
83557        * css/makevalues.pl:
83558        * dom/Node.cpp:
83559        * dom/TagNodeList.cpp:
83560        * dom/TagNodeList.h:
83561        * dom/XMLTokenizer.cpp:
83562        * dom/XMLTokenizer.h:
83563        * dom/XMLTokenizerLibxml2.cpp:
83564        * dom/XMLTokenizerQt.cpp:
83565        * editing/Editor.cpp:
83566        * editing/EditorCommand.cpp:
83567        * html/CanvasRenderingContext2D.cpp:
83568        * html/CanvasStyle.cpp:
83569        * html/HTMLAppletElement.cpp:
83570        * html/HTMLEmbedElement.cpp:
83571        * html/HTMLObjectElement.cpp:
83572        * loader/FrameLoader.cpp:
83573        * page/Chrome.cpp:
83574        * page/EditorClient.h:
83575        * page/Frame.cpp:
83576        * page/Frame.h:
83577        * page/FramePrivate.h:
83578        * page/Navigator.cpp:
83579        * page/Navigator.h:
83580        * page/Navigator.idl:
83581        * page/mac/FrameMac.mm:
83582        * page/qt/EventHandlerQt.cpp:
83583        * platform/graphics/qt/FontCacheQt.cpp:
83584        * platform/graphics/qt/FontCustomPlatformData.cpp:
83585        * platform/graphics/qt/FontCustomPlatformData.h:
83586        * platform/graphics/qt/FontPlatformData.h:
83587        * platform/graphics/qt/FontQt.cpp:
83588        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
83589        * platform/graphics/qt/GraphicsContextQt.cpp:
83590        * platform/graphics/qt/ImageDecoderQt.cpp:
83591        * platform/graphics/qt/ImageDecoderQt.h:
83592        * platform/graphics/qt/ImageSourceQt.cpp:
83593        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
83594        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
83595        * platform/graphics/qt/SimpleFontDataQt.cpp:
83596        * platform/gtk/MIMETypeRegistryGtk.cpp:
83597        * platform/mac/MIMETypeRegistryMac.mm:
83598        * platform/network/qt/QNetworkReplyHandler.cpp:
83599        * platform/network/qt/QNetworkReplyHandler.h:
83600        * platform/network/qt/ResourceHandleQt.cpp:
83601        * platform/network/qt/ResourceRequestQt.cpp:
83602        * platform/qt/ClipboardQt.cpp:
83603        * platform/qt/EventLoopQt.cpp:
83604        * platform/qt/KURLQt.cpp:
83605        * platform/qt/LoggingQt.cpp:
83606        * platform/qt/MIMETypeRegistryQt.cpp:
83607        * platform/qt/PasteboardQt.cpp:
83608        * platform/qt/PlatformScreenQt.cpp:
83609        * platform/qt/PopupMenuQt.cpp:
83610        * platform/qt/QWebPopup.cpp:
83611        * platform/qt/QWebPopup.h:
83612        * platform/qt/RenderThemeQt.cpp:
83613        * platform/qt/ScrollbarQt.cpp:
83614        * platform/qt/ScrollbarThemeQt.cpp:
83615        * platform/qt/WheelEventQt.cpp:
83616        * platform/qt/html4-adjustments-qt.css:
83617        * platform/wx/MimeTypeRegistryWx.cpp:
83618        * plugins/MimeType.cpp:
83619        * plugins/MimeType.h:
83620        * plugins/MimeType.idl:
83621        * plugins/MimeTypeArray.cpp:
83622        * plugins/MimeTypeArray.h:
83623        * plugins/MimeTypeArray.idl:
83624        * plugins/Plugin.cpp:
83625        * plugins/Plugin.h:
83626        * plugins/Plugin.idl:
83627        * plugins/PluginArray.cpp:
83628        * plugins/PluginArray.h:
83629        * plugins/PluginArray.idl:
83630        * plugins/PluginData.cpp:
83631        * plugins/PluginData.h:
83632        * plugins/gtk/PluginDataGtk.cpp:
83633        * plugins/mac/PluginDataMac.mm:
83634        * plugins/qt/PluginDataQt.cpp:
83635        * plugins/win/PluginDataWin.cpp:
83636        * rendering/RenderTableCol.cpp:
83637        * rendering/RenderTableCol.h:
83638
836392008-09-29  Thiago Macieira  <thiago.macieira@trolltech.com>
83640
83641        Reviewed by Simon
83642
83643        Fix compilation with gcc 4.3
83644
83645         gcc 4.3 is stricter and ctype.h isn't getting included
83646        automatically here by dependencies. So do it directly.
83647
83648        * platform/qt/PlatformKeyboardEventQt.cpp:
83649
836502008-09-29  Morten Sørvig  <msorvig@trolltech.com>
83651
83652        Reviewed by Simon.
83653
83654        Fix compilation with Qt/Mac without plugins.
83655
83656        * platform/qt/TemporaryLinkStubs.cpp:
83657
836582008-09-29  Mark Rowe  <mrowe@apple.com>
83659
83660        Reviewed by Sam Weinig.
83661
83662        Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
83663        In the few places that we call .upper() in WebCore the strings represent things like
83664        tag and attribute names, which are nearly always going to be ASCII.
83665
83666        * platform/text/StringImpl.cpp:
83667        (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
83668        in to Unicode::toLower the second time.
83669        (WebCore::StringImpl::upper):
83670
836712008-09-28  Mark Rowe  <mrowe@apple.com>
83672
83673        Reviewed by Sam Weinig.
83674
83675        Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
83676        rather than String::operator+=.
83677
83678        * css/CSSPrimitiveValue.cpp:
83679        (WebCore::CSSPrimitiveValue::cssText):
83680
836812008-09-28  Mark Rowe  <mrowe@apple.com>
83682
83683        Reviewed by Oliver Hunt.
83684
83685        Speed up computedStyle.getPropertyValue('color') by 4.5x.
83686
83687        Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
83688        as it avoids many memory reallocations.
83689
83690        This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
83691        by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
83692        unrelated properties on an element.
83693
83694        * css/CSSPrimitiveValue.cpp:
83695        (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
83696        and use appendNumber rather than the String::number in order to cut down on memory allocations.
83697        * platform/text/PlatformString.h:
83698        (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
83699        into a Vector<UChar>.
83700
837012008-09-28  Sam Weinig  <sam@webkit.org>
83702
83703        Reviewed by Anders Carlsson.
83704
83705        Remove spurious call to lower().
83706
83707        * css/MediaQueryEvaluator.cpp:
83708        (WebCore::MediaQueryEvaluator):
83709
837102008-09-28  Sam Weinig  <sam@webkit.org>
83711
83712        Reviewed by Dan Bernstein.
83713
83714        Use a CaseFoldingHash instead of calling lower on family strings.
83715
83716        * css/CSSFontSelector.cpp:
83717        (WebCore::CSSFontSelector::addFontFaceRule):
83718        (WebCore::CSSFontSelector::getFontData):
83719        * css/CSSFontSelector.h:
83720
837212008-09-28  Timothy Hatcher  <timothy@apple.com>
83722
83723        Remove the scrollIntoViewIfNeeded() call when drawing the
83724        Inspector node highlight.
83725
83726        <rdar://problem/6115804> Don't scroll when highlighting (21000)
83727        https://bugs.webkit.org/show_bug.cgi?id=21000
83728
83729        Reviewed by Dan Bernstein.
83730
83731        * page/InspectorController.cpp:
83732        (WebCore::InspectorController::drawNodeHighlight):
83733
837342008-09-28  David Hyatt  <hyatt@apple.com>
83735
83736        Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
83737        changed.
83738
83739        Reviewed by Dan Bernstein
83740
83741        * platform/mac/ScrollbarThemeMac.mm:
83742        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
83743
837442008-09-28  Timothy Hatcher  <timothy@apple.com>
83745
83746        Clear the current search results in the Inspector when
83747        the search query is less than 3 characters long. Incremental
83748        searches only occur for 3 characters or longer, but deleting
83749        under this limit would not clear the results unless the whole
83750        query was deleted.
83751
83752        https://bugs.webkit.org/show_bug.cgi?id=21196
83753
83754        Reviewed by Dan Bernstein.
83755
83756        * page/inspector/inspector.js:
83757        (WebInspector.performSearch): Check for short queries in the
83758        if statement that triggers the clear.
83759
837602008-09-28  Dan Bernstein  <mitz@apple.com>
83761
83762        Reviewed by Dave Hyatt.
83763
83764        - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
83765
83766        * platform/graphics/win/FontCustomPlatformData.cpp:
83767        (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
83768        overlayLength parameters.
83769        (WebCore::EOTStream::read): Added code to overlay the
83770        m_overlayLength bytes starting at m_overlayDst with the same number of
83771        bytes from m_overlaySrc.
83772        (WebCore::createFontCustomPlatformData): Changed to get overlay
83773        parameters from getEOTHeader.
83774        * platform/graphics/win/GetEOTHeader.cpp:
83775        (WebCore::getEOTHeader): Added code to specify overlaying of the
83776        family name with the prefix of the full name if they differ, because
83777        that such a difference causes TTLoadEmbeddedFont to fail.
83778        * platform/graphics/win/GetEOTHeader.h:
83779
837802008-09-28  Alexey Proskuryakov  <ap@webkit.org>
83781
83782        Reviewed by Eric Seidel.
83783
83784        https://bugs.webkit.org/show_bug.cgi?id=20366
83785        Reproducible test failure for editing/undo/undo-iframe-location-change.html
83786
83787        * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
83788
837892008-09-28  Darin Adler  <darin@apple.com>
83790
83791        Reviewed by Sam Weinig (except for a few comment and header tweaks).
83792
83793        - https://bugs.webkit.org/show_bug.cgi?id=21158
83794          reduce use of virtual functions in Node for speed
83795
83796        Speeds up Dromaeo a bit less than 1%.
83797
83798        * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
83799        Node.h now that some inlines are in there.
83800
83801        * dom/Attr.h: Override both the virtual and non-virtual name functions.
83802
83803        * dom/ChildNodeList.cpp:
83804        (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
83805        * dom/ChildNodeList.h: Ditto.
83806        * dom/ClassNodeList.cpp:
83807        (WebCore::ClassNodeList::nodeMatches): Ditto.
83808        * dom/ClassNodeList.h: Ditto.
83809
83810        * dom/Document.h: Put the Node::isDocumentNode() function's inline
83811        definition here where it can see the Document class definition.
83812
83813        * dom/DynamicNodeList.cpp:
83814        (WebCore::DynamicNodeList::length): Changed to pass an Element.
83815        (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
83816        (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
83817        (WebCore::DynamicNodeList::itemWithName): Ditto.
83818        * dom/DynamicNodeList.h: Ditto.
83819
83820        * dom/Element.cpp: Removed virtualHasTagName.
83821        * dom/Element.h: Made localName, prefix, namespaceURI, and
83822        styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
83823        virtualNamespaceURI, and removed virtualHasTagName. Put the
83824        Node::hasTagName, Node::hasAttributes, and Node::attributes
83825        functions' inline definitions here where they can see the Element
83826        class definition.
83827
83828        * dom/NameNodeList.cpp:
83829        (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
83830        * dom/NameNodeList.h: Ditto.
83831
83832        * dom/Node.cpp:
83833        (WebCore::Node::virtualPrefix): Renamed from prefix.
83834        (WebCore::Node::virtualLocalName): Renamed from localName.
83835        (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
83836        (WebCore::Node::styleForRenderer): Handle the Element case here.
83837
83838        * dom/Node.h: Removed definition of hasTagName that calls virtual,
83839        since we now have a non-virtual version. Made hasAttributes,
83840        attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
83841        and styleForRenderer non-virtual. Added virtualPrefix,
83842        virtualLocalName, and virtualNamespaceURI. Removed isMalformed
83843        and setMalformed, which are used only on HTMLFormElement objects.
83844
83845        * dom/TagNodeList.cpp:
83846        (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
83847        * dom/TagNodeList.h: Ditto.
83848
83849        * html/HTMLAnchorElement.cpp: Added a comment.
83850        * html/HTMLFormControlElement.cpp: Ditto.
83851
83852        * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
83853        function. Marked tabIndex function virtual explicitly for clarity.
83854
83855        * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
83856        function. Marked isFocusable function virtual explicitly for clarity.
83857
83858        * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
83859        clarity.
83860        * html/HTMLFormControlElement.h: Ditto.
83861
83862        * html/HTMLFormElement.h: Made isMalformed non-virtual.
83863
83864        * html/HTMLParser.cpp:
83865        (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
83866        pointer to call localName since that one does not need to call a virtual
83867        function.
83868
83869        * rendering/RenderBlock.cpp:
83870        (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
83871        calling isMalformed. We already did a tag name check so we know it's
83872        an HTMLFormELement.
83873
83874        * xml/XPathUtil.cpp:
83875        (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
83876        to nodeType(), since it's a virtual function.
83877
838782008-09-28  David Hyatt  <hyatt@apple.com>
83879
83880        Make frameRectsChanged() cross-platform on ScrollView.
83881
83882        Reviewed by Oliver Hunt
83883
83884        * platform/ScrollView.cpp:
83885        (WebCore::ScrollView::frameRectsChanged):
83886        * platform/ScrollView.h:
83887        * platform/gtk/ScrollViewGtk.cpp:
83888        * platform/qt/ScrollViewQt.cpp:
83889        * platform/win/ScrollViewWin.cpp:
83890        * platform/wx/ScrollViewWx.cpp:
83891
838922008-09-28  Oliver Hunt  <oliver@apple.com>
83893
83894        Reviewed by Maciej Stachowiak.
83895
83896        Bug 21141: REGRESSION: Exception messages for user entered commands are poor
83897        <https://bugs.webkit.org/show_bug.cgi?id=21141>
83898
83899        The bug repsonsible for this was the the JSInspectedObjectWrapper instances
83900        were not initialising their StructureID's to indicate that the wrapper
83901        overrides hasInstance, etc.  The solution is simply to use the createStructureID
83902        helper on JSQuarantinedObjectWrapper to create a correct StructureID.
83903
83904        * bindings/js/JSInspectedObjectWrapper.cpp:
83905        (WebCore::JSInspectedObjectWrapper::wrap):
83906
839072008-09-28  David Hyatt  <hyatt@apple.com>
83908
83909        Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
83910        terms of lines.
83911
83912        Reviewed by Oliver Hunt
83913
83914        * dom/EventTargetNode.cpp:
83915        (WebCore::EventTargetNode::dispatchWheelEvent):
83916
839172008-09-28  David Hyatt  <hyatt@apple.com>
83918
83919        https://bugs.webkit.org/show_bug.cgi?id=21191
83920
83921        Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
83922        on ScrollView to be cross-platform.
83923
83924        Give the wheel event a concept of granularity (pixel, line or page).  What used to be called continuous
83925        events are now pixel wheel events.
83926
83927        Page scrolling as implemented in bug 17589 was completely broken.  It had the following problems:
83928        (1) Page scrolling has been corrected to be properly detected (on Windows
83929        page wheeling is only done in the vertical direction and it is keyed off a special return value of -1).  The
83930        old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
83931        you could page scroll horizontally.
83932        (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
83933        This caused the scroll amount for page scrolling to be way too large on layers.
83934
83935        Bug 17589 got the default horizontal scrolling value wrong.  It assumed 1, when the Vista default is 3.
83936
83937        Incorporate WebCore's line multiplier right into the deltas of the event.  This eliminates the need
83938        for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
83939
83940        Reviewed by Oliver Hunt
83941
83942        * editing/EditorCommand.cpp:
83943        (WebCore::verticalScrollDistance):
83944        * page/EventHandler.cpp:
83945        (WebCore::scrollAndAcceptEvent):
83946        (WebCore::EventHandler::handleWheelEvent):
83947        * platform/PlatformWheelEvent.h:
83948        (WebCore::):
83949        (WebCore::PlatformWheelEvent::pos):
83950        (WebCore::PlatformWheelEvent::globalPos):
83951        (WebCore::PlatformWheelEvent::deltaX):
83952        (WebCore::PlatformWheelEvent::deltaY):
83953        (WebCore::PlatformWheelEvent::granularity):
83954        (WebCore::PlatformWheelEvent::x):
83955        (WebCore::PlatformWheelEvent::globalX):
83956        (WebCore::PlatformWheelEvent::ignore):
83957        (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
83958        (WebCore::PlatformWheelEvent::verticalLineMultiplier):
83959        * platform/ScrollView.cpp:
83960        (WebCore::ScrollView::wheelEvent):
83961        * platform/Scrollbar.h:
83962        * platform/gtk/ScrollViewGtk.cpp:
83963        (WebCore::ScrollView::updateScrollbars):
83964        * platform/gtk/WheelEventGtk.cpp:
83965        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
83966        * platform/mac/ScrollViewMac.mm:
83967        * platform/mac/WheelEventMac.mm:
83968        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
83969        * platform/qt/ScrollViewQt.cpp:
83970        (WebCore::ScrollView::updateScrollbars):
83971        * platform/qt/WheelEventQt.cpp:
83972        * platform/win/ScrollViewWin.cpp:
83973        (WebCore::ScrollView::updateScrollbars):
83974        * platform/win/WheelEventWin.cpp:
83975        (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
83976        (WebCore::PlatformWheelEvent::verticalLineMultiplier):
83977        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
83978        * platform/wx/ScrollViewWx.cpp:
83979        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
83980        (WebCore::ScrollView::wheelEvent):
83981        * rendering/RenderLayer.cpp:
83982        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
83983
839842008-09-27  Eric Carlson  <eric.carlson@apple.com>
83985
83986        Reviewed by Sam Weinig.
83987
83988        fix https://bugs.webkit.org/show_bug.cgi?id=20994
83989        <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
83990
83991        HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
83992        all unsigned media attributes from string with toUInt() instead of toInt().
83993
83994        * html/HTMLMediaElement.cpp:
83995        (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
83996
83997        * html/HTMLVideoElement.cpp:
83998        (WebCore::HTMLVideoElement::videoWidth):
83999        (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
84000        (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
84001          unsigned value.
84002        (WebCore::HTMLVideoElement::height): Ditto.
84003        (WebCore::HTMLVideoElement::setWidth): take unsigned value.
84004        (WebCore::HTMLVideoElement::setHeight): Ditto.
84005
84006        * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
84007
84008        * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
84009
840102008-09-27  Timothy Hatcher  <timothy@apple.com>
84011
84012        Fixes an exception when typing a command in the Console.
84013
84014        Reviewed by Oliver Hunt.
84015
84016        * page/inspector/Console.js:
84017        (WebInspector.Console.prototype.addMessage): Null check
84018        this.previosMessage.
84019
840202008-09-27  Timothy Hatcher  <timothy@apple.com>
84021
84022        Fixes a bug where the Profiles panel sidebar would be empty
84023        after closing and reopening the Web Inspector.
84024
84025        https://bugs.webkit.org/show_bug.cgi?id=21179
84026
84027        Reviewed by Sam Weinig.
84028
84029        * page/inspector/ProfilesPanel.js:
84030        (WebInspector.ProfilesPanel.prototype.reset): Don't call
84031        populateInterface, it is called automatically.
84032        (WebInspector.ProfilesPanel.prototype._populateProfiles):
84033        Return early if the sidebar is already populated.
84034
840352008-09-27  Dave Hyatt  <hyatt@apple.com>
84036
84037        Bug 21190.  The line scroll amount on Windows is way too small.  A patch for bug 17589 for wheel sensitivity
84038        incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling.  Line scrolling with the
84039        scrollbar has nothing to do with mouse wheeling.  This patch reverts the scrollbars to use the same line
84040        step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
84041
84042        There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
84043        (which should never have landed in the first place).
84044
84045        Reviewed by Tim Hatcher, Sam Weinig
84046
84047        * platform/win/ScrollViewWin.cpp:
84048        (WebCore::adjustDeltaForPageScrollMode):
84049        (WebCore::ScrollView::updateScrollbars):
84050        (WebCore::ScrollView::wheelEvent):
84051
840522008-09-27  David Hyatt  <hyatt@apple.com>
84053
84054        Make the scrollbarUnderMouse method cross-platform.
84055
84056        Reviewed by Sam Weinig
84057
84058        * platform/ScrollView.cpp:
84059        (WebCore::ScrollView::scrollbarUnderMouse):
84060        * platform/gtk/ScrollViewGtk.cpp:
84061        * platform/mac/ScrollViewMac.mm:
84062        * platform/qt/ScrollViewQt.cpp:
84063        * platform/win/ScrollViewWin.cpp:
84064        * platform/wx/ScrollViewWx.cpp:
84065
840662008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
84067
84068        Gtk+ build fix.
84069
84070        * platform/gtk/ScrollViewGtk.cpp:
84071        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84072
840732008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
84074
84075        Reviewed by Holger Freyther.
84076
84077        https://bugs.webkit.org/show_bug.cgi?id=20287
84078        [Gtk] disable plugins for gtk/directfb target
84079
84080        Introduce WTF_PLATFORM_X11 for X11 builds.
84081        Also use target-specific packages when building the port
84082
84083        * platform/gtk/PlatformScreenGtk.cpp:
84084        * plugins/gtk/PluginViewGtk.cpp:
84085        (WebCore::PluginView::updatePluginWidget):
84086        (WebCore::PluginView::getValueStatic):
84087        (WebCore::PluginView::getValue):
84088        (WebCore::PluginView::init):
84089
840902008-09-27  David Hyatt  <hyatt@apple.com>
84091
84092        https://bugs.webkit.org/show_bug.cgi?id=21188
84093
84094        Make scrollbar suppression and resizer avoidance cross-platform.
84095
84096        Reviewed by Anders
84097
84098        * loader/FrameLoader.cpp:
84099        (WebCore::FrameLoader::transitionToCommitted):
84100        * page/FrameView.cpp:
84101        (WebCore::FrameView::resetScrollbars):
84102        (WebCore::FrameView::clear):
84103        (WebCore::FrameView::layout):
84104        (WebCore::FrameView::restoreScrollbar):
84105        (WebCore::FrameView::windowResizerRect):
84106        * page/FrameView.h:
84107        * platform/ScrollView.cpp:
84108        (WebCore::ScrollView::init):
84109        (WebCore::ScrollView::resizerOverlapsContent):
84110        (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
84111        (WebCore::ScrollView::setParent):
84112        (WebCore::ScrollView::setScrollbarsSuppressed):
84113        (WebCore::ScrollView::platformSetScrollbarsSuppressed):
84114        * platform/ScrollView.h:
84115        (WebCore::ScrollView::scrollbarsSuppressed):
84116        (WebCore::ScrollView::windowResizerRect):
84117        * platform/Scrollbar.cpp:
84118        (WebCore::Scrollbar::setFrameRect):
84119        (WebCore::Scrollbar::setParent):
84120        * platform/gtk/ScrollViewGtk.cpp:
84121        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84122        (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
84123        (WebCore::ScrollView::updateScrollbars):
84124        (WebCore::ScrollView::paint):
84125        * platform/mac/ScrollViewMac.mm:
84126        (WebCore::ScrollView::ScrollView):
84127        (WebCore::ScrollView::~ScrollView):
84128        (WebCore::ScrollView::platformSetScrollbarsSuppressed):
84129        (WebCore::ScrollView::setScrollPosition):
84130        * platform/qt/ScrollViewQt.cpp:
84131        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84132        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84133        (WebCore::ScrollView::frameRectsChanged):
84134        (WebCore::ScrollView::updateScrollbars):
84135        (WebCore::ScrollView::paint):
84136        * platform/win/ScrollViewWin.cpp:
84137        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84138        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84139        (WebCore::ScrollView::updateScrollbars):
84140        (WebCore::ScrollView::paint):
84141        * platform/wx/ScrollViewWx.cpp:
84142        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84143
841442008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
84145
84146        Rubber-stamped by Anders Carlsson.
84147
84148        Compile fix.
84149
84150        * plugins/PluginView.cpp:
84151        (WebCore::PluginView::load):
84152
841532008-09-27  Mark Rowe  <mrowe@apple.com>
84154
84155        Rubber-stamped by Sam Weinig.
84156
84157        Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
84158        Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
84159
84160        Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
84161
84162        * loader/CachedResource.cpp:
84163        (WebCore::CachedResource::~CachedResource):
84164
841652008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
84166
84167        Reviewed by Simon Hausmann.
84168
84169        [qt] Use QImageReader to figure out which image formats are supported
84170        - Qt can have many different plugins for different image formats. Instead
84171        of checking only for a few in WebCore use Qt to determine if this data
84172        can be treated as an image.
84173
84174        * platform/graphics/qt/ImageSourceQt.cpp:
84175        (WebCore::canHandleImage):
84176        (WebCore::createDecoder):
84177
841782008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
84179
84180
84181        [qt] Clean the pattern code
84182        - Use save/restore on the painter after manipulating the
84183        pen/brush
84184        - Make the context and object null checking consistent. CG is using
84185        the object unconditionally so the Qt webkit platform can do the
84186        same.
84187        - Move code below the early exit. Only use the m_ownerElement before
84188        the early exit as the CG code is doing it.
84189
84190        * svg/graphics/SVGPaintServerPattern.h:
84191        * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
84192        (WebCore::SVGPaintServerPattern::setup):
84193        (WebCore::SVGPaintServerPattern::teardown):
84194
841952008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
84196
84197        Added support for console.trace.
84198
84199        https://bugs.webkit.org/show_bug.cgi?id=19157
84200
84201        Reviewed by Kevin McCullough and Tim Hatcher.
84202
84203        * bindings/js/JSConsoleCustom.cpp:
84204        (WebCore::JSConsole::trace):
84205        * page/Console.cpp:
84206        (WebCore::Console::trace): Calls Machine::retrieveCaller to
84207        get a stack trace.
84208        * page/Console.h:
84209        (WebCore::): Added TraceMessageLevel.
84210        * page/Console.idl: Added console.trace.
84211        * page/inspector/Console.js:
84212        (ConsoleMessage): Added case for TraceMessageLevel.
84213
842142008-09-27  Anders Carlsson  <andersca@apple.com>
84215
84216        Reviewed by Sam Weinig.
84217
84218        https://bugs.webkit.org/show_bug.cgi?id=21178
84219        <rdar://problem/6248651>
84220
84221        Check if the plug-in is allowed to load the resource. This matches Firefox.
84222
84223        Test: http/tests/plugins/local-geturl-from-remote.html
84224
84225        * plugins/PluginView.cpp:
84226        (WebCore::PluginView::load):
84227
842282008-09-22  Dirk Schulze  <vbs85@gmx.de>
84229
84230        Reviewed by Eric Seidel.
84231
84232        Added SVG pattern support to Qt.
84233
84234        [Qt] SVG patterns are missing
84235        https://bugs.webkit.org/show_bug.cgi?id=20973
84236
84237        * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
84238        (WebCore::SVGPaintServerPattern::setup):
84239
842402008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
84241
84242        Fixed a bug in the JS syntax highlighter with multiple line tokens.
84243
84244        https://bugs.webkit.org/show_bug.cgi?id=21171
84245
84246        Reviewed by Tim Hatcher.
84247
84248        * page/inspector/SourceFrame.js:
84249        (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
84250
842512008-09-27  Timothy Hatcher  <timothy@apple.com>
84252
84253        Change searching in the Profiles panel to not match the
84254        Self and Total columns when there are no units. The only
84255        column that is matched for unitless number searches is
84256        now the Calls column.
84257
84258        https://bugs.webkit.org/show_bug.cgi?id=21169
84259
84260        Reviewed by Sam Weinig.
84261
84262        * page/inspector/ProfileView.js:
84263        (WebInspector.ProfileView.prototype.performSearch):
84264
842652008-09-27  David Hyatt  <hyatt@apple.com>
84266
84267        Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
84268
84269        Reviewed by Sam Weinig
84270
84271        * platform/ScrollView.h:
84272        * platform/Widget.h:
84273        (WebCore::Widget::boundsRect):
84274        (WebCore::Widget::invalidate):
84275        (WebCore::Widget::frameRectsChanged):
84276        * platform/gtk/ScrollViewGtk.cpp:
84277        (WebCore::ScrollViewScrollbar::frameRectsChanged):
84278        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
84279        (WebCore::ScrollView::setFrameRect):
84280        (WebCore::ScrollView::updateScrollbars):
84281        (WebCore::ScrollView::frameRectsChanged):
84282        * platform/gtk/ScrollbarGtk.cpp:
84283        (ScrollbarGtk::setFrameRect):
84284        (ScrollbarGtk::frameRectsChanged):
84285        * platform/gtk/ScrollbarGtk.h:
84286        * platform/gtk/WidgetGtk.cpp:
84287        * platform/qt/ScrollViewQt.cpp:
84288        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
84289        (WebCore::ScrollView::setFrameRect):
84290        (WebCore::ScrollView::frameRectsChanged):
84291        (WebCore::ScrollView::updateScrollbars):
84292        * platform/win/ScrollViewWin.cpp:
84293        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
84294        (WebCore::ScrollView::setFrameRect):
84295        (WebCore::ScrollView::updateScrollbars):
84296        (WebCore::ScrollView::frameRectsChanged):
84297        * plugins/PluginView.cpp:
84298        (WebCore::PluginView::frameRectsChanged):
84299        * plugins/PluginView.h:
84300
843012008-09-27  Simon Hausmann  <hausmann@webkit.org>
84302
84303        Refix the previous build fix to compile on non-Qt platforms, too.
84304
84305        * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
84306        WebCore to generate the PrototypeTable in the WebCore namespace
84307        * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
84308        table remains in the Webcore namespace
84309        (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
84310
843112008-09-27  Simon Hausmann  <hausmann@webkit.org>
84312
84313        Fix compilation with gcc 4.3 (probably > 4.0)
84314
84315        * bindings/js/JSDOMWindowBase.cpp: Don't define static property
84316        get/put functions inside the WebCore namespace.
84317        * bindings/js/JSEventTargetBase.cpp: Ditto.
84318        * bindings/js/JSEventTargetNode.cpp: Ditto.
84319        * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
84320        * bindings/js/JSEventTargetBase.h: Forward declare
84321        JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
84322        defines it in the JSC namespace.
84323        (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
84324        prefix for PrototypeTable symbol.
84325
843262008-09-27  David Hyatt  <hyatt@apple.com>
84327
84328        Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
84329
84330        Reviewed by Dan Bernstein
84331
84332        * WebCore.base.exp:
84333        * page/FrameView.cpp:
84334        (WebCore::FrameView::FrameView):
84335        (WebCore::FrameView::updateControlTints):
84336        * platform/ScrollView.h:
84337        * platform/Scrollbar.cpp:
84338        (WebCore::Scrollbar::Scrollbar):
84339        (WebCore::Scrollbar::paint):
84340        (WebCore::Scrollbar::setFrameRect):
84341        * platform/Scrollbar.h:
84342        * platform/ScrollbarThemeComposite.cpp:
84343        (WebCore::ScrollbarThemeComposite::paint):
84344        * platform/Widget.h:
84345        (WebCore::Widget::x):
84346        (WebCore::Widget::y):
84347        (WebCore::Widget::width):
84348        (WebCore::Widget::height):
84349        (WebCore::Widget::size):
84350        (WebCore::Widget::pos):
84351        (WebCore::Widget::resize):
84352        (WebCore::Widget::move):
84353        * platform/gtk/ScrollViewGtk.cpp:
84354        (WebCore::ScrollViewScrollbar::geometryChanged):
84355        (WebCore::ScrollView::update):
84356        (WebCore::ScrollView::setFrameRect):
84357        (WebCore::ScrollView::updateScrollbars):
84358        (WebCore::ScrollView::scrollbarUnderMouse):
84359        (WebCore::ScrollView::paint):
84360        * platform/gtk/ScrollbarGtk.cpp:
84361        (ScrollbarGtk::setFrameRect):
84362        (ScrollbarGtk::geometryChanged):
84363        * platform/gtk/ScrollbarGtk.h:
84364        * platform/gtk/WidgetGtk.cpp:
84365        (WebCore::Widget::frameRect):
84366        (WebCore::Widget::setFrameRect):
84367        * platform/mac/ScrollbarThemeMac.mm:
84368        (WebCore::ScrollbarThemeMac::trackRect):
84369        (WebCore::ScrollbarThemeMac::paint):
84370        * platform/mac/WidgetMac.mm:
84371        (WebCore::Widget::frameRect):
84372        (WebCore::Widget::setFrameRect):
84373        * platform/qt/ScrollViewQt.cpp:
84374        (WebCore::ScrollView::setFrameRect):
84375        (WebCore::ScrollView::updateScrollbars):
84376        (WebCore::ScrollView::scrollbarUnderMouse):
84377        (WebCore::ScrollView::paint):
84378        * platform/qt/ScrollbarThemeQt.cpp:
84379        (WebCore::styleOptionSlider):
84380        * platform/qt/WidgetQt.cpp:
84381        (WebCore::Widget::frameRect):
84382        (WebCore::Widget::setFrameRect):
84383        * platform/win/PopupMenuWin.cpp:
84384        (WebCore::PopupMenu::invalidateItem):
84385        (WebCore::PopupMenu::valueChanged):
84386        (WebCore::PopupWndProc):
84387        * platform/win/ScrollViewWin.cpp:
84388        (WebCore::ScrollView::setFrameRect):
84389        (WebCore::ScrollView::updateScrollbars):
84390        (WebCore::ScrollView::scrollbarUnderMouse):
84391        (WebCore::ScrollView::paint):
84392        * platform/win/ScrollbarThemeSafari.cpp:
84393        (WebCore::ScrollbarThemeSafari::trackRect):
84394        * platform/win/WidgetWin.cpp:
84395        (WebCore::Widget::frameRect):
84396        (WebCore::Widget::setFrameRect):
84397        * platform/wx/WidgetWx.cpp:
84398        (WebCore::Widget::frameRect):
84399        (WebCore::Widget::setFrameRect):
84400        * plugins/PluginView.cpp:
84401        (WebCore::PluginView::setFrameRect):
84402        * plugins/PluginView.h:
84403        * plugins/gtk/PluginViewGtk.cpp:
84404        (WebCore::PluginView::updatePluginWidget):
84405        (WebCore::PluginView::paint):
84406        (WebCore::PluginView::init):
84407        * plugins/qt/PluginViewQt.cpp:
84408        (WebCore::PluginView::updatePluginWidget):
84409        (WebCore::PluginView::init):
84410        * plugins/win/PluginViewWin.cpp:
84411        (WebCore::PluginView::updatePluginWidget):
84412        (WebCore::PluginView::paintMissingPluginIcon):
84413        (WebCore::PluginView::paint):
84414        (WebCore::PluginView::init):
84415        * rendering/RenderLayer.cpp:
84416        (WebCore::RenderLayer::positionOverflowControls):
84417        * rendering/RenderListBox.cpp:
84418        (WebCore::RenderListBox::paintScrollbar):
84419        * rendering/RenderPart.cpp:
84420        (WebCore::RenderPart::updateWidgetPosition):
84421        * rendering/RenderWidget.cpp:
84422        (WebCore::RenderWidget::setWidgetGeometry):
84423        (WebCore::RenderWidget::updateWidgetPosition):
84424
844252008-09-27  David Hyatt  <hyatt@apple.com>
84426
84427        <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
84428
84429        This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
84430        access an actual member variable.
84431
84432        Reviewed by Dan Bernstein
84433
84434        * page/FocusController.cpp:
84435        (WebCore::FocusController::setFocusedFrame):
84436
844372008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
84438
84439        Attempt to fix QT Build. Not reviewed.
84440
84441        * WebCore.pro: add -n WebCore parameter to create_hash_table
84442
844432008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
84444
84445        Reviewed by Eric Seidel.
84446
84447        http://bugs.webkit.org/show_bug.cgi?id=18905
84448        [GTK] Fix build with older pango (1.14.8)
84449
84450        * platform/graphics/gtk/FontGtk.cpp:
84451        * platform/gtk/Language.cpp:
84452        (_pango_get_lc_ctype):
84453        (pango_language_get_default):
84454
844552008-09-26  David Hyatt  <hyatt@apple.com>
84456
84457        https://bugs.webkit.org/show_bug.cgi?id=21168
84458
84459        Make contentsToWindow/windowToContents cross-platform.
84460
84461        Reviewed by Oliver Hunt
84462
84463        * platform/ScrollView.cpp:
84464        (WebCore::ScrollView::windowToContents):
84465        (WebCore::ScrollView::contentsToWindow):
84466        * platform/ScrollView.h:
84467        * platform/gtk/ScrollViewGtk.cpp:
84468        * platform/mac/ScrollViewMac.mm:
84469        * platform/qt/ScrollViewQt.cpp:
84470        * platform/win/ScrollViewWin.cpp:
84471        * platform/wx/ScrollViewWx.cpp:
84472
844732008-09-26  Sam Weinig  <sam@webkit.org>
84474
84475        GTK build fix.
84476
84477        * GNUmakefile.am:
84478
844792008-09-26  David Hyatt  <hyatt@apple.com>
84480
84481        Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
84482        offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
84483        more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
84484
84485        Reviewed by Oliver Hunt
84486
84487        * page/FrameView.cpp:
84488        (WebCore::FrameView::repaintContentRectangle):
84489        * page/FrameView.h:
84490        * platform/ScrollView.h:
84491        * platform/gtk/ScrollViewGtk.cpp:
84492        (WebCore::ScrollView::isOffscreen):
84493        * platform/mac/ScrollViewMac.mm:
84494        (WebCore::ScrollView::updateContents):
84495        (WebCore::ScrollView::isOffscreen):
84496        * platform/qt/ScrollViewQt.cpp:
84497        (WebCore::ScrollView::isOffscreen):
84498        * platform/win/ScrollViewWin.cpp:
84499        (WebCore::ScrollView::isOffscreen):
84500        * platform/wx/ScrollViewWx.cpp:
84501        (WebCore::ScrollView::isOffscreen):
84502        * rendering/RenderObject.cpp:
84503        (WebCore::RenderObject::willRenderImage):
84504
845052008-09-26  David Hyatt  <hyatt@apple.com>
84506
84507        https://bugs.webkit.org/show_bug.cgi?id=21164
84508
84509        Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
84510
84511        Reviewed by Sam Weinig
84512
84513        * WebCore.base.exp:
84514        * page/FrameView.cpp:
84515        (WebCore::FrameView::setAllowsScrolling):
84516        * page/FrameView.h:
84517        * platform/ScrollView.cpp:
84518        (WebCore::ScrollView::setAllowsScrolling):
84519        * platform/ScrollView.h:
84520        (WebCore::ScrollView::allowsScrolling):
84521        * platform/win/ScrollViewWin.cpp:
84522        (WebCore::ScrollView::wheelEvent):
84523
845242008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
84525
84526        wx build fixes after Widget/ScrollView changes.
84527
84528        * platform/wx/PopupMenuWx.cpp:
84529        (WebCore::PopupMenu::show):
84530        * platform/wx/ScrollViewWx.cpp:
84531        (WebCore::ScrollView::platformSetContentsSize):
84532        (WebCore::ScrollView::platformSetScrollbarModes):
84533        (WebCore::ScrollView::wheelEvent):
84534        * platform/wx/TemporaryLinkStubs.cpp:
84535        * platform/wx/WidgetWx.cpp:
84536        (WebCore::Widget::containingWindow):
84537
845382008-09-26  Timothy Hatcher  <timothy@apple.com>
84539
84540        Allow searching for paths by always performing the
84541        three search methods in the Elements panel and not
84542        assume a search with a "/" is a XPath query.
84543
84544        https://bugs.webkit.org/show_bug.cgi?id=21159
84545
84546        Reviewed by Geoff Garen.
84547
84548        * page/inspector/ElementsPanel.js:
84549        (WebInspector.ElementsPanel.prototype.performSearch):
84550
845512008-09-26  Sam Weinig  <sam@webkit.org>
84552
84553        Reviewed by Darin Adler.
84554
84555        Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
84556        Speedup static property get/put
84557
84558        * DerivedSources.make:
84559        * GNUmakefile.am:
84560        * WebCore.pro:
84561        * WebCore.vcproj/WebCore.vcproj:
84562        * WebCore.xcodeproj/project.pbxproj:
84563        * bindings/js/JSDOMBinding.cpp:
84564        * bindings/js/JSDOMBinding.h:
84565        * bindings/js/JSDOMWindowBase.cpp:
84566        (WebCore::getDOMConstructor):
84567        (WebCore::jsDOMWindowBaseCrypto):
84568        (WebCore::jsDOMWindowBaseEvent):
84569        (WebCore::jsDOMWindowBaseImage):
84570        (WebCore::jsDOMWindowBaseMessageChannel):
84571        (WebCore::jsDOMWindowBaseOption):
84572        (WebCore::jsDOMWindowBaseXMLHttpRequest):
84573        (WebCore::jsDOMWindowBaseAudio):
84574        (WebCore::jsDOMWindowBaseXSLTProcessor):
84575        (WebCore::jsDOMWindowBaseOnabort):
84576        (WebCore::jsDOMWindowBaseOnblur):
84577        (WebCore::jsDOMWindowBaseOnchange):
84578        (WebCore::jsDOMWindowBaseOnclick):
84579        (WebCore::jsDOMWindowBaseOndblclick):
84580        (WebCore::jsDOMWindowBaseOnerror):
84581        (WebCore::jsDOMWindowBaseOnfocus):
84582        (WebCore::jsDOMWindowBaseOnkeydown):
84583        (WebCore::jsDOMWindowBaseOnkeypress):
84584        (WebCore::jsDOMWindowBaseOnkeyup):
84585        (WebCore::jsDOMWindowBaseOnload):
84586        (WebCore::jsDOMWindowBaseOnmousedown):
84587        (WebCore::jsDOMWindowBaseOnmousemove):
84588        (WebCore::jsDOMWindowBaseOnmouseout):
84589        (WebCore::jsDOMWindowBaseOnmouseover):
84590        (WebCore::jsDOMWindowBaseOnmouseup):
84591        (WebCore::jsDOMWindowBaseOnMouseWheel):
84592        (WebCore::jsDOMWindowBaseOnreset):
84593        (WebCore::jsDOMWindowBaseOnresize):
84594        (WebCore::jsDOMWindowBaseOnscroll):
84595        (WebCore::jsDOMWindowBaseOnsearch):
84596        (WebCore::jsDOMWindowBaseOnselect):
84597        (WebCore::jsDOMWindowBaseOnsubmit):
84598        (WebCore::jsDOMWindowBaseOnbeforeunload):
84599        (WebCore::jsDOMWindowBaseOnunload):
84600        (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
84601        (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
84602        (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
84603        (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
84604        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
84605        (WebCore::JSDOMWindowBase::put):
84606        (WebCore::setJSDOMWindowBaseOnabort):
84607        (WebCore::setJSDOMWindowBaseOnblur):
84608        (WebCore::setJSDOMWindowBaseOnchange):
84609        (WebCore::setJSDOMWindowBaseOnclick):
84610        (WebCore::setJSDOMWindowBaseOndblclick):
84611        (WebCore::setJSDOMWindowBaseOnerror):
84612        (WebCore::setJSDOMWindowBaseOnfocus):
84613        (WebCore::setJSDOMWindowBaseOnkeydown):
84614        (WebCore::setJSDOMWindowBaseOnkeypress):
84615        (WebCore::setJSDOMWindowBaseOnkeyup):
84616        (WebCore::setJSDOMWindowBaseOnload):
84617        (WebCore::setJSDOMWindowBaseOnmousedown):
84618        (WebCore::setJSDOMWindowBaseOnmousemove):
84619        (WebCore::setJSDOMWindowBaseOnmouseout):
84620        (WebCore::setJSDOMWindowBaseOnmouseover):
84621        (WebCore::setJSDOMWindowBaseOnmouseup):
84622        (WebCore::setJSDOMWindowBaseOnMouseWheel):
84623        (WebCore::setJSDOMWindowBaseOnreset):
84624        (WebCore::setJSDOMWindowBaseOnresize):
84625        (WebCore::setJSDOMWindowBaseOnscroll):
84626        (WebCore::setJSDOMWindowBaseOnsearch):
84627        (WebCore::setJSDOMWindowBaseOnselect):
84628        (WebCore::setJSDOMWindowBaseOnsubmit):
84629        (WebCore::setJSDOMWindowBaseOnbeforeunload):
84630        (WebCore::setJSDOMWindowBaseOnunload):
84631        (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
84632        (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
84633        (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
84634        (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
84635        (WebCore::setJSDOMWindowBaseEvent):
84636        (WebCore::setJSDOMWindowBaseAudio):
84637        (WebCore::setJSDOMWindowBaseImage):
84638        (WebCore::setJSDOMWindowBaseMessageChannel):
84639        (WebCore::setJSDOMWindowBaseOption):
84640        (WebCore::setJSDOMWindowBaseXMLHttpRequest):
84641        (WebCore::setJSDOMWindowBaseXSLTProcessor):
84642        * bindings/js/JSDOMWindowBase.h:
84643        * bindings/js/JSDOMWindowCustom.cpp:
84644        (WebCore::nonCachingStaticCloseFunctionGetter):
84645        (WebCore::nonCachingStaticBlurFunctionGetter):
84646        (WebCore::nonCachingStaticFocusFunctionGetter):
84647        (WebCore::nonCachingStaticPostMessageFunctionGetter):
84648        * bindings/js/JSDOMWindowCustom.h:
84649        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
84650        * bindings/js/JSEventTargetBase.cpp:
84651        * bindings/js/JSEventTargetBase.h:
84652        (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
84653        (WebCore::JSEventTargetBasePrototype::classInfo):
84654        * bindings/js/JSEventTargetNode.cpp:
84655        (WebCore::):
84656        (WebCore::JSEventTargetNode::getOwnPropertySlot):
84657        (WebCore::JSEventTargetNode::put):
84658        * bindings/js/JSEventTargetNode.h:
84659        (WebCore::JSEventTargetNode::classInfo):
84660        (WebCore::JSEventTargetNode::prototypeClassName):
84661        * bindings/js/JSEventTargetSVGElementInstance.cpp:
84662        (WebCore::):
84663        (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
84664        (WebCore::JSEventTargetSVGElementInstance::put):
84665        * bindings/js/JSEventTargetSVGElementInstance.h:
84666        (WebCore::JSEventTargetSVGElementInstance::classInfo):
84667        (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
84668        * bindings/js/JSHTMLInputElementCustom.cpp:
84669        (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
84670        * bindings/js/JSHistoryCustom.cpp:
84671        (WebCore::nonCachingStaticBackFunctionGetter):
84672        (WebCore::nonCachingStaticForwardFunctionGetter):
84673        (WebCore::nonCachingStaticGoFunctionGetter):
84674        (WebCore::JSHistory::customGetOwnPropertySlot):
84675        * bindings/js/JSLocationCustom.cpp:
84676        (WebCore::nonCachingStaticReplaceFunctionGetter):
84677        (WebCore::nonCachingStaticReloadFunctionGetter):
84678        (WebCore::nonCachingStaticAssignFunctionGetter):
84679        (WebCore::JSLocation::customGetOwnPropertySlot):
84680        (WebCore::JSLocation::customPut):
84681        * bindings/scripts/CodeGeneratorJS.pm:
84682
846832008-09-26  David Hyatt  <hyatt@apple.com>
84684
84685        https://bugs.webkit.org/show_bug.cgi?id=21149
84686
84687        Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
84688        Eliminate the unused isScrollable() method.
84689
84690        Reviewed by Sam Weinig
84691
84692        * WebCore.base.exp:
84693        * page/FrameView.cpp:
84694        (WebCore::FrameView::resetScrollbars):
84695        (WebCore::FrameView::initScrollbars):
84696        (WebCore::FrameView::layout):
84697        * page/FrameView.h:
84698        * page/mac/WebCoreFrameView.h:
84699        * platform/ScrollView.cpp:
84700        (WebCore::ScrollView::init):
84701        (WebCore::ScrollView::setScrollbarModes):
84702        (WebCore::ScrollView::scrollbarModes):
84703        (WebCore::ScrollView::platformSetScrollbarModes):
84704        (WebCore::ScrollView::platformScrollbarModes):
84705        * platform/ScrollView.h:
84706        (WebCore::ScrollView::horizontalScrollbar):
84707        (WebCore::ScrollView::verticalScrollbar):
84708        (WebCore::ScrollView::isScrollViewScrollbar):
84709        (WebCore::ScrollView::setHorizontalScrollbarMode):
84710        (WebCore::ScrollView::setVerticalScrollbarMode):
84711        (WebCore::ScrollView::horizontalScrollbarMode):
84712        (WebCore::ScrollView::verticalScrollbarMode):
84713        (WebCore::ScrollView::convertSelfToChild):
84714        * platform/gtk/ScrollViewGtk.cpp:
84715        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84716        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
84717        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
84718        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84719        (WebCore::ScrollView::updateScrollbars):
84720        (WebCore::ScrollView::scrollbarUnderMouse):
84721        (WebCore::ScrollView::isScrollViewScrollbar):
84722        (WebCore::ScrollView::paint):
84723        (WebCore::ScrollView::scroll):
84724        * platform/mac/ScrollViewMac.mm:
84725        (WebCore::ScrollView::platformSetScrollbarModes):
84726        (WebCore::ScrollView::platformScrollbarModes):
84727        * platform/qt/ScrollViewQt.cpp:
84728        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
84729        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
84730        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84731        (WebCore::ScrollView::horizontalScrollbar):
84732        (WebCore::ScrollView::verticalScrollbar):
84733        (WebCore::ScrollView::invalidateScrollbars):
84734        (WebCore::ScrollView::updateScrollbars):
84735        (WebCore::ScrollView::scrollbarUnderMouse):
84736        (WebCore::ScrollView::paint):
84737        (WebCore::ScrollView::scroll):
84738        * platform/win/ScrollViewWin.cpp:
84739        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
84740        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
84741        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
84742        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84743        (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
84744        (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
84745        (WebCore::ScrollView::suppressScrollbars):
84746        (WebCore::ScrollView::updateScrollbars):
84747        (WebCore::ScrollView::scrollbarUnderMouse):
84748        (WebCore::ScrollView::paint):
84749        (WebCore::ScrollView::scroll):
84750        * platform/wx/ScrollViewWx.cpp:
84751        (WebCore::ScrollView::platformSetScrollbarModes):
84752        (WebCore::ScrollView::platformScrollbarModes):
84753
847542008-09-26  David Kilzer  <ddkilzer@apple.com>
84755
84756        Fix Mac build with XPATH and XSLT disabled
84757
84758        Reviewed by Alexey.
84759
84760        * bindings/objc/DOMUtility.mm:
84761        (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
84762        * dom/XMLTokenizerLibxml2.cpp:
84763        (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
84764        prevent an unused code warning.
84765
847662008-09-26  Kevin McCullough  <kmccullough@apple.com>
84767
84768        Rubber stamped by Tim Hatcher.
84769
84770        Bug 21098: Crashing under Console::log
84771        - Speculative ASSERT to help find the problem.
84772
84773        * page/InspectorController.cpp:
84774        (WebCore::ConsoleMessage::isEqual):
84775
847762008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
84777
84778        [gtk+] Build fix for the latest ScrollView changes
84779
84780        * platform/gtk/ScrollViewGtk.cpp:
84781        (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
84782        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
84783
847842008-09-26  Timothy Hatcher  <timothy@apple.com>
84785
84786        Fixes a bug where the console message repeat count would be wrong
84787        when typing commands in between repeated messages.
84788
84789        https://bugs.webkit.org/show_bug.cgi?id=21145
84790
84791        Reviewed by Kevin McCullough.
84792
84793        * page/InspectorController.cpp:
84794        (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
84795        (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
84796        * page/inspector/Console.js:
84797        (WebInspector.Console.prototype.addMessage): Remember the original repeat count
84798        for each message as totalRepeatCount, since we now modify repeatCount to mean
84799        repeats since previous console command. If repeatCountBeforeCommand is a number,
84800        subtract that value from the repeatCount.
84801        (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
84802        and commandSincePreviousMessage properties.
84803
848042008-09-26  Eric Carlson  <eric.carlson@apple.com>
84805
84806        Reviewed by Antti
84807
84808        https://bugs.webkit.org/show_bug.cgi?id=21116
84809        <rdar://problem/5726325> Audio from <video> can still be heard after navigating
84810        back to page with <video>, then closing tab
84811
84812        Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
84813        documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
84814        deletion.
84815
84816        * dom/Document.cpp:
84817        (WebCore::Document::documentWillBecomeInactive):
84818        (WebCore::Document::documentDidBecomeActive):
84819        (WebCore::Document::registerForDocumentActivationCallbacks):
84820        (WebCore::Document::unregisterForDocumentActivationCallbacks):
84821        * dom/Document.h:
84822        * dom/Element.h:
84823        (WebCore::Element::documentWillBecomeInactive):
84824        (WebCore::Element::documentDidBecomeActive):
84825        * history/CachedPage.cpp:
84826        (WebCore::CachedPage::CachedPage):
84827        * html/HTMLFormElement.cpp:
84828        (WebCore::HTMLFormElement::~HTMLFormElement):
84829        (WebCore::HTMLFormElement::parseMappedAttribute):
84830        (WebCore::HTMLFormElement::documentDidBecomeActive):
84831        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
84832        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
84833        * html/HTMLFormElement.h:
84834        * html/HTMLInputElement.cpp:
84835        (WebCore::HTMLInputElement::~HTMLInputElement):
84836        (WebCore::HTMLInputElement::setInputType):
84837        (WebCore::HTMLInputElement::parseMappedAttribute):
84838        (WebCore::HTMLInputElement::needsActivationCallback):
84839        (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
84840        (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
84841        (WebCore::HTMLInputElement::documentDidBecomeActive):
84842        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
84843        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
84844        * html/HTMLInputElement.h:
84845        * html/HTMLMediaElement.cpp:
84846        (WebCore::HTMLMediaElement::HTMLMediaElement):
84847        (WebCore::HTMLMediaElement::~HTMLMediaElement):
84848        (WebCore::HTMLMediaElement::documentWillBecomeInactive):
84849        (WebCore::HTMLMediaElement::documentDidBecomeActive):
84850        * html/HTMLMediaElement.h:
84851        (WebCore::HTMLMediaElement::inActiveDocument):
84852        * loader/FrameLoader.cpp:
84853        (WebCore::FrameLoader::opened):
84854        * page/Page.cpp:
84855        (WebCore::Page::~Page):
84856        * rendering/RenderMedia.cpp:
84857        (WebCore::RenderMedia::updateControls):
84858        * rendering/RenderVideo.cpp:
84859        (WebCore::RenderVideo::updatePlayer):
84860        * svg/SVGSVGElement.cpp:
84861        (WebCore::SVGSVGElement::SVGSVGElement):
84862        (WebCore::SVGSVGElement::~SVGSVGElement):
84863        (WebCore::SVGSVGElement::documentWillBecomeInactive):
84864        (WebCore::SVGSVGElement::documentDidBecomeActive):
84865        * svg/SVGSVGElement.h:
84866
848672008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
84868
84869        Reviewed by Simon
84870
84871        Fix the build inside Qt, don't create faulty prl files for now.
84872
84873        * WebCore.pro:
84874
848752008-09-26  Simon Hausmann  <hausmann@webkit.org>
84876
84877        Fix compilation on Qt/Windows
84878
84879        * Add WebCore/ to the include path so that config.h is found that enables JSC
84880        * Link against winmm for the multimedia timer functions
84881        * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
84882        subdirectory
84883        * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
84884        but set m_window directly as setPlatformWidget takes a QWidget*.
84885
84886        * WebCore.pro:
84887        * platform/win/SystemTimeWin.cpp:
84888        * plugins/win/PluginViewWin.cpp:
84889        (WebCore::PluginView::init):
84890
848912008-09-26  Oliver Hunt  <oliver@apple.com>
84892
84893        Reviewed by Maciej Stachowiak.
84894
84895        Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
84896        <https://bugs.webkit.org/show_bug.cgi?id=21054>
84897
84898        This performance regression is actually just a symptom of a correctness
84899        bug.  The constructor objects for a number of properties that have security
84900        checks on access were returning new objects each time.  The most obvious
84901        symptom of this bug is that window.Image != window.Image, etc.
84902
84903        The solution to this is to make sure we cache these constructors
84904        in the same way as all the other DOM constructors.  To achieve this
84905        without causing any refcount cycles it is necessary to replace the
84906        refcounted document pointer in the Image, MessageChannel, Option,
84907        XMLHttpRequest, and Audio constructor objects with a reference to
84908        the document's JS wrapper.
84909
84910        Tests: fast/dom/constructors-cached-navigate.html
84911               fast/dom/constructors-cached.html
84912
84913        * WebCore.xcodeproj/project.pbxproj:
84914        * bindings/js/JSAudioConstructor.cpp:
84915        (WebCore::JSAudioConstructor::mark):
84916        * bindings/js/JSAudioConstructor.h:
84917        (WebCore::JSAudioConstructor::document):
84918        * bindings/js/JSDOMWindowBase.cpp:
84919        (WebCore::getDOMConstructor):
84920        (WebCore::JSDOMWindowBase::getValueProperty):
84921        * bindings/js/JSDOMWindowBase.h:
84922        * bindings/js/JSHTMLOptionElementConstructor.cpp:
84923        (WebCore::JSHTMLOptionElementConstructor::mark):
84924        * bindings/js/JSHTMLOptionElementConstructor.h:
84925        (WebCore::JSHTMLOptionElementConstructor::document):
84926        * bindings/js/JSImageConstructor.cpp:
84927        (WebCore::JSImageConstructor::mark):
84928        * bindings/js/JSImageConstructor.h:
84929        (WebCore::JSImageConstructor::document):
84930        * bindings/js/JSXMLHttpRequestConstructor.cpp:
84931        (WebCore::JSXMLHttpRequestConstructor::mark):
84932        * bindings/js/JSXMLHttpRequestConstructor.h:
84933        (WebCore::JSXMLHttpRequestConstructor::document):
84934
849352008-09-26  Simon Hausmann  <hausmann@webkit.org>
84936
84937        Unreviewed one-liner build fix for the Qt/Windows build.
84938
84939        The build requires NPAPI support to be enabled, fix the condition in
84940        the .pro file for that.
84941
84942        * WebCore.pro:
84943
849442008-09-26  Trenton Schulz <twschulz@trolltech.com>
84945
84946        Reviewed by Simon.
84947
84948        Fix compilation with the Qt/Cocoa port.
84949
84950        * platform/qt/ScrollViewQt.cpp:
84951        (WebCore::ScrollView::updateScrollbars):
84952
849532008-09-26  Simon Hausmann  <hausmann@webkit.org>
84954
84955        Reviewed by Holger.
84956
84957        Fix compilation with VC9SP1, work around bug in TR1 library by
84958        disabling it.
84959
84960        * WebCore.pro:
84961
849622008-09-26  Simon Hausmann  <hausmann@webkit.org>
84963
84964        Reviewed by Holger.
84965
84966        Fix an lupdate() warning.
84967
84968        Don't use tr() in a class that is not a QObject, use
84969        QCoreApplication::translate() directly.
84970
84971        * platform/qt/ScrollbarQt.cpp:
84972        (WebCore::Scrollbar::handleContextMenuEvent):
84973
849742008-09-25  David Hyatt  <hyatt@apple.com>
84975
84976        Remove the scrollTo() method from FrameView, since it is not used by anyone.
84977
84978        Reviewed by Oliver Hunt
84979
84980        * page/FrameView.cpp:
84981        * page/FrameView.h:
84982
849832008-09-25  David Hyatt  <hyatt@apple.com>
84984
84985        Make scrollRectIntoViewRecursively cross-platform.
84986
84987        Reviewed by Oliver Hunt
84988
84989        * platform/ScrollView.cpp:
84990        (WebCore::ScrollView::scrollRectIntoViewRecursively):
84991        * platform/gtk/ScrollViewGtk.cpp:
84992        * platform/mac/ScrollViewMac.mm:
84993        * platform/qt/ScrollViewQt.cpp:
84994        * platform/win/ScrollViewWin.cpp:
84995        * platform/wx/ScrollViewWx.cpp:
84996
849972008-09-25  David Hyatt  <hyatt@apple.com>
84998
84999        https://bugs.webkit.org/show_bug.cgi?id=21133
85000
85001        Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
85002        cross-platform.
85003
85004        Reviewed by Oliver Hunt
85005
85006        * loader/FrameLoader.cpp:
85007        (WebCore::FrameLoader::begin):
85008        * page/FrameView.cpp:
85009        (WebCore::FrameView::adjustViewSize):
85010        * platform/ScrollView.cpp:
85011        (WebCore::ScrollView::setContentsSize):
85012        * platform/ScrollView.h:
85013        (WebCore::ScrollView::updateScrollbars):
85014        * platform/gtk/ScrollViewGtk.cpp:
85015        * platform/mac/ScrollViewMac.mm:
85016        (WebCore::ScrollView::platformSetContentsSize):
85017        * platform/qt/ScrollViewQt.cpp:
85018        * platform/win/ScrollViewWin.cpp:
85019        * platform/wx/ScrollViewWx.cpp:
85020        (WebCore::ScrollView::platformSetContentsSize):
85021
850222008-09-25  David Hyatt  <hyatt@apple.com>
85023
85024        https://bugs.webkit.org/show_bug.cgi?id=21132
85025
85026        Clean up the methods that actually do the scrolling in ScrollView.
85027
85028        Reviewed by Oliver Hunt
85029
85030        * html/HTMLBodyElement.cpp:
85031        (WebCore::HTMLBodyElement::setScrollLeft):
85032        (WebCore::HTMLBodyElement::setScrollTop):
85033        * loader/FrameLoader.cpp:
85034        (WebCore::FrameLoader::restoreScrollPositionAndViewState):
85035        * loader/ImageDocument.cpp:
85036        (WebCore::ImageDocument::imageClicked):
85037        * page/DOMWindow.cpp:
85038        (WebCore::DOMWindow::scrollBy):
85039        (WebCore::DOMWindow::scrollTo):
85040        * page/FrameView.cpp:
85041        (WebCore::FrameView::scrollTo):
85042        (WebCore::FrameView::setScrollPosition):
85043        * page/FrameView.h:
85044        * platform/ScrollView.cpp:
85045        (WebCore::ScrollView::maximumScrollPosition):
85046        * platform/ScrollView.h:
85047        (WebCore::ScrollView::contentsWidth):
85048        (WebCore::ScrollView::contentsHeight):
85049        (WebCore::ScrollView::scrollBy):
85050        * platform/gtk/ScrollViewGtk.cpp:
85051        (WebCore::ScrollView::setScrollPosition):
85052        * platform/mac/ScrollViewMac.mm:
85053        (WebCore::ScrollView::setScrollPosition):
85054        * platform/qt/ScrollViewQt.cpp:
85055        (WebCore::ScrollView::setScrollPosition):
85056        (WebCore::ScrollView::scrollRectIntoViewRecursively):
85057        * platform/win/ScrollViewWin.cpp:
85058        (WebCore::ScrollView::setScrollPosition):
85059        (WebCore::ScrollView::scrollRectIntoViewRecursively):
85060        * platform/wx/ScrollViewWx.cpp:
85061        (WebCore::ScrollView::setScrollPosition):
85062        * rendering/RenderLayer.cpp:
85063        (WebCore::RenderLayer::scrollByRecursively):
85064        (WebCore::RenderLayer::scrollRectToVisible):
85065
850662008-09-25  Dan Bernstein  <mitz@apple.com>
85067
85068        - attempted Windows build fix
85069
85070        * platform/win/ScrollViewWin.cpp:
85071        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
85072        (WebCore::ScrollView::setContentsPos):
85073        (WebCore::ScrollView::paint):
85074
850752008-09-25  Timothy Hatcher  <timothy@apple.com>
85076
85077        Revert the padding changes done in r36905 to prevent the
85078        scrollbar from overlapping the URLs in the Console.
85079
85080        https://bugs.webkit.org/show_bug.cgi?id=21126
85081
85082        * page/inspector/inspector.css:
85083
850842008-09-25  David Hyatt  <hyatt@apple.com>
85085
85086        https://bugs.webkit.org/show_bug.cgi?id=21129
85087
85088        Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
85089        of platform-specific methods required of ScrollView implementations.
85090
85091        Reviewed by Tim Hatcher
85092
85093        * dom/MouseRelatedEvent.cpp:
85094        (WebCore::contentsX):
85095        (WebCore::contentsY):
85096        * html/HTMLBodyElement.cpp:
85097        (WebCore::HTMLBodyElement::scrollLeft):
85098        (WebCore::HTMLBodyElement::setScrollLeft):
85099        (WebCore::HTMLBodyElement::scrollTop):
85100        (WebCore::HTMLBodyElement::setScrollTop):
85101        * loader/FrameLoader.cpp:
85102        (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
85103        * page/DOMWindow.cpp:
85104        (WebCore::DOMWindow::scrollX):
85105        (WebCore::DOMWindow::scrollY):
85106        * page/EventHandler.cpp:
85107        (WebCore::EventHandler::hitTestResultAtPoint):
85108        * page/FrameView.cpp:
85109        (WebCore::FrameView::scrollTo):
85110        (WebCore::FrameView::windowClipRect):
85111        * platform/ScrollView.cpp:
85112        (WebCore::ScrollView::visibleContentRect):
85113        (WebCore::ScrollView::contentsSize):
85114        (WebCore::ScrollView::platformContentsSize):
85115        * platform/ScrollView.h:
85116        (WebCore::ScrollView::scrollPosition):
85117        (WebCore::ScrollView::scrollOffset):
85118        (WebCore::ScrollView::scrollX):
85119        (WebCore::ScrollView::scrollY):
85120        (WebCore::ScrollView::contentsWidth):
85121        (WebCore::ScrollView::contentsHeight):
85122        * platform/gtk/ScrollViewGtk.cpp:
85123        (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
85124        (WebCore::ScrollView::setGtkAdjustments):
85125        (WebCore::ScrollView::resizeContents):
85126        (WebCore::ScrollView::contentsWidth):
85127        (WebCore::ScrollView::contentsHeight):
85128        (WebCore::ScrollView::scrollOffset):
85129        (WebCore::ScrollView::maximumScroll):
85130        (WebCore::ScrollView::scrollBy):
85131        (WebCore::ScrollView::suppressScrollbars):
85132        (WebCore::ScrollView::setHScrollbarMode):
85133        (WebCore::ScrollView::setVScrollbarMode):
85134        (WebCore::ScrollView::setScrollbarsMode):
85135        (WebCore::ScrollView::setFrameGeometry):
85136        (WebCore::ScrollView::updateScrollbars):
85137        * platform/mac/ScrollViewMac.mm:
85138        (WebCore::ScrollView::platformContentsSize):
85139        (WebCore::ScrollView::scrollBy):
85140        * platform/mac/WidgetMac.mm:
85141        (WebCore::Widget::convertFromContainingWindow):
85142        (WebCore::Widget::convertToContainingWindow):
85143        * platform/qt/ScrollViewQt.cpp:
85144        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
85145        (WebCore::ScrollView::resizeContents):
85146        (WebCore::ScrollView::setFrameGeometry):
85147        (WebCore::ScrollView::scrollOffset):
85148        (WebCore::ScrollView::maximumScroll):
85149        (WebCore::ScrollView::scrollBy):
85150        (WebCore::ScrollView::setHScrollbarMode):
85151        (WebCore::ScrollView::setVScrollbarMode):
85152        (WebCore::ScrollView::setScrollbarsMode):
85153        (WebCore::ScrollView::updateScrollbars):
85154        * platform/win/ScrollViewWin.cpp:
85155        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
85156        (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
85157        (WebCore::ScrollView::resizeContents):
85158        (WebCore::ScrollView::setFrameGeometry):
85159        (WebCore::ScrollView::scrollOffset):
85160        (WebCore::ScrollView::maximumScroll):
85161        (WebCore::ScrollView::scrollBy):
85162        (WebCore::ScrollView::setHScrollbarMode):
85163        (WebCore::ScrollView::setVScrollbarMode):
85164        (WebCore::ScrollView::setScrollbarsMode):
85165        (WebCore::ScrollView::updateScrollbars):
85166        * platform/wx/ScrollViewWx.cpp:
85167        (WebCore::ScrollView::platformVisibleContentRect):
85168        (WebCore::ScrollView::platformContentsSize):
85169        * rendering/RenderBlock.cpp:
85170        (WebCore::RenderBlock::nodeAtPoint):
85171        * rendering/RenderLayer.cpp:
85172        (WebCore::RenderLayer::scrollRectToVisible):
85173        (WebCore::RenderLayer::calculateClipRects):
85174        (WebCore::RenderLayer::calculateRects):
85175        * rendering/RenderView.cpp:
85176        (WebCore::RenderView::absolutePosition):
85177        (WebCore::RenderView::computeAbsoluteRepaintRect):
85178
851792008-09-25  David Smith  <catfish.man@gmail.com>
85180
85181        Reviewed by Dave Hyatt.
85182
85183        Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
85184
85185        * dom/Element.cpp:
85186        (WebCore::Element::rareData):
85187        * dom/Element.h:
85188        * dom/Node.cpp:
85189        (WebCore::Node::rareData):
85190        * dom/Node.h:
85191
851922008-09-25  David Smith  <catfish.man@gmail.com>
85193
85194        Reviewed by Darin Adler.
85195
85196        https://bugs.webkit.org/show_bug.cgi?id=20980
85197        Split off uncommonly used data from Node similar to ElementRareData
85198
85199        Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
85200        which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
85201        for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
85202
85203        * WebCore.base.exp:
85204        * WebCore.xcodeproj/project.pbxproj:
85205        * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
85206        * dom/ContainerNode.cpp: Set isContainer to true
85207        (WebCore::ContainerNode::ContainerNode):
85208        * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
85209        (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
85210        (WebCore::Node::containerChildNode): ditto
85211        (WebCore::Node::containerFirstChild): ditto
85212        (WebCore::Node::containerLastChild): ditto
85213        * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
85214        (WebCore::Element::Element):
85215        (WebCore::Element::~Element):
85216        (WebCore::Element::rareData):
85217        (WebCore::Element::ensureRareData): Renamed from createRareData
85218        (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
85219        (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
85220        (WebCore::Element::detach): ditto
85221        (WebCore::Element::recalcStyle): ditto
85222        (WebCore::Element::focus):
85223        (WebCore::Element::minimumSizeForResizing): ditto
85224        (WebCore::Element::setMinimumSizeForResizing): ditto
85225        (WebCore::Element::computedStyle):
85226        (WebCore::Element::cancelFocusAppearanceUpdate): ditto
85227        * dom/Element.h:
85228        * dom/ElementRareData.h: Added; everything copied from Element.cpp
85229        (WebCore::defaultMinimumSizeForResizing):
85230        (WebCore::ElementRareData::ElementRareData):
85231        (WebCore::ElementRareData::resetComputedStyle):
85232        * dom/EventTargetNode.cpp:
85233        (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
85234        * dom/EventTargetNode.h:
85235        * dom/Node.cpp:
85236        (WebCore::Node::Node):
85237        (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
85238        (WebCore::Node::rareData):
85239        (WebCore::Node::ensureRareData):
85240        (WebCore::Node::createRareData):
85241        (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
85242        (WebCore::Node::setTabIndexExplicitly):
85243        (WebCore::Node::childNodes): NodeLists are now in rareData
85244        (WebCore::Node::setFocus):
85245        (WebCore::Node::rareDataFocused):
85246        (WebCore::Node::isFocusable):
85247        (WebCore::Node::isKeyboardFocusable):
85248        (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
85249        (WebCore::Node::unregisterDynamicNodeList): ditto
85250        (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
85251        (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
85252        (WebCore::Node::getElementsByName): ditto
85253        (WebCore::Node::getElementsByClassName): ditto
85254        * dom/Node.h:
85255        (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
85256        (WebCore::Node::lastChild): ditto
85257        (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
85258        (WebCore::Node::focused): focus is in rareData if set
85259        (WebCore::Node::childTypeAllowed):
85260        (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
85261        (WebCore::Node::childNode): ditto
85262        (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
85263        * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
85264        (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
85265        (WebCore::NodeRareData::NodeRareData):
85266        (WebCore::NodeRareData::rareDataMap):
85267        (WebCore::NodeRareData::rareDataFromMap):
85268        (WebCore::NodeRareData::clearNodeLists):
85269        (WebCore::NodeRareData::setNodeLists):
85270        (WebCore::NodeRareData::nodeLists):
85271        (WebCore::NodeRareData::tabIndex):
85272        (WebCore::NodeRareData::setTabIndex):
85273        (WebCore::NodeRareData::tabIndexSetExplicitly):
85274        * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
85275        * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
85276
852772008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
85278
85279        Reviewed by Simon Hausmann.
85280
85281        [qt] ImageBuffer::toDataURL implementation
85282
85283        There needs to be a Qt specific test result for the above mentioned
85284        implementation.
85285
85286        * platform/graphics/qt/ImageBufferQt.cpp:
85287        (WebCore::ImageBuffer::toDataURL):
85288
852892008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
85290
85291        Reviewed by Simon Hausmann.
85292
85293        [qt] Implement SharedBuffer for Qt.
85294
85295        * WebCore.pro:
85296        * platform/qt/SharedBufferQt.cpp: Added.
85297        (WebCore::SharedBuffer::createWithContentsOfFile):
85298        * platform/qt/TemporaryLinkStubs.cpp:
85299
853002008-09-25  Feng Qian <feng@chromium.org>
85301
85302        Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
85303        <rdar://problem/6243032>
85304
85305        Reviewed by Dave Hyatt.
85306
85307        Test: fast/dom/attribute-downcast-right.html
85308
85309        Add isMappedAttribute function to Attribute for checking if an object
85310        is an instance of MappedAttribute. Removed attributeItem,
85311        getAttributeItem functions from NamedMappedAttrMap, and callers
85312        expecting MappedAttribute have to check isMappedAttribute before
85313        downcasting the return value to MappedAttribute.
85314
85315        * css/CSSStyleSelector.cpp:
85316        (WebCore::CSSStyleSelector::styleForElement):
85317        * dom/Attribute.h:
85318        (WebCore::Attribute::isMappedAttribute):
85319        * dom/MappedAttribute.h:
85320        (WebCore::MappedAttribute::isMappedAttribute):
85321        * dom/NamedMappedAttrMap.cpp:
85322        (WebCore::NamedMappedAttrMap::declCount):
85323        (WebCore::NamedMappedAttrMap::mapsEquivalent):
85324        * dom/NamedMappedAttrMap.h:
85325        * dom/StyledElement.cpp:
85326        (WebCore::StyledElement::attributeChanged):
85327        * html/HTMLInputElement.cpp:
85328        (WebCore::HTMLInputElement::setInputType):
85329        * svg/SVGForeignObjectElement.cpp:
85330        (WebCore::addCSSPropertyAndNotifyAttributeMap):
85331        * svg/SVGStyledElement.cpp:
85332        (WebCore::SVGStyledElement::getPresentationAttribute):
85333
853342008-09-25  David Hyatt  <hyatt@apple.com>
85335
85336        https://bugs.webkit.org/show_bug.cgi?id=21120
85337
85338        Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
85339        to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
85340        didn't want to mix that change in with this patch).
85341
85342        Reviewed by Sam Weinig
85343
85344        * page/Frame.cpp:
85345        (WebCore::Frame::markAllMatchesForText):
85346        * page/FrameView.cpp:
85347        (WebCore::FrameView::repaintContentRectangle):
85348        (WebCore::FrameView::windowClipRect):
85349        (WebCore::FrameView::updateControlTints):
85350        * platform/ScrollView.cpp:
85351        (WebCore::ScrollView::visibleContentRect):
85352        (WebCore::ScrollView::platformVisibleContentRect):
85353        * platform/ScrollView.h:
85354        (WebCore::ScrollView::visibleWidth):
85355        (WebCore::ScrollView::visibleHeight):
85356        * platform/gtk/ScrollViewGtk.cpp:
85357        (WebCore::ScrollView::horizontalScrollbar):
85358        (WebCore::ScrollView::verticalScrollbar):
85359        * platform/mac/ScrollViewMac.mm:
85360        (WebCore::ScrollView::horizontalScrollbar):
85361        (WebCore::ScrollView::verticalScrollbar):
85362        (WebCore::ScrollView::platformVisibleContentRect):
85363        * platform/qt/ScrollViewQt.cpp:
85364        (WebCore::ScrollView::horizontalScrollbar):
85365        (WebCore::ScrollView::verticalScrollbar):
85366        * platform/win/ScrollViewWin.cpp:
85367        (WebCore::ScrollView::horizontalScrollbar):
85368        (WebCore::ScrollView::verticalScrollbar):
85369        * platform/wx/ScrollViewWx.cpp:
85370        (WebCore::ScrollView::platformVisibleContentRect):
85371        (WebCore::ScrollView::horizontalScrollbar):
85372        (WebCore::ScrollView::verticalScrollbar):
85373        * rendering/RenderLayer.cpp:
85374        (WebCore::RenderLayer::scrollRectToVisible):
85375        (WebCore::frameVisibleRect):
85376        * rendering/RenderView.cpp:
85377        (WebCore::RenderView::viewRect):
85378
853792008-09-25  David Smith  <catfish.man@gmail.com>
85380
85381        Reviewed by Timothy Hatcher
85382
85383        https://bugs.webkit.org/show_bug.cgi?id=21052
85384        Generalize id selector special case for querySelectorAll
85385
85386        By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
85387        Changes results on http://native.khan.mozilla.org
85388        from
85389            #title: 2ms
85390            h1#title: 55ms
85391            div #title: 55ms
85392
85393        to:
85394            #title: 1ms
85395            h1#title: 2ms
85396            div #title: 5ms
85397
85398        * dom/Node.cpp:
85399        (WebCore::Node::querySelector):
85400        * dom/SelectorNodeList.cpp:
85401        (WebCore::createSelectorNodeList):
85402
854032008-09-25  David Hyatt  <hyatt@apple.com>
85404
85405        https://bugs.webkit.org/show_bug.cgi?id=21118
85406
85407        Make the concept of whether you can blit on scroll cross-platform on ScrollView.
85408
85409        Reviewed by Sam Weinig
85410
85411        * page/FrameView.cpp:
85412        (WebCore::FrameView::clear):
85413        (WebCore::FrameView::layout):
85414        (WebCore::FrameView::setUseSlowRepaints):
85415        (WebCore::FrameView::addSlowRepaintObject):
85416        (WebCore::FrameView::removeSlowRepaintObject):
85417        * platform/ScrollView.cpp:
85418        (WebCore::ScrollView::init):
85419        (WebCore::ScrollView::addChild):
85420        (WebCore::ScrollView::removeChild):
85421        (WebCore::ScrollView::setCanBlitOnScroll):
85422        * platform/ScrollView.h:
85423        (WebCore::ScrollView::canBlitOnScroll):
85424        * platform/gtk/ScrollViewGtk.cpp:
85425        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
85426        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
85427        (WebCore::ScrollView::ScrollView):
85428        * platform/mac/ScrollViewMac.mm:
85429        (WebCore::ScrollView::ScrollView):
85430        (WebCore::ScrollView::platformAddChild):
85431        (WebCore::ScrollView::platformRemoveChild):
85432        (WebCore::ScrollView::platformSetCanBlitOnScroll):
85433        * platform/qt/ScrollViewQt.cpp:
85434        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
85435        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
85436        (WebCore::ScrollView::ScrollView):
85437        * platform/win/ScrollViewWin.cpp:
85438        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
85439        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
85440        (WebCore::ScrollView::ScrollView):
85441        * platform/wx/ScrollViewWx.cpp:
85442        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
85443        (WebCore::ScrollView::ScrollView):
85444        (WebCore::ScrollView::scrollBy):
85445
854462008-09-25  Kevin McCullough  <kmccullough@apple.com>
85447
85448        Reviewed by Tim Hatcher.
85449
85450        Bug 21109: Console should right-align urls
85451
85452        * page/inspector/Console.js: Re-order the message elements so that when
85453        it overflows it doesn't get mixed in with the next message.
85454        * page/inspector/inspector.css:
85455
854562008-09-25  David Hyatt  <hyatt@apple.com>
85457
85458        https://bugs.webkit.org/show_bug.cgi?id=21113
85459
85460        Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
85461
85462        Reviewed by Darin Adler
85463
85464        * css/CSSImportRule.cpp:
85465        (WebCore::CSSImportRule::insertedIntoParent):
85466        * css/CSSRule.cpp:
85467        (WebCore::CSSRule::parentStyleSheet):
85468        (WebCore::CSSRule::parentRule):
85469        * css/CSSStyleSheet.cpp:
85470        (WebCore::CSSStyleSheet::CSSStyleSheet):
85471        * css/CSSStyleSheet.h:
85472
854732008-09-25  Darin Adler  <darin@apple.com>
85474
85475        Reviewed by Adele Peterson.
85476
85477        - fix https://bugs.webkit.org/show_bug.cgi?id=21115
85478          <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
85479          bundled documents
85480
85481        * html/HTMLFormElement.cpp:
85482        (WebCore::HTMLFormElement::formData): Use files() instead of value()
85483        to get the path, since value() now returns just the basename.
85484
854852008-09-25  Brady Eidson  <beidson@apple.com>
85486
85487        Rubberstamped by Mark Rowe
85488
85489        Roll out 36771 as it caused <rdar://problem/6246554>
85490        "nytimes.com doesn't display after returning to it with back/forward"
85491
85492        * css/CSSImportRule.cpp:
85493        (WebCore::CSSImportRule::insertedIntoParent):
85494        * css/CSSRule.cpp:
85495        (WebCore::CSSRule::parentStyleSheet):
85496        (WebCore::CSSRule::parentRule):
85497        * css/CSSStyleSheet.cpp:
85498        (WebCore::CSSStyleSheet::CSSStyleSheet):
85499        (WebCore::CSSStyleSheet::docLoader):
85500        * css/CSSStyleSheet.h:
85501        (WebCore::CSSStyleSheet::doc):
85502
855032008-09-25  Adam Roben  <aroben@apple.com>
85504
85505        Windows build fix
85506
85507        * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
85508
855092008-09-25  Dan Bernstein  <mitz@apple.com>
85510
85511        - Windows build fix
85512
85513        * platform/win/ScrollViewWin.cpp:
85514        (WebCore::ScrollView::addChildPlatformWidget):
85515        (WebCore::ScrollView::removeChildPlatformWidget):
85516
855172008-09-25  Timothy Hatcher  <timothy@apple.com>
85518
85519        Fixes a leak of ConsoleMessage seen when repeated console
85520        messages occur.
85521
85522        Reviewed by Mark Rowe.
85523
85524        * page/InspectorController.cpp:
85525        (WebCore::InspectorController::addConsoleMessage): Delete the repeat
85526        since we don't add it to m_consoleMessages.
85527
855282008-09-25  Kevin McCullough  <kmccullough@apple.com>
85529
85530        Reviewed by Dan Bernstein.
85531
85532        Bug 21105: XHRs logged in the console may show the wrong URL for the
85533        source
85534        - Get the url at the time of the send() and pass it on to the XHR.
85535
85536        * bindings/js/JSXMLHttpRequestCustom.cpp:
85537        (WebCore::JSXMLHttpRequest::send):
85538        * xml/XMLHttpRequest.cpp:
85539        (WebCore::XMLHttpRequest::didFinishLoading):
85540        * xml/XMLHttpRequest.h:
85541        (WebCore::XMLHttpRequest::setLastSendURL):
85542
855432008-09-25  Kevin McCullough  <kmccullough@apple.com>
85544
85545        Reviewed by Geoff and Tim.
85546
85547        Bug 20322: XHRs logged in the console do not have line numbers
85548        - Get the line number at the time of the send and pass it on to the XHR.
85549
85550        * bindings/js/JSXMLHttpRequestCustom.cpp:
85551        (WebCore::JSXMLHttpRequest::send):
85552        * xml/XMLHttpRequest.cpp:
85553        (WebCore::XMLHttpRequest::XMLHttpRequest):
85554        (WebCore::XMLHttpRequest::didFinishLoading):
85555        * xml/XMLHttpRequest.h:
85556        (WebCore::XMLHttpRequest::setLastSendLineNumber):
85557
855582008-09-25  Eric Carlson  <eric.carlson@apple.com>
85559
85560        Reviewed by Eric Seidel.
85561
85562        <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
85563        https://bugs.webkit.org/show_bug.cgi?id=21003
85564
85565        * dom/EventNames.h: remove "begin" event
85566        * html/HTMLMediaElement.cpp:
85567        (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
85568
855692008-09-25  Alexey Proskuryakov  <ap@webkit.org>
85570
85571        Reviewed by Eric Seidel.
85572
85573        https://bugs.webkit.org/show_bug.cgi?id=21097
85574        Calling a MessageChannel constructor from a destroyed document results in a crash
85575
85576        Test: fast/events/message-port-constructor-for-deleted-document.html
85577
85578        * bindings/js/JSMessageChannelConstructor.cpp:
85579        (WebCore::JSMessageChannelConstructor::construct):
85580        * bindings/js/JSMessageChannelConstructor.h:
85581        Made m_document a RefPtr.
85582
855832008-09-24  Alexey Proskuryakov  <ap@webkit.org>
85584
85585        Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
85586
85587        https://bugs.webkit.org/show_bug.cgi?id=20879
85588        Implement HTML5 channel messaging
85589
85590        Tests: fast/events/message-channel-gc.html
85591               fast/events/message-port-deleted-document.html
85592               fast/events/message-port-deleted-frame.html
85593               fast/events/message-port-inactive-document.html
85594               fast/events/message-port.html
85595               http/tests/security/MessagePort/event-listener-context.html
85596
85597        * Configurations/WebCore.xcconfig:
85598        Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
85599
85600        * DerivedSources.make:
85601        Added MessageChannel and MessagePort.
85602
85603        * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
85604        turmed off anyway. Added new files.
85605
85606        * GNUmakefile.am:
85607        * WebCore.pro:
85608        * WebCore.vcproj/WebCore.vcproj:
85609        * WebCore.xcodeproj/project.pbxproj:
85610        * WebCoreSources.bkl:
85611        Added new files.
85612
85613        * bindings/js/JSDOMWindowBase.h:
85614        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
85615        Added suport for window.MessageChannel constructor.
85616
85617        * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
85618        * page/DOMWindow.cpp:
85619        (WebCore::DOMWindow::postMessage):
85620        * page/DOMWindow.h:
85621        * page/DOMWindow.idl:
85622        Added support for three-argument postMessage (that posts a MessagePort).
85623
85624        * dom/EventTarget.cpp:
85625        (WebCore::EventTarget::toMessagePort):
85626        * dom/EventTarget.h:
85627        * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
85628        EventTarget variant.
85629
85630        * bindings/js/JSMessageChannelConstructor.h:
85631        * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
85632        take a browsing context (document) parameter.
85633
85634        * bindings/js/JSMessageChannelCustom.cpp: Added.
85635        (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
85636        port1 and port2 that it owns.
85637
85638        * bindings/js/JSMessagePortCustom.cpp: Added.
85639        (WebCore::JSMessagePort::startConversation):
85640        (WebCore::JSMessagePort::addEventListener):
85641        (WebCore::JSMessagePort::removeEventListener):
85642        (WebCore::JSMessagePort::dispatchEvent):
85643        (WebCore::JSMessagePort::setOnmessage):
85644        (WebCore::JSMessagePort::onmessage):
85645        (WebCore::JSMessagePort::setOnclose):
85646        (WebCore::JSMessagePort::onclose):
85647        (WebCore::JSMessagePort::mark):
85648        * dom/MessagePort.cpp: Added.
85649        * dom/MessagePort.h: Added.
85650        * dom/MessagePort.idl: Added.
85651        Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
85652        with Documents as contexts, but in the future, it will be used for communication with worker
85653        threads.
85654
85655        * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
85656        really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
85657        needed for MessageEvent.
85658
85659        * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
85660
85661        * dom/Document.cpp:
85662        (WebCore::MessagePortTimer::MessagePortTimer):
85663        (WebCore::MessagePortTimer::fired):
85664        (WebCore::Document::processMessagePortMessagesSoon):
85665        (WebCore::Document::~Document):
85666        (WebCore::Document::dispatchMessagePortEvents):
85667        (WebCore::Document::createdMessagePort):
85668        (WebCore::Document::destroyedMessagePort):
85669        * dom/Document.h:
85670        Document keeps track of all MessagePort objects that were created when it was fully active
85671        in its context.
85672
85673        * dom/EventNames.h: Added closeEvent.
85674
85675        * dom/MessageChannel.cpp: Added.
85676        (WebCore::MessageChannel::MessageChannel):
85677        (WebCore::MessageChannel::~MessageChannel):
85678        * dom/MessageChannel.h: Added.
85679        (WebCore::MessageChannel::create):
85680        (WebCore::MessageChannel::port1):
85681        (WebCore::MessageChannel::port2):
85682        * dom/MessageChannel.idl: Added.
85683        Addded JSMessageChannel implementation.
85684
85685        * dom/MessageEvent.cpp:
85686        (WebCore::MessageEvent::MessageEvent):
85687        (WebCore::MessageEvent::initMessageEvent):
85688        * dom/MessageEvent.h:
85689        (WebCore::MessageEvent::create):
85690        (WebCore::MessageEvent::messagePort):
85691        * dom/MessageEvent.idl:
85692        MessageEvent has a MessagePort member now, making it possible to pass ports across
85693        documents.
85694
856952008-09-25  David Smith  <catfish.man@gmail.com>
85696
85697        Reviewed by Eric Seidel
85698
85699        fix https://bugs.webkit.org/show_bug.cgi?id=21091
85700        Regression: querySelector matches tag names case sensitively
85701
85702        Tests: fast/dom/SelectorAPI/caseTag.html
85703               fast/dom/SelectorAPI/caseTagX.xhtml
85704
85705        * css/CSSParser.cpp:
85706        (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
85707        * css/CSSParser.h:
85708        * dom/Node.cpp:
85709        (WebCore::Node::querySelector):
85710        (WebCore::Node::querySelectorAll):
85711
857122008-09-24  David Hyatt  <hyatt@apple.com>
85713
85714        https://bugs.webkit.org/show_bug.cgi?id=21084
85715
85716        Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
85717        functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
85718
85719        Reviewed by Sam Weinig
85720
85721        * GNUmakefile.am:
85722        * WebCore.pro:
85723        * WebCore.vcproj/WebCore.vcproj:
85724        * WebCore.xcodeproj/project.pbxproj:
85725        * WebCoreSources.bkl:
85726        * platform/ScrollView.h:
85727        (WebCore::ScrollView::children):
85728        * platform/Widget.h:
85729        * platform/gtk/ScrollViewGtk.cpp:
85730        (WebCore::ScrollView::addChildPlatformWidget):
85731        (WebCore::ScrollView::removeChildPlatformWidget):
85732        (WebCore::ScrollView::geometryChanged):
85733        * platform/mac/ScrollViewMac.mm:
85734        (WebCore::ScrollView::addChildPlatformWidget):
85735        (WebCore::ScrollView::removeChildPlatformWidget):
85736        * platform/qt/ScrollViewQt.cpp:
85737        (WebCore::ScrollView::geometryChanged):
85738        (WebCore::ScrollView::addChildPlatformWidget):
85739        (WebCore::ScrollView::removeChildPlatformWidget):
85740        * platform/win/ScrollViewWin.cpp:
85741        (WebCore::ScrollView::geometryChanged):
85742        (WebCore::ScrollView::setParentVisible):
85743        (WebCore::ScrollView::show):
85744        (WebCore::ScrollView::hide):
85745        * platform/wx/ScrollViewWx.cpp:
85746        (WebCore::ScrollView::addChildPlatformWidget):
85747        (WebCore::ScrollView::removeChildPlatformWidget):
85748
857492008-09-25  Dan Bernstein  <mitz@apple.com>
85750
85751        Reviewed by Dave Hyatt.
85752
85753        - fix https://bugs.webkit.org/show_bug.cgi?id=21024
85754          <rdar://problem/6240821> Scrollbar not painted until hovered
85755
85756        * rendering/RenderWidget.cpp:
85757        (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
85758        this method, which sets both the location and the size.
85759        (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
85760        with a call to the new method setWidgetGeometry. Positioning the
85761        widget correctly ensures that the scroll bars invalidate correctly when
85762        they are created and resized.
85763        * rendering/RenderWidget.h:
85764
857652008-09-24  Dan Bernstein  <mitz@apple.com>
85766
85767        Rubber-stamped by Sam Weinig.
85768
85769        - create a "style" subfolder under "rendering" and move style files to that folder
85770
85771        * WebCore.vcproj/WebCore.vcproj:
85772
857732008-09-24  Sam Weinig  <sam@webkit.org>
85774
85775        Reviewed by Maciej Stachowiak.
85776
85777        Remove staticFunctionGetter.  There is only one remaining user of
85778        staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
85779
85780        * bindings/js/JSDOMWindowBase.cpp:
85781        (WebCore::JSDOMWindowBase::getOwnPropertySlot):
85782
857832008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
85784
85785        Reviewed by Dan Bernstein.
85786
85787        Test: editing/spelling/inline_spelling_markers.html
85788
85789        - https://bugs.webkit.org/show_bug.cgi?id=20092
85790        Spelling markers positioned incorrectly in RTL text
85791
85792        Measure spelling markers with selectionRectForText() to fix RTL.
85793
85794        This patch also fixes hit-testing for spelling marker tool tips,
85795        which used to work only on the first line.
85796
85797        * rendering/InlineTextBox.cpp:
85798        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
85799
858002008-09-24  David Hyatt  <hyatt@apple.com>
85801
85802        https://bugs.webkit.org/show_bug.cgi?id=21074
85803
85804        Make sure the viewless scrollbar knows how to paint properly when transformed.
85805
85806        Reviewed by Sam Weinig
85807
85808        * platform/mac/ScrollbarThemeMac.mm:
85809        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
85810        (WebCore::ScrollbarThemeMac::paint):
85811
858122008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
85813
85814        Not reviewed. Try to fix win build.
85815
85816        * bindings/js/JSSVGElementInstanceCustom.cpp:
85817        (WebCore::toJS):
85818        * dom/ContainerNodeAlgorithms.h:
85819        (WebCore::removeAllChildrenInContainer):
85820        (WebCore::appendChildToContainer):
85821        (WebCore::Private::addChildNodesToDeletionQueue):
85822
858232008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
85824
85825        Reviewed by Oliver.
85826
85827        Add ContainerNodeAlgorithms.h, as central place to share algorithms
85828        operating on TreeShared-derived classes with a Node-style interface.
85829
85830        This allows SVGElementInstance & ContainerNode to share code.
85831
85832        * dom/ContainerNode.cpp:
85833        (WebCore::ContainerNode::removeAllChildren):
85834        (WebCore::ContainerNode::addChild):
85835        * dom/ContainerNode.h:
85836        * dom/ContainerNodeAlgorithms.h: Added.
85837        (WebCore::removeAllChildrenInContainer):
85838        (WebCore::appendChildToContainer):
85839        (WebCore::Private::NodeRemovalDispatcher::dispatch):
85840        (WebCore::Private::addChildNodesToDeletionQueue):
85841
858422008-09-24  Simon Fraser  <simon.fraser@apple.com>
85843
85844        Reviewed by Dave Hyatt
85845
85846        Wrap up dirtying the z-order list of the stacking context
85847        RenderLayer into a method.
85848        https://bugs.webkit.org/show_bug.cgi?id=21072
85849
85850        * rendering/RenderLayer.cpp:
85851        (WebCore::RenderLayer::setHasVisibleContent):
85852        (WebCore::RenderLayer::addChild):
85853        (WebCore::RenderLayer::removeChild):
85854        (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
85855        (WebCore::RenderLayer::styleChanged):
85856        * rendering/RenderLayer.h:
85857        * rendering/RenderObject.cpp:
85858        (WebCore::RenderObject::setStyle):
85859
858602008-09-24  Kevin McCullough  <kmccullough@apple.com>
85861
85862        Reviewed by Tim.
85863
85864        Bug 21070: REGRESSION Repeated messages with arguments are not repeated
85865        or displayed multiple times
85866        - The Insepctor Controller was comparing JSValue pointers so thought the
85867        message was not a repeat, but the JS of the inspector compared the
85868        strings and so knew it was the same message and so overwrote the old
85869        message.
85870
85871        * page/InspectorController.cpp:
85872        (WebCore::ConsoleMessage::isEqual):
85873        (WebCore::InspectorController::addMessageToConsole):
85874        (WebCore::InspectorController::addConsoleMessage):
85875        (WebCore::InspectorController::startGroup):
85876        (WebCore::InspectorController::endGroup):
85877        * page/InspectorController.h:
85878
858792008-09-24  David Hyatt  <hyatt@apple.com>
85880
85881        Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
85882        arrow placement preference and the thumb jump preference).
85883
85884        Reviewed by Adam Roben
85885
85886        * platform/Scrollbar.cpp:
85887        (WebCore::Scrollbar::Scrollbar):
85888        (WebCore::Scrollbar::~Scrollbar):
85889        * platform/ScrollbarTheme.h:
85890        (WebCore::ScrollbarTheme::registerScrollbar):
85891        (WebCore::ScrollbarTheme::unregisterScrollbar):
85892        * platform/mac/ScrollbarThemeMac.h:
85893        * platform/mac/ScrollbarThemeMac.mm:
85894        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
85895        (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
85896        (+[ScrollbarPrefsObserver registerAsObserver]):
85897        (WebCore::ScrollbarThemeMac::registerScrollbar):
85898        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
85899        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
85900        (WebCore::ScrollbarThemeMac::preferencesChanged):
85901
859022008-09-24  Rob Buis  <buis@kde.org>
85903
85904        Reviewed by Darin.
85905
85906        https://bugs.webkit.org/show_bug.cgi?id=20557
85907        getScreenCTM() returns wrong values
85908
85909        Use the absolute position of the svg root when
85910        determining the screen ctm.
85911
85912        Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
85913
85914        * svg/SVGSVGElement.cpp:
85915        (WebCore::SVGSVGElement::getScreenCTM):
85916
859172008-09-24  David Hyatt  <hyatt@apple.com>
85918
85919        Turn off support for CSS variables.
85920
85921        * ChangeLog:
85922        * css/CSSParser.cpp:
85923        (WebCore::CSSParser::createVariablesRule):
85924        (WebCore::CSSParser::addVariable):
85925        (WebCore::CSSParser::addVariableDeclarationBlock):
85926
859272008-09-24  David Hyatt  <hyatt@apple.com>
85928
85929        Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
85930
85931        * css/CSSGrammar.y:
85932        * css/CSSParserValues.cpp:
85933        (WebCore::CSSParserValue::isVariable):
85934        * css/CSSPrimitiveValue.cpp:
85935        (WebCore::CSSPrimitiveValue::cleanup):
85936        (WebCore::CSSPrimitiveValue::getStringValue):
85937        (WebCore::CSSPrimitiveValue::cssText):
85938        (WebCore::CSSPrimitiveValue::parserValue):
85939        * css/CSSPrimitiveValue.h:
85940        (WebCore::CSSPrimitiveValue::):
85941        (WebCore::CSSPrimitiveValue::isVariable):
85942
859432008-09-24  Timothy Hatcher  <timothy@apple.com>
85944
85945        Fixes a regression where the "incorrect MIME-type" warning would not
85946        show up correctly in the Console or the resources sidebar.
85947
85948        Reviewed by Kevin McCullough.
85949
85950        * page/inspector/Resource.js:
85951        (WebInspector.Resource.prototype._addTip): Add the repeat count argument
85952        to the WebInspector.ConsoleMessage constructor call.
85953        (WebInspector.Resource.prototype._checkWarning): Ditto.
85954
859552008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
85956
85957        Reviewed by Simon.
85958
85959        Remove deprecated JS Qt bindings object call/construct code and fix autotests
85960
85961        * bridge/qt/qt_instance.cpp:
85962        (JSC::Bindings::QtInstance::QtInstance):
85963        * bridge/qt/qt_instance.h:
85964
859652008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
85966
85967        Reviewed by Alp Toker. Landed by Jan Alonzo.
85968
85969        Bug 20883: [CURL] Add deferred loading
85970        https://bugs.webkit.org/show_bug.cgi?id=20883
85971
85972        Implement deferred loading for the libcURL backend using curl_easy_pause.
85973        As the method was introduced in version 7.18.0, all the code checks for libcURL
85974        version.
85975
85976        * platform/network/curl/ResourceHandleCurl.cpp:
85977        (WebCore::ResourceHandle::setDefersLoading):
85978        * platform/network/curl/ResourceHandleManager.cpp:
85979        (WebCore::writeCallback): Add an assertion that deferred loading is not
85980        activated.
85981        (WebCore::headerCallback): Ditto.
85982        (WebCore::readCallback): Ditto.
85983        (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
85984        defersLoading to be false in order to avoid triggering an assertion.
85985        (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
85986        activated, pause the easy handle.
85987
859882008-09-23  Matt Lilek  <webkit@mattlilek.com>
85989
85990        Reviewed by Tim Hatcher.
85991
85992        Inspector search field style tweaks.
85993
85994        * page/inspector/inspector.css:
85995
859962008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
85997
85998        Reviewed by Eric.
85999
86000        Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
86001
86002        Fix missing negation in EventTargetNode::insertedIntoDocument.
86003        Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
86004        Remove code, that wasn't supposed to go in in dispatchGenericEvent().
86005
86006        * dom/EventTargetNode.cpp:
86007        (WebCore::EventTargetNode::insertedIntoDocument):
86008        (WebCore::EventTargetNode::dispatchGenericEvent):
86009        * dom/EventTargetNode.h:
86010
860112008-09-23  Timothy Hatcher  <timothy@apple.com>
86012
86013        Adds search support to the Profiles panel.
86014
86015        The Profiles panel supports a few types of queries:
86016         * Standard string matching for function names and file URLs.
86017         * Greater than and less than search for numeric columns.
86018           So a query of ">24" will match all rows that have calls
86019           greater than 24. Or "<=42" will match all 42 or less.
86020         * Percent and time units. Adding a unit of "s", "ms" or "%"
86021           is supported and will match only the Self and Total columns.
86022           So a query of ">1.25s" will match all rows that took longer
86023           than 1.25 seconds.
86024
86025        Reviewed by Oliver Hunt.
86026
86027        * page/inspector/ProfileView.js:
86028        (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
86029        it will start at the first result.
86030        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
86031        (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
86032        data grid nodes.
86033        (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
86034        (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
86035        (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
86036        (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
86037        (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
86038        (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
86039        (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
86040        (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
86041        Expand all the ancestors first so the profile node will have a DataGridNode.
86042        (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
86043        (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
86044        have search matches.
86045        * page/inspector/ProfilesPanel.js:
86046        (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
86047        (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
86048        (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
86049        (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
86050        (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
86051        (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
86052        (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
86053        (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
86054        (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
86055        * page/inspector/inspector.css: New style rules for the cell highlight color.
86056
860572008-09-23  Timothy Hatcher  <timothy@apple.com>
86058
86059        Adds search support to the Resources and Scripts panels.
86060
86061        https://bugs.webkit.org/show_bug.cgi?id=21005
86062
86063        Reviewed by Oliver Hunt.
86064
86065        * page/inspector/Images/searchSmallBlue.png: Added.
86066        * page/inspector/Images/searchSmallBrightBlue.png: Added.
86067        * page/inspector/Images/searchSmallGray.png: Added.
86068        * page/inspector/Images/searchSmallWhite.png: Added.
86069        * page/inspector/ResourceView.js:
86070        (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
86071        or "script-resource-views" since one might not be created yet.
86072        * page/inspector/ResourcesPanel.js:
86073        (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
86074        are not this panel's current visible view. This can happen when a ResourceView is
86075        visible in the Scripts panel then switched to the this panel.
86076        (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
86077        visibleView first.
86078        (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
86079        that uses the current graph search function. So cycling through results will be in the order
86080        things appear in the sidebar.
86081        (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
86082        resource's sidebar tree element.
86083        (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
86084        in the sidebar. Calls the Panel prototype's searchCanceled.
86085        (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
86086        in the sidebar. Calls the Panel prototype's performSearch.
86087        (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
86088        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
86089        if there is a current search query.
86090        (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
86091        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
86092        (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
86093        (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
86094        (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
86095        (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
86096        * page/inspector/ScriptView.js:
86097        (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
86098        (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
86099        it will start at the first result.
86100        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
86101        highlighting complete".
86102        (WebInspector.ScriptView.prototype): Share many methods with SourceView.
86103        * page/inspector/ScriptsPanel.js:
86104        (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
86105        This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
86106        (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
86107        (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
86108        (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
86109        (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
86110        * page/inspector/SourceFrame.js:
86111        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
86112        * page/inspector/SourceView.js:
86113        (WebInspector.SourceView.prototype.hide):
86114        (WebInspector.SourceView.prototype.detach):
86115        (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
86116        (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
86117        (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
86118        (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
86119        store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
86120        (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
86121        (WebInspector.SourceView.prototype.jumpToLastSearchResult):
86122        (WebInspector.SourceView.prototype.jumpToNextSearchResult):
86123        (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
86124        (WebInspector.SourceView.prototype.showingFirstSearchResult):
86125        (WebInspector.SourceView.prototype.showingLastSearchResult):
86126        (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
86127        (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
86128        (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
86129        * page/inspector/inspector.css:
86130
861312008-09-23  Timothy Hatcher  <timothy@apple.com>
86132
86133        Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
86134        so future code can be shared.
86135
86136        https://bugs.webkit.org/show_bug.cgi?id=21005
86137
86138        Reviewed by Oliver Hunt.
86139
86140        * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
86141        And visibleResourceView to visibleView.
86142        * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
86143
861442008-09-23  Timothy Hatcher  <timothy@apple.com>
86145
86146        Highlight all matched search results in the Elements panel DOM tree.
86147
86148        https://bugs.webkit.org/show_bug.cgi?id=21005
86149
86150        Reviewed by Oliver Hunt.
86151
86152        * page/inspector/ElementsPanel.js:
86153        (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
86154        on all previous search results.
86155        (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
86156        on all new search results.
86157        * page/inspector/ElementsTreeOutline.js:
86158        (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
86159        (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
86160        the highlighted class on the listItemElement.
86161        (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
86162        if needed. Calls _updateTitle.
86163        (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
86164        class so it can be styled when the highlighted class is present.
86165        * page/inspector/inspector.css: New style rules for the hihglight.
86166
861672008-09-23  Timothy Hatcher  <timothy@apple.com>
86168
86169        Add search support to the Elements panel.
86170
86171        https://bugs.webkit.org/show_bug.cgi?id=21005
86172
86173        Reviewed by Oliver Hunt.
86174
86175        * page/inspector/ElementsPanel.js:
86176        (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
86177        with a 0 match count to rest. Reset the other search properties.
86178        (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
86179        query and a CSS selector on all the Documents in the page. Remembers the found nodes
86180        and avoids duplicates. Focuses the first result.
86181        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
86182        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
86183
861842008-09-23  Timothy Hatcher  <timothy@apple.com>
86185
86186        Add support to Panel that allows easy searching of sub-views.
86187
86188        https://bugs.webkit.org/show_bug.cgi?id=21005
86189
86190        Reviewed by Oliver Hunt.
86191
86192        * page/inspector/Panel.js:
86193        (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
86194        views in the search results and delete the currentQuery property. Call
86195        WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
86196        other search properties.
86197        (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
86198        reset everything we need before doing a new search. Get an array of searchableViews
86199        from the panel, implemented by sub-classes. Iterate over the views one-by-one
86200        with an interval to prevent blocking the UI for large lists of searchableViews.
86201        This keeps the interface really responsive. Pass a finishedCallback function to
86202        the performSearch on each view so it can notify the panel of results.
86203        (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
86204        searchResults of the visibleView, so we know where in the results we are.
86205        This is done every time incase the user manually navigates to a new view.
86206        If the view is showing the last result, jump to the next view and show it's
86207        first result. Otherwise jump to the next result in the current view.
86208        (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
86209
862102008-09-23  Timothy Hatcher  <timothy@apple.com>
86211
86212        Add support for asking the current panel to perform a search, find next/previous and clear.
86213        A search is performed on the new new current panel when switching between panels. The search
86214        label/placeholder in the toolbar now includes the panel name to make it clear that panel will
86215        be searched. The search field contents are selected when Command/Control-F or Enter/Return
86216        is pressed, so the user can easily type an entirely new query. The search match count shows
86217        up in the toolbar next to the search field.
86218
86219        Also changed:
86220         * Rename lastQuery to currentQuery since it better matches the truth.
86221         * Set the search field "results" attribute to zero since results arn't saved for
86222           how we use the search field.
86223         * Make repeated presses of the Return key jump to the next search result instead
86224           of doing nothing.
86225         * Increased the search field width.
86226
86227        https://bugs.webkit.org/show_bug.cgi?id=21005
86228
86229        Reviewed by Oliver Hunt.
86230
86231        * English.lproj/localizedStrings.js: New strings.
86232        * page/inspector/inspector.css: New styles.
86233        * page/inspector/inspector.html: Add the search-results-matches element. Add the
86234        incremental attribute to the search field and set the results attribute to zero.
86235        * page/inspector/inspector.js:
86236        (WebInspector.set currentPanel): perform the search on the new panel.
86237        (WebInspector.loaded): Change the event listeners and remove code that changes
86238        the search label text.
86239        (WebInspector.documentKeyDown): Add support for Command/Control-G and
86240        Command/Control-Shift-G. To jump to the next and previous search results.
86241        (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
86242        This does different things depending on the attached state.
86243        (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
86244        This prevents a "search" event from firing for key down. We handle the Enter key
86245        on key up in searchKeyUp. This stops performSearch from being called twice in a row.
86246        (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
86247        (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
86248        on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
86249        Call updateSearchMatchesCount to reset the matches count in the toolbar.
86250        (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
86251
862522008-09-23  Timothy Hatcher  <timothy@apple.com>
86253
86254        Remove the previous Inspector search code to make room for the new stuff.
86255
86256        https://bugs.webkit.org/show_bug.cgi?id=21005
86257
86258        Reviewed by Oliver Hunt.
86259
86260        * page/inspector/inspector.css:
86261        * page/inspector/inspector.html:
86262        * page/inspector/inspector.js:
86263        (WebInspector.get/set showingSearchResults): Removed.
86264        (WebInspector.searchResultsKeyDown): Removed.
86265        (WebInspector.searchResultsResizerDragStart): Removed.
86266        (WebInspector.searchResultsResizerDragEnd): Removed.
86267        (WebInspector.searchResultsResizerDrag): Removed.
86268        (WebInspector.performSearch): Removed searching parts.
86269
862702008-09-23  Timothy Hatcher  <timothy@apple.com>
86271
86272        Use the Array.remove helper function in more places.
86273
86274        https://bugs.webkit.org/show_bug.cgi?id=21037
86275
86276        Reviewed by Kevin McCullough.
86277
86278        * page/inspector/ResourceCategory.js:
86279        (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
86280        * page/inspector/ResourcesPanel.js:
86281        (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
86282        * page/inspector/inspector.js:
86283        (WebInspector.removeResource): Ditto.
86284
862852008-09-23  Timothy Hatcher  <timothy@apple.com>
86286
86287        Fixes a bug where inspecting a node after reloading the page
86288        would not reveal the node in the DOM tree. The TreeOutline
86289        was not being told to forget decendants of a removed child.
86290        So old TreeElements would be found that are not in the tree.
86291
86292        https://bugs.webkit.org/show_bug.cgi?id=21036
86293
86294        Reviewed by Kevin McCullough.
86295
86296        * page/inspector/treeoutline.js:
86297        (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
86298        in addition to _forgetTreeElement.
86299        (TreeOutline._removeChildren): Call _forgetChildrenRecursive
86300        in addition to _forgetTreeElement.
86301        (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
86302        search for known elements.
86303        (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
86304        (TreeOutline._forgetChildrenRecursive): Recursively traverse the
86305        descendants and call _forgetTreeElement.
86306        * page/inspector/utilities.js:
86307        (Array.prototype.remove): Speed up this function by using Array.indexOf
86308        when onlyFirst is true.
86309
863102008-09-23  Timothy Hatcher  <timothy@apple.com>
86311
86312        Fixes a bug where inspecting some short text nodes does
86313        not reveal them in the Elements panel DOM tree.
86314
86315        https://bugs.webkit.org/show_bug.cgi?id=21035
86316
86317        Reviewed by Oliver Hunt.
86318
86319        * page/inspector/ElementsTreeOutline.js:
86320        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
86321        The revealAndSelectNode() method might find a different element
86322        if there is inlined text, and the select() call would change the
86323        focusedDOMNode and reenter this setter. So to avoid calling
86324        focusedNodeChanged() twice, first check if _focusedDOMNode is
86325        the same node as the one passed in.
86326        (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
86327        this.treeOutline, since this is the TreeOutline.
86328        (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
86329        Provides default functions for isAncestor, getParet and equal.
86330        Calls the base protoype's findTreeElement. If that returns null
86331        and the node is a text node, try finding it's parent.
86332        (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
86333        Renamed to revealAndSelectNode.
86334        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
86335        Selects and reveals the node passed in. Use the simple findTreeElement.
86336        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
86337        Remove use of this.treeOutline, since this is the TreeOutline.
86338
863392008-09-23  Timothy Hatcher  <timothy@apple.com>
86340
86341        Fixes an exception that happened when removing a Resource
86342        from the ResourcesPanel.
86343
86344        https://bugs.webkit.org/show_bug.cgi?id=21034
86345
86346        Reviewed by Kevin McCullough.
86347
86348        * page/inspector/ResourcesPanel.js:
86349        (WebInspctor.ResourcesPanel.prototype.removeResource):
86350        Remove the graphElement.
86351
863522008-09-23  Kevin McCullough  <kmccullough@apple.com>
86353
86354        Fixed "Time" to "Tim"
86355
86356        * ChangeLog:
86357
863582008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
86359
86360        Reviewed by Oliver.
86361
86362        Move mapInstanceToElement/removeInstanceMapping/instancesForElement
86363        from SVGDocumentExtensions to SVGElement. It's more useful to store
86364        the list of SVGElementInstances per SVGElement, instead of using
86365        a document-wide hash for this purpose.
86366
86367        * svg/SVGAnimateMotionElement.cpp:
86368        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
86369        * svg/SVGAnimateTransformElement.cpp:
86370        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
86371        * svg/SVGAnimationElement.cpp:
86372        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
86373        * svg/SVGDocumentExtensions.cpp:
86374        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
86375        * svg/SVGDocumentExtensions.h:
86376        * svg/SVGElement.cpp:
86377        (WebCore::SVGElement::mapInstanceToElement):
86378        (WebCore::SVGElement::removeInstanceMapping):
86379        (WebCore::SVGElement::instancesForElement):
86380        * svg/SVGElement.h:
86381        * svg/SVGElementInstance.cpp:
86382        (WebCore::SVGElementInstance::SVGElementInstance):
86383        (WebCore::SVGElementInstance::~SVGElementInstance):
86384        (WebCore::SVGElementInstance::updateAllInstancesOfElement):
86385        * svg/SVGElementInstance.h:
86386        * svg/SVGStyledElement.cpp:
86387        (WebCore::SVGStyledElement::svgAttributeChanged):
86388        (WebCore::SVGStyledElement::childrenChanged):
86389        * svg/SVGStyledElement.h:
86390
863912008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
86392
86393        wx build fix.
86394
86395        * WebCoreSources.bkl:
86396
863972008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
86398
86399        Rubber stamped by Sam.
86400
86401        Move code from EventTarget to EventTargetNode.
86402
86403        I refactored most parts to live in EventTarget, a year ago,
86404        though the implementation of EventTargetSVGElementInstance is
86405        done in another way, that obsoletes this.
86406
86407        * dom/Document.cpp:
86408        (WebCore::Document::addListenerTypeIfNeeded):
86409        * dom/Document.h:
86410        * dom/EventTarget.cpp:
86411        * dom/EventTarget.h:
86412        (WebCore::allowEventDispatch):
86413        * dom/EventTargetNode.cpp:
86414        (WebCore::EventTargetNode::insertedIntoDocument):
86415        (WebCore::EventTargetNode::removedFromDocument):
86416        (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
86417        (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
86418        (WebCore::EventTargetNode::addEventListener):
86419        (WebCore::EventTargetNode::removeEventListener):
86420        (WebCore::EventTargetNode::removeAllEventListeners):
86421        (WebCore::EventTargetNode::handleLocalEvents):
86422        (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
86423        (WebCore::EventTargetNode::dispatchEvent):
86424        (WebCore::EventTargetNode::dispatchGenericEvent):
86425        (WebCore::EventTargetNode::dispatchWindowEvent):
86426        (WebCore::EventTargetNode::removeEventListenerForType):
86427        * dom/EventTargetNode.h:
86428        * svg/EventTargetSVGElementInstance.cpp:
86429        (WebCore::EventTargetSVGElementInstance::dispatchEvent):
86430        * svg/SVGElement.cpp:
86431        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
86432        * svg/SVGElement.h:
86433        (WebCore::SVGElement::supplementalTransform):
86434
864352008-09-23  Dave Hyatt  <hyatt@apple.com>
86436
86437        Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
86438        sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
86439
86440        Reviewed by Sam Weinig
86441
86442        * platform/mac/ScrollbarThemeMac.mm:
86443        (WebCore::ScrollbarThemeMac::trackRect):
86444        * platform/win/ScrollbarThemeSafari.cpp:
86445        (WebCore::ScrollbarTheme::nativeTheme):
86446        (WebCore::ScrollbarThemeSafari::trackRect):
86447
864482008-09-23  Beth Dakin  <bdakin@apple.com>
86449
86450        Reviewed by Sam Weinig.
86451
86452        Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
86453        link at gmail does not support AXPress action
86454        and corresponding: <rdar://problem/6216178>
86455
86456        I fixed this bug by making AccessibilityObject::anchorElement
86457        support ARIA links.
86458
86459        * page/AccessibilityImageMapLink.cpp:
86460        (WebCore::AccessibilityImageMapLink::anchorElement):
86461        * page/AccessibilityImageMapLink.h:
86462        * page/AccessibilityObject.cpp:
86463        (WebCore::AccessibilityObject::anchorElement):
86464        * page/AccessibilityObject.h:
86465        (WebCore::AccessibilityObject::isNativeAnchor):
86466        * page/AccessibilityRenderObject.cpp:
86467        (WebCore::AccessibilityRenderObject::isNativeAnchor):
86468        (WebCore::AccessibilityRenderObject::anchorElement):
86469        (WebCore::AccessibilityRenderObject::internalLinkElement):
86470        (WebCore::AccessibilityRenderObject::url):
86471        * page/AccessibilityRenderObject.h:
86472        * page/mac/AccessibilityObjectWrapper.mm:
86473        (AXLinkElementForNode):
86474
864752008-09-23  Kevin McCullough  <kmccullough@apple.com>
86476
86477        Reviewed by Tim and Oliver.
86478
86479        Bug 20949: Catch repeated messages in Inspector Controller to limit
86480        memory usage
86481        - Store the repeat count in the Console Message object, in the
86482        Inspector Controller and JS ConsoleMessage object.
86483
86484        * page/InspectorController.cpp:
86485        (WebCore::ConsoleMessage::ConsoleMessage):
86486        (WebCore::ConsoleMessage::operator==):
86487        (WebCore::InspectorController::InspectorController):
86488        (WebCore::InspectorController::addConsoleMessage):
86489        (WebCore::InspectorController::addScriptConsoleMessage):
86490        * page/InspectorController.h:
86491        * page/inspector/Console.js:
86492        * page/inspector/Resource.js:
86493        * page/inspector/ResourcesPanel.js:
86494        * page/inspector/SourceFrame.js:
86495
864962008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
86497
86498        Reviewed by Eric.
86499
86500        Working on proper EventTarget support for SVGElementInstance.
86501
86502        Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
86503        Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
86504
86505        Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
86506        implementation. Let it use TreeShared directly.
86507
86508        It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
86509        The transition to EventTargetSVGElementInstance will be done in a few individual patches.
86510
86511        * GNUmakefile.am:
86512        * WebCore.pro:
86513        * WebCore.vcproj/WebCore.vcproj:
86514        * WebCore.xcodeproj/project.pbxproj:
86515        * bindings/js/JSEventTargetBase.cpp:
86516        (WebCore::retrieveEventTargetAndCorrespondingNode):
86517        (WebCore::toJS):
86518        * bindings/js/JSEventTargetBase.h:
86519        * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
86520        (WebCore::):
86521        (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
86522        (WebCore::JSEventTargetSVGElementInstance::createPrototype):
86523        (WebCore::JSEventTargetSVGElementInstance::setListener):
86524        (WebCore::JSEventTargetSVGElementInstance::getListener):
86525        (WebCore::toEventTargetSVGElementInstance):
86526        * bindings/js/JSEventTargetSVGElementInstance.h: Added.
86527        (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
86528        (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
86529        (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
86530        (WebCore::JSEventTargetSVGElementInstance::put):
86531        (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
86532        * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
86533        (WebCore::toJS):
86534        * bindings/objc/DOM.mm:
86535        (+[DOMNode _wrapEventTarget:WebCore::]):
86536        (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
86537        (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
86538        (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
86539        (-[DOMSVGElementInstance WebCore::]):
86540        (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
86541        (-[DOMSVGElementInstance addEventListener:::]):
86542        (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
86543        (-[DOMSVGElementInstance removeEventListener:::]):
86544        (-[DOMSVGElementInstance dispatchEvent:]):
86545        * bindings/objc/DOMEvents.h:
86546        * bindings/scripts/CodeGeneratorJS.pm:
86547        * bindings/scripts/CodeGeneratorObjC.pm:
86548        * svg/EventTargetSVGElementInstance.cpp: Added.
86549        (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
86550        (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
86551        (WebCore::EventTargetSVGElementInstance::addEventListener):
86552        (WebCore::EventTargetSVGElementInstance::removeEventListener):
86553        (WebCore::EventTargetSVGElementInstance::dispatchEvent):
86554        * svg/EventTargetSVGElementInstance.h: Added.
86555        (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
86556        (WebCore::EventTargetSVGElementInstance::toNode):
86557        (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
86558        (WebCore::EventTargetSVGElementInstance::refEventTarget):
86559        (WebCore::EventTargetSVGElementInstance::derefEventTarget):
86560        (WebCore::EventTargetSVGElementInstanceCast):
86561        * svg/SVGElement.cpp:
86562        (WebCore::SVGElement::dispatchEvent):
86563        * svg/SVGElementInstance.cpp:
86564        (WebCore::SVGElementInstance::SVGElementInstance):
86565        (WebCore::SVGElementInstance::~SVGElementInstance):
86566        * svg/SVGElementInstance.h:
86567        (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
86568        * svg/SVGElementInstance.idl:
86569
865702008-09-23  Dan Bernstein  <mitz@apple.com>
86571
86572        Reviewed by Dave Hyatt.
86573
86574        - https://bugs.webkit.org/show_bug.cgi?id=21040
86575          Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
86576
86577        * platform/graphics/mac/SimpleFontDataMac.mm:
86578        (WebCore::SimpleFontData::getCTFont):
86579
865802008-09-23  David Hyatt  <hyatt@apple.com>
86581
86582        https://bugs.webkit.org/show_bug.cgi?id=21039
86583
86584        Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
86585
86586        Reviewed by Sam Weinig
86587
86588        * platform/ScrollView.h:
86589        * platform/Scrollbar.cpp:
86590        (WebCore::Scrollbar::setFrameGeometry):
86591        * platform/Scrollbar.h:
86592        * platform/Widget.cpp:
86593        (WebCore::Widget::convertFromContainingWindow):
86594        * platform/Widget.h:
86595        * platform/mac/ScrollViewMac.mm:
86596        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
86597        (WebCore::ScrollView::ScrollView):
86598        (WebCore::ScrollView::~ScrollView):
86599        (WebCore::ScrollView::windowResizerRect):
86600        (WebCore::ScrollView::resizerOverlapsContent):
86601        (WebCore::ScrollView::adjustOverlappingScrollbarCount):
86602        (WebCore::ScrollView::setParent):
86603        * platform/mac/WidgetMac.mm:
86604        (WebCore::Widget::convertFromContainingWindow):
86605
866062008-09-23  Dirk Schulze  <vbs85@gmx.de>
86607
86608        Reviewed by Darin Adler. Landed by Jan Alonzo.
86609
86610        Added support for getImageData() and putImageData()
86611        to Cairo.
86612
86613        [CAIRO] needs getImageData and putImageData support
86614        https://bugs.webkit.org/show_bug.cgi?id=20838
86615
86616        * platform/graphics/cairo/ImageBufferCairo.cpp:
86617        (WebCore::ImageBuffer::ImageBuffer):
86618        (WebCore::ImageBuffer::getImageData):
86619        (WebCore::ImageBuffer::putImageData):
86620
866212008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
86622
86623        Reviewed by Holger Freyther.
86624
86625        http://bugs.webkit.org/show_bug.cgi?id=18987
86626        [GTK] Implement SharedBuffer::createWithContentsOfFile and
86627        KURL::fileSystemPath
86628
86629        * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
86630        * platform/gtk/KURLGtk.cpp: Added.
86631        (WebCore::KURL::fileSystemPath): Implemented.
86632        * platform/gtk/SharedBufferGtk.cpp: Added.
86633        (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
86634        * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
86635
866362008-09-23  Alexey Proskuryakov  <ap@webkit.org>
86637
86638        Reviewed by Oliver Hunt, okayed by Darin Adler.
86639
86640        <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
86641
86642        * rendering/InlineTextBox.cpp:
86643        (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
86644
866452008-09-23  Alexey Proskuryakov  <ap@webkit.org>
86646
86647        Reviewed by Darin Adler.
86648
86649        https://bugs.webkit.org/show_bug.cgi?id=21023
86650        Don't use TEC for encodings supported by ICU
86651
86652        * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
86653        x-mac-greek, and x-mac-turkish.
86654
86655        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
86656        Register aliases for these encodings that are not registered automatically; updated comments.
86657
866582008-09-23  Maciej Stachowiak  <mjs@apple.com>
86659
86660        Reviewed by Darin.
86661
86662        - speed up instanceof some more
86663        https://bugs.webkit.org/show_bug.cgi?id=20818
86664
86665        ~2% speedup on EarleyBoyer
86666
86667        (WebCore updates.)
86668
86669        * bindings/js/JSQuarantinedObjectWrapper.h:
86670        (WebCore::JSQuarantinedObjectWrapper::createStructureID):
86671
866722008-09-22  Darin Adler  <darin@apple.com>
86673
86674        Reviewed by Oliver Hunt.
86675
86676        - fix https://bugs.webkit.org/show_bug.cgi?id=21008
86677          getting pixels by index from CanvasPixelArray is unnecessarily slow
86678
86679        * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
86680        * WebCore.vcproj/WebCore.vcproj: Ditto.
86681        * WebCore.xcodeproj/project.pbxproj: Ditto.
86682
86683        * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
86684          indexSetter. These are now both inlined, so in the header.
86685        * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
86686          function is what's used for HasCustomIndexGetter. Also moved the
86687          indexSetter function here.
86688
86689        * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
86690          to use a getByIndex member function rather than an indexGetter static
86691          member function in a property slot. This lets us avoid the property
86692          slot mechanism's rule where it turns numeric property names into
86693          strings in the identifier table, which is good because that's slow.
86694          Also added a new property CustomHeader that allows IDL files to
86695          introduce headers to be included -- useful when we have functions
86696          that we want to inline into the binding.
86697
86698        * html/CanvasPixelArray.idl: Added CustomHeader attribute.
86699
867002008-09-23  Eric Seidel  <eric@webkit.org>
86701
86702        No review, build fix only.
86703
86704        Another blind stab in the dark.
86705
86706        * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
86707
867082008-09-23  Eric Seidel  <eric@webkit.org>
86709
86710        No review, build fix only.
86711
86712        Third time's the charm, eh?  My local build is sadly still not done...
86713
86714        * platform/graphics/AffineTransform.cpp: remove extra &
86715        * platform/graphics/AffineTransform.h: remove extra &
86716
867172008-09-22  Eric Seidel  <eric@webkit.org>
86718
86719        No review, build fix only.
86720
86721        * platform/graphics/AffineTransform.cpp: remove extra ;
86722
867232008-09-22  Eric Seidel  <eric@webkit.org>
86724
86725        No review, build fix only.
86726
86727        Speculative fix for the build while I wait for my compile to finish.
86728
86729        * platform/graphics/AffineTransform.cpp:
86730
867312008-09-22  Dirk Schulze  <vbs85@gmx.de>
86732
86733        Reviewed by eseidel.  Landed by eseidel.
86734
86735        Moved makeMapBetweenRects from SVG/CG to AffineTransform
86736        Make SVGResourceClipper::applyClip more cross-platform
86737
86738        * platform/graphics/AffineTransform.cpp:
86739        * platform/graphics/AffineTransform.h:
86740        * svg/graphics/cg/CgSupport.cpp:
86741        * svg/graphics/cg/CgSupport.h:
86742        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
86743        (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
86744        * svg/graphics/cg/SVGResourceClipperCg.cpp:
86745        (WebCore::SVGResourceClipper::applyClip):
86746
867472008-09-22  Alp Toker  <alp@nuanti.com>
86748
86749        Reviewed by David Hyatt.
86750
86751        https://bugs.webkit.org/show_bug.cgi?id=16331
86752        [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
86753
86754        Obey GTK+ focusing conventions for controls and anchor elements.
86755
86756        It could be interesting to push these decisions up to Settings or
86757        ChromeClient some day but this gets things working.
86758
86759        Right and middle click events still need some work to match GTK+
86760        conventions.
86761
86762        * html/HTMLAnchorElement.cpp:
86763        (WebCore::HTMLAnchorElement::isMouseFocusable):
86764        * html/HTMLFormControlElement.cpp:
86765        (WebCore::HTMLFormControlElement::isMouseFocusable):
86766        * page/EventHandler.cpp:
86767        (WebCore::EventHandler::sendContextMenuEvent):
86768
867692008-09-22  Darin Adler  <darin@apple.com>
86770
86771        * page/mac/FrameMac.mm:
86772        (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
86773
867742008-09-22  Sam Weinig  <sam@webkit.org>
86775
86776        Reviewed by Dan Bernstein.
86777
86778        Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
86779        Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
86780        and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
86781        class!
86782
86783        - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
86784          non-selectable input types, but return undefined when accessed.
86785
86786        * DerivedSources.make:
86787        * GNUmakefile.am:
86788        * WebCore.pro:
86789        * WebCore.vcproj/WebCore.vcproj:
86790        * WebCore.xcodeproj/project.pbxproj:
86791        * WebCoreSources.bkl:
86792        * bindings/js/JSHTMLInputElementBase.cpp: Removed.
86793        * bindings/js/JSHTMLInputElementBase.h: Removed.
86794        * bindings/js/JSHTMLInputElementCustom.cpp: Added.
86795        (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
86796        (WebCore::JSHTMLInputElement::selectionStart):
86797        (WebCore::JSHTMLInputElement::selectionEnd):
86798        * bindings/js/JSHTMLInputElementCustom.h: Added.
86799        * html/HTMLInputElement.idl:
86800
868012008-09-22  Dan Bernstein  <mitz@apple.com>
86802
86803        Reviewed by Sam Weinig.
86804
86805        - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
86806
86807        Not testable in DumpRenderTree or in Safari
86808
86809        * page/mac/FrameMac.mm:
86810        (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
86811        case that the selection start node is a block.
86812
868132008-09-22  David Hyatt  <hyatt@apple.com>
86814
86815        https://bugs.webkit.org/show_bug.cgi?id=21007
86816
86817        Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
86818
86819        Reviewed by Sam Weinig
86820
86821        * page/EventHandler.cpp:
86822        (WebCore::EventHandler::handleMouseDoubleClickEvent):
86823
868242008-09-22  Eric Seidel  <eric@webkit.org>
86825
86826        No review, rollback only.
86827
86828        Roll out Peter's change (per his request)
86829        http://trac.webkit.org/changeset/36069
86830        https://bugs.webkit.org/show_bug.cgi?id=19663
86831        This change has been the source of numerous regressions
86832        (several of which were latent bugs revealed by this change,
86833        others were bugs in this change)
86834
86835        * platform/graphics/BitmapImage.cpp:
86836        (WebCore::BitmapImage::BitmapImage):
86837        (WebCore::BitmapImage::startAnimation):
86838        (WebCore::BitmapImage::advanceAnimation):
86839        * platform/graphics/BitmapImage.h:
86840        * platform/graphics/cairo/ImageCairo.cpp:
86841        (WebCore::BitmapImage::draw):
86842        * platform/graphics/cg/ImageCG.cpp:
86843        (WebCore::BitmapImage::draw):
86844        * platform/graphics/qt/ImageQt.cpp:
86845        (WebCore::BitmapImage::draw):
86846        * platform/graphics/wx/ImageWx.cpp:
86847        (WebCore::BitmapImage::draw):
86848
868492008-09-22  Dan Bernstein  <mitz@apple.com>
86850
86851        Reviewed by Sam Weinig.
86852
86853        - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
86854
86855        Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
86856               platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
86857
86858        * config.h: Use Core Text if not building for Leopard or Tiger.
86859
868602008-09-22  David Hyatt  <hyatt@apple.com>
86861
86862        https://bugs.webkit.org/show_bug.cgi?id=21006
86863
86864        Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
86865        switched on.  There are still a few more refinements to make to the rendering and behavior.
86866
86867        Reviewed by Darin Adler
86868
86869        * platform/ScrollbarThemeComposite.cpp:
86870        (WebCore::ScrollbarThemeComposite::paint):
86871        * platform/ScrollbarThemeComposite.h:
86872        (WebCore::ScrollbarThemeComposite::paintTrack):
86873        (WebCore::ScrollbarThemeComposite::paintButton):
86874        (WebCore::ScrollbarThemeComposite::paintThumb):
86875        * platform/mac/ScrollbarThemeMac.h:
86876        * platform/mac/ScrollbarThemeMac.mm:
86877        (WebCore::ScrollbarThemeMac::backButtonRect):
86878        (WebCore::ScrollbarThemeMac::forwardButtonRect):
86879        (WebCore::scrollbarPartToHIPressedState):
86880        (WebCore::ScrollbarThemeMac::paint):
86881        * platform/mac/WidgetMac.mm:
86882        (WebCore::Widget::invalidateRect):
86883
868842008-09-22  Chris Marrin  <cmarrin@apple.com>
86885
86886        Reviewed by Sam Weinig
86887
86888        transition end event when -webkit-transition-property: all puts wrong
86889        propertyName in event
86890        https://bugs.webkit.org/show_bug.cgi?id=20903
86891
86892        * page/animation/ImplicitAnimation.cpp:
86893        (WebCore::ImplicitAnimation::sendTransitionEvent):
86894
868952008-09-22  Chris Fleizach  <cfleizach@apple.com>
86896
86897        Reviewed by Darin Adler.
86898
86899        <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
86900
86901        Test: accessibility/table-one-cell.html
86902
86903        * page/AccessibilityTable.cpp:
86904        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
86905
869062008-09-22  Chris Fleizach  <cfleizach@apple.com>
86907
86908        Reviewed by Darin Adler.
86909
86910        <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
86911
86912        Test: accessibility/textarea-selected-text-range.html
86913
86914        * page/AccessibilityRenderObject.cpp:
86915        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
86916
869172008-09-22  David Hyatt  <hyatt@apple.com>
86918
86919        Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
86920        properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
86921        parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
86922        rule.
86923
86924        Reviewed by Sam Weinig
86925
86926        Added fast/css/nested-rule-parent-sheet.html
86927
86928         * css/CSSImportRule.cpp:
86929        (WebCore::CSSImportRule::insertedIntoParent):
86930        * css/CSSRule.cpp:
86931        (WebCore::CSSRule::parentStyleSheet):
86932        (WebCore::CSSRule::parentRule):
86933        * css/CSSStyleSheet.cpp:
86934        (WebCore::CSSStyleSheet::CSSStyleSheet):
86935        * css/CSSStyleSheet.h:
86936
869372008-09-22  Dan Bernstein  <mitz@apple.com>
86938
86939        Reviewed by Sam Weinig.
86940
86941        - fix https://bugs.webkit.org/show_bug.cgi?id=21002
86942          Make the ATSUI code path respect spacingDisabled()
86943
86944        Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
86945
86946        * platform/graphics/mac/FontMacATSUI.mm:
86947        (WebCore::overrideLayoutOperation):
86948
869492008-09-22  Maciej Stachowiak  <mjs@apple.com>
86950
86951        Reviewed by Cameron Zwarich.
86952
86953        - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
86954
86955        Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
86956
86957        2.2% speedup on EarleyBoyer benchmark.
86958
86959        * bindings/js/JSQuarantinedObjectWrapper.cpp:
86960        * bindings/js/JSQuarantinedObjectWrapper.h:
86961        (WebCore::JSQuarantinedObjectWrapper::createStructureID):
86962        * bindings/scripts/CodeGeneratorJS.pm:
86963
869642008-09-22  Adam Roben  <aroben@apple.com>
86965
86966        Windows build fix
86967
86968        * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
86969
869702008-09-22  Maciej Stachowiak  <mjs@apple.com>
86971
86972        Reviewed by Dave Hyatt.
86973
86974        Based on initial work by Darin Adler.
86975
86976        - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
86977        - use this to JIT inline code for eq_null and neq_null
86978        https://bugs.webkit.org/show_bug.cgi?id=20823
86979
86980        * WebCore.xcodeproj/project.pbxproj:
86981        * WebCore.vcproj/WebCore.vcproj:
86982        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
86983        (WebCore::JSCSSStyleDeclaration::nameGetter):
86984        * bindings/js/JSHTMLAllCollection.cpp: Added.
86985        (WebCore::):
86986        * bindings/js/JSHTMLAllCollection.h:
86987        (WebCore::JSHTMLAllCollection::createStructureID):
86988        (WebCore::JSHTMLAllCollection::toBoolean):
86989
869902008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
86991
86992        Reviewed by Simon.
86993
86994        Fix the QtWebKit build
86995
86996        * bridge/qt/qt_instance.cpp:
86997        (JSC::Bindings::QtRuntimeObjectImp::construct):
86998        * bridge/qt/qt_runtime.cpp:
86999
870002008-09-22  Alp Toker  <alp@nuanti.com>
87001
87002        Suggested by David Hyatt.
87003
87004        Build fix: ScrollView::update() is still used by Document.cpp on !MAC
87005        so make it public.
87006
87007        * platform/ScrollView.h:
87008
870092008-09-22  David Hyatt  <hyatt@apple.com>
87010
87011        Fix a regression in Windows scrollbar painting.  (Also fix the same
87012        bug in my new viewless Mac scrollbar painting code).  The track rect
87013        was being improperly inflated when painting resulting in the scrollbar
87014        being too tall and painting in the border of overflow sections.
87015
87016        Reviewed by Oliver Hunt
87017
87018        * platform/mac/ScrollbarThemeMac.mm:
87019        (WebCore::ScrollbarThemeMac::trackRect):
87020        * platform/win/ScrollbarThemeSafari.cpp:
87021        (WebCore::ScrollbarThemeSafari::trackRect):
87022
870232008-09-22  David Hyatt  <hyatt@apple.com>
87024
87025        Fix a hit testing bug where events are mistakenly passed to subframes
87026        if the mouse is over the border or padding area of the frame.  Add
87027        a boolean flag, isOverWidget(), to hit test results so that EventHandler
87028        can check it to tell if the mouse is really over the content box of a
87029        RenderWidget and not just in the border/padding area.
87030
87031        This is not testable, since the old code properly recovered when it detected
87032        that the mouse was outside the bounds of the view, but this prevents
87033        the extra passdown from even occurring (and is basically a nice cleanup).
87034
87035        Reviewed by Oliver Hunt
87036
87037        * page/EventHandler.cpp:
87038        (WebCore::EventHandler::handleMousePressEvent):
87039        (WebCore::EventHandler::hitTestResultAtPoint):
87040        (WebCore::subframeForHitTestResult):
87041        (WebCore::EventHandler::handleMouseDoubleClickEvent):
87042        (WebCore::EventHandler::handleMouseMoveEvent):
87043        (WebCore::EventHandler::handleMouseReleaseEvent):
87044        (WebCore::EventHandler::handleWheelEvent):
87045        * page/MouseEventWithHitTestResults.h:
87046        (WebCore::MouseEventWithHitTestResults::isOverWidget):
87047        * rendering/HitTestResult.cpp:
87048        (WebCore::HitTestResult::HitTestResult):
87049        (WebCore::HitTestResult::operator=):
87050        * rendering/HitTestResult.h:
87051        (WebCore::HitTestResult::isOverWidget):
87052        (WebCore::HitTestResult::setIsOverWidget):
87053        * rendering/RenderWidget.cpp:
87054        (WebCore::RenderWidget::nodeAtPoint):
87055        * rendering/RenderWidget.h:
87056
870572008-09-21  David Hyatt  <hyatt@apple.com>
87058
87059        Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
87060        both it and ScrollView's updateContents method be off-limits to everyone in
87061        WebCore except for RenderView.
87062
87063        Make repaintViewRectangle the only possible method for WebCore code to do
87064        an invalidation.  This ensures that all invalidates triggered by WebCore
87065        cross-platform code that cross ownerElement() boundaries are transform-aware.
87066
87067        Make sure that iframes/frames contained inside objects that have transforms
87068        or reflections are not allowed to blit (this was already true for transparency).
87069
87070        It is not possible to make a test for any of this, since iframe scrolling
87071        still doesn't work on Mac (since the invalidates are not being done
87072        through WebCore's cross-platform invalidation code but are instead going
87073        through NSScrollView's setNeedsDisplay still).
87074
87075        Reviewed by Oliver Hunt
87076
87077        * editing/SelectionController.cpp:
87078        (WebCore::SelectionController::recomputeCaretRect):
87079        (WebCore::SelectionController::invalidateCaretRect):
87080        (WebCore::SelectionController::focusedOrActiveStateChanged):
87081        * page/FrameView.cpp:
87082        (WebCore::FrameView::repaintContentRectangle):
87083        (WebCore::FrameView::endDeferredRepaints):
87084        * page/FrameView.h:
87085        * platform/ScrollView.h:
87086        * rendering/RenderBox.cpp:
87087        (WebCore::RenderBox::paintFillLayerExtended):
87088        * rendering/RenderLayer.cpp:
87089        (WebCore::RenderLayer::enclosingPositionedAncestor):
87090        (WebCore::RenderLayer::requiresSlowRepaints):
87091        * rendering/RenderLayer.h:
87092        (WebCore::RenderLayer::hasTransform):
87093        * rendering/RenderView.cpp:
87094        (WebCore::RenderView::paintBoxDecorations):
87095        (WebCore::RenderView::repaintViewRectangle):
87096        (WebCore::RenderView::setSelection):
87097
870982008-09-21  Maciej Stachowiak  <mjs@apple.com>
87099
87100        Reviewed by Darin.
87101
87102        - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
87103        https://bugs.webkit.org/show_bug.cgi?id=20981
87104
87105        * bindings/js/JSAudioConstructor.cpp:
87106        (WebCore::JSAudioConstructor::JSAudioConstructor):
87107        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
87108        (WebCore::JSCSSStyleDeclaration::nameGetter):
87109        * bindings/js/JSDOMBinding.cpp:
87110        (WebCore::createDOMStructure):
87111        * bindings/js/JSDOMBinding.h:
87112        (WebCore::getDOMStructure):
87113        * bindings/js/JSDOMWindowShell.cpp:
87114        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
87115        (WebCore::JSDOMWindowShell::setWindow):
87116        * bindings/js/JSEventTargetNode.cpp:
87117        (WebCore::JSEventTargetNode::createPrototype):
87118        * bindings/js/JSHTMLOptionElementConstructor.cpp:
87119        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
87120        * bindings/js/JSImageConstructor.cpp:
87121        (WebCore::JSImageConstructor::JSImageConstructor):
87122        * bindings/js/JSXMLHttpRequestConstructor.cpp:
87123        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
87124        * bindings/js/JSXSLTProcessorConstructor.cpp:
87125        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
87126        * bindings/scripts/CodeGeneratorJS.pm:
87127
871282008-09-21  Darin Adler  <darin@apple.com>
87129
87130        Reviewed by Maciej Stachowiak.
87131
87132        - fix problem Maciej noticed where every JSNamedNodesCollection
87133          gets its own StructureID
87134
87135        * bindings/js/JSNamedNodesCollection.cpp:
87136        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
87137        getDOMStructure to get the structure.
87138        * bindings/js/JSNamedNodesCollection.h:
87139        (WebCore::JSNamedNodesCollection::createPrototype): Return the
87140        object prototype.
87141
871422008-09-20  David Hyatt  <hyatt@apple.com>
87143
87144        Make sure transformed scrollbars in overflow sections position
87145        properly.  This patch mimics the same behavior that works for
87146        iframes, namely making sure that the same code that dynamically
87147        adjusts iframe widget positions at paint time for fixed positioning
87148        and transforms also applies to scrollbars.  (This is as simple as passing
87149        in the current translation factor at paint time rather than crawling
87150        up the layer tree to compute a "false" absolute position.)
87151
87152        An existing transform test covers this (although only a pixel result
87153        reveals the correct rendering).
87154
87155        Reviewed by Darin Adler
87156
87157        * rendering/RenderLayer.cpp:
87158        (WebCore::RenderLayer::updateLayerPositions):
87159        (WebCore::RenderLayer::positionOverflowControls):
87160        (WebCore::RenderLayer::paintOverflowControls):
87161        (WebCore::RenderLayer::paintLayer):
87162        * rendering/RenderLayer.h:
87163
871642008-09-21  Steve Falkenburg  <sfalken@apple.com>
87165
87166        Removed unnecessary nested timer check.
87167
87168        Rubber-stamped by Dan Bernstein.
87169
87170        * platform/win/SharedTimerWin.cpp:
87171        (WebCore::TimerWindowWndProc):
87172
871732008-09-21  Steve Falkenburg  <sfalken@apple.com>
87174
87175        Improve timer resolution on WinXP.
87176        https://bugs.webkit.org/show_bug.cgi?id=20979
87177
87178        Removed last-chance timer. It should not be necessary.
87179        Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
87180        Remove Vista checks. We now run the same code on both XP and Vista.
87181
87182        Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
87183        The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
87184
87185        Reviewed by Maciej Stachowiak.
87186
87187        * platform/win/SharedTimerWin.cpp:
87188        (WebCore::):
87189        (WebCore::TimerWindowWndProc):
87190        (WebCore::setSharedTimerFireTime):
87191        * platform/win/SystemTimeWin.cpp:
87192        (WebCore::currentTime):
87193
871942008-09-21  Dirk Schulze  <vbs85@gmx.de>
87195
87196        Reviewed by eseidel.  Landed by eseidel.
87197
87198        All platforms use the DashArray in the GraphicsContext.
87199
87200        * svg/graphics/SVGPaintServer.h:
87201        * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
87202        (WebCore::SVGPaintServerGradient::setup):
87203        * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
87204        (WebCore::SVGPaintServerPattern::setup):
87205        * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
87206        (WebCore::SVGPaintServerSolid::setup):
87207        * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
87208        (WebCore::SVGPaintServerGradient::setup):
87209        * svg/graphics/qt/SVGPaintServerQt.cpp:
87210        * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
87211        (WebCore::SVGPaintServerSolid::setup):
87212
872132008-09-21  Dirk Schulze  <vbs85@gmx.de>
87214
87215        Reviewed by eseidel.  Landed by eseidel.
87216
87217        Moved DashArray to GraphicsContext.
87218
87219        * GNUmakefile.am:
87220        * WebCore.vcproj/WebCore.vcproj:
87221        * WebCore.xcodeproj/project.pbxproj:
87222        * platform/graphics/DashArray.h: Added.
87223        * platform/graphics/GraphicsContext.h:
87224        * platform/graphics/cairo/GraphicsContextCairo.cpp:
87225        (WebCore::GraphicsContext::setLineDash):
87226        * platform/graphics/cg/GraphicsContextCG.cpp:
87227        (WebCore::GraphicsContext::setLineDash):
87228        * platform/graphics/qt/GraphicsContextQt.cpp:
87229        (WebCore::GraphicsContext::setLineDash):
87230        * svg/graphics/SVGPaintServer.cpp:
87231        (WebCore::applyStrokeStyleToContext):
87232        * svg/graphics/SVGPaintServer.h:
87233        * svg/graphics/cg/CgSupport.cpp:
87234        * svg/graphics/cg/CgSupport.h:
87235
872362008-09-21  Dan Bernstein  <mitz@apple.com>
87237
87238        Reviewed by Mark Rowe.
87239
87240        - fix linker warnings
87241
87242        * WebCore.base.exp:
87243
872442008-09-20  Darin Adler  <darin@apple.com>
87245
87246        - another try at fixing Qt
87247
87248        * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
87249
872502008-09-20  Darin Adler  <darin@apple.com>
87251
87252        - blind attempt to fix Qt build
87253
87254        * bridge/qt/qt_runtime.cpp:
87255        (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
87256        of regExpPrototype to make a RegExpObject. There should really be
87257        some sort of public helper function for this. Same thing for
87258        DateInstance and dateStructure. For JSObject, use constructEmptyObject.
87259        (JSC::Bindings::):
87260        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
87261        It is not correct to do this inside the constructor because it could
87262        cause a garbage collect while the QtRuntimeMethod object is half-
87263        allocated, which could lead to a crash; note that RuntimeMethod,
87264        QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
87265        * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
87266
872672008-09-20  Collin Jackson  <collinj@webkit.org>
87268
87269        Prefetch DNS for hyperlinks that the user mouses over.
87270
87271        https://bugs.webkit.org/show_bug.cgi?id=20931
87272
87273        Reviewed by Sam Weinig.
87274
87275        * page/Chrome.cpp:
87276        (WebCore::Chrome::mouseDidMoveOverElement):
87277
872782008-09-20  Darin Adler  <darin@apple.com>
87279
87280        Reviewed by Maciej Stachowiak.
87281
87282        - finish https://bugs.webkit.org/show_bug.cgi?id=20858
87283          make each distinct C++ class get a distinct JSC::Structure
87284
87285        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
87286        (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
87287        ID. Note that this makes a new structure every time -- we could
87288        optimize this slightly be caching and reusing a single one.
87289
87290        * bridge/runtime_method.cpp:
87291        (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
87292        getDOMStructure.
87293        * bridge/runtime_method.h:
87294        (JSC::RuntimeMethod::createPrototype): Added createPrototype so
87295        getDOMStructure will work.
87296
87297        * bindings/js/JSDOMWindowShell.cpp:
87298        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
87299        0; needed in case garbage collection happens while creating the
87300        JSDOMWindow.
87301
873022008-09-20  Dan Bernstein  <mitz@apple.com>
87303
87304        Reviewed by Eric Seidel.
87305
87306        - fix https://bugs.webkit.org/show_bug.cgi?id=20950
87307          <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
87308
87309        * svg/SVGTextContentElement.cpp:
87310        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
87311        not include the first character in the extraCharsAvailable count.
87312
873132008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
87314
87315        Reviewed by Dan Bernstein.
87316
87317        Fix memory leak.
87318
87319        https://bugs.webkit.org/show_bug.cgi?id=20505
87320
87321        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
87322        (GetTextExtent):
87323
873242008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
87325
87326        wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
87327
87328        * WebCoreSources.bkl:
87329        * platform/ScrollView.h:
87330        * platform/wx/PopupMenuWx.cpp:
87331        (WebCore::PopupMenu::show):
87332        * platform/wx/RenderThemeWx.cpp:
87333        (WebCore::RenderThemeWx::paintButton):
87334        (WebCore::RenderThemeWx::paintTextField):
87335        (WebCore::RenderThemeWx::paintMenuList):
87336        (WebCore::RenderThemeWx::paintMenuListButton):
87337        * platform/wx/ScrollViewWx.cpp:
87338        (WebCore::ScrollView::setPlatformWidget):
87339        (WebCore::ScrollView::updateContents):
87340        (WebCore::ScrollView::update):
87341        (WebCore::ScrollView::visibleWidth):
87342        (WebCore::ScrollView::visibleHeight):
87343        (WebCore::ScrollView::scrollBy):
87344        (WebCore::ScrollView::resizeContents):
87345        (WebCore::ScrollView::contentsWidth):
87346        (WebCore::ScrollView::contentsHeight):
87347        (WebCore::ScrollView::isScrollViewScrollbar):
87348        (WebCore::ScrollView::adjustScrollbars):
87349        (WebCore::ScrollView::inWindow):
87350        (WebCore::ScrollView::removeChild):
87351        * platform/wx/WidgetWx.cpp:
87352        * plugins/wx/PluginViewWx.cpp:
87353        (WebCore::PluginView::setParentVisible):
87354        (WebCore::PluginView::updatePluginWidget):
87355
873562008-09-20  Timothy Hatcher  <timothy@apple.com>
87357
87358        Fix the new Node Search button image to not be blurry.
87359
87360        * page/inspector/Images/nodeSearchButtons.png:
87361
873622008-09-20  Matt Lilek  <webkit@mattlilek.com>
87363
87364        Reviewed by Tim Hatcher.
87365
87366        Cut down some of the inspector javascript -> InspectorController glue code
87367        with two new macros. Also rearrange the exposed function list to be grouped
87368        by implementation and to all explicitly use the WebCore namespace.
87369
87370        * page/InspectorController.cpp:
87371        (WebCore::InspectorController::windowScriptObjectAvailable):
87372
873732008-09-20  Matt Lilek  <webkit@mattlilek.com>
87374
87375        Reviewed by Tim Hatcher.
87376
87377        Fix regression from my previous patch where the breadcrumbs bar was not displayed.
87378
87379        * page/inspector/inspector.css:
87380
873812008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
87382
87383        Reviewed by Eric.
87384
87385        Refactor HTMLImageLoader/SVGImageLoader code.
87386        Move html/HTMLImageLoader.* to loader/ImageLoader.*
87387
87388        Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
87389        SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
87390
87391        * GNUmakefile.am:
87392        * WebCore.pro:
87393        * WebCore.vcproj/WebCore.vcproj:
87394        * WebCore.xcodeproj/project.pbxproj:
87395        * WebCoreSources.bkl:
87396        * dom/Document.cpp:
87397        (WebCore::Document::dispatchImageLoadEventSoon):
87398        (WebCore::Document::removeImage):
87399        (WebCore::Document::dispatchImageLoadEventsNow):
87400        * dom/Document.h:
87401        * html/HTMLImageLoader.cpp:
87402        (WebCore::HTMLImageLoader::HTMLImageLoader):
87403        (WebCore::HTMLImageLoader::~HTMLImageLoader):
87404        (WebCore::HTMLImageLoader::sourceURI):
87405        (WebCore::HTMLImageLoader::notifyFinished):
87406        * html/HTMLImageLoader.h:
87407        * loader/DocLoader.h:
87408        * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
87409        (WebCore::ImageLoader::ImageLoader):
87410        (WebCore::ImageLoader::~ImageLoader):
87411        (WebCore::ImageLoader::setImage):
87412        (WebCore::ImageLoader::setLoadingImage):
87413        (WebCore::ImageLoader::updateFromElement):
87414        (WebCore::ImageLoader::notifyFinished):
87415        * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
87416        * svg/SVGImageElement.cpp:
87417        (WebCore::SVGImageElement::attach):
87418        (WebCore::SVGImageElement::insertedIntoDocument):
87419        (WebCore::SVGImageElement::imageSourceAttributeName):
87420        * svg/SVGImageElement.h:
87421        * svg/SVGImageLoader.cpp:
87422        (WebCore::SVGImageLoader::SVGImageLoader):
87423        (WebCore::SVGImageLoader::dispatchLoadEvent):
87424        (WebCore::SVGImageLoader::sourceURI):
87425        * svg/SVGImageLoader.h:
87426
874272008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
87428
87429        Build fix.
87430
87431        [qtwebkit] ScrollBar build fix after r36684.
87432        BackButtonPart was split into Start and End Part
87433        ForwardButtonPart was split into Start and End Part
87434
87435        * platform/qt/ScrollbarThemeQt.cpp:
87436        (WebCore::scPart):
87437        (WebCore::scrollbarPart):
87438        (WebCore::styleOptionSlider):
87439
874402008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
87441
87442        Build fix.
87443
87444        [qtwebkit] Make qt_instance.cpp compile.
87445        Revision of 36675 introduced getDOMStructure to give unique
87446        structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
87447        the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
87448
87449        * bridge/qt/qt_instance.cpp:
87450        (JSC::Bindings::QtInstance::getRuntimeObject):
87451
874522008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
87453
87454        Reviewed by Nikolas Zimmermann.
87455
87456        [svg] Change SVGLocatable to deal with a plain SVGElement
87457        There is no requirement in the code that we have to have a
87458        SVGStyledElement. Remove that artificial limitation and compile
87459        with SVGElement.
87460
87461        * svg/SVGLocatable.cpp:
87462        * svg/SVGLocatable.h:
87463
874642008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
87465
87466        Reviewed by Nikolas Zimmermann.
87467
87468        [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
87469        management.
87470
87471        * dom/Document.cpp:
87472        (WebCore::Document::~Document):
87473        (WebCore::Document::svgExtensions):
87474        (WebCore::Document::accessSVGExtensions):
87475        * dom/Document.h:
87476
874772008-09-19  David Hyatt  <hyatt@apple.com>
87478
87479        Fix for crash in updateTransitions.  Make sure to test for a style
87480        being null when comparing two RenderStyles.
87481
87482        Reviewed by Oliver Hunt
87483
87484        * page/animation/AnimationBase.cpp:
87485        (WebCore::PropertyWrapperGetter::equals):
87486
874872008-09-19  David Hyatt  <hyatt@apple.com>
87488
87489        https://bugs.webkit.org/show_bug.cgi?id=20954
87490
87491        Roll out r36628 since it has caused horrible regressions with
87492        animated GIF CPU usage.
87493
87494        * platform/graphics/BitmapImage.cpp:
87495        (WebCore::BitmapImage::cacheFrame):
87496        (WebCore::BitmapImage::startAnimation):
87497        * platform/graphics/BitmapImage.h:
87498        (WebCore::FrameData::FrameData):
87499        * platform/graphics/cairo/ImageCairo.cpp:
87500        (WebCore::FrameData::clear):
87501        * platform/graphics/cg/ImageCG.cpp:
87502        (WebCore::FrameData::clear):
87503        * platform/graphics/qt/ImageQt.cpp:
87504        (WebCore::FrameData::clear):
87505        * platform/graphics/wx/ImageWx.cpp:
87506        (WebCore::FrameData::clear):
87507
875082008-09-20  Alp Toker  <alp@nuanti.com>
87509
87510        Reviewed by Timothy Hatcher.
87511
87512        https://bugs.webkit.org/show_bug.cgi?id=20913
87513        Avoid redudant includes
87514
87515        Document.h is included excessively such that a modification to Document.h (or
87516        any of the header it includes itself) triggers a rebuild of many files
87517        including the whole of SVG and a lot of the JS bindings.
87518
87519        Some of these includes can be avoided by only including Document.h where
87520        necessary.
87521
87522        * bindings/js/JSAttrCustom.cpp:
87523        * bindings/js/JSElementCustom.cpp:
87524        * bindings/js/JSEventTargetBase.cpp:
87525        * bindings/js/JSEventTargetBase.h:
87526        * bindings/js/JSEventTargetNode.cpp:
87527        * bindings/js/JSHTMLFrameElementCustom.cpp:
87528        * bindings/js/JSHTMLIFrameElementCustom.cpp:
87529        * bindings/scripts/CodeGeneratorJS.pm:
87530        * css/CSSCursorImageValue.cpp:
87531        * css/SVGCSSStyleSelector.cpp:
87532        * dom/make_names.pl:
87533        * svg/SVGAnimateElement.h:
87534        * svg/SVGAnimatedProperty.h:
87535        (WebCore::::baseValue):
87536        (WebCore::::setBaseValue):
87537        (WebCore::::startAnimation):
87538        (WebCore::::stopAnimation):
87539        * svg/SVGElement.cpp:
87540        (WebCore::SVGElement::accessDocumentSVGExtensions):
87541        * svg/SVGElement.h:
87542        * svg/SVGElementInstance.cpp:
87543        * svg/SVGFitToViewBox.cpp:
87544        * svg/SVGFontElement.cpp:
87545        * svg/SVGFontFaceElement.cpp:
87546        * svg/SVGLinearGradientElement.cpp:
87547        * svg/SVGMPathElement.cpp:
87548        * svg/SVGViewSpec.cpp:
87549
875502008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
87551
87552        Reviewed by Antti & Eric.
87553
87554        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
87555
87556        Finish HTMLScriptElement / SVGScriptElement unification.
87557        SVG <script> support is complete now, full SVGLoad event
87558        respecting the influence of the externalResourcesRequired attribute
87559        as well as SVGError event support. All other features shared with HTML.
87560
87561        Tests: fast/dom/HTMLScriptElement/script-reexecution.html
87562               svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
87563               svg/dom/SVGScriptElement/script-load-and-error-events.svg
87564               svg/dom/SVGScriptElement/script-reexecution.svg
87565               svg/dom/SVGScriptElement/script-set-href.svg
87566
87567        * dom/ScriptElement.cpp:
87568        (WebCore::ScriptElementData::ScriptElementData):
87569        (WebCore::ScriptElementData::requestScript):
87570        * dom/ScriptElement.h:
87571        (WebCore::ScriptElementData::haveFiredLoadEvent):
87572        (WebCore::ScriptElementData::setHaveFiredLoadEvent):
87573        * dom/XMLTokenizer.cpp:
87574        (WebCore::XMLTokenizer::notifyFinished):
87575        * html/HTMLScriptElement.cpp:
87576        (WebCore::HTMLScriptElement::dispatchLoadEvent):
87577        * svg/SVGScriptElement.cpp:
87578        (WebCore::SVGScriptElement::setCreatedByParser):
87579        (WebCore::SVGScriptElement::parseMappedAttribute):
87580        (WebCore::SVGScriptElement::svgAttributeChanged):
87581        (WebCore::SVGScriptElement::insertedIntoDocument):
87582        (WebCore::SVGScriptElement::removedFromDocument):
87583        (WebCore::SVGScriptElement::childrenChanged):
87584        (WebCore::SVGScriptElement::isURLAttribute):
87585        (WebCore::SVGScriptElement::finishParsingChildren):
87586        (WebCore::SVGScriptElement::type):
87587        (WebCore::SVGScriptElement::setType):
87588        (WebCore::SVGScriptElement::haveLoadedRequiredResources):
87589        (WebCore::SVGScriptElement::dispatchLoadEvent):
87590        (WebCore::SVGScriptElement::dispatchErrorEvent):
87591        * svg/SVGScriptElement.h:
87592
875932008-09-19  Dan Bernstein  <mitz@apple.com>
87594
87595        Reviewed by John Sullivan.
87596
87597        - fix https://bugs.webkit.org/show_bug.cgi?id=20951
87598          Typo in Position::getInlineBoxAndOffset()
87599          and add an assertion
87600
87601        Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
87602
87603        * dom/Position.cpp:
87604        (WebCore::Position::getInlineBoxAndOffset):
87605        * rendering/InlineTextBox.cpp:
87606        (WebCore::InlineTextBox::positionForOffset):
87607
876082008-09-19  David Hyatt  <hyatt@apple.com>
87609
87610        Add support for hit testing of all five possible scrollbar button placements.
87611
87612        Reviewed by Sam Weinig
87613
87614        * platform/ScrollbarThemeComposite.cpp:
87615        (WebCore::ScrollbarThemeComposite::paint):
87616        * platform/mac/ScrollbarThemeMac.mm:
87617        (WebCore::):
87618        (WebCore::ScrollbarThemeMac::backButtonRect):
87619        (WebCore::ScrollbarThemeMac::forwardButtonRect):
87620        (WebCore::ScrollbarThemeMac::trackRect):
87621        (WebCore::ScrollbarThemeMac::paintButton):
87622
876232008-09-19  Darin Adler  <darin@apple.com>
87624
87625        - try to fix Qt build
87626
87627        * bridge/qt/qt_instance.cpp:
87628        (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
87629        (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
87630        * bridge/runtime_object.cpp:
87631        (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
87632        * bridge/runtime_object.h: Ditto.
87633
876342008-09-19  Chris Marrin  <cmarrin@apple.com>
87635
87636        Reviewed by Dave Hyatt.
87637
87638        Transition starts running when it shouldn't
87639        https://bugs.webkit.org/show_bug.cgi?id=20892
87640
87641        When there is a transition and an animation on the
87642        same element, make sure the animation wins.
87643
87644        The fix is to save the unanimated style when an animation is started.
87645        Then, when starting a transition, check to see if there is a current
87646        animation on the same prop. If so, use the unanimated style as the
87647        fromStyle rather than the current style.
87648
87649        Test: animations/transition-and-animation-1.html
87650
87651        * page/animation/CompositeAnimation.cpp:
87652        (WebCore::CompositeAnimation::updateTransitions):
87653        (WebCore::CompositeAnimation::updateKeyframeAnimations):
87654        (WebCore::CompositeAnimation::animate):
87655        (WebCore::CompositeAnimation::getAnimationForProperty):
87656        * page/animation/CompositeAnimation.h:
87657        * page/animation/ImplicitAnimation.cpp:
87658        (WebCore::ImplicitAnimation::reset):
87659        * page/animation/ImplicitAnimation.h:
87660        * page/animation/KeyframeAnimation.cpp:
87661        (WebCore::KeyframeAnimation::hasAnimationForProperty):
87662        * page/animation/KeyframeAnimation.h:
87663        (WebCore::KeyframeAnimation::KeyframeAnimation):
87664        (WebCore::KeyframeAnimation::unanimatedStyle):
87665
876662008-09-19  David Hyatt  <hyatt@apple.com>
87667
87668        Add support for painting/hit testing of four possible scrollbar buttons.
87669        The Windows themes simply ignore the two parts that they will never
87670        show.  The Mac theme also ignores the other two buttons for now.
87671
87672        The cross-platform base for all three themes, ScrollbarThemeComposite,
87673        has all the proper support though.
87674
87675        Reviewed by Sam Weinig
87676
87677        * platform/ScrollbarThemeComposite.cpp:
87678        (WebCore::ScrollbarThemeComposite::hitTest):
87679        (WebCore::ScrollbarThemeComposite::invalidatePart):
87680        * platform/ScrollbarThemeComposite.h:
87681        * platform/mac/ScrollbarThemeMac.h:
87682        * platform/mac/ScrollbarThemeMac.mm:
87683        (WebCore::ScrollbarThemeMac::backButtonRect):
87684        (WebCore::ScrollbarThemeMac::forwardButtonRect):
87685        (WebCore::ScrollbarThemeMac::paintButton):
87686        * platform/win/ScrollbarThemeSafari.cpp:
87687        (WebCore::ScrollbarThemeSafari::backButtonRect):
87688        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
87689        (WebCore::ScrollbarThemeSafari::paintButton):
87690        * platform/win/ScrollbarThemeSafari.h:
87691        * platform/win/ScrollbarThemeWin.cpp:
87692        (WebCore::ScrollbarThemeWin::backButtonRect):
87693        (WebCore::ScrollbarThemeWin::forwardButtonRect):
87694        (WebCore::ScrollbarThemeWin::paintButton):
87695        * platform/win/ScrollbarThemeWin.h:
87696
876972008-09-19  Matt Lilek  <webkit@mattlilek.com>
87698
87699        Reviewed by Tim Hatcher.
87700
87701        Bug 17772: Inspector should support point-and-click to select a node to inspect
87702        https://bugs.webkit.org/show_bug.cgi?id=17772
87703        <rdar://problem/5792395>
87704
87705        * English.lproj/localizedStrings.js:
87706        * page/Chrome.cpp:
87707        (WebCore::Chrome::mouseDidMoveOverElement):
87708        * page/EventHandler.cpp:
87709        (WebCore::EventHandler::handleMousePressEvent):
87710        * page/InspectorController.cpp:
87711        (WebCore::toggleNodeSearch):
87712        (WebCore::searchingForNode):
87713        (WebCore::InspectorController::InspectorController):
87714        (WebCore::InspectorController::toggleSearchForNodeInPage):
87715        (WebCore::InspectorController::mouseDidMoveOverElement):
87716        (WebCore::InspectorController::handleMousePressOnNode):
87717        (WebCore::InspectorController::windowScriptObjectAvailable):
87718        * page/InspectorController.h:
87719        (WebCore::InspectorController::searchingForNodeInPage):
87720        * page/inspector/ElementsPanel.js:
87721        * page/inspector/Images/nodeSearchButtons.png: Added.
87722        * page/inspector/inspector.css:
87723
877242008-09-19  David Hyatt  <hyatt@apple.com>
87725
87726        Add new scrollbar parts to be able to represent back and forward buttons
87727        at either end of the scrollbar.  The current scrollbar still just draws
87728        a single button at either end, but the parts now exist.
87729
87730        Reviewed by Sam Weinig
87731
87732        * platform/ScrollTypes.h:
87733        (WebCore::):
87734        * platform/Scrollbar.cpp:
87735        (WebCore::Scrollbar::autoscrollTimerFired):
87736        (WebCore::Scrollbar::pressedPartScrollDirection):
87737        (WebCore::Scrollbar::pressedPartScrollGranularity):
87738        (WebCore::Scrollbar::handleMouseMoveEvent):
87739        * platform/ScrollbarTheme.h:
87740        (WebCore::ScrollbarTheme::buttonsPlacement):
87741        (WebCore::ScrollbarTheme::invalidateParts):
87742        * platform/ScrollbarThemeComposite.cpp:
87743        (WebCore::ScrollbarThemeComposite::paint):
87744        (WebCore::ScrollbarThemeComposite::hitTest):
87745        (WebCore::ScrollbarThemeComposite::invalidatePart):
87746        * platform/ScrollbarThemeComposite.h:
87747
877482008-09-19  Beth Dakin  <bdakin@apple.com>
87749
87750        Reviewed by Dave Hyatt.
87751
87752        Fix for <rdar://problem/6231308> crash in AutoTableLayout
87753
87754        The code assumes later on that a TableSection's grid's row vector
87755        will never be empty. So make 1 the minimum number of columns.
87756
87757        * rendering/RenderTableSection.cpp:
87758        (WebCore::RenderTableSection::ensureRows):
87759
877602008-09-19  David Hyatt  <hyatt@apple.com>
87761
87762        Add a new ScrollbarButtonsPlacement type for specifying where
87763        the button arrows are in a scrollbar.
87764
87765        Read in the placement settings for Mac.  Nothing is done with the
87766        setting yet.
87767
87768        Add a new buttonsPlacement() method to ScrollbarTheme composite
87769        so that the arrow settings can be obtained.
87770
87771        Reviewed by Sam Weinig
87772
87773        * platform/ScrollTypes.h:
87774        (WebCore::):
87775        * platform/ScrollbarThemeComposite.h:
87776        (WebCore::ScrollbarThemeComposite::buttonsPlacement):
87777        * platform/mac/ScrollbarThemeMac.mm:
87778        (WebCore::updateArrowPlacement):
87779        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
87780
877812008-09-19  Steve Falkenburg  <sfalken@apple.com>
87782
87783        Roll out r36626. It is causing variance in SunSpider numbers on XP.
87784
87785        Rubber stamped by Mark Rowe.
87786
87787        * platform/win/SharedTimerWin.cpp:
87788        (WebCore::isRunningOnVistaOrLater):
87789        (WebCore::setSharedTimerFireTime):
87790
877912008-09-19  Kevin McCullough  <kmccullough@apple.com>
87792
87793        Reviewed by Tim.
87794
87795        https://bugs.webkit.org/show_bug.cgi?id=20942
87796        Bug 20942: Repeated messages in resources don't collapse
87797        - Now repeated messages in a resource's view are collapsed and a message
87798        says how many were repeated.
87799
87800        * English.lproj/localizedStrings.js:
87801        * manual-tests/inspector/multiple-console-messages.html:
87802        * page/inspector/Console.js: Send all the messages to the resource's
87803        view before possibly returning early if the message is a repeat.
87804        * page/inspector/SourceFrame.js: Add the text about the message being
87805        repeated, if it is, and increment it when necessary.
87806
878072008-09-19  Chris Fleizach  <cfleizach@apple.com>
87808
87809        Removed unnecessary #if
87810
87811        * page/mac/AccessibilityObjectWrapper.mm:
87812
878132008-09-19  David Hyatt  <hyatt@apple.com>
87814
87815        Read in prefs for the scroll delay repeat values for buttons.  Also
87816        honor the option-click pref for jumping to the thumb when clicking in
87817        the track.
87818
87819        Reviewed by Sam Weinig
87820
87821        * platform/mac/ScrollbarThemeMac.h:
87822        * platform/mac/ScrollbarThemeMac.mm:
87823        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
87824        (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
87825        (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
87826        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
87827
878282008-09-19  David Hyatt  <hyatt@apple.com>
87829
87830        Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
87831        Set the initial button repeat delay to 0.5 for Mac.
87832
87833        Reviewed by Sam Weinig
87834
87835        * WebCore.xcodeproj/project.pbxproj:
87836        * platform/mac/ScrollbarThemeMac.cpp: Removed.
87837        * platform/mac/ScrollbarThemeMac.h:
87838        (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
87839        * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
87840
878412008-09-19  Darin Adler  <darin@apple.com>
87842
87843        Reviewed by Sam Weinig.
87844
87845        - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
87846          make each distinct C++ class get a distinct JSC::Structure
87847
87848          + Fixed all cases where we were using a shared structure for multiple
87849            C++ classes in WebCore. This still has to be done in JavaScriptCore.
87850
87851          + Got rid of cacheGlobalObject.
87852
87853          + Improved use of PassRefPtr in bindings code.
87854
87855          + Removed a couple cases where we were potentially allocating prototypes
87856            inside a JSObject's construction process -- this can lead to trouble if
87857            we do a garbage collection while an object is only partly constructed.
87858
87859        * bindings/js/JSAudioConstructor.cpp:
87860        (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
87861        so we don't implicitly share the structure with other objects that use the object
87862        prototype.
87863
87864        * bindings/js/JSDOMBinding.cpp:
87865        (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
87866        don't need cacheGlobalObject any more.
87867        (WebCore::cacheDOMConstructor): Ditto.
87868
87869        * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
87870        Added functions and a function template for getting cached DOM constructors.
87871        Removed cacheGlobalObject function template.
87872
87873        * bindings/js/JSDOMWindowBase.cpp:
87874        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
87875        we're taking ownership.
87876        * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
87877        we're taking ownership. Added constructor map.
87878        * bindings/js/JSDOMWindowCustom.cpp:
87879        (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
87880
87881        * bindings/js/JSDOMWindowShell.cpp:
87882        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
87883        we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
87884        this is now done in only that one place.
87885        (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
87886        the passed-in DOMWindow. Code was moved here and changed to allocate unique
87887        structures for both the window prototype and the window.
87888        * bindings/js/JSDOMWindowShell.h: Ditto.
87889
87890        * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
87891        have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
87892        private/friend in JSEventTargetBase. Removed comments referring to defunct
87893        macros. Changed JSEventTargetBasePrototype to get the prototype with the new
87894        rather than its own copy of cacheGlobalObject (I missed this during pass 1).
87895        Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
87896
87897        * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
87898        for caching structures and prototypes.
87899        (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
87900        (WebCore::JSEventTargetNode::createPrototype): Added.
87901        * bindings/js/JSEventTargetNode.h: Updated for above changes.
87902
87903        * bindings/js/JSHTMLAllCollection.h:
87904        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
87905        * bindings/js/JSHTMLCollectionCustom.cpp:
87906        (WebCore::getNamedItems): Pass ExecState instead of prototype.
87907        * bindings/js/JSHTMLFormElementCustom.cpp:
87908        (WebCore::JSHTMLFormElement::nameGetter): Ditto.
87909        * bindings/js/JSHTMLInputElementBase.cpp:
87910        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
87911        * bindings/js/JSHTMLInputElementBase.h: Ditto.
87912        * bindings/js/JSHTMLOptionElementConstructor.cpp:
87913        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
87914        Create a unique structure instead of sharing.
87915        * bindings/js/JSImageConstructor.cpp:
87916        (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
87917
87918        * bindings/js/JSInspectedObjectWrapper.cpp:
87919        (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
87920        a prototype rather than a structure. Made the use of inheritorID() here
87921        explicit.
87922        * bindings/js/JSInspectedObjectWrapper.h: Ditto.
87923        * bindings/js/JSInspectorCallbackWrapper.cpp:
87924        (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
87925        * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
87926
87927        * bindings/js/JSNamedNodesCollection.cpp:
87928        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
87929        take an ExecState argument instead of a prototype. Create a unique
87930        StructureID instead of sharing.
87931        * bindings/js/JSNamedNodesCollection.h: Ditto.
87932
87933        * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
87934        constructor that takes a prototype instead of a structure.
87935        * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
87936
87937        * bindings/js/JSRGBColor.cpp:
87938        (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
87939        prototype; create a unique structure.
87940        (WebCore::getJSRGBColor): Ditto.
87941        * bindings/js/JSRGBColor.h: Ditto.
87942
87943        * bindings/js/JSSQLResultSetRowListCustom.cpp:
87944        (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
87945        of explicit coding the idiom for making a new object.
87946
87947        * bindings/js/JSXMLHttpRequestConstructor.cpp:
87948        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
87949        Create a unique structure instead of the shared one.
87950        * bindings/js/JSXSLTProcessorConstructor.cpp:
87951        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
87952        Ditto.
87953
87954        * bindings/js/ScriptController.cpp:
87955        (WebCore::ScriptController::clearWindowShell): Let the window shell's
87956        setWindow function create the JSDOMWindow instead of doing it here.
87957
87958        * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
87959        the structure and the wrapped object when creating wrappers.
87960        Simplified some of the special cases for DOMWindow so they are
87961        different only in ways the need to be. Eliminated the
87962        JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
87963        functions. Moved responsibility for creating the structure and
87964        parent prototype out of the prototype constructor into the
87965        createPrototype function. Removed the unused "DoNotCache" flag for
87966        objects other than DOMWindow. Use getDOMConstructor instead of
87967        cacheGlobalObject for constructors. Make each constructor have
87968        a unique structure ID.
87969
87970        * bridge/objc/objc_runtime.h: Added createPrototype and changed the
87971        name of the info member to s_info so we can use the standard DOM
87972        binding macros to handl the prototype.
87973        * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
87974        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
87975        Create a unique structure using getDOMStructure.
87976
87977        * bridge/runtime_array.cpp: Fixed namespacing a bit.
87978        (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
87979        getDOMStructure.
87980        * bridge/runtime_array.h: Added createPrototype so getDOMStructure
87981        will work.
87982
87983        * bridge/runtime_object.cpp:
87984        (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
87985        getDOMStructure.
87986        * bridge/runtime_object.h: Added createPrototype so getDOMStructure
87987        will work.
87988
87989        * history/CachedPage.cpp:
87990        (WebCore::CachedPage::restore): Let the window shell's
87991        setWindow function create the JSDOMWindow instead of doing it here.
87992
87993        * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
87994
879952008-09-19  Dan Bernstein  <mitz@apple.com>
87996
87997        Reviewed by Dave Hyatt.
87998
87999        This optimization was suggested by Daniel Fenwick
88000
88001        - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
88002
88003        Specifying LTR paragraph directionality when measuring runs of RTL text
88004        resulted in typically two CTRuns being generated for every run instead
88005        of one, due to the leading space being reordered to the left.
88006
88007        * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
88008        getCFStringAttributes() and changed m_CFStringAttributes from an array
88009        to a single value.
88010        * platform/graphics/mac/CoreTextController.cpp:
88011        (WebCore::CoreTextController::CoreTextController): Added a
88012        mayUseNaturalWritingDirection parameter.
88013        (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
88014        to force the bidi embedding level whenever
88015        m_mayUseNaturalWritingDirectrion is false. Since this is now a common
88016        case, made the typesetter options dictionaries static.
88017        * platform/graphics/mac/CoreTextController.h:
88018        * platform/graphics/mac/FontMacCoreText.cpp:
88019        (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
88020        (WebCore::Font::floatWidthForComplexText): Changed to allow the
88021        CoreTextController to not set the writing direction.
88022        * platform/graphics/mac/SimpleFontDataMac.mm:
88023        (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
88024        parameter and the paragraph style attribute.
88025
880262008-09-19  David Hyatt  <hyatt@apple.com>
88027
88028        Reviewed by Sam Weinig
88029
88030        https://bugs.webkit.org/show_bug.cgi?id=20941
88031
88032        Incorrect height calculation for replaced element inside nested
88033        positioned elements (where the inner has a percentage height and
88034        the outer implicitly has a fixed height because of explicit top/bottom
88035        values).
88036
88037        Added fast/block/positioning/replaced-inside-top-bottom.html
88038
88039        * rendering/RenderBox.cpp:
88040        (WebCore::RenderBox::availableHeightUsing):
88041
880422008-09-19  Chris Fleizach  <cfleizach@apple.com>
88043
88044        Fix Tiger bustage
88045
88046        * page/mac/AccessibilityObjectWrapper.mm:
88047
880482008-09-18  Chris Fleizach  <cfleizach@apple.com>
88049
88050        Reviewed by Darin Adler.
88051
88052        <rdar://problem/6211041> Expose legend tag in accessibility
88053
88054        Exposes the legend tag as the titleUIElement of a fieldset
88055
88056        Test: accessibility/legend.html
88057
88058        * page/AccessibilityObject.h:
88059        (WebCore::AccessibilityObject::isFieldset):
88060        * page/AccessibilityRenderObject.cpp:
88061        (WebCore::AccessibilityRenderObject::isFieldset):
88062        (WebCore::AccessibilityRenderObject::titleUIElement):
88063        * page/AccessibilityRenderObject.h:
88064        * rendering/RenderFieldset.h:
88065
880662008-09-19  Chris Fleizach  <cfleizach@apple.com>
88067
88068        Reviewed by Darin Adler.
88069
88070        <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
88071
88072        Implement a few AX API methods that will be called by AppKit, which will
88073        speed up access to accessibility objects
88074
88075        * page/mac/AccessibilityObjectWrapper.mm:
88076        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
88077        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
88078        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
88079
880802008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
88081
88082        Reviewed by Simon Hausmann.
88083
88084        [qtwebkit] Set the m_should* flags to their proper value on entry
88085        With plugins it was possible that we finished a job twice. This was
88086        some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
88087        setting the flag to (m_loadMode == LoadDeferred) they will always have
88088        the right value and we will not send responses twice.
88089
88090        * platform/network/qt/QNetworkReplyHandler.cpp:
88091
880922008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
88093
88094        Reviewed by Simon Hausmann.
88095
88096        [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
88097        Handle text decoding errors before instructing the parser to parse. We
88098        have converted the text to QString and all encoding errors are gone and
88099        the parser will not be able to detect them. So handle them before parsing.
88100
88101        * dom/XMLTokenizerQt.cpp:
88102        (WebCore::XMLTokenizer::doWrite):
88103
881042008-09-18  Darin Adler  <darin@apple.com>
88105
88106        Reviewed by Maciej Stachowiak.
88107
88108        - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
88109          make each distinct C++ class get a distinct JSC::Structure
88110
88111        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
88112        (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
88113        instead of DOMExceptionTranslator.
88114
88115        * bindings/js/JSDOMBinding.cpp:
88116        (WebCore::getCachedDOMObjectWrapper): Updated function name.
88117        (WebCore::cacheDOMObjectWrapper): Ditto.
88118        (WebCore::forgetDOMObject): Ditto.
88119        (WebCore::getCachedDOMNodeWrapper): Ditto.
88120        (WebCore::forgetDOMNode): Ditto.
88121        (WebCore::cacheDOMNodeWrapper): Ditto.
88122        (WebCore::forgetAllDOMNodesForDocument): Ditto.
88123        (WebCore::markDOMNodesForDocument): Ditto.
88124        (WebCore::updateDOMNodeDocument): Ditto.
88125        (WebCore::getCachedDOMStructure): Added.
88126        (WebCore::createDOMStructure): Ditto.
88127
88128        * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
88129        class and replace the static member functions with non-member
88130        functions. Added many other functions for getting at structures,
88131        prototypes, wrappers, and creating them. Also moved the
88132        cacheGlobalObject function here from JavaScriptCore; eventually
88133        I'll remove that once I get rid of the remaining callers. Also
88134        removed the DOMExceptionTranslator class.
88135
88136        * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
88137        and put one of those maps in each window.
88138
88139        * bindings/js/JSDOMWindowCustom.cpp:
88140        (WebCore::markDOMObjectWrapper): Updated for function name change.
88141        (WebCore::JSDOMWindow::mark): Added code to mark all the structures
88142        in the structure map.
88143
88144        * bindings/js/JSEventTargetNode.cpp:
88145        (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
88146        a structure instead of a prototype.
88147        * bindings/js/JSEventTargetNode.h: Ditto.
88148        * bindings/js/JSHTMLAllCollection.h:
88149        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
88150
88151        * bindings/js/JSHTMLInputElementBase.cpp:
88152        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
88153        use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
88154        structure instead of a prototype.
88155        * bindings/js/JSHTMLInputElementBase.h: Removed use of the
88156        JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
88157        to take a structure instead of a prototype. Created a dummy prototype
88158        class that causes the HTMLInputElement prototype to have the
88159        HTMLElement prototype.
88160
88161        * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
88162        structures instead of prototypes. Changed the prototype self function
88163        to use the getDOMPrototype function -- later we can eliminate it and
88164        have callers invoke getDOMPrototype directly instead. Updated other
88165        functions that have name changes. Added code to generate the
88166        createPrototype member function. Changed use of cacheGlobalObject to
88167        get it from the WebCore namespace instead of the JSC namespace.
88168        Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
88169
88170        * dom/Document.cpp:
88171        (WebCore::Document::~Document): Updated for name change and also
88172        removed unnecessary JSLock use -- there's no need to lock around this.
88173        * dom/Node.cpp:
88174        (WebCore::Node::setDocument): Ditto.
88175
88176        * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
88177        instead of calling new directly.
88178
88179        * bindings/js/JSCSSRuleCustom.cpp:
88180        (WebCore::toJS): Updated for function name changes and used the
88181        CREATE_DOM_OBJECT_WRAPPER macro.
88182        * bindings/js/JSCSSValueCustom.cpp:
88183        (WebCore::toJS): Ditto.
88184        * bindings/js/JSCanvasPixelArrayCustom.cpp:
88185        (WebCore::toJS): Ditto.
88186        * bindings/js/JSDocumentCustom.cpp:
88187        (WebCore::JSDocument::mark): Ditto.
88188        (WebCore::toJS): Ditto.
88189        * bindings/js/JSElementCustom.cpp:
88190        (WebCore::toJSNewlyCreated): Ditto.
88191        * bindings/js/JSEventCustom.cpp:
88192        (WebCore::toJS): Ditto.
88193        * bindings/js/JSEventTargetBase.cpp:
88194        (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
88195        of DOMExceptionTranslator.
88196        (WebCore::toJS): Updated for function name changes and used the
88197        CREATE_DOM_OBJECT_WRAPPER macro.
88198        * bindings/js/JSHTMLCollectionCustom.cpp:
88199        (WebCore::toJS): Ditto.
88200        * bindings/js/JSNodeCustom.cpp:
88201        (WebCore::JSNode::mark): Ditto.
88202        (WebCore::createWrapper): Ditto.
88203        (WebCore::toJS): Ditto.
88204        * bindings/js/JSSVGPathSegCustom.cpp:
88205        (WebCore::toJS): Ditto.
88206        * bindings/js/JSStyleSheetCustom.cpp:
88207        (WebCore::toJS): Ditto.
88208        (WebCore::JSStyleSheet::mark): Ditto.
88209        * bindings/js/JSTextCustom.cpp:
88210        (WebCore::toJSNewlyCreated): Ditto.
88211        * bindings/js/JSXMLHttpRequestConstructor.cpp:
88212        (WebCore::constructXMLHttpRequest): Ditto.
88213        * bindings/js/JSXMLHttpRequestCustom.cpp:
88214        (WebCore::JSXMLHttpRequest::mark): Ditto.
88215        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
88216        (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
88217        * bindings/js/JSXSLTProcessorConstructor.cpp:
88218        (WebCore::constructXSLTProcessor): Ditto.
88219        * bindings/js/ScriptController.cpp:
88220        (WebCore::ScriptController::finishedWithEvent): Ditto.
88221        * xml/XMLHttpRequest.cpp:
88222        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
88223        (WebCore::XMLHttpRequest::dropProtection): Ditto.
88224
882252008-09-18  David Hyatt  <hyatt@apple.com>
88226
88227        This patch gets a viewless scrollbar working on Mac. It is turned off
88228        by default.  Hit testing works.  For now the scrollbar just paints ugly
88229        debug rects in the place of the buttons, track and thumb.  It does match
88230        Aqua metrics though.
88231
88232        Reviewed by Sam Weinig
88233
88234        * WebCore.xcodeproj/project.pbxproj:
88235        * page/mac/EventHandlerMac.mm:
88236        (WebCore::EventHandler::passMousePressEventToScrollbar):
88237        * platform/ScrollbarThemeComposite.cpp:
88238        (WebCore::ScrollbarThemeComposite::paint):
88239        (WebCore::ScrollbarThemeComposite::trackPosition):
88240        * platform/ScrollbarThemeComposite.h:
88241        * platform/mac/ScrollViewMac.mm:
88242        (WebCore::ScrollView::addChild):
88243        * platform/mac/ScrollbarThemeMac.cpp:
88244        (WebCore::):
88245        (WebCore::ScrollbarThemeMac::hasButtons):
88246        (WebCore::ScrollbarThemeMac::hasThumb):
88247        (WebCore::buttonRepaintRect):
88248        (WebCore::ScrollbarThemeMac::backButtonRect):
88249        (WebCore::ScrollbarThemeMac::forwardButtonRect):
88250        (WebCore::trackRepaintRect):
88251        (WebCore::ScrollbarThemeMac::trackRect):
88252        (WebCore::ScrollbarThemeMac::minimumThumbLength):
88253        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
88254        (WebCore::ScrollbarThemeMac::paintTrack):
88255        (WebCore::ScrollbarThemeMac::paintButton):
88256        (WebCore::ScrollbarThemeMac::paintThumb):
88257        * platform/mac/ScrollbarThemeMac.h:
88258        (WebCore::ScrollbarThemeMac::supportsControlTints):
88259        * platform/qt/ScrollbarThemeQt.cpp:
88260        (WebCore::ScrollbarThemeQt::trackPosition):
88261
882622008-09-18  Collin Jackson  <collinj@webkit.org>
88263
88264        Build fix; added missing header file to GNUmakefile.am
88265
88266        * GNUmakefile.am:
88267
882682008-09-18  Sam Weinig  <sam@webkit.org>
88269
88270        Reviewed by David "the Hair" Hyatt.
88271
88272        Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
88273
88274        * GNUmakefile.am:
88275        * WebCore.pro:
88276        * WebCore.vcproj/WebCore.vcproj:
88277        * WebCore.xcodeproj/project.pbxproj:
88278        * rendering/DataRef.h: Removed.
88279        * rendering/SVGRenderStyle.cpp: Removed.
88280        * rendering/SVGRenderStyle.h: Removed.
88281        * rendering/SVGRenderStyleDefs.cpp: Removed.
88282        * rendering/SVGRenderStyleDefs.h: Removed.
88283        * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
88284        * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
88285        * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
88286        * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
88287        * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
88288
882892008-09-18  Mark Rowe  <mrowe@apple.com>
88290
88291        Reviewed by Dan Bernstein.
88292
88293        Add a means of clearing a FrameTree's name.
88294
88295        * WebCore.base.exp:
88296        * page/FrameTree.cpp:
88297        (WebCore::FrameTree::clearName):
88298        * page/FrameTree.h:
88299
883002008-09-18  David Hyatt  <hyatt@apple.com>
88301
88302        Eliminate addToSuperview from Widget, since it was only called
88303        by ScrollViewMac's addChild method.  Just shift the original body
88304        of addToSuperView into addChild.
88305
88306        Reviewed by Sam Weinig
88307
88308        * platform/Widget.h:
88309        * platform/mac/ScrollViewMac.mm:
88310        (WebCore::ScrollView::addChild):
88311        * platform/mac/WidgetMac.mm:
88312
883132008-09-18  Collin Jackson  <collinj@webkit.org>
88314
88315        Reviewed by Antti Koivisto and Mark Rowe.
88316
88317        Test: http/tests/misc/dns-prefetch-control.html
88318
88319        https://bugs.webkit.org/show_bug.cgi?id=20690
88320
88321        Invoke WebCore::prefetchDNS() on host names that appear in
88322        in the href of hyperlinks and <link rel="dns-prefetch">. This
88323        can be used to implement DNS prefetching.
88324
88325        * WebCore.vcproj/WebCore.vcproj:
88326        * WebCore.xcodeproj/project.pbxproj:
88327        * dom/Document.cpp:
88328        (WebCore::Document::Document):
88329        (WebCore::Document::processHttpEquiv):
88330        (WebCore::Document::setSecurityOrigin):
88331        (WebCore::Document::initDNSPrefetch):
88332        (WebCore::Document::parseDNSPrefetchControlHeader):
88333        * dom/Document.h:
88334        (WebCore::Document::isDNSPrefetchEnabled):
88335        * html/HTMLAnchorElement.cpp:
88336        (WebCore::HTMLAnchorElement::parseMappedAttribute):
88337        * html/HTMLLinkElement.cpp:
88338        (WebCore::HTMLLinkElement::HTMLLinkElement):
88339        (WebCore::HTMLLinkElement::parseMappedAttribute):
88340        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
88341        (WebCore::HTMLLinkElement::process):
88342        * html/HTMLLinkElement.h:
88343        * html/PreloadScanner.cpp:
88344        (WebCore::PreloadScanner::processAttribute):
88345        * loader/FrameLoader.cpp:
88346        (WebCore::FrameLoader::begin):
88347        * platform/gtk/TemporaryLinkStubs.cpp:
88348        (WebCore::prefetchDNS):
88349        * platform/network/DNS.h: Added.
88350        * platform/network/cf/DNSCFNet.cpp: Added.
88351        (WebCore::prefetchDNS):
88352        * platform/qt/TemporaryLinkStubs.cpp:
88353        (WebCore::prefetchDNS):
88354        * platform/wx/TemporaryLinkStubs.cpp:
88355        (WebCore::prefetchDNS):
88356
883572008-09-18  David Hyatt  <hyatt@apple.com>
88358
88359        Eliminate the convertToScreenCoordinate method on Widget, since
88360        ScrollView has redundant methods that already do the same thing.
88361
88362        Reviewed by Sam Weinig
88363
88364        * editing/mac/SelectionControllerMac.mm:
88365        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
88366        * platform/Widget.h:
88367        * platform/mac/WidgetMac.mm:
88368        (WebCore::Widget::containingWindow):
88369
883702008-09-18  David Hyatt  <hyatt@apple.com>
88371
88372        Move to only one constructor for Widgets.  Rename data to m_data and make
88373        it have an #ifdef only for platforms that have platform-specific data (Mac
88374        and Gtk).
88375
88376        Reviewed by Sam Weinig
88377
88378        * WebCore.base.exp:
88379        * platform/Widget.cpp:
88380        (WebCore::Widget::init):
88381        * platform/Widget.h:
88382        * platform/gtk/WidgetGtk.cpp:
88383        (WebCore::Widget::Widget):
88384        (WebCore::Widget::~Widget):
88385        (WebCore::Widget::cursor):
88386        (WebCore::Widget::setCursor):
88387        * platform/mac/WidgetMac.mm:
88388        (WebCore::Widget::Widget):
88389        (WebCore::Widget::~Widget):
88390        (WebCore::Widget::addToSuperview):
88391        (WebCore::Widget::removeFromSuperview):
88392        (WebCore::Widget::beforeMouseDown):
88393        (WebCore::Widget::afterMouseDown):
88394        * platform/qt/WidgetQt.cpp:
88395        (WebCore::Widget::Widget):
88396        * platform/win/WidgetWin.cpp:
88397        (WebCore::Widget::Widget):
88398        * platform/wx/WidgetWx.cpp:
88399        (WebCore::Widget::Widget):
88400
884012008-09-18  David Hyatt  <hyatt@apple.com>
88402
88403        Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
88404        was no reason for it to be on Widget.  This change eliminates Qt ifdefs
88405        from Widget.
88406
88407        Reviewed by Sam Weinig
88408
88409        * bindings/js/ScriptControllerQt.cpp:
88410        (WebCore::ScriptController::createScriptInstanceForWidget):
88411        * platform/qt/WidgetQt.cpp:
88412        (WebCore::WidgetPrivate::WidgetPrivate):
88413        (WebCore::WidgetPrivate::~WidgetPrivate):
88414        (WebCore::Widget::Widget):
88415        (WebCore::Widget::~Widget):
88416        * plugins/PluginView.cpp:
88417        (WebCore::PluginView::PluginView):
88418        * plugins/PluginView.h:
88419        (WebCore::PluginView::isNPAPIPlugin):
88420        (WebCore::PluginView::setIsNPAPIPlugin):
88421
884222008-09-18  David Hyatt  <hyatt@apple.com>
88423
88424        Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
88425        ifdefs are now gone from Widget!
88426
88427        Reviewed by Sam Weinig
88428
88429        * platform/Widget.h:
88430        (WebCore::Widget::geometryChanged):
88431        * platform/gtk/WidgetGtk.cpp:
88432        * platform/qt/WidgetQt.cpp:
88433
884342008-09-18  David Hyatt  <hyatt@apple.com>
88435
88436        Consolidate convertTo/FromContainingWindow methods so that all platforms
88437        but Mac share the same code.
88438
88439        Move convertSelfToChild and convertChildToSelf to ScrollView, since
88440        Widget should know nothing about children.  Make the methods cross-platform
88441        on ScrollView.
88442
88443        Reviewed by Sam Weinig
88444
88445        * platform/ScrollView.h:
88446        (WebCore::ScrollView::convertChildToSelf):
88447        (WebCore::ScrollView::convertSelfToChild):
88448        * platform/Widget.cpp:
88449        (WebCore::Widget::convertToContainingWindow):
88450        (WebCore::Widget::convertFromContainingWindow):
88451        * platform/Widget.h:
88452        (WebCore::Widget::geometryChanged):
88453        * platform/gtk/ScrollViewGtk.cpp:
88454        (WebCore::ScrollView::isScrollViewScrollbar):
88455        * platform/gtk/WidgetGtk.cpp:
88456        * platform/mac/ScrollViewMac.mm:
88457        (WebCore::ScrollView::isScrollViewScrollbar):
88458        * platform/mac/WidgetMac.mm:
88459        * platform/qt/ScrollViewQt.cpp:
88460        (WebCore::ScrollView::isScrollViewScrollbar):
88461        * platform/qt/WidgetQt.cpp:
88462        * platform/win/ScrollViewWin.cpp:
88463        (WebCore::ScrollView::isScrollViewScrollbar):
88464        * platform/win/WidgetWin.cpp:
88465
884662008-09-18  David Hyatt  <hyatt@apple.com>
88467
88468        Make the conversion methods that go to and from some containingWindow
88469        cross-platform.  Implement them on Mac.
88470
88471        Reviewed by Sam Weinig
88472
88473        * platform/Widget.h:
88474        (WebCore::Widget::setContainingWindow):
88475        * platform/mac/WidgetMac.mm:
88476        (WebCore::Widget::convertFromContainingWindow):
88477        (WebCore::Widget::convertToContainingWindow):
88478
884792008-09-18  Sam Weinig  <sam@webkit.org>
88480
88481        Rubber-stamped by David "Yeah-yeah" Hyatt.
88482
88483        Cleanup RenderStyle.
88484
88485        * WebCore.xcodeproj/project.pbxproj:
88486        * rendering/style/CounterContent.h:
88487        * rendering/style/RenderStyle.cpp:
88488        * rendering/style/RenderStyle.h:
88489
884902008-09-18  Chris Marrin  <cmarrin@apple.com>
88491
88492        Reviewed by Sam Weinig
88493
88494        Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
88495        Now TransformOperations and AnimationList no longer
88496        inherit from Vector<> but rather have API to access.
88497
88498        * css/CSSComputedStyleDeclaration.cpp:
88499        (WebCore::computedTransform):
88500        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
88501        * css/CSSStyleSelector.cpp:
88502        (WebCore::CSSStyleSelector::createTransformOperations):
88503        * page/animation/AnimationBase.cpp:
88504        (WebCore::blendFunc):
88505        * page/animation/CompositeAnimation.cpp:
88506        (WebCore::CompositeAnimation::updateTransitions):
88507        (WebCore::CompositeAnimation::updateKeyframeAnimations):
88508        (WebCore::CompositeAnimation::animate):
88509        * page/animation/ImplicitAnimation.cpp:
88510        (WebCore::ImplicitAnimation::validateTransformFunctionList):
88511        * page/animation/KeyframeAnimation.cpp:
88512        (WebCore::KeyframeAnimation::validateTransformFunctionList):
88513        * rendering/RenderLayer.cpp:
88514        (WebCore::RenderLayer::updateReflectionStyle):
88515        * rendering/style/AnimationList.cpp:
88516        (WebCore::AnimationList::operator==):
88517        * rendering/style/AnimationList.h:
88518        (WebCore::AnimationList::operator!=):
88519        (WebCore::AnimationList::size):
88520        (WebCore::AnimationList::isEmpty):
88521        (WebCore::AnimationList::resize):
88522        (WebCore::AnimationList::remove):
88523        (WebCore::AnimationList::append):
88524        (WebCore::AnimationList::animation):
88525        * rendering/style/RenderStyle.cpp:
88526        (WebCore::StyleRareNonInheritedData::updateKeyframes):
88527        (WebCore::RenderStyle::applyTransform):
88528        (WebCore::RenderStyle::adjustAnimations):
88529        (WebCore::RenderStyle::adjustTransitions):
88530        (WebCore::RenderStyle::transitionForProperty):
88531        * rendering/style/RenderStyle.h:
88532        (WebCore::RenderStyle::hasTransform):
88533        * rendering/style/TransformOperations.cpp:
88534        (WebCore::TransformOperations::TransformOperations):
88535        (WebCore::TransformOperations::operator==):
88536        * rendering/style/TransformOperations.h:
88537        (WebCore::TransformOperations::apply):
88538        (WebCore::TransformOperations::operations):
88539
885402008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
88541
88542        Build fix.
88543
88544        [qt] Build fixes after the Widget/ScrollView cleanup
88545        topLevel() is now root()
88546
88547
88548        * platform/qt/ScrollViewQt.cpp:
88549        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
88550        (WebCore::ScrollView::addChild):
88551        (WebCore::ScrollView::removeChild):
88552
885532008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
88554
88555        Reviewed by Mark Rowe.
88556
88557        https://bugs.webkit.org/show_bug.cgi?id=20437
88558
88559        XMLTokenizer.cpp used to contain two different implementations. One was using
88560        libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
88561        separating the two implementations from each other.
88562        Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
88563        was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
88564        XMLTokenizerLibxml2.cpp. There should be no functional changes.
88565
88566        Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
88567        to work.
88568
88569        * GNUmakefile.am:
88570        * WebCore.pro:
88571        * WebCore.vcproj/WebCore.vcproj:
88572        * WebCore.xcodeproj/project.pbxproj:
88573        * WebCoreSources.bkl:
88574        * dom/XMLTokenizer.cpp:
88575        (WebCore::isScriptElement):
88576        (WebCore::castToScriptElement):
88577        (WebCore::XMLTokenizer::setCurrentNode):
88578        (WebCore::XMLTokenizer::write):
88579        (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
88580        (WebCore::XMLTokenizer::enterText):
88581        (WebCore::toString):
88582        (WebCore::XMLTokenizer::exitText):
88583        (WebCore::XMLTokenizer::end):
88584        (WebCore::XMLTokenizer::insertErrorMessageBlock):
88585        * dom/XMLTokenizer.h:
88586        (WebCore::XMLTokenizer::wellFormed):
88587        * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
88588        (WebCore::createMemoryParser):
88589        (WebCore::XMLTokenizer::XMLTokenizer):
88590        (WebCore::XMLTokenizer::~XMLTokenizer):
88591        (WebCore::XMLTokenizer::doWrite):
88592        (WebCore::ignorableWhitespaceHandler):
88593        (WebCore::XMLTokenizer::initializeParserContext):
88594        (WebCore::XMLTokenizer::doEnd):
88595        (WebCore::XMLTokenizer::lineNumber):
88596        (WebCore::XMLTokenizer::columnNumber):
88597        (WebCore::XMLTokenizer::stopParsing):
88598        (WebCore::XMLTokenizer::resumeParsing):
88599        (WebCore::parseXMLDocumentFragment):
88600        (WebCore::attributesStartElementNsHandler):
88601        (WebCore::parseAttributes):
88602        * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
88603        (WebCore::EntityResolver::resolveUndeclaredEntity):
88604        (WebCore::XMLTokenizer::XMLTokenizer):
88605        (WebCore::XMLTokenizer::~XMLTokenizer):
88606        (WebCore::XMLTokenizer::doWrite):
88607        (WebCore::XMLTokenizer::initializeParserContext):
88608        (WebCore::XMLTokenizer::doEnd):
88609        (WebCore::XMLTokenizer::lineNumber):
88610        (WebCore::XMLTokenizer::columnNumber):
88611        (WebCore::XMLTokenizer::stopParsing):
88612        (WebCore::XMLTokenizer::resumeParsing):
88613        (WebCore::parseXMLDocumentFragment):
88614        (WebCore::attributesStartElementNsHandler):
88615        (WebCore::parseAttributes):
88616        (WebCore::):
88617
886182008-09-18  Beth Dakin  <bdakin@apple.com>
88619
88620        Reviewed by Geoff Garen.
88621
88622        Build fix for non-Mac builds.
88623
88624        * css/CSSPrimitiveValue.cpp:
88625        (WebCore::CSSPrimitiveValue::cssText):
88626
886272008-09-18  Peter Kasting  <pkasting@google.com>
88628
88629        Reviewed by hyatt.  Landed by eseidel.
88630
88631        https://bugs.webkit.org/show_bug.cgi?id=20745
88632        Animated GIFs do not animate properly with (at least) CG.
88633
88634        * WebCore\platform\graphics\BitmapImage.cpp:
88635        * WebCore\platform\graphics\BitmapImage.h:
88636        * WebCore\platform\graphics\cairo\ImageCairo.cpp:
88637        * WebCore\platform\graphics\cg\ImageCG.cpp:
88638        * WebCore\platform\graphics\qt\ImageQt.cpp:
88639        * WebCore\platform\graphics\wx\ImageWx.cpp:
88640
886412008-09-18  Chris Fleizach  <cfleizach@apple.com>
88642
88643        Reviewed by Beth Dakin
88644
88645        <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
88646        role specifies otherwise
88647
88648        If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
88649
88650        Test: accessibility/table-with-aria-role.html
88651
88652        * page/AccessibilityTable.cpp:
88653        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
88654        (WebCore::AccessibilityTable::addChildren):
88655        (WebCore::AccessibilityTable::roleValue):
88656        (WebCore::AccessibilityTable::accessibilityIsIgnored):
88657        (WebCore::AccessibilityTable::title):
88658        * page/AccessibilityTableCell.cpp:
88659        (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
88660        (WebCore::AccessibilityTableCell::isTableCell):
88661        (WebCore::AccessibilityTableCell::roleValue):
88662        * page/AccessibilityTableCell.h:
88663        * page/AccessibilityTableRow.cpp:
88664        (WebCore::AccessibilityTableRow::roleValue):
88665        (WebCore::AccessibilityTableRow::isTableRow):
88666        (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
88667        * page/AccessibilityTableRow.h:
88668
886692008-09-18  Steve Falkenburg  <sfalken@apple.com>
88670
88671        Use higher-resolution timers on all variants of Windows.
88672
88673        Reviewed by Darin Adler.
88674
88675        * platform/win/SharedTimerWin.cpp:
88676        (WebCore::setSharedTimerFireTime):
88677
88678
886792008-09-18  David Hyatt  <hyatt@apple.com>
88680
88681        Make containingWindow() and setContainingWindow() cross-platform.
88682        Add a root() function cross-platform so Qt doesn't have to
88683        define its own.
88684
88685        Reviewed by Darin Adler
88686
88687        * platform/Widget.cpp:
88688        (WebCore::Widget::root):
88689        * platform/Widget.h:
88690        (WebCore::Widget::setContainingWindow):
88691        * platform/gtk/WidgetGtk.cpp:
88692        (WebCore::Widget::Widget):
88693        (WebCore::Widget::containingWindow):
88694        * platform/mac/ScrollViewMac.mm:
88695        (WebCore::ScrollView::addChild):
88696        (WebCore::ScrollView::removeChild):
88697        * platform/mac/WidgetMac.mm:
88698        (WebCore::Widget::containingWindow):
88699        * platform/qt/WidgetQt.cpp:
88700        (WebCore::Widget::invalidateRect):
88701        (WebCore::Widget::containingWindow):
88702        * platform/win/WidgetWin.cpp:
88703        (WebCore::Widget::Widget):
88704        (WebCore::Widget::~Widget):
88705        (WebCore::Widget::containingWindow):
88706
887072008-09-18  Beth Dakin  <bdakin@apple.com>
88708
88709        Reviewed by Dave Hyatt.
88710
88711        Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
88712        parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
88713        dashboard-region=
88714        and corresponding: <rdar://problem/6174100>
88715
88716        This patch makes CSSParserValue::createCSSValue handle unknown
88717        identifiers.
88718
88719        * css/CSSParserValues.cpp:
88720        (WebCore::CSSParserValue::createCSSValue): If we have an identifier
88721        with no id (an unknown identifier) create a CSSPrimitiveValue of
88722        type CSS_PARSER_IDENTIFIER
88723        * css/CSSPrimitiveValue.cpp:
88724        (WebCore::CSSPrimitiveValue::cssText):
88725        (WebCore::CSSPrimitiveValue::parserValue):
88726        * css/CSSPrimitiveValue.h:
88727        (WebCore::CSSPrimitiveValue::):
88728
887292008-09-18  Sam Weinig  <sam@webkit.org>
88730
88731        Rubber-stamped by David "I'd prefer not" Hyatt.
88732
88733        More the remaining class out of RenderStyle.h/cpp
88734
88735        * GNUmakefile.am:
88736        * WebCore.pro:
88737        * WebCore.vcproj/WebCore.vcproj:
88738        * WebCore.xcodeproj/project.pbxproj:
88739        * WebCoreSources.bkl:
88740        * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
88741        (WebCore::CursorData::CursorData):
88742        (WebCore::CursorData::operator==):
88743        (WebCore::CursorData::operator!=):
88744        * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
88745        (WebCore::CursorList::operator[]):
88746        (WebCore::CursorList::CursorList):
88747        * rendering/style/RenderStyle.cpp:
88748        * rendering/style/RenderStyle.h:
88749        (WebCore::RenderStyle::deref):
88750        (WebCore::RenderStyle::hasOneRef):
88751        (WebCore::RenderStyle::InheritedFlags::operator!=):
88752        (WebCore::RenderStyle::NonInheritedFlags::operator!=):
88753        (WebCore::RenderStyle::hasBackground):
88754        (WebCore::RenderStyle::outlineWidth):
88755        (WebCore::RenderStyle::autoWrap):
88756        (WebCore::RenderStyle::preserveNewline):
88757        (WebCore::RenderStyle::collapseWhiteSpace):
88758        (WebCore::RenderStyle::isCollapsibleWhiteSpace):
88759        (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
88760        (WebCore::RenderStyle::breakWords):
88761        (WebCore::RenderStyle::outlineOffset):
88762        (WebCore::RenderStyle::setLeft):
88763        (WebCore::RenderStyle::setRight):
88764        (WebCore::RenderStyle::setTop):
88765        (WebCore::RenderStyle::setBottom):
88766        (WebCore::RenderStyle::setDashboardRegion):
88767        (WebCore::RenderStyle::setBackgroundColor):
88768        (WebCore::RenderStyle::setBorderImage):
88769        (WebCore::RenderStyle::setBorderRadius):
88770        (WebCore::RenderStyle::setFontDescription):
88771        (WebCore::RenderStyle::adjustBackgroundLayers):
88772        (WebCore::RenderStyle::adjustMaskLayers):
88773        (WebCore::RenderStyle::deleteBindingURIs):
88774        (WebCore::RenderStyle::inheritBindingURIs):
88775        (WebCore::RenderStyle::isDisplayReplacedType):
88776        (WebCore::RenderStyle::isDisplayInlineType):
88777        (WebCore::RenderStyle::isOriginalDisplayInlineType):
88778        * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
88779        * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
88780        (WebCore::StyleInheritedData::operator!=):
88781        * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
88782        * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
88783        (WebCore::StyleRareInheritedData::operator!=):
88784        * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
88785        * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
88786        * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
88787
887882008-09-18  David Hyatt  <hyatt@apple.com>
88789
88790        Move the concept of suppression invalidation on Widgets to Scrollbar
88791        instead.  Since this is only used by Scrollbars, there is no need for
88792        it to be on Widget.
88793
88794        Reviewed by Sam Weinig
88795
88796        * platform/Scrollbar.cpp:
88797        (WebCore::Scrollbar::Scrollbar):
88798        (WebCore::Scrollbar::invalidateRect):
88799        * platform/Scrollbar.h:
88800        (WebCore::Scrollbar::suppressInvalidation):
88801        (WebCore::Scrollbar::setSuppressInvalidation):
88802        * platform/Widget.h:
88803        * platform/gtk/WidgetGtk.cpp:
88804        (WebCore::Widget::Widget):
88805        (WebCore::Widget::invalidateRect):
88806        * platform/qt/WidgetQt.cpp:
88807        (WebCore::WidgetPrivate::WidgetPrivate):
88808        (WebCore::Widget::invalidateRect):
88809        * platform/win/WidgetWin.cpp:
88810        (WebCore::Widget::Widget):
88811        (WebCore::Widget::invalidateRect):
88812
888132008-09-18  David Hyatt  <hyatt@apple.com>
88814
88815        Make invalidate() on Widget non-virtual and make it just call
88816        invalidateRect() on the boundsGeometry() of the Widget.
88817
88818        Reviewed by Dan Bernstein
88819
88820        * platform/Widget.h:
88821        (WebCore::Widget::boundsGeometry):
88822        (WebCore::Widget::invalidate):
88823        * platform/gtk/WidgetGtk.cpp:
88824        * platform/mac/WidgetMac.mm:
88825        * platform/qt/WidgetQt.cpp:
88826        * platform/win/WidgetWin.cpp:
88827        * platform/wx/WidgetWx.cpp:
88828
888292008-09-18  Sam Weinig  <sam@webkit.org>
88830
88831        Rubber-stamped in exile by David Hyatt.
88832
88833        Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
88834        KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
88835        RenderStyle.h/cpp
88836
88837        * GNUmakefile.am:
88838        * WebCore.pro:
88839        * WebCore.vcproj/WebCore.vcproj:
88840        * WebCore.xcodeproj/project.pbxproj:
88841        * WebCoreSources.bkl:
88842        * css/CSSStyleSelector.cpp:
88843        * css/CSSStyleSelector.h:
88844        * page/animation/CompositeAnimation.cpp:
88845        * page/animation/KeyframeAnimation.cpp:
88846        * page/animation/KeyframeAnimation.h:
88847        * rendering/RenderCounter.h:
88848        * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
88849        (WebCore::Animation::~Animation):
88850        (WebCore::Animation::animationsMatch):
88851        (WebCore::Animation::keyframeList):
88852        (WebCore::Animation::setAnimationKeyframe):
88853        * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
88854        * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
88855        * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
88856        * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
88857        * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
88858        (WebCore::BindingURI::operator!=):
88859        * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
88860        * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
88861        (WebCore::ContentData::ContentData):
88862        (WebCore::ContentData::~ContentData):
88863        * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
88864        (WebCore::CounterContent::CounterContent):
88865        * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
88866        * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
88867        (WebCore::CounterDirectives::CounterDirectives):
88868        * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
88869        (WebCore::KeyframeList::insert):
88870        * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
88871        (WebCore::KeyframeValue::KeyframeValue):
88872        (WebCore::KeyframeList::create):
88873        (WebCore::KeyframeList::KeyframeList):
88874        * rendering/style/RenderStyle.cpp:
88875        * rendering/style/RenderStyle.h:
88876        * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
88877        * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
88878        (WebCore::ShadowData::ShadowData):
88879        (WebCore::ShadowData::~ShadowData):
88880        (WebCore::ShadowData::operator!=):
88881        * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
88882        * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
88883        (WebCore::StyleFlexibleBoxData::operator!=):
88884        * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
88885        (WebCore::TimingFunction::TimingFunction):
88886        (WebCore::TimingFunction::operator==):
88887
888882008-09-18  Adele Peterson  <adele@apple.com>
88889
88890        Reviewed by Dan Bernstein.
88891
88892        Fix RenderStyle leaks.
88893
88894        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
88895
888962008-09-18  Kevin McCullough  <kmccullough@apple.com>
88897
88898        Accidentally checked in code.
88899
88900        * html/HTMLElementFactory.cpp:
88901        (WebCore::frameConstructor):
88902        (WebCore::iframeConstructor):
88903
889042008-09-18  Kevin McCullough  <kmccullough@apple.com>
88905
88906        Reviewed by Tim.
88907
88908        <rdar://problem/5722310> gracefully handle too many console messages
88909        (20904)
88910        - Keep track of the most previous message and then compare it to the
88911        subsequent messages as they come in.  If there are multiple of the same
88912        message create a count that indicates the current number.
88913
88914        * manual-tests/inspector/multiple-console-messages.html: Added.
88915        * page/inspector/Console.js:
88916        * page/inspector/inspector.css:
88917
889182008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
88919
88920        Reviewed by Alp Toker
88921
88922        https://bugs.webkit.org/show_bug.cgi?id=20830
88923        [GTK] Don't use deprecated pango API
88924
88925        Replace deprecated pango functions with non-deprecated ones for newer
88926        versions of pango
88927
88928        * platform/graphics/gtk/FontGtk.cpp:
88929        (WebCore::getDefaultPangoLayout):
88930        * platform/graphics/gtk/FontPlatformDataPango.cpp:
88931        (WebCore::FontPlatformData::FontPlatformData):
88932
889332008-09-18  Alp Toker  <alp@nuanti.com>
88934
88935        Build fix for r36587. Add new sources (and sort the lists).
88936
88937        * GNUmakefile.am:
88938
889392008-09-17  Sam Weinig  <sam@webkit.org>
88940
88941        Fix Windows build.
88942
88943        * WebCore.vcproj/WebCore.vcproj:
88944
889452008-09-17  David Hyatt  <hyatt@apple.com>
88946
88947        Switch back to having frameGeometry be virtual in order to keep Mac
88948        the way it used to be.
88949
88950        Reviewed by Sam Weinig
88951
88952        * WebCore.base.exp:
88953        * platform/Widget.cpp:
88954        (WebCore::Widget::setParent):
88955        * platform/Widget.h:
88956        * platform/gtk/WidgetGtk.cpp:
88957        (WebCore::Widget::frameGeometry):
88958        (WebCore::Widget::setFrameGeometry):
88959        * platform/mac/WidgetMac.mm:
88960        (WebCore::Widget::frameGeometry):
88961        (WebCore::Widget::setFrameGeometry):
88962        * platform/qt/WidgetQt.cpp:
88963        (WebCore::Widget::frameGeometry):
88964        (WebCore::Widget::setFrameGeometry):
88965        * platform/win/WidgetWin.cpp:
88966        (WebCore::Widget::frameGeometry):
88967        (WebCore::Widget::setFrameGeometry):
88968        * platform/wx/WidgetWx.cpp:
88969        (WebCore::Widget::frameGeometry):
88970        (WebCore::Widget::setFrameGeometry):
88971        * plugins/PluginView.cpp:
88972        (WebCore::PluginView::setFrameGeometry):
88973        (WebCore::PluginView::geometryChanged):
88974        * plugins/PluginView.h:
88975        * plugins/gtk/PluginViewGtk.cpp:
88976        (WebCore::PluginView::updatePluginWidget):
88977        * plugins/qt/PluginViewQt.cpp:
88978        (WebCore::PluginView::updatePluginWidget):
88979        * plugins/win/PluginViewWin.cpp:
88980        (WebCore::PluginView::updatePluginWidget):
88981
889822008-09-17  Sam Weinig  <sam@webkit.org>
88983
88984        Reviewed by Mark Rowe.
88985
88986        Fix assertion in DOMWindow::adjustWindowRect where we were passing
88987        in garbage values and were getting lucky that they were a not Nan.
88988
88989        * bindings/js/JSDOMWindowBase.cpp:
88990        (WebCore::windowProtoFuncOpen):
88991
889922008-09-17  Sam Weinig  <sam@webkit.org>
88993
88994        Fix gtk build.
88995
88996        * rendering/style/MatrixTransformOperation.cpp:
88997
889982008-09-17  Sam Weinig  <sam@webkit.org>
88999
89000        Rubber-stamped with love by David Hyatt.
89001
89002        Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
89003        ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
89004        TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
89005
89006        * GNUmakefile.am:
89007        * WebCore.pro:
89008        * WebCore.vcproj/WebCore.vcproj:
89009        * WebCore.xcodeproj/project.pbxproj:
89010        * WebCoreSources.bkl:
89011        * css/CSSStyleSelector.cpp:
89012        * page/animation/AnimationBase.cpp:
89013        (WebCore::solveEpsilon):
89014        * rendering/RenderLayer.cpp:
89015        * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89016        * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
89017        * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89018        (WebCore::MatrixTransformOperation::MatrixTransformOperation):
89019        * rendering/style/RenderStyle.cpp:
89020        * rendering/style/RenderStyle.h:
89021        * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
89022        * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89023        (WebCore::RotateTransformOperation::RotateTransformOperation):
89024        * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
89025        * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89026        (WebCore::ScaleTransformOperation::ScaleTransformOperation):
89027        * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
89028        * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89029        (WebCore::SkewTransformOperation::SkewTransformOperation):
89030        * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
89031        * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
89032        (WebCore::StyleTransformData::operator!=):
89033        * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
89034        (WebCore::TransformOperation::):
89035        * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
89036        (WebCore::TransformOperations::TransformOperations):
89037        * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
89038        (WebCore::TransformOperations::operator!=):
89039        * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
89040        * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
89041        (WebCore::TranslateTransformOperation::TranslateTransformOperation):
89042
890432008-09-17  Mark Rowe  <mrowe@apple.com>
89044
89045        Build fix.
89046
89047        * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
89048
890492008-09-17  David Hyatt  <hyatt@apple.com>
89050
89051        (1) Inline a bunch of methods for accessing frame geometry.
89052        (2) Make sure frameGeometry() works even when you have no underlying
89053        native widget.
89054        (3) Cache a frame geometry rect cross-platform (even for widgets that
89055        have underlying native widgets.
89056        (4) PluginView's updateWindow call is now a virtual function on Widget.
89057
89058        Reviewed by Sam Weinig
89059
89060        * ChangeLog:
89061        * WebCore.base.exp:
89062        * platform/Widget.cpp:
89063        (WebCore::Widget::setFrameGeometry):
89064        * platform/Widget.h:
89065        (WebCore::Widget::x):
89066        (WebCore::Widget::y):
89067        (WebCore::Widget::width):
89068        (WebCore::Widget::height):
89069        (WebCore::Widget::size):
89070        (WebCore::Widget::pos):
89071        (WebCore::Widget::frameGeometry):
89072        (WebCore::Widget::resize):
89073        (WebCore::Widget::move):
89074        (WebCore::Widget::isFrameView):
89075        (WebCore::Widget::windowClipRect):
89076        * platform/mac/WidgetMac.mm:
89077        (WebCore::Widget::~Widget):
89078        (WebCore::Widget::updatePlatformWidgetFrameGeometry):
89079        * platform/win/WidgetWin.cpp:
89080        (WebCore::Widget::updatePlatformWidgetFrameGeometry):
89081        * plugins/PluginView.cpp:
89082        (WebCore::PluginView::setFrameGeometry):
89083        (WebCore::PluginView::geometryChanged):
89084        * plugins/PluginView.h:
89085        * plugins/gtk/PluginViewGtk.cpp:
89086        (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
89087        * plugins/qt/PluginViewQt.cpp:
89088        (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
89089        * plugins/win/PluginViewWin.cpp:
89090        (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
89091        * plugins/wx/PluginViewWx.cpp:
89092
890932008-09-17  Sam Weinig  <sam@webkit.org>
89094
89095        Reviewed by David "Waterman" Hyatt.
89096
89097        Fix a leak of NSViews in WidgetMac.mm.
89098
89099        * platform/mac/WidgetMac.mm:
89100        (WebCore::Widget::~Widget):
89101
891022008-09-17  Sam Weinig  <sam@webkit.org>
89103
89104        Rubber-stamped by David Waterman Hyatt.
89105
89106        Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
89107        StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
89108
89109        * GNUmakefile.am:
89110        * WebCore.pro:
89111        * WebCore.vcproj/WebCore.vcproj:
89112        * WebCore.xcodeproj/project.pbxproj:
89113        * WebCoreSources.bkl:
89114        * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
89115        * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
89116        (WebCore::FillLayer::operator!=):
89117        (WebCore::FillLayer::hasImage):
89118        (WebCore::FillLayer::hasFixedImage):
89119        * rendering/style/RenderStyle.cpp:
89120        * rendering/style/RenderStyle.h:
89121        * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
89122        (WebCore::StyleBackgroundData::StyleBackgroundData):
89123        * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
89124        (WebCore::StyleBackgroundData::~StyleBackgroundData):
89125        (WebCore::StyleBackgroundData::operator!=):
89126        * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
89127        * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
89128        (WebCore::StyleBoxData::operator!=):
89129        * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
89130        (WebCore::StyleDashboardRegion::operator!=):
89131        * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
89132        * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
89133        (WebCore::StyleMarqueeData::operator!=):
89134        * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
89135        * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
89136        (WebCore::StyleMultiColData::operator!=):
89137        (WebCore::StyleMultiColData::ruleWidth):
89138        * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
89139        * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
89140        (WebCore::StyleVisualData::operator==):
89141
891422008-09-17  David Hyatt  <hyatt@apple.com>
89143
89144        Remove WidgetClient from Widget.
89145
89146        Reviewed by Sam Weinig
89147
89148        * WebCore.xcodeproj/project.pbxproj:
89149        * platform/Widget.h:
89150        (WebCore::Widget::setClient):
89151        (WebCore::Widget::client):
89152        * platform/WidgetClient.h: Removed.
89153        * platform/gtk/WidgetGtk.cpp:
89154        * platform/mac/WidgetMac.mm:
89155        (WebCore::Widget::Widget):
89156        (WebCore::Widget::show):
89157        (WebCore::Widget::hide):
89158        * platform/qt/WidgetQt.cpp:
89159        (WebCore::WidgetPrivate::WidgetPrivate):
89160        * platform/win/WidgetWin.cpp:
89161        (WebCore::Widget::Widget):
89162        * platform/wx/WidgetWx.cpp:
89163        (WebCore::Widget::Widget):
89164
891652008-09-17  David Hyatt  <hyatt@apple.com>
89166
89167        Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
89168        only applies to Scrollbars so the method has been moved there and made
89169        cross-platform.  Scrollbar subclasses that have a corresponding native
89170        widget can subclass setEnabled to change the enabled state of the native
89171        widget.
89172
89173        Reviewed by Sam Weinig & Darin Adler
89174
89175        * WebCore.base.exp:
89176        * platform/Scrollbar.cpp:
89177        (WebCore::Scrollbar::Scrollbar):
89178        * platform/Scrollbar.h:
89179        (WebCore::Scrollbar::enabled):
89180        (WebCore::Scrollbar::setEnabled):
89181        * platform/Widget.h:
89182        * platform/gtk/ScrollbarGtk.cpp:
89183        (ScrollbarGtk::setEnabled):
89184        * platform/gtk/ScrollbarGtk.h:
89185        * platform/gtk/WidgetGtk.cpp:
89186        * platform/mac/ScrollbarMac.h:
89187        * platform/mac/ScrollbarMac.mm:
89188        (WebCore::ScrollbarMac::scrollbarHit):
89189        (WebCore::ScrollbarMac::setEnabled):
89190        * platform/mac/WidgetMac.mm:
89191        * platform/qt/WidgetQt.cpp:
89192        (WebCore::WidgetPrivate::WidgetPrivate):
89193        * platform/win/WidgetWin.cpp:
89194        (WebCore::Widget::Widget):
89195        * platform/wx/WidgetWx.cpp:
89196
891972008-09-17  Sam Weinig  <sam@webkit.org>
89198
89199        Rubber-stamped by David Hyatt.
89200
89201        Split all RenderStyle enums into their own file.
89202
89203        * GNUmakefile.am:
89204        * WebCore.vcproj/WebCore.vcproj:
89205        * WebCore.xcodeproj/project.pbxproj:
89206        * rendering/style/BorderValue.h:
89207        * rendering/style/CollapsedBorderValue.h:
89208        * rendering/style/RenderStyle.h:
89209        * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
89210        (WebCore::):
89211        * rendering/style/StyleCachedImage.h:
89212        * rendering/style/StyleGeneratedImage.h:
89213        * rendering/style/StyleImage.h:
89214
892152008-09-17  Steve Falkenburg  <sfalken@apple.com>
89216
89217        Add back isFrameView check to fix failed assertion during scroll bar teardown.
89218
89219        Reviewed by Dave Hyatt.
89220
89221        * platform/Scrollbar.cpp:
89222        (WebCore::Scrollbar::setParent):
89223
892242008-09-17  Brady Eidson  <beidson@apple.com>
89225
89226        Reviewed by Mac build fix
89227
89228        * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
89229
892302008-09-17  Steve Falkenburg  <sfalken@apple.com>
89231
89232        Fix build.
89233
89234        * platform/win/ScrollViewWin.cpp:
89235        (WebCore::ScrollView::setParentVisible):
89236        * plugins/win/PluginViewWin.cpp:
89237        (WebCore::PluginView::init):
89238
892392008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
89240
89241        Reviewed by Simon.
89242
89243        [QtWebKit] Implement error handling in TextCodecQt::decode
89244        Use the QTextCodec parsing state to set the sawError out variable. This
89245        is needed to pass Test 70 of acid3. The test case for this bug is
89246        fast/encoding/invalid-xml.html that is now partially passed. To pass
89247        it completely the Qt text codecs need to be adjusted to have proper
89248        error handling.
89249
89250        * platform/text/qt/TextCodecQt.cpp:
89251        (WebCore::TextCodecQt::decode):
89252
892532008-09-17  Sam Weinig  <sam@webkit.org>
89254
89255        Rubber-stamped by Dave Hyatt.
89256
89257        Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
89258        out of RenderStyle.h/cpp
89259
89260        * GNUmakefile.am:
89261        * WebCore.pro:
89262        * WebCore.vcproj/WebCore.vcproj:
89263        * WebCore.xcodeproj/project.pbxproj:
89264        * WebCoreSources.bkl:
89265        * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
89266        (WebCore::BorderData::hasBorderRadius):
89267        (WebCore::BorderData::borderLeftWidth):
89268        (WebCore::BorderData::borderRightWidth):
89269        (WebCore::BorderData::borderTopWidth):
89270        (WebCore::BorderData::borderBottomWidth):
89271        (WebCore::BorderData::operator!=):
89272        * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
89273        (WebCore::):
89274        (WebCore::BorderValue::BorderValue):
89275        (WebCore::BorderValue::nonZero):
89276        (WebCore::BorderValue::isTransparent):
89277        (WebCore::BorderValue::isVisible):
89278        * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
89279        (WebCore::):
89280        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
89281        (WebCore::CollapsedBorderValue::operator==):
89282        * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
89283        (WebCore::OutlineValue::OutlineValue):
89284        * rendering/style/RenderStyle.cpp:
89285        * rendering/style/RenderStyle.h:
89286        * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
89287        * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
89288        (WebCore::StyleSurroundData::operator!=):
89289
892902008-09-17  Beth Dakin  <bdakin@apple.com>
89291
89292        Reviewed by Darin Adler.
89293
89294        This is a better fix for: Invalid CSS code crashes Safari
89295        https://bugs.webkit.org/show_bug.cgi?id=20512
89296
89297        The spec indicates that the only valid input for a counter is a
89298        number or an identifier. So that is exactly what we allow.
89299
89300        * css/CSSParser.cpp:
89301        (WebCore::CSSParser::parseCounterContent):
89302
893032008-09-17  Alp Toker  <alp@nuanti.com>
89304
89305        GTK+ build fix. Adapt to use PlatformWidget functions.
89306
89307        * platform/gtk/ScrollViewGtk.cpp:
89308        (WebCore::ScrollViewScrollbar::geometryChanged):
89309        (WebCore::ScrollView::addChild):
89310        (WebCore::ScrollView::removeChild):
89311        * platform/gtk/ScrollbarGtk.cpp:
89312        (ScrollbarGtk::ScrollbarGtk):
89313        (ScrollbarGtk::~ScrollbarGtk):
89314        (ScrollbarGtk::geometryChanged):
89315
893162008-09-17  Sam Weinig  <sam@webkit.org>
89317
89318        Reviewed by Adele Peterson.
89319
89320        Patch for <rdar://problem/6133884>
89321        Calling window.resizeTo() on a subframe shouldn't change the window size
89322
89323        Test: fast/dom/Window/window-resize-and-move-sub-frame.html
89324
89325        * page/DOMWindow.cpp:
89326        (WebCore::DOMWindow::moveBy):
89327        (WebCore::DOMWindow::moveTo):
89328        (WebCore::DOMWindow::resizeBy):
89329        (WebCore::DOMWindow::resizeTo):
89330
893312008-09-17  Beth Dakin  <bdakin@apple.com>
89332
89333        Reviewed by Adam Roben.
89334
89335        Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
89336        code crashes Safari
89337        and corresponding: <rdar://problem/6173832>
89338
89339        Reading through the spec, it seems like a function is not valid
89340        input for a counter. So this patch checks for that and bails in the
89341        case of invalid input.
89342
89343        * css/CSSParser.cpp:
89344        (WebCore::CSSParser::parseCounterContent):
89345
893462008-09-17  Greg Bolsinga  <bolsinga@apple.com>
89347
89348        Reviewed by Antti Koivisto.
89349
89350        Fix <rdar://problem/6227089>
89351        Crash in WebCore::Frame::setNeedsReapplyStyles()
89352
89353        View is null checked elsewhere too.
89354
89355        * page/Frame.cpp:
89356        (WebCore::Frame::setNeedsReapplyStyles):
89357
893582008-09-17  David Hyatt  <hyatt@apple.com>
89359
89360        Make the notion of having a native widget backing a Widget cross-platform.
89361        The PlatformWidget abstraction (which already existed) is used for this.
89362             Windows = HWND
89363             Qt = QWidget
89364             Mac = NSView
89365             wx = wxWindow
89366             Gtk = GtkWidget
89367
89368        There are new cross-platform methods that replace all of the unique
89369        platform-specific methods.
89370             platformWidget()
89371             setPlatformWidget()
89372
89373        For plugins, on every platform except Qt on Windows, the plugin's native
89374        widget is now stored in the Widget base class.  Since Qt on Windows uses
89375        HWNDs for plugins instead of QWidget, it is the only platform to keep the
89376        m_window variable in PluginView.
89377
89378        Reviewed by Sam Weinig
89379
89380        * WebCore.base.exp:
89381        * bindings/js/ScriptControllerMac.mm:
89382        (WebCore::ScriptController::createScriptInstanceForWidget):
89383        * page/mac/AccessibilityObjectWrapper.mm:
89384        (-[AccessibilityObjectWrapper attachmentView]):
89385        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
89386        * page/mac/EventHandlerMac.mm:
89387        (WebCore::EventHandler::passMouseDownEventToWidget):
89388        (WebCore::EventHandler::mouseDownViewIfStillGood):
89389        (WebCore::EventHandler::passWheelEventToWidget):
89390        (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
89391        * platform/Widget.cpp:
89392        (WebCore::Widget::init):
89393        (WebCore::Widget::setParent):
89394        (WebCore::Widget::releasePlatformWidget):
89395        (WebCore::Widget::retainPlatformWidget):
89396        * platform/Widget.h:
89397        (WebCore::Widget::platformWidget):
89398        (WebCore::Widget::setPlatformWidget):
89399        * platform/gtk/WidgetGtk.cpp:
89400        (WebCore::Widget::Widget):
89401        (WebCore::Widget::setFocus):
89402        (WebCore::gdkDrawable):
89403        (WebCore::Widget::setCursor):
89404        (WebCore::Widget::show):
89405        (WebCore::Widget::hide):
89406        (WebCore::Widget::setEnabled):
89407        (WebCore::Widget::isEnabled):
89408        (WebCore::Widget::paint):
89409        * platform/mac/PlatformScreenMac.mm:
89410        (WebCore::screenRect):
89411        (WebCore::screenAvailableRect):
89412        * platform/mac/ScrollViewMac.mm:
89413        (WebCore::ScrollView::scrollView):
89414        (WebCore::ScrollView::update):
89415        (WebCore::ScrollView::inWindow):
89416        * platform/mac/ScrollbarMac.mm:
89417        (WebCore::ScrollbarMac::ScrollbarMac):
89418        (WebCore::ScrollbarMac::~ScrollbarMac):
89419        (WebCore::ScrollbarMac::updateThumbPosition):
89420        (WebCore::ScrollbarMac::updateThumbProportion):
89421        (WebCore::ScrollbarMac::scrollbarHit):
89422        * platform/mac/WidgetMac.mm:
89423        (WebCore::Widget::Widget):
89424        (WebCore::Widget::setEnabled):
89425        (WebCore::Widget::isEnabled):
89426        (WebCore::Widget::setFocus):
89427        (WebCore::Widget::getOuterView):
89428        (WebCore::Widget::paint):
89429        (WebCore::Widget::invalidate):
89430        (WebCore::Widget::invalidateRect):
89431        (WebCore::Widget::setIsSelected):
89432        (WebCore::Widget::releasePlatformWidget):
89433        (WebCore::Widget::retainPlatformWidget):
89434        * platform/qt/WidgetQt.cpp:
89435        (WebCore::WidgetPrivate::WidgetPrivate):
89436        (WebCore::Widget::Widget):
89437        (WebCore::Widget::setFrameGeometry):
89438        (WebCore::Widget::show):
89439        (WebCore::Widget::hide):
89440        (WebCore::Widget::isEnabled):
89441        (WebCore::Widget::setEnabled):
89442        (WebCore::Widget::invalidateRect):
89443        (WebCore::Widget::containingWindow):
89444        * platform/win/WidgetWin.cpp:
89445        (WebCore::Widget::Widget):
89446        * platform/wx/WidgetWx.cpp:
89447        (WebCore::Widget::Widget):
89448        (WebCore::Widget::frameGeometry):
89449        (WebCore::Widget::setFocus):
89450        (WebCore::Widget::setCursor):
89451        (WebCore::Widget::show):
89452        (WebCore::Widget::hide):
89453        (WebCore::Widget::setFrameGeometry):
89454        (WebCore::Widget::setEnabled):
89455        (WebCore::Widget::isEnabled):
89456        (WebCore::Widget::invalidate):
89457        (WebCore::Widget::invalidateRect):
89458        (WebCore::Widget::paint):
89459        * plugins/PluginView.cpp:
89460        (WebCore::PluginView::PluginView):
89461        * plugins/PluginView.h:
89462        (WebCore::PluginView::platformPluginWidget):
89463        * plugins/gtk/PluginViewGtk.cpp:
89464        (WebCore::PluginView::updateWindow):
89465        (WebCore::PluginView::setFocus):
89466        (WebCore::PluginView::show):
89467        (WebCore::PluginView::hide):
89468        (WebCore::PluginView::setParent):
89469        (WebCore::PluginView::setNPWindowRect):
89470        (WebCore::PluginView::setParentVisible):
89471        (WebCore::PluginView::getValue):
89472        (WebCore::PluginView::forceRedraw):
89473        (WebCore::PluginView::init):
89474        * plugins/qt/PluginViewQt.cpp:
89475        (WebCore::PluginView::updateWindow):
89476        (WebCore::PluginView::setFocus):
89477        (WebCore::PluginView::show):
89478        (WebCore::PluginView::hide):
89479        (WebCore::PluginView::setParent):
89480        (WebCore::PluginView::setNPWindowRect):
89481        (WebCore::PluginView::setParentVisible):
89482        (WebCore::PluginView::getValue):
89483        (WebCore::PluginView::~PluginView):
89484        (WebCore::PluginView::init):
89485        * plugins/win/PluginViewWin.cpp:
89486        (WebCore::PluginView::updateWindow):
89487        (WebCore::PluginView::setFocus):
89488        (WebCore::PluginView::show):
89489        (WebCore::PluginView::hide):
89490        (WebCore::PluginView::paint):
89491        (WebCore::PluginView::setParent):
89492        (WebCore::PluginView::setParentVisible):
89493        (WebCore::PluginView::setNPWindowRect):
89494        (WebCore::PluginView::stop):
89495        (WebCore::PluginView::invalidateRect):
89496        (WebCore::PluginView::forceRedraw):
89497        (WebCore::PluginView::~PluginView):
89498        (WebCore::PluginView::init):
89499
895002008-09-17  Sam Weinig  <sam@webkit.org>
89501
89502        Fix assert.
89503
89504        * platform/Widget.cpp:
89505        (WebCore::Widget::setParent):
89506
895072008-09-17  David Hyatt  <hyatt@apple.com>
89508
89509        Beginnings of Widget refactoring (in order to make the mixing of
89510        widgets with and without corresponding native widgets more cross-platform).
89511
89512        This first patch makes the concept of a parent ScrollView cross-platform.
89513
89514        Note the similarity of the show/hide methods on the three PluginViews.  This
89515        will be refactored better in a later patch so that they can all share
89516        a base class Widget show/hide method.  For now the changes were made
89517        simply to be able to bring WidgetWin's setParent method up into Widget.
89518
89519        Reviewed by Sam Weinig
89520
89521        * WebCore.base.exp:
89522        * platform/ScrollView.h:
89523        * platform/Widget.cpp:
89524        (WebCore::Widget::init):
89525        (WebCore::Widget::setParent):
89526        * platform/Widget.h:
89527        (WebCore::Widget::isSelfVisible):
89528        (WebCore::Widget::isParentVisible):
89529        (WebCore::Widget::isVisible):
89530        (WebCore::Widget::setParentVisible):
89531        (WebCore::Widget::isPluginView):
89532        (WebCore::Widget::parent):
89533        (WebCore::Widget::handleEvent):
89534        (WebCore::Widget::geometryChanged):
89535        * platform/gtk/WidgetGtk.cpp:
89536        (WebCore::Widget::Widget):
89537        * platform/mac/ScrollViewMac.mm:
89538        (WebCore::ScrollView::addChild):
89539        (WebCore::ScrollView::removeChild):
89540        * platform/mac/ScrollbarMac.mm:
89541        (WebCore::ScrollbarMac::~ScrollbarMac):
89542        * platform/mac/WidgetMac.mm:
89543        (WebCore::Widget::Widget):
89544        (WebCore::Widget::~Widget):
89545        * platform/qt/WidgetQt.cpp:
89546        (WebCore::WidgetPrivate::WidgetPrivate):
89547        (WebCore::Widget::Widget):
89548        (WebCore::Widget::topLevel):
89549        * platform/win/ScrollViewWin.cpp:
89550        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
89551        (WebCore::ScrollView::setAncestorVisible):
89552        (WebCore::ScrollView::show):
89553        (WebCore::ScrollView::hide):
89554        * platform/win/WidgetWin.cpp:
89555        (WebCore::Widget::Widget):
89556        (WebCore::Widget::setParent):
89557        * platform/wx/WidgetWx.cpp:
89558        (WebCore::Widget::Widget):
89559        * plugins/PluginView.cpp:
89560        (WebCore::PluginView::PluginView):
89561        * plugins/PluginView.h:
89562        * plugins/gtk/PluginViewGtk.cpp:
89563        (WebCore::PluginView::show):
89564        (WebCore::PluginView::hide):
89565        (WebCore::PluginView::setParentVisible):
89566        * plugins/qt/PluginViewQt.cpp:
89567        (WebCore::PluginView::show):
89568        (WebCore::PluginView::hide):
89569        (WebCore::PluginView::setParentVisible):
89570        * plugins/win/PluginViewWin.cpp:
89571        (WebCore::PluginView::show):
89572        (WebCore::PluginView::hide):
89573        (WebCore::PluginView::setParentVisible):
89574
895752008-09-17  Alexey Proskuryakov  <ap@webkit.org>
89576
89577        Reviewed by Adam Roben.
89578
89579        <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
89580
89581        * platform/text/TextCodecICU.cpp:
89582        (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
89583
895842008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
89585
89586        Fix the QtWebKit/Mac build
89587
89588        * platform/qt/ScrollViewQt.cpp: add include
89589
895902008-09-17  David Hyatt  <hyatt@apple.com>
89591
89592        Add a #define to control whether or not to use an NSScroller on Mac.
89593        This ifdef will allow the new NSView-less NSScroller on Mac to be
89594        developed side by side with the current one.
89595
89596        The new scroller paints a debug red if turned on (although due to
89597        Widget issues you won't see anything paint yet).
89598
89599        Reviewed by olliej
89600
89601        * platform/Scrollbar.cpp:
89602        * platform/Scrollbar.h:
89603        * platform/mac/ScrollbarMac.h:
89604        * platform/mac/ScrollbarMac.mm:
89605        * platform/mac/ScrollbarThemeMac.cpp:
89606        (WebCore::ScrollbarThemeMac::paint):
89607        * platform/mac/ScrollbarThemeMac.h:
89608
896092008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
89610
89611        Reviewed by Alp Toker.
89612
89613        http://bugs.webkit.org/show_bug.cgi?id=20854
89614        [GTK] Windows can be not realized in ScrollView::update
89615
89616        Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
89617
89618        * platform/gtk/ScrollViewGtk.cpp:
89619        (WebCore::ScrollView::update):
89620
896212008-09-16  Alp Toker  <alp@nuanti.com>
89622
89623        Suggested by Dave Hyatt.
89624
89625        Build fix and cleanup. Rename ScrollBar to Scrollbar.
89626
89627        * GNUmakefile.am:
89628        * WebCore.pro:
89629        * WebCore.vcproj/WebCore.vcproj:
89630        * WebCore.xcodeproj/project.pbxproj:
89631        * WebCoreSources.bkl:
89632        * editing/EditorCommand.cpp:
89633        * page/EventHandler.cpp:
89634        * page/gtk/EventHandlerGtk.cpp:
89635        * page/mac/EventHandlerMac.mm:
89636        * page/mac/FrameMac.mm:
89637        * page/qt/EventHandlerQt.cpp:
89638        * page/wx/EventHandlerWx.cpp:
89639        * platform/PopupMenu.h:
89640        * platform/ScrollBar.cpp: Removed.
89641        * platform/ScrollBar.h: Removed.
89642        * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
89643        * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
89644        * platform/gtk/ScrollbarGtk.cpp:
89645        (ScrollbarGtk::ScrollbarGtk):
89646        * platform/gtk/ScrollbarGtk.h:
89647        * platform/mac/ScrollbarMac.h:
89648        * platform/qt/ScrollViewQt.cpp:
89649        * platform/qt/ScrollbarQt.cpp:
89650        * platform/qt/ScrollbarThemeQt.cpp:
89651        * platform/win/PlatformScrollBar.h:
89652        * platform/win/PopupMenuWin.cpp:
89653        * platform/win/ScrollViewWin.cpp:
89654        * platform/win/ScrollbarThemeWin.cpp:
89655        * platform/wx/ScrollViewWx.cpp:
89656        * platform/wx/TemporaryLinkStubs.cpp:
89657        * rendering/HitTestResult.cpp:
89658        * rendering/RenderLayer.cpp:
89659        * rendering/RenderTextControl.cpp:
89660
896612008-09-16  David Hyatt  <hyatt@apple.com>
89662
89663        Fix Qt build bustage by making moveThumb a member of Scrollbar so that
89664        it can be called from ScrollbarQt.
89665
89666        * platform/ScrollBar.cpp:
89667        (WebCore::Scrollbar::moveThumb):
89668        (WebCore::Scrollbar::handleMouseMoveEvent):
89669        (WebCore::Scrollbar::handleMousePressEvent):
89670        * platform/ScrollBar.h:
89671        * platform/qt/ScrollViewQt.cpp:
89672        * platform/qt/ScrollbarQt.cpp:
89673        (WebCore::Scrollbar::handleContextMenuEvent):
89674
896752008-09-16  David Hyatt  <hyatt@apple.com>
89676
89677        Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
89678        native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
89679        now just use Scrollbar.
89680
89681        Reviewed by Sam Weinig
89682
89683        * GNUmakefile.am:
89684        * WebCore.pro:
89685        * WebCore.vcproj/WebCore.vcproj:
89686        * WebCore.xcodeproj/project.pbxproj:
89687        * page/mac/FrameMac.mm:
89688        * platform/PopupMenu.h:
89689        (WebCore::PopupMenu::scrollbar):
89690        * platform/ScrollBar.cpp:
89691        (WebCore::createNativeScrollbar):
89692        * platform/ScrollBar.h:
89693        * platform/gtk/PlatformScrollBar.h: Removed.
89694        * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
89695        * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
89696        (gtkScrollEventCallback):
89697        (ScrollbarGtk::ScrollbarGtk):
89698        (ScrollbarGtk::~ScrollbarGtk):
89699        (ScrollbarGtk::updateThumbPosition):
89700        (ScrollbarGtk::updateThumbProportion):
89701        (ScrollbarGtk::setFrameGeometry):
89702        (ScrollbarGtk::geometryChanged):
89703        (ScrollbarGtk::gtkValueChanged):
89704        * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
89705        * platform/mac/PlatformScrollBar.h: Removed.
89706        * platform/mac/PlatformScrollBarMac.mm: Removed.
89707        * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
89708        * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
89709        (-[WebCoreScrollBar initWithScrollbarMac:]):
89710        (-[WebCoreScrollBar detachScrollbarMac]):
89711        (WebCore::Scrollbar::createNativeScrollbar):
89712        (WebCore::ScrollbarMac::ScrollbarMac):
89713        (WebCore::ScrollbarMac::~ScrollbarMac):
89714        (WebCore::ScrollbarMac::updateThumbPosition):
89715        (WebCore::ScrollbarMac::updateThumbProportion):
89716        (WebCore::ScrollbarMac::scrollbarHit):
89717        * platform/qt/PlatformScrollBar.h: Removed.
89718        * platform/qt/PlatformScrollBarQt.cpp: Removed.
89719        * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
89720        (WebCore::Scrollbar::handleContextMenuEvent):
89721        * rendering/HitTestResult.cpp:
89722        * rendering/RenderLayer.cpp:
89723        (WebCore::RenderLayer::createScrollbar):
89724        (WebCore::RenderLayer::destroyScrollbar):
89725        * rendering/RenderLayer.h:
89726        * rendering/RenderListBox.cpp:
89727        (WebCore::RenderListBox::~RenderListBox):
89728        (WebCore::RenderListBox::updateFromElement):
89729        (WebCore::RenderListBox::isPointInOverflowControl):
89730        * rendering/RenderObject.h:
89731        * rendering/RenderTextControl.cpp:
89732
897332008-09-16  David Hyatt  <hyatt@apple.com>
89734
89735        Make the scrollbar resizer-dodging logic cross-platform in the
89736        Scrollbar class.
89737
89738        Reviewed by Sam Weinig
89739
89740        * platform/ScrollBar.cpp:
89741        (WebCore::Scrollbar::setFrameGeometry):
89742        (WebCore::Scrollbar::setParent):
89743        (WebCore::Scrollbar::windowClipRect):
89744        * platform/ScrollBar.h:
89745        * platform/ScrollView.h:
89746        (WebCore::ScrollView::windowResizerRect):
89747        (WebCore::ScrollView::resizerOverlapsContent):
89748        (WebCore::ScrollView::adjustOverlappingScrollbarCount):
89749        * platform/Widget.h:
89750        (WebCore::Widget::setParent):
89751        * platform/mac/WidgetMac.mm:
89752        (WebCore::Widget::convertToContainingWindow):
89753        * platform/win/PlatformScrollBar.h:
89754        * platform/win/PlatformScrollBarWin.cpp:
89755
897562008-09-16  Dan Bernstein  <mitz@apple.com>
89757
89758        Reviewed by Darin Adler.
89759
89760        - fix https://bugs.webkit.org/show_bug.cgi?id=15129
89761          <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
89762
89763        Covered by fast/repaint/4776765.html
89764
89765        * rendering/RenderBlock.cpp:
89766        (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
89767        did not have layout in the beginning.
89768        (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
89769        layout in the beginning, repaint it in its new position, to compensate
89770        for the above (regardless of whether it "moved").
89771        * rendering/RenderObject.cpp:
89772        (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
89773        about generalizing this fix in the future.
89774
897752008-09-16  Dan Bernstein  <mitz@apple.com>
89776
89777        Reviewed by Dave Hyatt.
89778
89779        - fix https://bugs.webkit.org/show_bug.cgi?id=15384
89780          Div does not notice when grandparent changes height
89781
89782        Test: fast/block/basic/quirk-percent-height-grandchild.html
89783
89784        - fix https://bugs.webkit.org/show_bug.cgi?id=20714
89785          Resizing Gmail inbox vertically results in whitespace at the bottom of the window
89786
89787        Test: fast/replaced/percent-height-in-anonymous-block.html
89788
89789        Added a two-way mapping between boxes with percentage heights and
89790        their non-parent ancestors up to the one the height is computed relative
89791        to. In quirks mode (the first bug), this can be any number of containing
89792        block with auto height. In strict mode (the second bug) this can be
89793        the containing block of an anonymous block containing a replaced
89794        element.
89795
89796        * rendering/RenderBlock.cpp:
89797        (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
89798        mapping to/from this block to percentage-height descendants.
89799        (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
89800        percentage-height descendants (and their containing block ancestry chain
89801        up to this block) for layout. This ensures that those descendants whose
89802        height depends on the height of this block (or an ancestor) are updated.
89803        (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
89804        a two-way mapping between this block and the given box.
89805        (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
89806        all the mapping to/from this box.
89807        * rendering/RenderBlock.h:
89808        * rendering/RenderBox.cpp:
89809        (WebCore::RenderBox::setStyle): Added calls to
89810        removePercentHeightDescendant() when style changes and the box
89811        previously had a percentage height. An exception is when the style
89812        change does not require layout, in which case the box still has
89813        a percentage height and the mappings are valid. In all other cases,
89814        any required mappings will be (re-)established during layout.
89815        (WebCore::RenderBox::destroy): Added a call to
89816        removePercentHeightDescendant.
89817        (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
89818        mode, if a higher-than-parent containing block is affecting the box's
89819        height, creates a mapping between the box and that block.
89820        (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
89821        anonymous containing blocks, if any, and when that happens, use
89822        addPercentHeightDescendant() to ensure that the non-anonymous block
89823        is aware of the dependent percent-height box.
89824
898252008-09-16  Dirk Schulze  <vbs85@gmx.de>
89826
89827        Reviewed by Oliver Hunt and Alp Toker.
89828
89829        Implemented toDataURL in Cairo. Only PNG support
89830        at the moment.
89831
89832        Qt, Cairo and wx require toDataURL implementations
89833        https://bugs.webkit.org/show_bug.cgi?id=17719
89834
89835        * platform/MIMETypeRegistry.cpp:
89836        (WebCore::initializeSupportedImageMIMETypesForEncoding):
89837        * platform/graphics/cairo/ImageBufferCairo.cpp:
89838        (WebCore::ImageBuffer::ImageBuffer):
89839        (WebCore::writeFunction):
89840        (WebCore::ImageBuffer::toDataURL):
89841
898422008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
89843
89844        Reviewed by Simon.
89845
89846        Hide unused media element controls in the QtWebKit port
89847
89848        * platform/qt/html4-adjustments-qt.css
89849
898502008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
89851
89852        Reviewed by Simon.
89853
89854        Fix compilation of the Qt scrollbar code.
89855
89856        * platform/qt/PlatformScrollBarQt.cpp:
89857        (WebCore::scPart):
89858        (WebCore::styleOptionSlider):
89859        (WebCore::thumbLength):
89860        (WebCore::pixelPosToRangeValue):
89861        (WebCore::PlatformScrollbar::handleContextMenuEvent):
89862
898632008-09-16  Adam Treat  <treat@kde.org>
89864
89865        Reviewed by Anders Carlsson.
89866
89867        Prevent accesses off of the end of the buffer introduced in r36450
89868        and when checking for descriptions of mime. Also, coding style fix.
89869
89870        * plugins/qt/PluginPackageQt.cpp:
89871        (WebCore::PluginPackage::fetchInfo):
89872
898732008-09-15  Rob Buis  <buis@kde.org>
89874
89875        Reviewed by Eric.
89876
89877        https://bugs.webkit.org/show_bug.cgi?id=20634
89878        SVG transform attribute is ignored by <use> in <clipPath>
89879
89880        Transform the paths with the local transform when part
89881        of a clip path.
89882
89883        Test: svg/custom/use-clipped-transform.svg
89884
89885        * svg/SVGClipPathElement.cpp:
89886        (WebCore::SVGClipPathElement::canvasResource):
89887        * svg/SVGStyledTransformableElement.cpp:
89888        (WebCore::SVGStyledTransformableElement::toClipPath):
89889        * svg/SVGStyledTransformableElement.h:
89890
898912008-09-15  Dave Hyatt  <hyatt@apple.com>
89892
89893        Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
89894        to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
89895
89896        Reviewed by Sam Weinig
89897
89898        * platform/ScrollBar.cpp:
89899        (WebCore::thumbUnderMouse):
89900        (WebCore::Scrollbar::autoscrollPressedPart):
89901        (WebCore::Scrollbar::startTimerIfNeeded):
89902        (WebCore::moveThumb):
89903        (WebCore::Scrollbar::handleMouseMoveEvent):
89904        (WebCore::Scrollbar::handleMousePressEvent):
89905        * platform/ScrollBar.h:
89906        (WebCore::Scrollbar::pressedPos):
89907        (WebCore::Scrollbar::pixelStep):
89908        (WebCore::Scrollbar::setPressedPos):
89909        * platform/ScrollbarTheme.h:
89910        (WebCore::ScrollbarTheme::thumbPosition):
89911        (WebCore::ScrollbarTheme::thumbLength):
89912        (WebCore::ScrollbarTheme::trackPosition):
89913        (WebCore::ScrollbarTheme::trackLength):
89914        * platform/ScrollbarThemeComposite.cpp:
89915        (WebCore::ScrollbarThemeComposite::trackPosition):
89916        * platform/ScrollbarThemeComposite.h:
89917        * platform/qt/PlatformScrollBarQt.cpp:
89918        (WebCore::PlatformScrollbar::PlatformScrollbar):
89919        (WebCore::):
89920        * platform/qt/ScrollbarThemeQt.cpp:
89921        (WebCore::styleOptionSlider):
89922        (WebCore::ScrollbarThemeQt::hitTest):
89923        (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
89924        (WebCore::ScrollbarThemeQt::invalidatePart):
89925        (WebCore::ScrollbarThemeQt::thumbPosition):
89926        (WebCore::):
89927        * platform/qt/ScrollbarThemeQt.h:
89928        * platform/win/ScrollbarThemeSafari.cpp:
89929        (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
89930        * platform/win/ScrollbarThemeSafari.h:
89931        * platform/win/ScrollbarThemeWin.cpp:
89932        (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
89933        * platform/win/ScrollbarThemeWin.h:
89934
899352008-09-15  David Smith  <catfish.man@gmail.com>
89936
89937        Reviewed by Sam Weinig.
89938
89939        https://bugs.webkit.org/show_bug.cgi?id=20180
89940
89941        Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
89942
89943        * GNUmakefile.am: Add CSSNthSelector
89944        * WebCore.pro: Add CSSNthSelector
89945        * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
89946        * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
89947        * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
89948        * css/CSSNthSelector.cpp: Added.
89949        (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
89950        (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
89951        * css/CSSNthSelector.h: Added.
89952        (WebCore::CSSNthSelector::CSSNthSelector):
89953        (WebCore::CSSNthSelector::~CSSNthSelector):
89954        * css/CSSParser.cpp:
89955        (WebCore::CSSParser::createFloatingNthSelector):
89956        * css/CSSParser.h:
89957        * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
89958        (WebCore::CSSSelector::CSSSelector):
89959        * css/CSSStyleSelector.cpp:
89960        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
89961
899622008-09-15  Matt Lilek  <webkit@mattlilek.com>
89963
89964        Reviewed by Tim Hatcher.
89965
89966        Clean up some inspector JS callbacks to remove an extra return.
89967
89968        * page/InspectorController.cpp:
89969        (WebCore::hideDOMNodeHighlight):
89970        (WebCore::loaded):
89971        (WebCore::unloading):
89972        (WebCore::attach):
89973        (WebCore::detach):
89974        (WebCore::startDebuggingAndReloadInspectedPage):
89975        (WebCore::stopDebugging):
89976        (WebCore::debuggerAttached):
89977        (WebCore::pauseOnExceptions):
89978        (WebCore::pauseInDebugger):
89979        (WebCore::resumeDebugger):
89980        (WebCore::stepOverStatementInDebugger):
89981        (WebCore::stepIntoStatementInDebugger):
89982        (WebCore::stepOutOfFunctionInDebugger):
89983        (WebCore::isWindowVisible):
89984        (WebCore::closeWindow):
89985
899862008-09-15  Dave Hyatt  <hyatt@apple.com>
89987
89988        Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
89989        now share most of their code.
89990
89991        Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
89992        also is never used in our code anyway.
89993
89994        Reviewed by Sam Weinig
89995
89996        * WebCore.vcproj/WebCore.vcproj:
89997        * platform/ScrollTypes.h:
89998        (WebCore::):
89999        * platform/ScrollbarThemeComposite.cpp:
90000        (WebCore::ScrollbarThemeComposite::splitTrack):
90001        (WebCore::ScrollbarThemeComposite::thumbLength):
90002        (WebCore::ScrollbarThemeComposite::minimumThumbLength):
90003        * platform/ScrollbarThemeComposite.h:
90004        * platform/mac/PlatformScrollBarMac.mm:
90005        (NSControlSizeForScrollBarControlSize):
90006        * platform/win/PlatformScrollBar.h:
90007        * platform/win/PlatformScrollBarSafari.cpp: Removed.
90008        * platform/win/PlatformScrollBarWin.cpp:
90009        (WebCore::PlatformScrollbar::PlatformScrollbar):
90010        * platform/win/ScrollbarThemeSafari.cpp:
90011        (WebCore::ScrollbarTheme::nativeTheme):
90012        (WebCore::):
90013        (WebCore::scrollbarControlStateFromThemeState):
90014        (WebCore::ScrollbarThemeSafari::hasButtons):
90015        (WebCore::ScrollbarThemeSafari::hasThumb):
90016        (WebCore::buttonRepaintRect):
90017        (WebCore::ScrollbarThemeSafari::backButtonRect):
90018        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
90019        (WebCore::trackRepaintRect):
90020        (WebCore::ScrollbarThemeSafari::trackRect):
90021        (WebCore::ScrollbarThemeSafari::minimumThumbLength):
90022        (WebCore::ScrollbarThemeSafari::paintTrack):
90023        (WebCore::ScrollbarThemeSafari::paintButton):
90024        (WebCore::ScrollbarThemeSafari::paintThumb):
90025        * platform/win/ScrollbarThemeSafari.h:
90026        * platform/win/ScrollbarThemeWin.cpp:
90027        * platform/win/ScrollbarThemeWin.h:
90028
900292008-09-15  Chris Fleizach  <cfleizach@apple.com>
90030
90031        Reviewed by Darin Adler, Beth Dakin
90032
90033        <rdar://problem/4003789> Expose lists as AXList
90034        <rdar://problem/5707399> VO: Definition lists not announced in Safari
90035
90036        Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
90037        AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
90038        Inside the definition list, each <dt> "term" has an accessibility description ("term"),
90039        as does each <dd> tag ("definition")
90040
90041        Test: accessibility/lists.html
90042
90043        * GNUmakefile.am:
90044        * WebCore.pro:
90045        * WebCore.vcproj/WebCore.vcproj:
90046        * WebCore.xcodeproj/project.pbxproj:
90047        * WebCoreSources.bkl:
90048        * page/AXObjectCache.cpp:
90049        * page/AccessibilityList.cpp: Added.
90050        * page/AccessibilityList.h: Added.
90051        * page/AccessibilityObject.h:
90052        * page/AccessibilityRenderObject.cpp:
90053        * page/AccessibilityTable.cpp:
90054        * page/mac/AccessibilityObjectWrapper.mm:
90055        * page/mac/WebCoreViewFactory.h:
90056        * platform/LocalizedStrings.h:
90057        * platform/mac/LocalizedStringsMac.mm:
90058        * platform/qt/Localizations.cpp:
90059
900602008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
90061
90062        Reviewed by Eric.
90063
90064        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
90065        Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
90066
90067        Several renames:
90068        dispatchHTMLEvent -> dispatchEventForType
90069        setHTMLEventListener -> setEventListenerForType
90070        getHTMLEventListener -> eventListenerForType
90071        removeHTMLEventListener -> removeEventListenerForType
90072        isHTMLEventListener -> isAttachedToEventTargetNode
90073        ...
90074
90075        Similar renames for the dispatch/get/set/*Window*Event functions.
90076        Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
90077
90078        Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
90079        as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
90080
90081        setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
90082        SVG is able to use the code as well now. This affects most files in html/.
90083
90084        No functional changes.
90085
90086        * GNUmakefile.am:
90087        * WebCore.pro:
90088        * WebCore.vcproj/WebCore.vcproj:
90089        * WebCore.xcodeproj/project.pbxproj:
90090        * bindings/js/JSDOMWindowBase.cpp:
90091        (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
90092        (WebCore::JSDOMWindowBase::setListener):
90093        (WebCore::JSDOMWindowBase::getListener):
90094        (WebCore::JSDOMWindowBase::findJSEventListener):
90095        (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
90096        (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
90097        (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
90098        (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
90099        (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
90100        * bindings/js/JSDOMWindowBase.h:
90101        * bindings/js/JSEventListener.cpp:
90102        (WebCore::JSAbstractEventListener::handleEvent):
90103        (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
90104        (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
90105        (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
90106        (WebCore::JSEventListener::JSEventListener):
90107        (WebCore::JSEventListener::~JSEventListener):
90108        (WebCore::JSLazyEventListener::JSLazyEventListener):
90109        (WebCore::eventParameterName):
90110        (WebCore::JSLazyEventListener::parseCode):
90111        (WebCore::getNodeEventListener):
90112        * bindings/js/JSEventListener.h:
90113        (WebCore::JSAbstractEventListener::JSAbstractEventListener):
90114        (WebCore::JSUnprotectedEventListener::create):
90115        (WebCore::JSEventListener::create):
90116        (WebCore::JSLazyEventListener::):
90117        (WebCore::JSLazyEventListener::create):
90118        * bindings/js/JSEventTargetNode.cpp:
90119        (WebCore::JSEventTargetNode::setListener):
90120        (WebCore::JSEventTargetNode::getListener):
90121        * bindings/js/JSSVGLazyEventListener.cpp: Removed.
90122        * bindings/js/JSSVGLazyEventListener.h: Removed.
90123        * bindings/js/ScriptController.cpp:
90124        (WebCore::ScriptController::createHTMLEventHandler):
90125        (WebCore::ScriptController::createSVGEventHandler):
90126        * dom/Document.cpp:
90127        (WebCore::Document::setFocusedNode):
90128        (WebCore::Document::handleWindowEvent):
90129        (WebCore::Document::setWindowEventListenerForType):
90130        (WebCore::Document::windowEventListenerForType):
90131        (WebCore::Document::removeWindowEventListenerForType):
90132        (WebCore::Document::addWindowEventListener):
90133        (WebCore::Document::hasWindowEventListener):
90134        (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
90135        (WebCore::Document::createEventListener):
90136        (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
90137        * dom/Document.h:
90138        * dom/EventListener.h:
90139        (WebCore::EventListener::isAttachedToEventTargetNode):
90140        * dom/EventTargetNode.cpp:
90141        (WebCore::EventTargetNode::dispatchFocusEvent):
90142        (WebCore::EventTargetNode::dispatchBlurEvent):
90143        (WebCore::EventTargetNode::dispatchEventForType):
90144        (WebCore::EventTargetNode::removeEventListenerForType):
90145        (WebCore::EventTargetNode::setEventListenerForType):
90146        (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
90147        (WebCore::EventTargetNode::eventListenerForType):
90148        * dom/EventTargetNode.h:
90149        * dom/XMLTokenizer.cpp:
90150        (WebCore::XMLTokenizer::notifyFinished):
90151        * editing/ReplaceSelectionCommand.cpp:
90152        (WebCore::ReplacementFragment::ReplacementFragment):
90153        * html/HTMLBodyElement.cpp:
90154        (WebCore::HTMLBodyElement::parseMappedAttribute):
90155        * html/HTMLButtonElement.cpp:
90156        (WebCore::HTMLButtonElement::parseMappedAttribute):
90157        * html/HTMLElement.cpp:
90158        (WebCore::HTMLElement::parseMappedAttribute):
90159        (WebCore::HTMLElement::checkDTD):
90160        * html/HTMLElement.h:
90161        * html/HTMLFormControlElement.cpp:
90162        (WebCore::HTMLFormControlElement::onChange):
90163        * html/HTMLFormElement.cpp:
90164        (WebCore::HTMLFormElement::prepareSubmit):
90165        (WebCore::HTMLFormElement::reset):
90166        (WebCore::HTMLFormElement::parseMappedAttribute):
90167        * html/HTMLFrameElementBase.cpp:
90168        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
90169        * html/HTMLFrameSetElement.cpp:
90170        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
90171        * html/HTMLImageElement.cpp:
90172        (WebCore::HTMLImageElement::parseMappedAttribute):
90173        * html/HTMLImageLoader.cpp:
90174        (WebCore::HTMLImageLoader::dispatchLoadEvent):
90175        * html/HTMLInputElement.cpp:
90176        (WebCore::HTMLInputElement::parseMappedAttribute):
90177        (WebCore::HTMLInputElement::setValueFromRenderer):
90178        (WebCore::HTMLInputElement::onSearch):
90179        * html/HTMLMediaElement.cpp:
90180        (WebCore::HTMLMediaElement::asyncEventTimerFired):
90181        (WebCore::HTMLMediaElement::load):
90182        (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
90183        (WebCore::HTMLMediaElement::setReadyState):
90184        (WebCore::HTMLMediaElement::seek):
90185        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
90186        (WebCore::HTMLMediaElement::willSaveToCache):
90187        * html/HTMLObjectElement.cpp:
90188        (WebCore::HTMLObjectElement::parseMappedAttribute):
90189        * html/HTMLScriptElement.cpp:
90190        (WebCore::HTMLScriptElement::parseMappedAttribute):
90191        (WebCore::HTMLScriptElement::dispatchLoadEvent):
90192        (WebCore::HTMLScriptElement::dispatchErrorEvent):
90193        * html/HTMLSelectElement.cpp:
90194        (WebCore::HTMLSelectElement::parseMappedAttribute):
90195        * html/HTMLTextAreaElement.cpp:
90196        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
90197        * html/HTMLTokenizer.cpp:
90198        (WebCore::HTMLTokenizer::notifyFinished):
90199        * page/AccessibilityRenderObject.cpp:
90200        (WebCore::AccessibilityRenderObject::mouseButtonListener):
90201        * page/EventHandler.cpp:
90202        (WebCore::EventHandler::canMouseDownStartSelect):
90203        (WebCore::EventHandler::canMouseDragExtendSelect):
90204        * page/Frame.cpp:
90205        (WebCore::Frame::sendScrollEvent):
90206        * page/Page.cpp:
90207        (WebCore::networkStateChanged):
90208        * rendering/RenderListBox.cpp:
90209        (WebCore::RenderListBox::valueChanged):
90210        * rendering/RenderTextControl.cpp:
90211        (WebCore::RenderTextControl::selectionChanged):
90212        * svg/SVGDocumentExtensions.cpp:
90213        * svg/SVGDocumentExtensions.h:
90214        * svg/SVGElement.cpp:
90215        (WebCore::SVGElement::parseMappedAttribute):
90216        (WebCore::SVGElement::finishParsingChildren):
90217        * svg/SVGElement.h:
90218        * svg/SVGSVGElement.cpp:
90219        (WebCore::SVGSVGElement::parseMappedAttribute):
90220        * svg/SVGSVGElement.h:
90221
902222008-09-15  Dave Hyatt  <hyatt@apple.com>
90223
90224        Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
90225        need to be converted.
90226
90227        Reviewed by Sam Weinig
90228
90229        * platform/ScrollBar.cpp:
90230        (WebCore::Scrollbar::Scrollbar):
90231        (WebCore::Scrollbar::updateThumbPosition):
90232        (WebCore::Scrollbar::updateThumbProportion):
90233        (WebCore::Scrollbar::autoscrollPressedPart):
90234        (WebCore::Scrollbar::startTimerIfNeeded):
90235        * platform/ScrollBar.h:
90236        * platform/ScrollbarTheme.h:
90237        (WebCore::ScrollbarTheme::invalidateParts):
90238        * platform/ScrollbarThemeComposite.cpp:
90239        (WebCore::ScrollbarThemeComposite::hitTest):
90240        (WebCore::ScrollbarThemeComposite::invalidatePart):
90241        (WebCore::ScrollbarThemeComposite::thumbPosition):
90242        (WebCore::ScrollbarThemeComposite::thumbLength):
90243        (WebCore::ScrollbarThemeComposite::trackLength):
90244        * platform/ScrollbarThemeComposite.h:
90245        * platform/win/PlatformScrollBarSafari.cpp:
90246        (WebCore::PlatformScrollbar::PlatformScrollbar):
90247        * platform/win/PlatformScrollBarWin.cpp:
90248        (WebCore::PlatformScrollbar::PlatformScrollbar):
90249
902502008-09-15  David Smith  <catfish.man@gmail.com>
90251
90252        "Just do it"'d by Mark Rowe
90253
90254        https://bugs.webkit.org/show_bug.cgi?id=20856
90255        Add missing license header
90256
90257        * dom/NodeRenderStyle.h:
90258
902592008-09-15  Dean Jackson  <dino@apple.com>
90260
90261        Reviewed by Tim Hatcher.
90262
90263        Add default constructor for ShadowData
90264        https://bugs.webkit.org/show_bug.cgi?id=20757
90265
90266        Test: transitions/shadow.html
90267
90268        * rendering/style/RenderStyle.h:
90269
902702008-09-15  Dean Jackson  <dino@apple.com>
90271
90272        Reviewed by Tim Hatcher.
90273
90274        RenderStyle should update keyframes.
90275        http://bugs.webkit.org/show_bug.cgi?id=20756
90276
90277        * rendering/style/RenderStyle.cpp:
90278        (WebCore::StyleRareNonInheritedData::updateKeyframes):
90279
902802008-09-15  Dean Jackson  <dino@apple.com>
90281
90282        Reviewed by Tim Hatcher.
90283
90284        Unnecessary ASSERT in ImplicitAnimation destructor.
90285        https://bugs.webkit.org/show_bug.cgi?id=20817
90286
90287        * page/animation/ImplicitAnimation.cpp:
90288        (WebCore::ImplicitAnimation::~ImplicitAnimation):
90289
902902008-09-15  Adam Treat  <treat@kde.org>
90291
90292        Reviewed by Simon.
90293
90294        Fix plugin extension info. It was returning the mimetype where the
90295        extension was given.
90296
90297        * plugins/qt/PluginPackageQt.cpp:
90298        (WebCore::PluginPackage::fetchInfo):
90299
903002008-09-15  Dean Jackson  <dino@apple.com>
90301
90302        Reviewed by Tim Hatcher
90303
90304        Coding style violation!!!! Cleanup AnimationBase.cpp
90305
90306        * page/animation/AnimationBase.cpp:
90307        (WebCore::blendFunc):
90308
903092008-09-15  David Hyatt  <hyatt@apple.com>
90310
90311        Move all hit testing code for scrollbars into the base class.  Refactor
90312        it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
90313        functions.
90314
90315        No platform is using this code yet.  Although it has been moved and compiles
90316        (even on Mac), it is not being used on any platform.
90317
90318        Reviewed by Sam Weinig
90319
90320        * platform/ScrollBar.cpp:
90321        (WebCore::Scrollbar::autoscrollPressedPart):
90322        (WebCore::Scrollbar::startTimerIfNeeded):
90323        (WebCore::Scrollbar::handleMouseMoveEvent):
90324        (WebCore::Scrollbar::handleMouseOutEvent):
90325        (WebCore::Scrollbar::handleMouseReleaseEvent):
90326        (WebCore::Scrollbar::handleMousePressEvent):
90327        * platform/ScrollBar.h:
90328        (WebCore::Scrollbar::handleContextMenuEvent):
90329        * platform/ScrollbarTheme.h:
90330        (WebCore::ScrollbarTheme::hitTest):
90331        (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
90332        (WebCore::ScrollbarTheme::invalidatePart):
90333        (WebCore::ScrollbarTheme::shouldCenterOnThumb):
90334        (WebCore::ScrollbarTheme::centerOnThumb):
90335        (WebCore::ScrollbarTheme::thumbPosition):
90336        (WebCore::ScrollbarTheme::thumbLength):
90337        (WebCore::ScrollbarTheme::trackLength):
90338        (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
90339        (WebCore::ScrollbarTheme::autoscrollTimerDelay):
90340        * platform/Widget.h:
90341        (WebCore::Widget::parent):
90342        * platform/mac/PlatformScrollBar.h:
90343        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
90344        (WebCore::PlatformScrollbar::handleMouseOutEvent):
90345        (WebCore::PlatformScrollbar::handleMousePressEvent):
90346        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
90347        * platform/mac/WidgetMac.mm:
90348        (WebCore::Widget::convertFromContainingWindow):
90349        * platform/win/ScrollbarThemeWin.cpp:
90350        (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
90351        * platform/win/ScrollbarThemeWin.h:
90352
903532008-09-15  Dan Bernstein  <mitz@apple.com>
90354
90355        Reviewed by Sam Weinig.
90356
90357        - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
90358
90359        Cache the next breakable position for text nodes in InlineIterator.
90360
90361        * rendering/bidi.cpp:
90362        (WebCore::InlineIterator::InlineIterator):
90363        (WebCore::InlineIterator::increment):
90364        (WebCore::RenderBlock::findNextLineBreak):
90365
903662008-09-15  Simon Fraser  <simon.fraser@apple.com>
90367
90368        Reviewed by Dan Bernstein
90369
90370        Fix assertion and integral pixel issue when creating subimages.
90371        https://bugs.webkit.org/show_bug.cgi?id=20786
90372
90373        * platform/graphics/cg/ImageCG.cpp:
90374        (WebCore::BitmapImage::draw):
90375
903762008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
90377
90378        Reviewed by Simon.
90379
90380        Implment seek() and clean up and improve debugging output
90381
90382        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
90383        (debugMediaObject):
90384        (WebCore::MediaPlayerPrivate::seek):
90385        (WebCore::MediaPlayerPrivate::setVolume):
90386        (WebCore::MediaPlayerPrivate::setMuted):
90387        (WebCore::MediaPlayerPrivate::updateStates):
90388        (WebCore::MediaPlayerPrivate::naturalSize):
90389        (WebCore::MediaPlayerPrivate::paint):
90390        (WebCore::MediaPlayerPrivate::stateChanged):
90391        (WebCore::MediaPlayerPrivate::tick):
90392
903932008-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
90394
90395        Reviewed by Simon.
90396
90397        Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
90398
90399        m_mediaObject, m_audioOutput, m_videoWidget get created in the
90400        c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
90401        only check if we use the MediaPlayerPrivate after it has been deleted.
90402
90403        Acked-by: Tor Arne Vestbø  <tavestbo@trolltech.com>
90404
90405        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
90406        (WebCore::MediaPlayerPrivate::play):
90407        (WebCore::MediaPlayerPrivate::setVolume):
90408        (WebCore::MediaPlayerPrivate::updateStates):
90409
904102008-09-15  Anders Carlsson  <andersca@apple.com>
90411
90412        Reviewed by Maciej.
90413
90414        <rdar://problem/6163988>
90415        https://bugs.webkit.org/show_bug.cgi?id=20457
90416        Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
90417
90418        Check the width and height and throw an exception if any of them are 0.
90419
90420        * html/CanvasRenderingContext2D.cpp:
90421        (WebCore::CanvasRenderingContext2D::createPattern):
90422
904232008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
90424
90425        Reviewed by Simon.
90426
90427        Render media element controls with antialiasing enabled
90428
90429        * platform/qt/RenderThemeQt.cpp:
90430        (WebCore::RenderThemeQt::paintMediaMuteButton):
90431        (WebCore::RenderThemeQt::paintMediaPlayButton):
90432        (WebCore::RenderThemeQt::paintMediaSliderTrack):
90433        (WebCore::RenderThemeQt::paintMediaSliderThumb):
90434
904352008-09-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
90436
90437        Reviewed by Simon.
90438
90439        Upon non fatal error, switch to the pause state (so that playback can continue)
90440
90441        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
90442        (WebCore::MediaPlayerPrivate::updateStates):
90443
904442008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
90445
90446        Reviewed by Simon.
90447
90448        Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
90449
90450        * WebCore.pro:
90451
904522008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
90453
90454        Reviewed by Simon.
90455
90456        Make QtInstance::create() private and fix caching
90457
90458        * bindings/js/ScriptControllerQt.cpp:
90459        (WebCore::ScriptController::createScriptInstanceForWidget):
90460        * bridge/qt/qt_instance.cpp:
90461        (JSC::Bindings::QtInstance::getQtInstance):
90462        (JSC::Bindings::QtInstance::getRuntimeObject):
90463        * bridge/qt/qt_instance.h:
90464        (JSC::Bindings::QtInstance::create):
90465        * bridge/qt/qt_runtime.cpp:
90466        (JSC::Bindings::convertQVariantToValue):
90467        (JSC::Bindings::QtConnectionObject::execute):
90468
904692008-09-15  David Smith  <catfish.man@gmail.com>
90470
90471        Reviewed by Dave Hyatt.
90472
90473        https://bugs.webkit.org/show_bug.cgi?id=20180
90474
90475        >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
90476        With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
90477        querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
90478
90479        * css/CSSStyleSelector.cpp:
90480        (WebCore::CSSStyleSelector::CSSStyleSelector):
90481        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
90482        * css/CSSStyleSelector.h:
90483
904842008-09-14  Dave Hyatt  <hyatt@apple.com>
90485
90486        Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin.  PlatformScrollbarSafari
90487        is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
90488
90489        Reviewed by Sam Weinig
90490
90491        * platform/ScrollBar.h:
90492        (WebCore::Scrollbar::client):
90493        (WebCore::Scrollbar::currentPos):
90494        (WebCore::Scrollbar::totalSize):
90495        * platform/ScrollbarTheme.h:
90496        * platform/ScrollbarThemeComposite.cpp:
90497        (WebCore::pageForScrollView):
90498        (WebCore::ScrollbarThemeComposite::paint):
90499        * platform/ScrollbarThemeComposite.h:
90500        (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
90501        * platform/win/PlatformScrollBar.h:
90502        * platform/win/PlatformScrollBarSafari.cpp:
90503        * platform/win/PlatformScrollBarWin.cpp:
90504        * platform/win/ScrollbarThemeSafari.h:
90505        (WebCore::ScrollbarThemeSafari::hasButtons):
90506        (WebCore::ScrollbarThemeSafari::hasThumb):
90507        (WebCore::ScrollbarThemeSafari::backButtonRect):
90508        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
90509        (WebCore::ScrollbarThemeSafari::trackRect):
90510        (WebCore::ScrollbarThemeSafari::splitTrack):
90511        (WebCore::ScrollbarThemeSafari::paintTrack):
90512        (WebCore::ScrollbarThemeSafari::paintButton):
90513        (WebCore::ScrollbarThemeSafari::paintThumb):
90514        * platform/win/ScrollbarThemeWin.cpp:
90515        (WebCore::isRunningOnVistaOrLater):
90516        (WebCore::checkAndInitScrollbarTheme):
90517        (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
90518        (WebCore::ScrollbarThemeWin::themeChanged):
90519        (WebCore::ScrollbarThemeWin::hasThumb):
90520        (WebCore::ScrollbarThemeWin::backButtonRect):
90521        (WebCore::ScrollbarThemeWin::forwardButtonRect):
90522        (WebCore::ScrollbarThemeWin::trackRect):
90523        (WebCore::ScrollbarThemeWin::splitTrack):
90524        (WebCore::ScrollbarThemeWin::paintTrack):
90525        (WebCore::ScrollbarThemeWin::paintButton):
90526        (WebCore::gripperRect):
90527        (WebCore::paintGripper):
90528        (WebCore::ScrollbarThemeWin::paintThumb):
90529        (WebCore::ScrollbarThemeWin::thumbPosition):
90530        (WebCore::ScrollbarThemeWin::thumbLength):
90531        (WebCore::ScrollbarThemeWin::trackLength):
90532        * platform/win/ScrollbarThemeWin.h:
90533        (WebCore::ScrollbarThemeWin::hasButtons):
90534        (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
90535
905362008-09-14  Anthony Ricaud  <rik24d@gmail.com>
90537
90538        Moving all resource graphs under the same container for future scalable feature.
90539        This is a speedup on resize but maybe a loss on changing the sorting function.
90540
90541        https://bugs.webkit.org/show_bug.cgi?id=20555
90542
90543        Reviewed by Timothy Hatcher.
90544
90545        * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
90546        Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
90547        * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
90548
905492008-09-14  Alexey Proskuryakov  <ap@webkit.org>
90550
90551        Reviewed by Maciej Stachowiak.
90552
90553        https://bugs.webkit.org/show_bug.cgi?id=20738
90554        compareBoundaryPoints gives incorrect results
90555
90556        Test: fast/dom/Range/compareBoundaryPoints-2.html
90557
90558        * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
90559        and END_TO_START.
90560        * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
90561
905622008-09-14  Maciej Stachowiak  <mjs@apple.com>
90563
90564        Unreviewed build fix.
90565
90566        Trying again.
90567
90568        * bindings/js/JSQuarantinedObjectWrapper.cpp:
90569        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
90570
905712008-09-14  Maciej Stachowiak  <mjs@apple.com>
90572
90573        Unreviewed build fix.
90574
90575        Blind attempt to fix build. Correct parameters for hasInstance.
90576
90577        * bindings/js/JSQuarantinedObjectWrapper.cpp:
90578        (WebCore::JSQuarantinedObjectWrapper::hasInstance):
90579        * bindings/js/JSQuarantinedObjectWrapper.h:
90580
905812008-09-14  Dan Bernstein  <mitz@apple.com>
90582
90583        Rubber-stamped by Sam Weinig.
90584
90585        - revert <http://trac.webkit.org/changeset/36382> because it exposed
90586          <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
90587          on Tiger.
90588
90589        * platform/graphics/mac/FontCacheMac.mm:
90590        (WebCore::FontCache::getFontDataForCharacters):
90591        (WebCore::FontCache::getLastResortFallbackFont):
90592
905932008-09-14  Dave Hyatt  <hyatt@apple.com>
90594
90595        Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
90596        ScrollbarThemeWin.  Any scrollbar that wants to render by ScrollbarPart can subclass from this
90597        theme.
90598
90599        Reviewed by Sam Weinig
90600
90601        * WebCore.vcproj/WebCore.vcproj:
90602        * platform/win/ScrollbarThemeSafari.h:
90603        * platform/win/ScrollbarThemeWin.h:
90604
906052008-09-14  Alp Toker  <alp@nuanti.com>
90606
90607        https://bugs.webkit.org/show_bug.cgi?id=20320
90608        [GTK] A white rectangle is visible behind widgets with rounded corners
90609
90610        Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
90611        style exempt).
90612
90613        Requested by Michael Monreal.
90614
90615        * platform/gtk/RenderThemeGtk.cpp:
90616        (WebCore::RenderThemeGtk::RenderThemeGtk):
90617        * platform/gtk/gtk2drawing.c:
90618        (moz_gtk_set_widget_name):
90619        (ensure_window_widget):
90620        (setup_widget_prototype):
90621        (ensure_button_arrow_widget):
90622        (moz_gtk_get_combo_box_inner_button):
90623        (moz_gtk_get_combo_box_button_inner_widgets):
90624        (ensure_combo_box_widgets):
90625        (moz_gtk_get_combo_box_entry_inner_widgets):
90626        (moz_gtk_get_combo_box_entry_arrow):
90627        (ensure_combo_box_entry_widgets):
90628        (ensure_toolbar_widget):
90629        (ensure_tooltip_widget):
90630        (ensure_menu_bar_widget):
90631        (ensure_menu_bar_item_widget):
90632        (ensure_menu_popup_widget):
90633        (ensure_menu_item_widget):
90634        (ensure_image_menu_item_widget):
90635        (ensure_menu_separator_widget):
90636        (ensure_check_menu_item_widget):
90637        (ensure_tree_header_cell_widget):
90638        (ensure_scrolled_window_widget):
90639        (moz_gtk_button_paint):
90640        (moz_gtk_init):
90641        (moz_gtk_button_get_inner_border):
90642        (moz_gtk_toggle_paint):
90643        (calculate_button_inner_rect):
90644        (calculate_arrow_rect):
90645        (moz_gtk_scrollbar_button_paint):
90646        (moz_gtk_scrollbar_thumb_paint):
90647        (moz_gtk_caret_paint):
90648        (moz_gtk_entry_paint):
90649        (moz_gtk_treeview_paint):
90650        (moz_gtk_tree_header_cell_paint):
90651        (moz_gtk_combo_box_paint):
90652        (moz_gtk_downarrow_paint):
90653        (moz_gtk_combo_box_entry_button_paint):
90654        (moz_gtk_toolbar_paint):
90655        (moz_gtk_tab_scroll_arrow_paint):
90656        (moz_gtk_menu_bar_paint):
90657        (moz_gtk_menu_item_paint):
90658        (moz_gtk_get_widget_border):
90659        (moz_gtk_get_combo_box_entry_button_size):
90660        (moz_gtk_get_tab_scroll_arrow_size):
90661        (moz_gtk_get_downarrow_size):
90662        (moz_gtk_images_in_menus):
90663        (moz_gtk_widget_paint):
90664        (moz_gtk_shutdown):
90665        * platform/gtk/gtkdrawing.h:
90666
906672008-09-14  David Hyatt  <hyatt@apple.com>
90668
90669        Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
90670        painting.  Mac and Gtk themes don't do anything and just let the
90671        underlying widget paint.  Qt now uses the theme to paint.  wx doesn't
90672        do anything yet.
90673
90674        Reviewed by Sam Weinig
90675
90676        * platform/ScrollBar.cpp:
90677        (WebCore::Scrollbar::paint):
90678        * platform/ScrollBar.h:
90679        (WebCore::Scrollbar::value):
90680        (WebCore::Scrollbar::visibleSize):
90681        (WebCore::Scrollbar::maximum):
90682        (WebCore::Scrollbar::lineStep):
90683        (WebCore::Scrollbar::pageStep):
90684        (WebCore::Scrollbar::pixelStep):
90685        (WebCore::Scrollbar::pressedPart):
90686        (WebCore::Scrollbar::hoveredPart):
90687        (WebCore::Scrollbar::theme):
90688        * platform/ScrollbarTheme.h:
90689        (WebCore::ScrollbarTheme::paint):
90690        (WebCore::ScrollbarTheme::scrollbarThickness):
90691        (WebCore::ScrollbarTheme::supportsControlTints):
90692        (WebCore::ScrollbarTheme::themeChanged):
90693        * platform/gtk/PlatformScrollBar.h:
90694        * platform/gtk/PlatformScrollBarGtk.cpp:
90695        * platform/mac/PlatformScrollBar.h:
90696        * platform/mac/PlatformScrollBarMac.mm:
90697        * platform/qt/PlatformScrollBar.h:
90698        * platform/qt/PlatformScrollBarQt.cpp:
90699        * platform/qt/ScrollbarThemeQt.cpp:
90700        (WebCore::styleOptionSlider):
90701        * platform/qt/ScrollbarThemeQt.h:
90702        (WebCore::ScrollbarThemeQt::paint):
90703        * platform/win/PlatformScrollBarSafari.cpp:
90704        (WebCore::PlatformScrollbar::paint):
90705        * platform/win/ScrollbarThemeSafari.h:
90706        (WebCore::ScrollbarThemeSafari::supportsControlTints):
90707        * platform/wx/PlatformScrollBar.h:
90708        * platform/wx/TemporaryLinkStubs.cpp:
90709        (PlatformScrollbar::~PlatformScrollbar):
90710
907112008-09-14  Sam Weinig  <sam@webkit.org>
90712
90713        Qt build fix.
90714
90715        * platform/qt/PlatformScrollBarQt.cpp:
90716
907172008-09-14  Sam Weinig  <sam@webkit.org>
90718
90719        Reviewed by Mark Rowe.
90720
90721        Remove extraneous semicolons.
90722
90723        * bindings/scripts/CodeGeneratorObjC.pm:
90724        * html/HTMLLinkElement.cpp:
90725        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
90726        * html/HTMLScriptElement.cpp:
90727        (WebCore::HTMLScriptElement::charsetAttributeValue):
90728        (WebCore::HTMLScriptElement::typeAttributeValue):
90729        * platform/graphics/qt/GradientQt.cpp:
90730        (WebCore::Gradient::platformGradient):
90731        * platform/qt/ScrollViewQt.cpp:
90732        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
90733        * platform/win/ScrollViewWin.cpp:
90734        (WebCore::ScrollView::updateScrollbars):
90735        * rendering/RenderBlock.cpp:
90736        (WebCore::RenderBlock::paintEllipsisBoxes):
90737        * svg/SVGPathSegList.cpp:
90738        (WebCore::SVGPathSegList::toPathData):
90739
907402008-09-14  Sam Weinig  <sam@webkit.org>
90741
90742        Qt build fix.
90743
90744        * platform/qt/ScrollViewQt.cpp:
90745        (WebCore::ScrollView::updateScrollbars):
90746
907472008-09-14  Sam Weinig  <sam@webkit.org>
90748
90749        Qt build fix.
90750
90751        * platform/qt/PlatformScrollBarQt.cpp:
90752        (WebCore::PlatformScrollbar::PlatformScrollbar):
90753        (WebCore::PlatformScrollbar::paint):
90754
907552008-09-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
90756
90757        Gtk build fix, not reviewed.
90758
90759        * platform/gtk/PlatformScrollBarGtk.cpp:
90760        (PlatformScrollbar::PlatformScrollbar):
90761        * platform/gtk/ScrollViewGtk.cpp:
90762        (WebCore::ScrollView::updateScrollbars):
90763
907642008-09-13  Dave Hyatt  <hyatt@apple.com>
90765
90766        Remove scrollbar's setRect method.  Clients can now just call setFrameGeometry (the corresponding Widget) method
90767        to set the dimensions of a scrollbar.
90768
90769        Reviewed by Sam Weinig
90770
90771        * platform/ScrollBar.h:
90772        * platform/gtk/PlatformScrollBar.h:
90773        * platform/gtk/PlatformScrollBarGtk.cpp:
90774        (PlatformScrollbar::setFrameGeometry):
90775        * platform/gtk/ScrollViewGtk.cpp:
90776        (WebCore::ScrollView::updateScrollbars):
90777        * platform/mac/PlatformScrollBarMac.mm:
90778        * platform/qt/PlatformScrollBarQt.cpp:
90779        * platform/qt/ScrollViewQt.cpp:
90780        (WebCore::ScrollView::updateScrollbars):
90781        * platform/win/PlatformScrollBar.h:
90782        * platform/win/PlatformScrollBarSafari.cpp:
90783        (WebCore::PlatformScrollbar::PlatformScrollbar):
90784        (WebCore::PlatformScrollbar::setFrameGeometry):
90785        * platform/win/PlatformScrollBarWin.cpp:
90786        (WebCore::PlatformScrollbar::PlatformScrollbar):
90787        (WebCore::PlatformScrollbar::setFrameGeometry):
90788        * platform/win/PopupMenuWin.cpp:
90789        (WebCore::PopupWndProc):
90790        * platform/win/ScrollViewWin.cpp:
90791        (WebCore::ScrollView::updateScrollbars):
90792        * platform/wx/PlatformScrollBar.h:
90793        * platform/wx/TemporaryLinkStubs.cpp:
90794        (PlatformScrollbar::updateThumbProportion):
90795        * rendering/RenderLayer.cpp:
90796        (WebCore::RenderLayer::positionOverflowControls):
90797        * rendering/RenderListBox.cpp:
90798        (WebCore::RenderListBox::paintScrollbar):
90799
908002008-09-13  Dave Hyatt  <hyatt@apple.com>
90801
90802        Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
90803
90804        Reviewed by Sam Weinig
90805
90806        * platform/ScrollBar.h:
90807        * platform/gtk/PlatformScrollBar.h:
90808        * platform/gtk/PlatformScrollBarGtk.cpp:
90809        * platform/mac/PlatformScrollBar.h:
90810        * platform/mac/PlatformScrollBarMac.mm:
90811        * platform/win/PlatformScrollBar.h:
90812        * platform/win/PlatformScrollBarSafari.cpp:
90813        * platform/win/PlatformScrollBarWin.cpp:
90814        * platform/wx/PlatformScrollBar.h:
90815        * platform/wx/TemporaryLinkStubs.cpp:
90816        (PlatformScrollbar::~PlatformScrollbar):
90817
908182008-09-13  Dave Hyatt  <hyatt@apple.com>
90819
90820        Remove width()/height() from Scrollbar now that it derives from Widget.  Remove width()/height() from
90821        all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
90822
90823        Reviewed by Sam Weinig
90824
90825        * platform/ScrollBar.h:
90826        * platform/gtk/PlatformScrollBar.h:
90827        * platform/gtk/PlatformScrollBarGtk.cpp:
90828        * platform/mac/PlatformScrollBar.h:
90829        * platform/mac/PlatformScrollBarMac.mm:
90830        * platform/win/PlatformScrollBarSafari.cpp:
90831        * platform/win/PlatformScrollBarWin.cpp:
90832        * platform/wx/PlatformScrollBar.h:
90833        * platform/wx/TemporaryLinkStubs.cpp:
90834        (PlatformScrollbar::~PlatformScrollbar):
90835
908362008-09-13  Dave Hyatt  <hyatt@apple.com>
90837
90838        Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
90839
90840        Reviewed by Sam Weinig
90841
90842        * platform/ScrollBar.cpp:
90843        (WebCore::Scrollbar::~Scrollbar):
90844        * platform/ScrollBar.h:
90845        * platform/qt/PlatformScrollBarQt.cpp:
90846        (WebCore::PlatformScrollbar::~PlatformScrollbar):
90847        * platform/win/PlatformScrollBarSafari.cpp:
90848        (WebCore::PlatformScrollbar::~PlatformScrollbar):
90849        * platform/win/PlatformScrollBarWin.cpp:
90850        (WebCore::PlatformScrollbar::~PlatformScrollbar):
90851
908522008-09-13  David Hyatt  <hyatt@apple.com>
90853
90854        Move maximum() from Qt's PlatformScrollbar to be a cross-platform
90855        function on Scrollbar.  Fixes Qt build bustage.
90856
90857        Reviewed by Sam Weinig
90858
90859        * platform/ScrollBar.h:
90860        (WebCore::Scrollbar::orientation):
90861        (WebCore::Scrollbar::value):
90862        (WebCore::Scrollbar::maximum):
90863        * platform/qt/PlatformScrollBar.h:
90864
908652008-09-13  Dan Bernstein  <mitz@apple.com>
90866
90867        Reviewed by Sam Weinig.
90868
90869        - use the LastResort font for missing glyphs instead of showing the
90870          primary font's missing glyph
90871
90872        Test: platform/mac/fast/text/last-resort-font.html
90873
90874        * platform/graphics/mac/FontCacheMac.mm:
90875        (WebCore::FontCache::getFontDataForCharacters): Changed to return the
90876        last resort font if a substitute font cannot be found.
90877        (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
90878        comment (the user's preferred standard font is included in the search
90879        thanks to code in FontCache::getFontData()) and changed to return the
90880        LastResort font.
90881
908822008-09-13  Dave Hyatt  <hyatt@apple.com>
90883
90884        This patch adds ScrollbarTheme to the build.  ScrollbarTheme is similar to RenderTheme (but for
90885        scrollbars only).  For now ScrollbarTheme just handles returning the size of scrollbars.  Subsequent
90886        patches will move rendering and hit testing functionality into this class.
90887
90888        Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt).  The wxWidgets port does not
90889        implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
90890
90891        Reviewed by Sam Weinig
90892
90893        * GNUmakefile.am:
90894        * WebCore.pro:
90895        * WebCore.vcproj/WebCore.vcproj:
90896        * platform/ScrollBar.cpp:
90897        (WebCore::Scrollbar::Scrollbar):
90898        * platform/ScrollBar.h:
90899        * platform/ScrollbarTheme.h: Added.
90900        (WebCore::ScrollbarTheme::~ScrollbarTheme):
90901        (WebCore::ScrollbarTheme::scrollbarThickness):
90902        (WebCore::ScrollbarTheme::themeChanged):
90903        * platform/gtk/ScrollbarThemeGtk.cpp: Added.
90904        (WebCore::ScrollbarTheme::nativeTheme):
90905        (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
90906        (WebCore::ScrollbarThemeGtk::scrollbarThickness):
90907        * platform/gtk/ScrollbarThemeGtk.h: Added.
90908        * platform/mac/PlatformScrollBar.h:
90909        * platform/mac/ScrollbarThemeMac.cpp: Added.
90910        (WebCore::ScrollbarTheme::nativeTheme):
90911        (WebCore::):
90912        (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
90913        (WebCore::ScrollbarThemeMac::scrollbarThickness):
90914        * platform/mac/ScrollbarThemeMac.h: Added.
90915        * platform/qt/PlatformScrollBarQt.cpp:
90916        * platform/qt/ScrollbarThemeQt.cpp: Added.
90917        (WebCore::ScrollbarTheme::nativeTheme):
90918        (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
90919        (WebCore::ScrollbarThemeQt::scrollbarThickness):
90920        * platform/qt/ScrollbarThemeQt.h: Added.
90921        * platform/win/PlatformScrollBar.h:
90922        * platform/win/PlatformScrollBarSafari.cpp:
90923        * platform/win/PlatformScrollBarWin.cpp:
90924        * platform/win/PopupMenuWin.cpp:
90925        (WebCore::PopupMenu::calculatePositionAndSize):
90926        * platform/win/ScrollViewWin.cpp:
90927        (WebCore::ScrollView::updateScrollbars):
90928        (WebCore::ScrollView::themeChanged):
90929        * platform/win/ScrollbarThemeSafari.cpp: Added.
90930        (WebCore::ScrollbarTheme::nativeTheme):
90931        (WebCore::):
90932        (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
90933        (WebCore::ScrollbarThemeSafari::scrollbarThickness):
90934        * platform/win/ScrollbarThemeSafari.h: Added.
90935        * platform/win/ScrollbarThemeWin.cpp: Added.
90936        (WebCore::ScrollbarTheme::nativeTheme):
90937        (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
90938        (WebCore::ScrollbarThemeWin::scrollbarThickness):
90939        (WebCore::ScrollbarThemeWin::themeChanged):
90940        * platform/win/ScrollbarThemeWin.h: Added.
90941        * platform/wx/TemporaryLinkStubs.cpp:
90942        (ScrollbarTheme::nativeTheme):
90943        * rendering/RenderLayer.cpp:
90944        (WebCore::scrollCornerRect):
90945        * rendering/RenderTextControl.cpp:
90946        (WebCore::RenderTextControl::calcHeight):
90947        (WebCore::RenderTextControl::calcPrefWidths):
90948
909492008-09-13  Chris Fleizach  <cfleizach@apple.com>
90950
90951        Reviewed by Timothy Hatcher.
90952
90953        <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
90954
90955        * page/mac/AccessibilityObjectWrapper.mm:
90956        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
90957
909582008-09-13  Dan Bernstein  <mitz@apple.com>
90959
90960        Reviewed by Timothy Hatcher.
90961
90962        - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
90963
90964        No regression test because the back/forward cache is disabled in DumpRenderTree
90965
90966        * rendering/RenderContainer.cpp:
90967        (WebCore::RenderContainer::invalidateCounters): Bail out if the document
90968        is being destroyed.
90969
909702008-09-13  Kevin Ollivier  <kevino@theolliviers.com>
90971
90972        wx build fixes for new methods recently introduced.
90973
90974        * platform/graphics/wx/AffineTransformWx.cpp:
90975        (WebCore::AffineTransform::AffineTransform):
90976        (WebCore::AffineTransform::setMatrix):
90977        (WebCore::AffineTransform::setA):
90978        (WebCore::AffineTransform::setB):
90979        (WebCore::AffineTransform::setC):
90980        (WebCore::AffineTransform::setD):
90981        (WebCore::AffineTransform::setE):
90982        (WebCore::AffineTransform::setF):
90983        * platform/wx/LocalizedStringsWx.cpp:
90984        (WebCore::AXDefinitionListTermText):
90985        (WebCore::AXDefinitionListDefinitionText):
90986
909872008-09-12  Dave Hyatt  <hyatt@apple.com>
90988
90989        Move the member variables of PlatformScrollbar up into Scrollbar.  Move autoscroll timer handling
90990        up into scrollbar.  Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
90991        "PlatformScrollbar."
90992
90993        Reviewed by Sam Weinig
90994
90995        * WebCore.vcproj/WebCore.vcproj:
90996        * editing/EditorCommand.cpp:
90997        * page/EventHandler.cpp:
90998        (WebCore::EventHandler::selectCursor):
90999        (WebCore::EventHandler::handleMousePressEvent):
91000        (WebCore::EventHandler::handleMouseMoveEvent):
91001        * page/EventHandler.h:
91002        * page/MouseEventWithHitTestResults.cpp:
91003        (WebCore::MouseEventWithHitTestResults::scrollbar):
91004        * page/MouseEventWithHitTestResults.h:
91005        * page/gtk/EventHandlerGtk.cpp:
91006        (WebCore::EventHandler::passMousePressEventToScrollbar):
91007        * page/mac/EventHandlerMac.mm:
91008        (WebCore::EventHandler::passMousePressEventToScrollbar):
91009        * page/qt/EventHandlerQt.cpp:
91010        (WebCore::EventHandler::passMousePressEventToScrollbar):
91011        * page/win/EventHandlerWin.cpp:
91012        (WebCore::EventHandler::passMousePressEventToScrollbar):
91013        * page/wx/EventHandlerWx.cpp:
91014        (WebCore::EventHandler::passMousePressEventToScrollbar):
91015        * platform/PopupMenu.h:
91016        * platform/ScrollBar.cpp:
91017        (WebCore::Scrollbar::Scrollbar):
91018        (WebCore::Scrollbar::autoscrollTimerFired):
91019        (WebCore::Scrollbar::autoscrollPressedPart):
91020        (WebCore::Scrollbar::startTimerIfNeeded):
91021        (WebCore::Scrollbar::stopTimerIfNeeded):
91022        (WebCore::Scrollbar::pressedPartScrollDirection):
91023        (WebCore::Scrollbar::pressedPartScrollGranularity):
91024        * platform/ScrollBar.h:
91025        (WebCore::Scrollbar::handleMousePressEvent):
91026        (WebCore::Scrollbar::invalidatePart):
91027        (WebCore::Scrollbar::thumbUnderMouse):
91028        * platform/ScrollView.h:
91029        * platform/ScrollbarClient.h: Added.
91030        (WebCore::ScrollbarClient::~ScrollbarClient):
91031        * platform/gtk/ScrollViewGtk.cpp:
91032        (WebCore::ScrollView::scrollbarUnderMouse):
91033        * platform/qt/PlatformScrollBar.h:
91034        * platform/qt/PlatformScrollBarQt.cpp:
91035        (WebCore::PlatformScrollbar::PlatformScrollbar):
91036        (WebCore::scrollbarPart):
91037        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
91038        (WebCore::PlatformScrollbar::handleMouseOutEvent):
91039        (WebCore::PlatformScrollbar::handleMousePressEvent):
91040        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
91041        * platform/qt/ScrollViewQt.cpp:
91042        (WebCore::ScrollView::scrollbarUnderMouse):
91043        (WebCore::ScrollView::wheelEvent):
91044        * platform/win/PlatformScrollBar.h:
91045        * platform/win/PlatformScrollBarSafari.cpp:
91046        (WebCore::PlatformScrollbar::PlatformScrollbar):
91047        * platform/win/PlatformScrollBarWin.cpp:
91048        (WebCore::PlatformScrollbar::PlatformScrollbar):
91049        * platform/win/ScrollViewWin.cpp:
91050        (WebCore::ScrollView::scrollbarUnderMouse):
91051        * rendering/HitTestResult.cpp:
91052        (WebCore::HitTestResult::setScrollbar):
91053        * rendering/HitTestResult.h:
91054        (WebCore::HitTestResult::scrollbar):
91055        * rendering/RenderLayer.cpp:
91056        (WebCore::RenderLayer::hitTestOverflowControls):
91057        * rendering/RenderLayer.h:
91058        * rendering/RenderListBox.h:
91059
910602008-09-12  Steve Falkenburg  <sfalken@apple.com>
91061
91062        Fix Mac build.
91063
91064        * css/CSSStyleSelector.cpp:
91065        (WebCore::getTransformOperationType):
91066
910672008-09-12  Chris Marrin  <cmarrin@apple.com>
91068
91069        Reviewed by Dave Hyatt.
91070
91071        Make transform animation behavior match spec
91072        https://bugs.webkit.org/show_bug.cgi?id=20770
91073
91074        Tests: transitions/transform-op-list-match.html
91075               transitions/transform-op-list-no-match.html
91076
91077        * css/CSSStyleSelector.cpp:
91078        * css/CSSStyleSelector.h:
91079        * page/animation/AnimationBase.cpp:
91080        * page/animation/AnimationBase.h:
91081        * page/animation/ImplicitAnimation.cpp:
91082        * page/animation/ImplicitAnimation.h:
91083        * page/animation/KeyframeAnimation.cpp:
91084        * page/animation/KeyframeAnimation.h:
91085        * rendering/RenderLayer.cpp:
91086        * rendering/style/RenderStyle.cpp:
91087        * rendering/style/RenderStyle.h:
91088
910892008-09-12  Ojan Vafai  <ojan@chromium.org>
91090
91091        Properly escape contents of links added to the inspector.
91092        For now, just build the link with the DOM and get the
91093        outerHTML. Eventually, we probably just want to do
91094        this entirely with the DOM.
91095
91096        Reviewed by Timothy Hatcher.
91097
91098        https://bugs.webkit.org/show_bug.cgi?id=20684
91099
91100        * manual-tests/inspector/escape-links.html: Added.
91101        * page/inspector/StylesSidebarPane.js:
91102        * page/inspector/inspector.js:
91103        * page/inspector/utilities.js:
91104
911052008-09-12  Adele Peterson  <adele@apple.com>
91106
91107        Reviewed by John Sullivan and Kevin McCullough.
91108
91109        Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
91110
91111        * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
91112        Hit testing again on the main frame will only work if we aren't already on the main frame.  If we are already on the main frame, that will
91113        cause infinite recursion.  This change checks that we're not already on the main frame before hit testing again.
91114
911152008-09-12  Kevin McCullough  <kmccullough@apple.com>
91116
91117        RS by Tim .
91118
91119        Re-introducing the code since it was not the cause of the crash.
91120        See r36343.
91121
91122        * rendering/RenderObject.cpp:
91123        (WebCore::RenderObject::canBeProgramaticallyScrolled):
91124        * rendering/RenderObject.h:
91125
911262008-09-12  Chris Marrin  <cmarrin@apple.com>
91127
91128        Reviewed by Dave Hyatt.
91129
91130        When changing one animation in a list, don't reset other animations
91131        https://bugs.webkit.org/show_bug.cgi?id=20675
91132
91133        Test: animations/change-one-anim.html
91134
91135        * page/animation/AnimationBase.cpp:
91136        (WebCore::AnimationBase::getNumProperties):
91137        * page/animation/AnimationBase.h:
91138        * page/animation/AnimationController.cpp:
91139        * page/animation/CompositeAnimation.cpp:
91140        (WebCore::CompositeAnimation::updateKeyframeAnimations):
91141        * page/animation/CompositeAnimation.h:
91142        * page/animation/ImplicitAnimation.cpp:
91143        * page/animation/KeyframeAnimation.cpp:
91144        * page/animation/KeyframeAnimation.h:
91145        (WebCore::KeyframeAnimation::setIndex):
91146
911472008-09-12  Brady Eidson  <beidson@apple.com>
91148
91149        Reviewed by Mitz Pettel
91150
91151        Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
91152
91153        * loader/DocumentLoader.cpp:
91154        (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
91155          Subresources can never be created from nil data, but there is always a MainResource, whether
91156          or not there's any data.  So in the case where the main resource has no data, fake it for the
91157          sake of creating the ArchiveResource.
91158
911592008-09-12  Dave Hyatt  <hyatt@apple.com>
91160
91161        Preparation for major scrollbar rearchitecture.  Eliminate the concept of non-widget based
91162        scrollbars (which we never supported anyway).  Make Scrollbar derive from Widget directly.
91163        Remove all the isWidget and hasPlatformScrollbars guards.
91164
91165        Reviewed by Tim Hatcher
91166
91167        * platform/ScrollBar.h:
91168        * platform/gtk/PlatformScrollBar.h:
91169        * platform/mac/PlatformScrollBar.h:
91170        * platform/qt/PlatformScrollBar.h:
91171        * platform/win/PlatformScrollBar.h:
91172        * platform/win/ScrollViewWin.cpp:
91173        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
91174        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
91175        * platform/wx/PlatformScrollBar.h:
91176        * rendering/RenderLayer.cpp:
91177        (WebCore::RenderLayer::horizontalScrollbarWidget):
91178        (WebCore::RenderLayer::verticalScrollbarWidget):
91179        (WebCore::RenderLayer::createScrollbar):
91180        (WebCore::RenderLayer::destroyScrollbar):
91181        * rendering/RenderListBox.cpp:
91182        (WebCore::RenderListBox::~RenderListBox):
91183        (WebCore::RenderListBox::updateFromElement):
91184        (WebCore::RenderListBox::isPointInOverflowControl):
91185
911862008-09-12  Dan Bernstein  <mitz@apple.com>
91187
91188        Reviewed by Sam Weinig.
91189
91190        - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
91191
91192        * page/animation/AnimationController.cpp:
91193        * page/animation/AnimationController.h:
91194        * page/animation/CompositeAnimation.cpp:
91195        * page/animation/CompositeAnimation.h:
91196        * page/animation/ImplicitAnimation.cpp:
91197        * page/animation/ImplicitAnimation.h:
91198        * page/animation/KeyframeAnimation.cpp:
91199        * page/animation/KeyframeAnimation.h:
91200
912012008-09-11  Timothy Hatcher  <timothy@apple.com>
91202
91203        Add a renderedImage method to DOMNode to get an image
91204        of the rendering for the node and it's descendants.
91205
91206        <rdar://problem/5849349> Would like API to create
91207        an image for a DOM node
91208
91209        Reviewed by Oliver Hunt.
91210
91211        * bindings/objc/DOM.mm:
91212        (-[DOMNode renderedImage]): Call Frame::nodeImage.
91213        * bindings/objc/DOMPrivate.h:
91214        * page/Frame.h:
91215        * page/mac/FrameMac.mm:
91216        (WebCore::Frame::nodeImage):
91217
912182008-09-08  Chris Marrin  <cmarrin@apple.com>
91219
91220        Reviewed by Dave Hyatt
91221
91222        Need to support comma separated list of key times in keyframes selectors
91223        https://bugs.webkit.org/show_bug.cgi?id=20680
91224
91225        Test: animations/keyframes-comma-separated.html
91226
91227        * css/CSSGrammar.y:
91228        * css/CSSParser.cpp:
91229        (WebCore::CSSParser::createKeyframeRule):
91230        * css/CSSParser.h:
91231        * css/CSSStyleSelector.cpp:
91232        (WebCore::CSSStyleSelector::addKeyframeStyle):
91233        * css/WebKitCSSKeyframeRule.cpp:
91234        (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
91235        (WebCore::WebKitCSSKeyframeRule::cssText):
91236        (WebCore::WebKitCSSKeyframeRule::parseKeyString):
91237        * css/WebKitCSSKeyframeRule.h:
91238        (WebCore::WebKitCSSKeyframeRule::keyText):
91239        (WebCore::WebKitCSSKeyframeRule::setKeyText):
91240        (WebCore::WebKitCSSKeyframeRule::getKeys):
91241        * css/WebKitCSSKeyframesRule.cpp:
91242        (WebCore::WebKitCSSKeyframesRule::append):
91243        (WebCore::WebKitCSSKeyframesRule::insertRule):
91244        (WebCore::WebKitCSSKeyframesRule::deleteRule):
91245        (WebCore::WebKitCSSKeyframesRule::findRule):
91246        (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
91247        * css/WebKitCSSKeyframesRule.h:
91248        * page/animation/AnimationBase.cpp:
91249        (WebCore::AnimationBase::blendProperties):
91250
912512008-09-11  Kevin McCullough  <kmccullough@apple.com>
91252
91253        RS by Tim.
91254
91255        Reverting because this caused a crash.
91256
91257        * rendering/RenderObject.cpp:
91258        (WebCore::RenderObject::canBeProgramaticallyScrolled):
91259        (WebCore::RenderObject::hasScrollableView):
91260        * rendering/RenderObject.h:
91261
912622008-09-11  Dean Jackson  <dino@apple.com>
91263
91264        Reviewed by Dan Bernstein.
91265
91266        Fix assertion on transition property "none"
91267        https://bugs.webkit.org/show_bug.cgi?id=20751
91268
91269        Test: transitions/transition-end-event-set-none.html
91270
91271        * page/animation/CompositeAnimation.cpp:
91272        (WebCore::CompositeAnimation::updateTransitions):
91273
912742008-09-11  David Smith  <catfish.man@gmail.com>
91275
91276        Rubber-stamped by mitzpettel.
91277
91278        Remove an accidentally added extra file.
91279
91280        * WebCore: Removed.
91281
912822008-09-11  David Smith  <catfish.man@gmail.com>
91283
91284        Reviewed by Darin
91285
91286        https://bugs.webkit.org/show_bug.cgi?id=20180
91287
91288        This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
91289
91290        * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
91291        * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
91292        * dom/Element.cpp: include NodeRenderStyle.h
91293        * dom/Node.cpp: Remove the definition of renderStyle()
91294        (WebCore::Node::nonRendererRenderStyle):
91295        * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
91296        * dom/NodeRenderStyle.h: Added.
91297        (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
91298        * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
91299        * html/HTMLOptGroupElement.h:
91300        (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
91301        * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
91302        * html/HTMLOptionElement.h:
91303        (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
91304        * rendering/RenderListBox.cpp: include NodeRenderStyle.h
91305        * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
91306        * svg/SVGUseElement.cpp: include NodeRenderStyle.h
91307
913082008-09-11  Kevin McCullough  <kmccullough@apple.com>
91309
91310        Reviewed by Adele and Tim.
91311
91312        <rdar://problem/6100597> REGRESSION: clicking on search results in Web
91313        Inspector does not scroll to the line of the results (20167)
91314        - This was put in by Max to fix auto scrolling but is not correct for
91315        the whole web: rdar://problem/6213098
91316
91317        * rendering/RenderObject.cpp:
91318        (WebCore::RenderObject::canBeProgramaticallyScrolled):
91319        * rendering/RenderObject.h:
91320
913212008-09-11  Chris Fleizach  <cfleizach@apple.com>
91322
91323        Reviewed by Beth Dakin
91324
91325        <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
91326
91327        Test: accessibility/frame-with-title.html
91328
91329        * page/AccessibilityRenderObject.cpp:
91330        (WebCore::AccessibilityRenderObject::accessibilityDescription):
91331
913322008-09-11  Dirk Schulze  <vbs85@gmx.de>
91333
91334        Reviewed by Simon.
91335
91336        Fixed stroke() and strokeRect() to support gradients
91337        and patterns on Qt.
91338
91339        [Qt] Canvas stroke don't work for gradients and patterns
91340        [https://bugs.webkit.org/show_bug.cgi?id=20749]
91341
91342        * platform/graphics/qt/GraphicsContextQt.cpp:
91343        (WebCore::GraphicsContext::strokePath):
91344        (WebCore::GraphicsContext::strokeRect):
91345
913462008-09-11  Dirk Schulze  <vbs85@gmx.de>
91347
91348        Reviewed by Simon.
91349
91350        https://bugs.webkit.org/show_bug.cgi?id=20729
91351
91352        Fixed canvas gradients for Qt
91353
91354        [Qt] Canvas gradients don't work as expected
91355        [https://bugs.webkit.org/show_bug.cgi?id=20729]
91356
91357        * platform/graphics/qt/GradientQt.cpp:
91358        (WebCore::Gradient::platformGradient):
91359
913602008-09-11  Dirk Schulze  <vbs85@gmx.de>
91361
91362        Reviewed by Simon.
91363
91364        https://bugs.webkit.org/show_bug.cgi?id=20568
91365
91366        Add support for patterns to Qt.
91367
91368        * platform/graphics/qt/PatternQt.cpp:
91369        (WebCore::Pattern::createPlatformPattern):
91370
913712008-09-10  Dan Bernstein  <mitz@apple.com>
91372
91373        Reviewed by Sam Weinig.
91374
91375        - clean up AnimationBase
91376
91377        * page/animation/AnimationBase.cpp:
91378        * page/animation/AnimationBase.h:
91379        * page/animation/CompositeAnimation.cpp:
91380        * page/animation/ImplicitAnimation.cpp:
91381        * page/animation/ImplicitAnimation.h:
91382        * page/animation/KeyframeAnimation.cpp:
91383        * page/animation/KeyframeAnimation.h:
91384
913852008-09-10  Alexey Proskuryakov  <ap@webkit.org>
91386
91387        Reviewed by Darin Adler.
91388
91389        https://bugs.webkit.org/show_bug.cgi?id=20741
91390        REGRESSION: ISO-8859-8-I encoding is registered incorrectly
91391
91392        Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
91393        check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
91394        tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
91395
91396        I also found and fixed a potential crasher for non-Mac ports.
91397
91398        Tests: fast/encoding/hebrew/8859-8-e.html
91399               fast/encoding/hebrew/8859-8-i.html
91400               fast/encoding/hebrew/8859-8.html
91401               fast/encoding/hebrew/csISO88598I.html
91402               fast/encoding/hebrew/hebrew.html
91403               fast/encoding/hebrew/iso-ir-138.html
91404               fast/encoding/hebrew/logical.html
91405
91406        * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
91407        (case-insensitively, because different versions of ICU report this MIME name in different
91408        case).
91409
91410        * platform/text/TextCodecICU.cpp:
91411        (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
91412        (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
91413        There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
91414        with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
91415        we also support these via TEC (which we should stop doing), but on Windows, this would
91416        likely crash.
91417
914182008-09-09  Dave Hyatt  <hyatt@apple.com
91419
91420        Resurrect PlatformScrollbarWin.
91421
91422        Reviewed by Adam Roben
91423
91424        * WebCore.vcproj/WebCore.vcproj:
91425        * platform/win/PlatformScrollBarWin.cpp:
91426        (WebCore::isRunningOnVistaOrLater):
91427        (WebCore::checkAndInitScrollbarTheme):
91428        (WebCore::PlatformScrollbar::PlatformScrollbar):
91429        (WebCore::PlatformScrollbar::invalidateTrack):
91430        (WebCore::PlatformScrollbar::invalidatePart):
91431        (WebCore::PlatformScrollbar::paint):
91432        (WebCore::PlatformScrollbar::hasButtons):
91433        (WebCore::PlatformScrollbar::hasThumb):
91434        (WebCore::PlatformScrollbar::backButtonRect):
91435        (WebCore::PlatformScrollbar::forwardButtonRect):
91436        (WebCore::PlatformScrollbar::trackRect):
91437        (WebCore::PlatformScrollbar::gripperRect):
91438        (WebCore::PlatformScrollbar::thumbLength):
91439        (WebCore::PlatformScrollbar::paintButton):
91440        (WebCore::PlatformScrollbar::paintTrack):
91441        (WebCore::PlatformScrollbar::paintThumb):
91442        (WebCore::PlatformScrollbar::paintGripper):
91443        (WebCore::PlatformScrollbar::hitTest):
91444        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
91445        (WebCore::PlatformScrollbar::handleMouseOutEvent):
91446        (WebCore::PlatformScrollbar::themeChanged):
91447
914482008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
91449
91450        Reviewed by Maciej Stachowiak.
91451
91452        Bug 20759: Remove MacroAssembler
91453        <https://bugs.webkit.org/show_bug.cgi?id=20759>
91454
91455        Make the necessary changes to ForwardingHeaders to remove
91456        MacroAssembler.
91457
91458        * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
91459        * ForwardingHeaders/masm/MacroAssembler.h: Removed.
91460        * ForwardingHeaders/masm/X86Assembler.h: Added.
91461
914622008-09-09  Alp Toker  <alp@nuanti.com>
91463
91464        Reviewed by Dave Hyatt.
91465
91466        https://bugs.webkit.org/show_bug.cgi?id=16792
91467        [GTK] Fails to render Japanese/Chinese text with simple path
91468
91469        https://bugs.webkit.org/show_bug.cgi?id=16942
91470        [GTK] Oddities in font selection and fall back
91471
91472        https://bugs.webkit.org/show_bug.cgi?id=16862
91473        [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
91474
91475        GTK+ font fixes and enhancements.
91476
91477        Implement font fallback for the simple FontConfig-based text path and
91478        improve the Pango-based complex text path to make use of requested
91479        font properties and available font selection.
91480
91481        Add text shadow support to the complex path.
91482
91483        * platform/graphics/gtk/FontCacheGtk.cpp:
91484        (WebCore::FontCache::getFontDataForCharacters):
91485        (WebCore::FontCache::getSimilarFontPlatformData):
91486        * platform/graphics/gtk/FontGtk.cpp:
91487        (WebCore::setPangoAttributes):
91488        (WebCore::Font::drawComplexText):
91489        (WebCore::getDefaultPangoLayout):
91490        (WebCore::Font::floatWidthForComplexText):
91491        (WebCore::Font::offsetForPositionForComplexText):
91492        (WebCore::Font::selectionRectForComplexText):
91493        * platform/graphics/gtk/FontPlatformData.h:
91494        (WebCore::FontPlatformData::FontPlatformData):
91495        (WebCore::FontPlatformData::hash):
91496        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
91497        (WebCore::FontPlatformData::FontPlatformData):
91498        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
91499        (WebCore::SimpleFontData::platformDestroy):
91500
915012008-09-09  Dave Hyatt  <hyatt@apple.com>
91502
91503        Make the Windows classic case work again.  Overlap in slider constants and other constants broke
91504        the push state for buttons and checkboxes.  Make sure to check the RenderObject's appearance
91505        value to make sure it's really a slider thumb to resolve this conflict.
91506
91507        Reviewed by Adam Roben
91508
91509        * rendering/RenderThemeWin.cpp:
91510        (WebCore::drawControl):
91511
915122008-09-05  Chris Marrin  <cmarrin@apple.com>
91513
91514        Reviewed by Sam Weinig.
91515
91516        Need to handle the case when 0% or 100% keyframe is omitted
91517        https://bugs.webkit.org/show_bug.cgi?id=20679
91518
91519        Tests: animations/keyframes-from-missing.html
91520               animations/keyframes-to-missing.html
91521
91522        * css/CSSStyleSelector.cpp:
91523        (WebCore::CSSStyleSelector::addKeyframeStyle):
91524
915252008-09-09  Dave Hyatt  <hyatt@apple.com>
91526
91527        Resurrect Safari's original RenderThemeWin and bring it up to date with ToT.  Having a current
91528        RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
91529        merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
91530        what changes have been made as compared with the old RenderThemeWin).
91531
91532        Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
91533        text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
91534        vs. printer advancement rounding).
91535
91536        Reviewed by Adam/Sam
91537
91538        * css/CSSStyleSelector.cpp:
91539        (WebCore::CSSStyleSelector::applyProperty):
91540        * platform/graphics/Icon.h:
91541        (WebCore::Icon::create):
91542        * rendering/RenderThemeWin.cpp:
91543        (WebCore::RenderThemeWin::RenderThemeWin):
91544        (WebCore::RenderThemeWin::~RenderThemeWin):
91545        (WebCore::RenderThemeWin::buttonTheme):
91546        (WebCore::RenderThemeWin::textFieldTheme):
91547        (WebCore::RenderThemeWin::menuListTheme):
91548        (WebCore::RenderThemeWin::sliderTheme):
91549        (WebCore::RenderThemeWin::close):
91550        (WebCore::RenderThemeWin::themeChanged):
91551        (WebCore::RenderThemeWin::supportsHover):
91552        (WebCore::fillFontDescription):
91553        (WebCore::RenderThemeWin::systemFont):
91554        (WebCore::RenderThemeWin::supportsFocus):
91555        (WebCore::RenderThemeWin::determineClassicState):
91556        (WebCore::RenderThemeWin::determineState):
91557        (WebCore::RenderThemeWin::determineSliderThumbState):
91558        (WebCore::RenderThemeWin::getClassicThemeData):
91559        (WebCore::RenderThemeWin::getThemeData):
91560        (WebCore::drawControl):
91561        (WebCore::RenderThemeWin::paintButton):
91562        (WebCore::RenderThemeWin::paintTextField):
91563        (WebCore::RenderThemeWin::paintMenuList):
91564        (WebCore::RenderThemeWin::adjustMenuListStyle):
91565        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
91566        (WebCore::RenderThemeWin::paintMenuListButton):
91567        (WebCore::RenderThemeWin::paintSliderTrack):
91568        (WebCore::RenderThemeWin::paintSliderThumb):
91569        (WebCore::RenderThemeWin::adjustSliderThumbSize):
91570        (WebCore::RenderThemeWin::paintSearchField):
91571        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
91572        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
91573        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
91574        (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
91575        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
91576        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
91577        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
91578        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
91579        * rendering/RenderThemeWin.h:
91580        (WebCore::ThemeData::ThemeData):
91581        (WebCore::RenderThemeWin::paintSearchFieldDecoration):
91582        (WebCore::RenderThemeWin::adjustButtonStyle):
91583        (WebCore::RenderThemeWin::adjustTextFieldStyle):
91584        (WebCore::RenderThemeWin::adjustTextAreaStyle):
91585
915862008-09-09  Dean Jackson  <dino@apple.com>
91587
91588        Reviewed by Sam Weinig.
91589
91590        Document::createEvent missing cases for animation and
91591        transition events.
91592        https://bugs.webkit.org/show_bug.cgi?id=20734
91593
91594        Test: transitions/transition-end-event-create.html
91595        Test: animations/animation-events-create.html
91596
91597        * dom/Document.cpp:
91598        (WebCore::Document::createEvent):
91599            - add the two cases
91600
916012008-09-09  Dan Bernstein  <mitz@apple.com>
91602
91603        - Tiger build fix
91604
91605        * WebCore.Tiger.exp:
91606        * WebCore.base.exp:
91607        * platform/mac/WebCoreSystemInterface.h:
91608        * platform/mac/WebCoreSystemInterface.mm:
91609
916102008-09-09  Dan Bernstein  <mitz@apple.com>
91611
91612        Reviewed by Darin Adler.
91613
91614        - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
91615
91616        * WebCore.Tiger.exp:
91617        * WebCore.base.exp:
91618        * platform/graphics/SimpleFontData.h:
91619        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
91620        (WebCore::GlyphPage::fill):
91621        * platform/graphics/mac/SimpleFontDataMac.mm:
91622        (WebCore::initFontData):
91623        (WebCore::SimpleFontData::platformInit):
91624        (WebCore::SimpleFontData::platformDestroy):
91625        * platform/mac/WebCoreSystemInterface.h:
91626        * platform/mac/WebCoreSystemInterface.mm:
91627
916282008-09-09  Kevin McCullough  <kmccullough@apple.com>
91629
91630        Reviewed by Tim.
91631
91632        <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
91633        breakpoints inside eval.
91634
91635        * page/inspector/inspector.js:
91636
916372008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>
91638
91639        Reviewed by Simon.
91640
91641        Fix compilation of the Qt port with disabled plugins on Windows
91642
91643        * WebCore.pro:
91644        * plugins/PluginView.cpp:
91645        (WebCore::PluginView::PluginView):
91646        * plugins/PluginView.h:
91647
916482008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>
91649
91650        Reviewed by Alexey Proskuryakov.
91651
91652        Try MIME charset names before trying IANA names
91653        ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
91654
91655        With this change, shorter and more widely used names (preferred MIME
91656        names) are returned by document.charset, document.characterSet,
91657        document.inputEncoding rather than IANA names. This  helps
91658        fixing bug 18085 in addition to web developers who are more familiar
91659        with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
91660        returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
91661        ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
91662        Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
91663        used, the former is still recognized as aliases to the latter so that
91664        there's very little, if any, to worry about.
91665
91666        * platform/text/TextCodecICU.cpp:
91667        (WebCore::TextCodecICU::registerExtendedEncodingNames):
91668
916692008-09-08  Sam Weinig  <sam@webkit.org>
91670
91671        Reviewed by Maciej Stachowiak and Oliver Hunt.
91672
91673        Add forwarding headers.
91674
91675        * ForwardingHeaders/wtf/HashFunctions.h: Added.
91676
916772008-09-05  Dean Jackson  <dino@apple.com>
91678
91679        Reviewed by Dan Bernstein.
91680
91681        Update grammar so that we can add a keyframe rule via the DOM.
91682        https://bugs.webkit.org/show_bug.cgi?id=20613
91683
91684        * css/CSSGrammar.y:
91685        * css/tokenizer.flex:
91686
916872008-09-08  Antti Koivisto  <antti@apple.com>
91688
91689        Reviewed by Dan Bernstein.
91690
91691        Allow <br> for simple UA stylesheet. Editing code generates them. It does not
91692        actually show up in any of the default stylesheets.
91693
91694        * css/CSSStyleSelector.cpp:
91695        (WebCore::elementCanUseSimpleDefaultStyle):
91696
916972008-09-08  Dimitri Glazkov  <dglazkov@google.com>
91698
91699        Reviewed by Dan Bernstein.
91700
91701        - fix https://bugs.webkit.org/show_bug.cgi?id=20237
91702          Zero width and space characters are displayed incorrectly if not contained in a fallback font
91703
91704        Adds an extra check for Object Replacement Character (U+FFFC) to address
91705        the issue with fast/text/zero-width-characters.html test when run
91706        with Windows system default fonts.
91707
91708        * platform/graphics/Font.h:
91709        (WebCore::Font::treatAsZeroWidthSpace):
91710
917112008-09-08  Dean Jackson  <dino@apple.com>
91712
91713        Reviewed by Sam Weinig.
91714
91715        Code style issue I forgot to fix from previous commit.
91716
91717        * platform/graphics/AffineTransform.cpp:
91718        (WebCore::AffineTransform::blend):
91719
917202008-09-08  Chris Marrin  <cmarrin@apple.com>
91721
91722        Reviewed by Sam Weinig
91723
91724        - Animation of -webkit-transform matrix() function should not do linear interpolation
91725          https://bugs.webkit.org/show_bug.cgi?id=20667
91726
91727        Test: animations/matrix-anim.html
91728
91729        * ChangeLog:
91730        * platform/graphics/AffineTransform.cpp:
91731        (WebCore::affineTransformDecompose):
91732        (WebCore::affineTransformCompose):
91733        (WebCore::AffineTransform::blend):
91734        * platform/graphics/AffineTransform.h:
91735        * rendering/style/RenderStyle.cpp:
91736        (WebCore::MatrixTransformOperation::blend):
91737
917382008-09-08  Alexey Proskuryakov  <ap@webkit.org>
91739
91740        Reviewed by Darin Adler.
91741
91742        https://bugs.webkit.org/show_bug.cgi?id=20668
91743        multipart/form-data does not always include Content-type for submitted files
91744
91745        Cannot be tested with DRT or manual tests.
91746
91747        * platform/MIMETypeRegistry.cpp:
91748        (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
91749        (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
91750        unknown extensions, not just missing ones.
91751
917522008-09-08  Simon Hausmann  <hausmann@webkit.org>
91753
91754        Build fix for the Qt/Windows build, define USE_JSC to
91755        enable the WebCore::String -> JSC::UString operator that
91756        MSVC insists on seeing
91757
91758        * WebCore.pro:
91759
917602008-09-08  Anders Carlsson  <andersca@apple.com>
91761
91762        Reviewed by Maciej.
91763
91764        <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
91765
91766        In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
91767        page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
91768
91769        Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
91770
91771        * bindings/js/JSDOMWindowBase.h:
91772        * loader/FrameLoader.cpp:
91773        (WebCore::FrameLoader::commitProvisionalLoad):
91774
917752008-09-07  Antti Koivisto  <antti@apple.com>
91776
91777        Reviewed by Dave Hyatt.
91778
91779        Don't leak the simple stylesheet.
91780        Also call RenderTheme::adjustDefaultStyleSheet() in right place.
91781
91782        * css/CSSStyleSelector.cpp:
91783        (WebCore::loadFullDefaultStyle):
91784        (WebCore::loadSimpleDefaultStyle):
91785        (WebCore::CSSStyleSelector::styleForElement):
91786
917872008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
91788
91789        Reviewed by Oliver Hunt.
91790
91791        Bug 20711: Change KJS prefix on preprocessor macros to JSC
91792        <https://bugs.webkit.org/show_bug.cgi?id=20711>
91793
91794        * bindings/js/JSEventTargetBase.h:
91795        * bindings/js/JSHTMLInputElementBase.cpp:
91796        * bindings/js/JSHTMLInputElementBase.h:
91797        * bindings/scripts/CodeGeneratorJS.pm:
91798
917992008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
91800
91801        Reviewed by Maciej Stachowiak.
91802
91803        Bug 20704: Replace the KJS namespace
91804        <https://bugs.webkit.org/show_bug.cgi?id=20704>
91805
91806        Rename the KJS namespace to JSC. There are still some uses of KJS in the
91807        names of JNI functions, and I will check if these are safe to change
91808        as well.
91809
91810        * WebCore.base.exp:
91811        * bindings/js/GCController.cpp:
91812        * bindings/js/JSAttrCustom.cpp:
91813        * bindings/js/JSAudioConstructor.cpp:
91814        * bindings/js/JSAudioConstructor.h:
91815        (WebCore::JSAudioConstructor::classInfo):
91816        * bindings/js/JSCSSRuleCustom.cpp:
91817        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
91818        * bindings/js/JSCSSValueCustom.cpp:
91819        * bindings/js/JSCanvasPixelArrayCustom.cpp:
91820        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
91821        * bindings/js/JSClipboardCustom.cpp:
91822        * bindings/js/JSConsoleCustom.cpp:
91823        * bindings/js/JSCustomSQLStatementCallback.cpp:
91824        (WebCore::JSCustomSQLStatementCallback::handleEvent):
91825        * bindings/js/JSCustomSQLStatementCallback.h:
91826        (WebCore::JSCustomSQLStatementCallback::create):
91827        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
91828        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
91829        * bindings/js/JSCustomSQLStatementErrorCallback.h:
91830        (WebCore::JSCustomSQLStatementErrorCallback::create):
91831        * bindings/js/JSCustomSQLTransactionCallback.cpp:
91832        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
91833        * bindings/js/JSCustomSQLTransactionCallback.h:
91834        (WebCore::JSCustomSQLTransactionCallback::create):
91835        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
91836        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
91837        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
91838        (WebCore::JSCustomSQLTransactionErrorCallback::create):
91839        * bindings/js/JSCustomVoidCallback.cpp:
91840        (WebCore::JSCustomVoidCallback::handleEvent):
91841        * bindings/js/JSCustomVoidCallback.h:
91842        (WebCore::JSCustomVoidCallback::create):
91843        * bindings/js/JSCustomXPathNSResolver.cpp:
91844        (WebCore::JSCustomXPathNSResolver::create):
91845        * bindings/js/JSCustomXPathNSResolver.h:
91846        * bindings/js/JSDOMApplicationCacheCustom.cpp:
91847        (WebCore::JSDOMApplicationCache::dispatchEvent):
91848        * bindings/js/JSDOMBinding.cpp:
91849        (WebCore::jsOwnedStringOrNull):
91850        * bindings/js/JSDOMBinding.h:
91851        (WebCore::DOMObject::DOMObject):
91852        (WebCore::cacheDOMObject):
91853        (WebCore::cacheSVGDOMObject):
91854        (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
91855        (WebCore::toJS):
91856        * bindings/js/JSDOMWindowBase.cpp:
91857        * bindings/js/JSDOMWindowBase.h:
91858        (WebCore::JSDOMWindowBase::classInfo):
91859        (WebCore::JSDOMWindowBase::d):
91860        * bindings/js/JSDOMWindowCustom.cpp:
91861        (WebCore::JSDOMWindow::getPropertyAttributes):
91862        * bindings/js/JSDOMWindowCustom.h:
91863        (WebCore::asJSDOMWindow):
91864        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
91865        (WebCore::JSDOMWindow::customPut):
91866        (WebCore::JSDOMWindowBase::allowsAccessFrom):
91867        (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
91868        * bindings/js/JSDOMWindowShell.cpp:
91869        (WebCore::JSDOMWindowShell::getPropertyAttributes):
91870        * bindings/js/JSDOMWindowShell.h:
91871        (WebCore::JSDOMWindowShell::classInfo):
91872        * bindings/js/JSDatabaseCustom.cpp:
91873        * bindings/js/JSDocumentCustom.cpp:
91874        * bindings/js/JSDocumentFragmentCustom.cpp:
91875        * bindings/js/JSElementCustom.cpp:
91876        * bindings/js/JSEventCustom.cpp:
91877        * bindings/js/JSEventListener.cpp:
91878        * bindings/js/JSEventListener.h:
91879        (WebCore::JSUnprotectedEventListener::create):
91880        (WebCore::JSEventListener::create):
91881        * bindings/js/JSEventTargetBase.cpp:
91882        * bindings/js/JSEventTargetBase.h:
91883        (WebCore::JSEventTargetBase::getValueProperty):
91884        (WebCore::JSEventTargetBase::putValueProperty):
91885        (WebCore::JSEventTargetBase::getOwnPropertySlot):
91886        (WebCore::JSEventTargetBase::put):
91887        (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
91888        (WebCore::JSEventTargetPrototype::self):
91889        (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
91890        (WebCore::JSEventTargetPrototype::classInfo):
91891        * bindings/js/JSEventTargetNode.cpp:
91892        * bindings/js/JSEventTargetNode.h:
91893        (WebCore::JSEventTargetNode::getOwnPropertySlot):
91894        (WebCore::JSEventTargetNode::getValueProperty):
91895        (WebCore::JSEventTargetNode::put):
91896        (WebCore::JSEventTargetNode::putValueProperty):
91897        * bindings/js/JSHTMLAllCollection.h:
91898        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
91899        (WebCore::JSHTMLAllCollection::toBoolean):
91900        * bindings/js/JSHTMLAppletElementCustom.cpp:
91901        * bindings/js/JSHTMLCollectionCustom.cpp:
91902        * bindings/js/JSHTMLDocumentCustom.cpp:
91903        * bindings/js/JSHTMLElementCustom.cpp:
91904        * bindings/js/JSHTMLEmbedElementCustom.cpp:
91905        * bindings/js/JSHTMLFormElementCustom.cpp:
91906        * bindings/js/JSHTMLFrameElementCustom.cpp:
91907        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
91908        * bindings/js/JSHTMLIFrameElementCustom.cpp:
91909        * bindings/js/JSHTMLInputElementBase.cpp:
91910        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
91911        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
91912        * bindings/js/JSHTMLInputElementBase.h:
91913        (WebCore::JSHTMLInputElementBase::classInfo):
91914        * bindings/js/JSHTMLObjectElementCustom.cpp:
91915        * bindings/js/JSHTMLOptionElementConstructor.cpp:
91916        * bindings/js/JSHTMLOptionElementConstructor.h:
91917        (WebCore::JSHTMLOptionElementConstructor::classInfo):
91918        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
91919        * bindings/js/JSHTMLSelectElementCustom.cpp:
91920        (WebCore::selectIndexSetter):
91921        (WebCore::JSHTMLSelectElement::indexSetter):
91922        * bindings/js/JSHTMLSelectElementCustom.h:
91923        * bindings/js/JSHistoryCustom.cpp:
91924        * bindings/js/JSImageConstructor.cpp:
91925        * bindings/js/JSImageConstructor.h:
91926        (WebCore::JSImageConstructor::classInfo):
91927        * bindings/js/JSInspectedObjectWrapper.cpp:
91928        * bindings/js/JSInspectedObjectWrapper.h:
91929        (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
91930        (WebCore::JSInspectedObjectWrapper::classInfo):
91931        * bindings/js/JSInspectorCallbackWrapper.cpp:
91932        * bindings/js/JSInspectorCallbackWrapper.h:
91933        (WebCore::JSInspectorCallbackWrapper::classInfo):
91934        (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
91935        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
91936        * bindings/js/JSLocationCustom.cpp:
91937        * bindings/js/JSMimeTypeArrayCustom.cpp:
91938        * bindings/js/JSNSResolver.cpp:
91939        * bindings/js/JSNSResolver.h:
91940        (WebCore::JSNSResolver::create):
91941        * bindings/js/JSNamedNodeMapCustom.cpp:
91942        * bindings/js/JSNamedNodesCollection.cpp:
91943        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
91944        * bindings/js/JSNamedNodesCollection.h:
91945        (WebCore::JSNamedNodesCollection::classInfo):
91946        * bindings/js/JSNavigatorCustom.cpp:
91947        * bindings/js/JSNodeCustom.cpp:
91948        * bindings/js/JSNodeFilterCondition.cpp:
91949        (WebCore::JSNodeFilterCondition::acceptNode):
91950        * bindings/js/JSNodeFilterCondition.h:
91951        (WebCore::JSNodeFilterCondition::create):
91952        * bindings/js/JSNodeFilterCustom.cpp:
91953        * bindings/js/JSNodeIteratorCustom.cpp:
91954        * bindings/js/JSNodeListCustom.cpp:
91955        * bindings/js/JSPluginArrayCustom.cpp:
91956        * bindings/js/JSPluginCustom.cpp:
91957        * bindings/js/JSPluginElementFunctions.cpp:
91958        (WebCore::getRuntimeObject):
91959        * bindings/js/JSPluginElementFunctions.h:
91960        * bindings/js/JSQuarantinedObjectWrapper.cpp:
91961        (WebCore::JSQuarantinedObjectWrapper::construct):
91962        (WebCore::JSQuarantinedObjectWrapper::call):
91963        * bindings/js/JSQuarantinedObjectWrapper.h:
91964        (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
91965        (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
91966        (WebCore::JSQuarantinedObjectWrapper::className):
91967        * bindings/js/JSRGBColor.cpp:
91968        * bindings/js/JSRGBColor.h:
91969        (WebCore::JSRGBColor::classInfo):
91970        * bindings/js/JSSQLResultSetRowListCustom.cpp:
91971        * bindings/js/JSSQLTransactionCustom.cpp:
91972        * bindings/js/JSSVGLazyEventListener.cpp:
91973        * bindings/js/JSSVGLazyEventListener.h:
91974        * bindings/js/JSSVGLengthCustom.cpp:
91975        * bindings/js/JSSVGMatrixCustom.cpp:
91976        (WebCore::JSSVGMatrix::inverse):
91977        (WebCore::JSSVGMatrix::rotateFromVector):
91978        * bindings/js/JSSVGPathSegCustom.cpp:
91979        * bindings/js/JSSVGPathSegListCustom.cpp:
91980        (WebCore::JSSVGPathSegList::initialize):
91981        (WebCore::JSSVGPathSegList::getItem):
91982        (WebCore::JSSVGPathSegList::insertItemBefore):
91983        (WebCore::JSSVGPathSegList::replaceItem):
91984        (WebCore::JSSVGPathSegList::removeItem):
91985        (WebCore::JSSVGPathSegList::appendItem):
91986        * bindings/js/JSSVGPointListCustom.cpp:
91987        * bindings/js/JSSVGTransformListCustom.cpp:
91988        * bindings/js/JSStorageCustom.cpp:
91989        * bindings/js/JSStyleSheetCustom.cpp:
91990        * bindings/js/JSStyleSheetListCustom.cpp:
91991        * bindings/js/JSTextCustom.cpp:
91992        * bindings/js/JSTreeWalkerCustom.cpp:
91993        * bindings/js/JSXMLHttpRequestConstructor.cpp:
91994        * bindings/js/JSXMLHttpRequestConstructor.h:
91995        (WebCore::JSXMLHttpRequestConstructor::classInfo):
91996        * bindings/js/JSXMLHttpRequestCustom.cpp:
91997        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
91998        * bindings/js/JSXSLTProcessorConstructor.cpp:
91999        * bindings/js/JSXSLTProcessorConstructor.h:
92000        (WebCore::JSXSLTProcessorConstructor::classInfo):
92001        * bindings/js/JSXSLTProcessorCustom.cpp:
92002        * bindings/js/ScheduledAction.cpp:
92003        * bindings/js/ScheduledAction.h:
92004        * bindings/js/ScriptController.cpp:
92005        (WebCore::ScriptController::attachDebugger):
92006        (WebCore::ScriptController::windowScriptNPObject):
92007        * bindings/js/ScriptController.h:
92008        * bindings/js/ScriptControllerGtk.cpp:
92009        (WebCore::ScriptController::createScriptInstanceForWidget):
92010        * bindings/js/ScriptControllerMac.mm:
92011        (WebCore::ScriptController::createScriptInstanceForWidget):
92012        (WebCore::ScriptController::windowScriptObject):
92013        (WebCore::ScriptController::clearPlatformScriptObjects):
92014        (WebCore::updateRenderingForBindings):
92015        (WebCore::ScriptController::initJavaJSBindings):
92016        * bindings/js/ScriptControllerQt.cpp:
92017        (WebCore::ScriptController::createScriptInstanceForWidget):
92018        * bindings/js/ScriptControllerWin.cpp:
92019        (WebCore::ScriptController::createScriptInstanceForWidget):
92020        * bindings/js/ScriptControllerWx.cpp:
92021        (WebCore::ScriptController::createScriptInstanceForWidget):
92022        * bindings/js/StringSourceProvider.h:
92023        (WebCore::StringSourceProvider::getRange):
92024        * bindings/objc/DOM.mm:
92025        (-[DOMNode JSC::Bindings::]):
92026        * bindings/objc/DOMInternal.h:
92027        * bindings/objc/DOMInternal.mm:
92028        (-[WebScriptObject _initializeScriptDOMNodeImp]):
92029        * bindings/objc/DOMUtility.mm:
92030        (JSC::createDOMWrapper):
92031        (WebCore::createDOMWrapper):
92032        * bindings/objc/WebScriptObject.mm:
92033        (WebCore::createJSWrapper):
92034        (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
92035        * bindings/objc/WebScriptObjectPrivate.h:
92036        * bindings/scripts/CodeGeneratorJS.pm:
92037        * bridge/NP_jsobject.cpp:
92038        * bridge/NP_jsobject.h:
92039        * bridge/c/c_class.cpp:
92040        * bridge/c/c_class.h:
92041        * bridge/c/c_instance.cpp:
92042        * bridge/c/c_instance.h:
92043        * bridge/c/c_runtime.cpp:
92044        * bridge/c/c_runtime.h:
92045        * bridge/c/c_utility.cpp:
92046        * bridge/c/c_utility.h:
92047        * bridge/jni/jni_class.cpp:
92048        * bridge/jni/jni_class.h:
92049        * bridge/jni/jni_instance.cpp:
92050        * bridge/jni/jni_instance.h:
92051        * bridge/jni/jni_jsobject.h:
92052        * bridge/jni/jni_jsobject.mm:
92053        (JavaJSObject::call):
92054        (JavaJSObject::convertJObjectToValue):
92055        * bridge/jni/jni_objc.mm:
92056        (JSC::Bindings::dispatchJNICall):
92057        * bridge/jni/jni_runtime.cpp:
92058        * bridge/jni/jni_runtime.h:
92059        * bridge/jni/jni_utility.cpp:
92060        * bridge/jni/jni_utility.h:
92061        * bridge/npruntime.cpp:
92062        (_NPN_GetStringIdentifier):
92063        * bridge/objc/WebScriptObject.h:
92064        * bridge/objc/objc_class.h:
92065        * bridge/objc/objc_class.mm:
92066        * bridge/objc/objc_instance.h:
92067        * bridge/objc/objc_instance.mm:
92068        * bridge/objc/objc_runtime.h:
92069        * bridge/objc/objc_runtime.mm:
92070        * bridge/objc/objc_utility.h:
92071        * bridge/objc/objc_utility.mm:
92072        * bridge/qt/qt_class.cpp:
92073        * bridge/qt/qt_class.h:
92074        * bridge/qt/qt_instance.cpp:
92075        * bridge/qt/qt_instance.h:
92076        * bridge/qt/qt_runtime.cpp:
92077        (JSC::Bindings::convertQVariantToValue):
92078        (JSC::Bindings::):
92079        * bridge/qt/qt_runtime.h:
92080        * bridge/runtime.cpp:
92081        * bridge/runtime.h:
92082        * bridge/runtime_array.cpp:
92083        * bridge/runtime_array.h:
92084        * bridge/runtime_method.cpp:
92085        * bridge/runtime_method.h:
92086        * bridge/runtime_object.cpp:
92087        * bridge/runtime_object.h:
92088        * bridge/runtime_root.cpp:
92089        (JSC::Bindings::RootObject::invalidate):
92090        (JSC::Bindings::RootObject::gcProtect):
92091        (JSC::Bindings::RootObject::gcUnprotect):
92092        * bridge/runtime_root.h:
92093        * bridge/testbindings.cpp:
92094        * bridge/testbindings.mm:
92095        * bridge/testqtbindings.cpp:
92096        * dom/Document.cpp:
92097        (WebCore::Document::~Document):
92098        * dom/NSResolver.h:
92099        * dom/Node.cpp:
92100        (WebCore::Node::setDocument):
92101        (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
92102        (WebCore::resolveNamespacesForSelector):
92103        (WebCore::Node::querySelector):
92104        (WebCore::Node::querySelectorAll):
92105        * dom/Node.h:
92106        * dom/NodeFilter.cpp:
92107        * dom/NodeFilter.h:
92108        * dom/NodeFilterCondition.cpp:
92109        * dom/NodeFilterCondition.h:
92110        * dom/NodeIterator.cpp:
92111        * dom/NodeIterator.h:
92112        * dom/Traversal.cpp:
92113        * dom/Traversal.h:
92114        * dom/TreeWalker.cpp:
92115        * dom/TreeWalker.h:
92116        * dom/make_names.pl:
92117        * history/CachedPage.cpp:
92118        * history/CachedPage.h:
92119        * html/HTMLPlugInElement.cpp:
92120        (WebCore::HTMLPlugInElement::getInstance):
92121        * html/HTMLPlugInElement.h:
92122        * loader/FrameLoader.cpp:
92123        * loader/FrameLoader.h:
92124        * loader/icon/IconDatabase.cpp:
92125        (WebCore::iconDatabase):
92126        * page/Console.cpp:
92127        * page/Console.h:
92128        * page/InspectorController.cpp:
92129        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
92130        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
92131        (WebCore::InspectorResource::setXMLHttpRequestProperties):
92132        (WebCore::InspectorResource::sourceString):
92133        (WebCore::getResourceDocumentNode):
92134        (WebCore::search):
92135        (WebCore::InspectorController::focusNode):
92136        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
92137        (WebCore::InspectorController::addDatabaseScriptResource):
92138        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
92139        * page/InspectorController.h:
92140        (WebCore::InspectorController::profiles):
92141        * page/JavaScriptCallFrame.cpp:
92142        (WebCore::JavaScriptCallFrame::scopeChain):
92143        * page/JavaScriptCallFrame.h:
92144        (WebCore::JavaScriptCallFrame::create):
92145        (WebCore::JavaScriptCallFrame::update):
92146        * page/JavaScriptDebugListener.h:
92147        * page/JavaScriptDebugServer.cpp:
92148        (WebCore::dispatchDidParseSource):
92149        * page/JavaScriptDebugServer.h:
92150        * page/JavaScriptProfile.cpp:
92151        * page/JavaScriptProfile.h:
92152        * page/JavaScriptProfileNode.cpp:
92153        (WebCore::getTotalTime):
92154        (WebCore::getSelfTime):
92155        (WebCore::getTotalPercent):
92156        (WebCore::getSelfPercent):
92157        (WebCore::getNumberOfCalls):
92158        (WebCore::getChildren):
92159        (WebCore::getVisible):
92160        * page/JavaScriptProfileNode.h:
92161        * page/Page.cpp:
92162        (WebCore::Page::setDebuggerForAllPages):
92163        (WebCore::Page::setDebugger):
92164        * page/Page.h:
92165        (WebCore::Page::debugger):
92166        * page/mac/FrameMac.mm:
92167        * platform/KURL.h:
92168        (WebCore::KURL::operator JSC::UString):
92169        * platform/text/AtomicString.cpp:
92170        (WebCore::AtomicString::add):
92171        (WebCore::AtomicString::find):
92172        * platform/text/AtomicString.h:
92173        (WebCore::AtomicString::AtomicString):
92174        * platform/text/PlatformString.h:
92175        * platform/text/String.cpp:
92176        (WebCore::charactersToDouble):
92177        * platform/win/BString.cpp:
92178        * platform/win/BString.h:
92179        * plugins/MimeTypeArray.h:
92180        * plugins/Plugin.h:
92181        * plugins/PluginArray.h:
92182        * plugins/PluginView.cpp:
92183        (WebCore::PluginView::start):
92184        (WebCore::PluginView::performRequest):
92185        (WebCore::PluginView::bindingInstance):
92186        * plugins/PluginView.h:
92187        * plugins/gtk/PluginViewGtk.cpp:
92188        (WebCore::PluginView::paint):
92189        (WebCore::PluginView::handleKeyboardEvent):
92190        (WebCore::PluginView::handleMouseEvent):
92191        (WebCore::PluginView::setNPWindowRect):
92192        (WebCore::PluginView::stop):
92193        (WebCore::PluginView::init):
92194        * plugins/qt/PluginViewQt.cpp:
92195        (WebCore::PluginView::setNPWindowRect):
92196        (WebCore::PluginView::stop):
92197        (WebCore::PluginView::init):
92198        * plugins/win/PluginViewWin.cpp:
92199        (WebCore::PluginView::dispatchNPEvent):
92200        (WebCore::PluginView::handleKeyboardEvent):
92201        (WebCore::PluginView::handleMouseEvent):
92202        (WebCore::PluginView::setNPWindowRect):
92203        (WebCore::PluginView::stop):
92204        * storage/Database.cpp:
92205        (WebCore::Database::Database):
92206        * xml/XMLHttpRequest.cpp:
92207        (WebCore::XMLHttpRequest::responseText):
92208        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
92209        (WebCore::XMLHttpRequest::clearResponse):
92210        (WebCore::XMLHttpRequest::dropProtection):
92211        (WebCore::XMLHttpRequest::didFinishLoading):
92212        (WebCore::XMLHttpRequest::didReceiveData):
92213        * xml/XMLHttpRequest.h:
92214
922152008-09-07  Adam Barth  <abarth@webkit.org>
92216
92217        Reviewed by Sam Weinig.
92218
92219        Adopt opener restriction on frame navigation.
92220          https://bugs.webkit.org/show_bug.cgi?id=20642
92221
92222        This restriction helps prevent an attacker from navigating top-level
92223        windows that were created by another web site.
92224
92225        Tests: http/tests/security/frameNavigation/not-opener.html
92226               http/tests/security/frameNavigation/opener.html
92227
92228        * loader/FrameLoader.cpp:
92229        (WebCore::canAccessAncestor):
92230        (WebCore::FrameLoader::shouldAllowNavigation):
92231
922322008-09-07  Dan Bernstein  <mitz@apple.com>
92233
92234        Reviewed by Maciej Stachowiak.
92235
92236        - use the correct sign for vertical offsets of combining marks
92237
92238        * platform/graphics/win/UniscribeController.cpp:
92239        (WebCore::UniscribeController::shapeAndPlaceItem):
92240
922412008-09-07  Dan Bernstein  <mitz@apple.com>
92242
92243        Reviewed by Dave Hyatt.
92244
92245        - add the combining mark offsets in two places where I forgot them
92246
92247        * platform/graphics/win/FontCGWin.cpp:
92248        (WebCore::Font::drawGlyphs):
92249
922502008-09-07  Dan Bernstein  <mitz@apple.com>
92251
92252        Reviewed by Dave Hyatt.
92253
92254        - correct glyph advances in complex text using web fonts rendered with
92255          Core Graphics
92256
92257        * platform/graphics/win/FontCustomPlatformData.cpp:
92258        (WebCore::FontCustomPlatformData::fontPlatformData):
92259
922602008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
92261
92262        Adds console.dirxml support to the Web Inspector.
92263
92264        https://bugs.webkit.org/show_bug.cgi?id=19156
92265
92266        Reviewed by Timothy Hatcher.
92267
92268        * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
92269        * bindings/js/JSConsoleCustom.cpp:
92270        (WebCore::JSConsole::dirxml):
92271        * page/Console.cpp:
92272        (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
92273        * page/Console.h:
92274        (WebCore::): Added NodeMessageLevel.
92275        * page/Console.idl: Added console.dirxml.
92276        * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
92277        * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
92278        in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
92279        * page/inspector/ElementsTreeOutline.js: Added.
92280        (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
92281        (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
92282        * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
92283        * page/inspector/inspector.css:
92284        * page/inspector/inspector.html: Added ElementsTreeOutline.js.
92285        * page/inspector/inspector.js: Moved hover related methods to WebInspector.
92286        (WebInspector.altKeyDown):
92287        (WebInspector.forceHoverHighlight):
92288        (WebInspector.hoveredDOMNode):
92289        (WebInspector._updateHoverHighlightSoon):
92290        (WebInspector._updateHoverHighlight):
92291        (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
92292        (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
92293        * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
92294        isAncestorIncludingParentFrames.
92295
922962008-09-06  Mark Rowe  <mrowe@apple.com>
92297
92298        Qt build fix.
92299
92300        * bridge/qt/qt_runtime.cpp:
92301        (KJS::Bindings::convertQVariantToValue):
92302
92303=== End merge of squirrelfish-extreme ===
92304
923052008-09-05  Oliver Hunt  <oliver@apple.com>
92306
92307        Start bringing up SFX on windows.
92308
92309        Reviewed by Mark Rowe and Sam Weinig
92310
92311        Start doing the work to bring up SFX on windows.  Initially
92312        just working on WREC, as it does not make any calls so reduces
92313        the amount of code that needs to be corrected.
92314
92315        Add forwarding headers
92316
92317        * ChangeLog:
92318        * ForwardingHeaders/masm/MacroAssembler.h: Added.
92319        * WebCore.vcproj/WebCore.vcproj:
92320
923212008-08-27  Mark Rowe  <mrowe@apple.com>
92322
92323        Reviewed by Oliver Hunt.
92324
92325        Fix the build of the full WebKit stack.
92326
92327        Add forwarding headers.
92328
92329        * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
92330        * ForwardingHeaders/wrec/WREC.h: Added.
92331
92332=== Start merge of squirrelfish-extreme ===
92333
923342008-09-06  Antti Koivisto  <antti@apple.com>
92335
92336        Reviewed by Dave Hyatt.
92337
92338        <rdar://problem/6187043>
92339        Don't parse full HTML user agent style sheet unless it is actually needed
92340        <rdar://problem/6131889>
92341        WebView is significantly more expensive to create recently
92342
92343        Parsing the html4.css takes significant amount of time and memory (~50kb) on application
92344        startup. Some clients may never use most of the rules.
92345
92346        With this patch we use simplified UA stylesheet until we hit something it can't handle.
92347        This avoids full stylesheet parsing on application startup (due to empty document construction)
92348        and also makes it possible for clients with very simple demands (divs and spans only) never to load
92349        the full style.
92350
92351        It also delays view source style parsing until it is used.
92352
92353        * css/CSSStyleSelector.cpp:
92354        (WebCore::elementCanUseSimpleDefaultStyle):
92355        (WebCore::CSSStyleSelector::CSSStyleSelector):
92356        (WebCore::loadFullDefaultStyle):
92357        (WebCore::loadSimpleDefaultStyle):
92358        (WebCore::loadViewSourceStyle):
92359        (WebCore::CSSStyleSelector::matchUARules):
92360        (WebCore::CSSStyleSelector::styleForElement):
92361
923622008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
92363
92364        wx build fix.
92365
92366        * WebCoreSources.bkl:
92367
923682008-09-06  Antti Koivisto  <antti@apple.com>
92369
92370        Reverting r35953 which was causing problems on Windows which relies on
92371        WebCore timers in nested event loops. r36132 did alternative fix.
92372
92373        * page/Chrome.cpp:
92374        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
92375        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
92376
923772008-09-06  Antti Koivisto  <antti@apple.com>
92378
92379        Reviewed by Dan Bernstein.
92380
92381        Fix <rdar://problem/6201644>
92382        https://bugs.webkit.org/show_bug.cgi?id=20493
92383        Crash after OK in dialog box and reloading page in secure mode
92384
92385        Limited loader only fix since the general timer fix is causing problems on Windows.
92386
92387        * loader/loader.cpp:
92388        (WebCore::Loader::servePendingRequests):
92389        (WebCore::Loader::Host::Host):
92390        (WebCore::Loader::Host::didFinishLoading):
92391        (WebCore::Loader::Host::didFail):
92392        (WebCore::Loader::Host::didReceiveData):
92393        * loader/loader.h:
92394        (WebCore::Loader::Host::processingResource):
92395
923962008-09-06  Dan Bernstein  <mitz@apple.com>
92397
92398        Reviewed by Dave Hyatt.
92399
92400        The initial Core Text adoption prototype was made by Daniel Fenwick.
92401
92402        - <rdar://problem/5158514> Add a Core Text-based complex text code path
92403
92404        Currently the Core Text code path is not used in any configuration.
92405
92406        * WebCore.xcodeproj/project.pbxproj: Added files.
92407        * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
92408        * platform/graphics/Font.cpp:
92409        (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
92410        of the loop.
92411        * platform/graphics/GlyphBuffer.h:
92412        (WebCore::GlyphBuffer::add): Added this version that takes an advance.
92413        * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
92414        Added getCTFont() and getCFStringAttributes() and corresponding data
92415        members for Core Text.
92416        * platform/graphics/mac/CoreTextController.cpp: Added.
92417        (WebCore::roundCGFloat): Helper function.
92418        (WebCore::ceilCGFloat): Helper function.
92419        (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
92420        (WebCore::CoreTextController::CoreTextController):
92421        (WebCore::CoreTextController::offsetForPosition):
92422        (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
92423        run into subruns as necessary such that each subrun can be rendered with
92424        a single font. Also separates out soft hyphens and replaces them with
92425        real hyphens, because Core Text does not emit a glyph for soft hyphens.
92426        Then calls collectCoreTextRunsForCharacters() on each subrun.
92427        (WebCore::CoreTextController::advance):
92428        (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
92429        a CTLine from the given subrun and collects its CoreTextRuns.
92430        (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
92431        rounding hacks, letter- and word-spacing and glyph substitutions and
92432        stores the resulting adjusted glyphs and advances.
92433        * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
92434        (WebCore::CoreTextController::totalWidth):
92435        (WebCore::CoreTextController::finalRoundingWidth):
92436        (WebCore::CoreTextController::CoreTextRun::ctRun):
92437        (WebCore::CoreTextController::CoreTextRun::glyphCount):
92438        (WebCore::CoreTextController::CoreTextRun::fontData):
92439        (WebCore::CoreTextController::CoreTextRun::characters):
92440        (WebCore::CoreTextController::CoreTextRun::stringLocation):
92441        (WebCore::CoreTextController::CoreTextRun::stringLength):
92442        (WebCore::CoreTextController::CoreTextRun::indexAt):
92443        * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
92444        FontMacATSUI.mm.
92445        * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
92446        (WebCore::disableLigatures): Changed to call
92447        FontPlatformData::allowsLigatures().
92448        (WebCore::overrideLayoutOperation): Changed to call
92449        FontPlatformData::roundsGlyphAdvances().
92450        * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
92451        (WebCore::Font::selectionRectForComplexText): Changed to use
92452        totalWidth() instead of advancing to the end and using runWidthSoFar().
92453        (WebCore::Font::drawComplexText):
92454        (WebCore::Font::floatWidthForComplexText): Ditto.
92455        (WebCore::Font::offsetForPositionForComplexText):
92456        * platform/graphics/mac/FontPlatformData.h:
92457        * platform/graphics/mac/FontPlatformDataMac.mm:
92458        (WebCore::FontPlatformData::setFont):
92459        (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
92460        AppKit rendering mode.
92461        (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
92462        heuristic that allows ligatures in fonts that do not have a glyph for
92463        'a', based on the assumption that such fonts are only used in complex
92464        text.
92465        * platform/graphics/mac/SimpleFontDataMac.mm:
92466        (WebCore::SimpleFontData::platformInit):
92467        (WebCore::SimpleFontData::platformDestroy):
92468        (WebCore::SimpleFontData::getCTFont): Added.
92469        (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
92470        returns an attributes dictionary.
92471        * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
92472        * platform/text/mac/ShapeArabic.h: Ditto.
92473
924742008-09-06  Dan Bernstein  <mitz@apple.com>
92475
92476        Reviewed by Dave Hyatt.
92477
92478        - make combining mark offsets work in CG text on Windows
92479
92480        * platform/graphics/win/FontCGWin.cpp:
92481        (WebCore::Font::drawGlyphs): The old code tried to translate the text
92482        matrix, but failed for two reasons: it did not actually change the
92483        matrix, and even if it did, CGContextSetTextPosition overwrites the
92484        translation values in the text matrix. Instead, just added the
92485        translation to the anchor point.
92486
924872008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
92488
92489        Reviewed by Alp Toker.
92490
92491        https://bugs.webkit.org/show_bug.cgi?id=18346
92492        [GTK] Remove build warnings
92493
92494        Applied some casts, and removed an unused typedef to make the
92495        compiler happy, printing less warnings when building.
92496
92497        * page/gtk/AccessibilityObjectWrapperAtk.cpp:
92498        * platform/graphics/gtk/SimpleFontDataPango.cpp:
92499        (WebCore::SimpleFontData::containsCharacters):
92500        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
92501        (webkit_video_sink_set_caps):
92502        * platform/network/soup/ResourceHandleSoup.cpp:
92503
925042008-09-05  Eric Seidel  <eric@webkit.org>
92505
92506        Reviewed by Adam Roben.
92507
92508        Build fix for WebKitWin and Chromium
92509
92510        * platform/FileSystem.h:
92511
925122008-09-05  Eric Seidel  <eric@webkit.org>
92513
92514        Reviewed by Darin Adler.
92515
92516        Try to make Chromium compile with ToT:
92517        - Wrap a few places which depend on KJS:: in #if USE(JSC)
92518        - Include some windows forward declarations
92519
92520        * dom/Node.h:
92521        * page/Console.h:
92522        * page/animation/CompositeAnimation.h:
92523        * platform/FileSystem.h:
92524        * platform/graphics/Image.h:
92525        * platform/text/AtomicString.h:
92526        * platform/text/String.cpp:
92527        * rendering/style/RenderStyle.h:
92528
925292008-09-05  Dave Hyatt  <hyatt@apple.com>
92530
92531        Add support for runtime switchability of the Aqua look and the native look on Windows.
92532        Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
92533
92534        Reviewed by Adam Roben
92535
92536        * WebCore.vcproj/WebCore.vcproj:
92537        * page/Settings.cpp:
92538        (WebCore::Settings::setShouldPaintNativeControls):
92539        * page/Settings.h:
92540        (WebCore::Settings::shouldPaintNativeControls):
92541        * rendering/RenderThemeSafari.cpp:
92542        (WebCore::theme):
92543        * rendering/RenderThemeWin.cpp:
92544
925452008-09-05  Antti Koivisto  <antti@apple.com>
92546
92547        Qt build fix.
92548
92549        * svg/SVGFEImageElement.cpp:
92550        (WebCore::SVGFEImageElement::build):
92551
925522008-09-05  Dirk Schulze  <vbs85@gmx.de>
92553
92554        Gtk build fix
92555
92556        * GNUmakefile.am:
92557
925582008-09-05  Antti Koivisto  <antti@apple.com>
92559
92560        Another build fix.
92561
92562        * svg/SVGFEImageElement.cpp:
92563        (WebCore::SVGFEImageElement::notifyFinished):
92564
925652008-09-05  Antti Koivisto  <antti@apple.com>
92566
92567        Build fixes.
92568
92569        * WebCore.xcodeproj/project.pbxproj:
92570        * svg/graphics/filters/SVGFEImage.cpp:
92571        (WebCore::FEImage::cachedImage):
92572
925732008-09-05  Antti Koivisto  <antti@apple.com>
92574
92575        Reviewed by Darin Adler.
92576
92577        Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
92578        When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
92579
92580        Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
92581        not yet enable it for the biggest use case, reloading. However it is good for general browsing as
92582        well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
92583        we avoid re-decoding resources, especially images.
92584
92585        To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
92586        CacheControl: max-age=0 header. That would be added in reload case.
92587
92588        The approach for revalidation is to kick the original resource out from the memory cache
92589        and create a new CachedResource that represents the revalidation request. In case
92590        we get 304 back for the request we put the original resource back to the cache, update
92591        its expiration date and switch the clients registered to revalidation resource to be
92592        clients of the original resource.
92593
92594        All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
92595        This allows updating the handles to point to the original resource when the revalidation succeeds. It
92596        also acts as refcounting smart pointer.
92597
92598        * WebCore.pro:
92599        * WebCore.vcproj/WebCore.vcproj:
92600        * WebCore.xcodeproj/project.pbxproj:
92601        * css/CSSFontFaceSource.h:
92602        * css/CSSImportRule.h:
92603        * dom/Clipboard.h:
92604        (WebCore::Clipboard::dragImage):
92605        * dom/ProcessingInstruction.h:
92606        * dom/ScriptElement.h:
92607        * dom/XMLTokenizer.cpp:
92608        (WebCore::XMLTokenizer::isWaitingForScripts):
92609        * dom/XMLTokenizer.h:
92610        * html/HTMLImageLoader.cpp:
92611        (WebCore::HTMLImageLoader::setImage):
92612        (WebCore::HTMLImageLoader::updateFromElement):
92613        (WebCore::HTMLImageLoader::notifyFinished):
92614        * html/HTMLImageLoader.h:
92615        (WebCore::HTMLImageLoader::image):
92616        * html/HTMLLinkElement.h:
92617        * html/HTMLTokenizer.cpp:
92618        (WebCore::HTMLTokenizer::reset):
92619        (WebCore::HTMLTokenizer::scriptHandler):
92620        (WebCore::HTMLTokenizer::notifyFinished):
92621        * html/HTMLTokenizer.h:
92622        * loader/Cache.cpp:
92623        (WebCore::Cache::revalidateResource):
92624        (WebCore::Cache::revalidationSucceeded):
92625        (WebCore::Cache::revalidationFailed):
92626        * loader/Cache.h:
92627        * loader/CachedResource.cpp:
92628        (WebCore::CachedResource::CachedResource):
92629        (WebCore::CachedResource::~CachedResource):
92630        (WebCore::CachedResource::isExpired):
92631        (WebCore::CachedResource::setResponse):
92632        (WebCore::CachedResource::deleteIfPossible):
92633        (WebCore::CachedResource::setResourceToRevalidate):
92634        (WebCore::CachedResource::clearResourceToRevalidate):
92635        (WebCore::CachedResource::switchClientsToRevalidatedResource):
92636        (WebCore::CachedResource::canUseCacheValidator):
92637        (WebCore::CachedResource::mustRevalidate):
92638        * loader/CachedResource.h:
92639        (WebCore::CachedResource::canDelete):
92640        (WebCore::CachedResource::registerHandle):
92641        (WebCore::CachedResource::unregisterHandle):
92642        (WebCore::CachedResource::isCacheValidator):
92643        (WebCore::CachedResource::resourceToRevalidate):
92644        (WebCore::CachedResource::setExpirationDate):
92645        * loader/CachedResourceHandle.cpp: Added.
92646        (WebCore::CachedResourceHandleBase::setResource):
92647        * loader/CachedResourceHandle.h: Added.
92648        (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
92649        (WebCore::CachedResourceHandleBase::get):
92650        (WebCore::CachedResourceHandleBase::operator!):
92651        (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
92652        (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
92653        (WebCore::CachedResourceHandleBase::operator=):
92654        (WebCore::CachedResourceHandle::CachedResourceHandle):
92655        (WebCore::CachedResourceHandle::get):
92656        (WebCore::CachedResourceHandle::operator->):
92657        (WebCore::CachedResourceHandle::operator=):
92658        (WebCore::CachedResourceHandle::operator==):
92659        (WebCore::CachedResourceHandle::operator!=):
92660        (WebCore::operator==):
92661        (WebCore::operator!=):
92662        * loader/DocLoader.cpp:
92663        (WebCore::DocLoader::checkForReload):
92664        * loader/UserStyleSheetLoader.h:
92665        * loader/loader.cpp:
92666        (WebCore::Loader::Host::servePendingRequests):
92667        (WebCore::Loader::Host::didFinishLoading):
92668        (WebCore::Loader::Host::didFail):
92669        (WebCore::Loader::Host::didReceiveResponse):
92670        (WebCore::Loader::Host::didReceiveData):
92671        * page/EventHandler.cpp:
92672        (WebCore::EventHandler::selectCursor):
92673        * rendering/RenderImage.cpp:
92674        (WebCore::RenderImage::setCachedImage):
92675        (WebCore::RenderImage::imageChanged):
92676        * rendering/RenderImage.h:
92677        (WebCore::RenderImage::cachedImage):
92678        (WebCore::RenderImage::imagePtr):
92679        * rendering/style/RenderStyle.h:
92680        * rendering/style/StyleCachedImage.h:
92681        (WebCore::StyleCachedImage::data):
92682        (WebCore::StyleCachedImage::cachedImage):
92683        * svg/SVGFEImageElement.h:
92684        * svg/graphics/filters/SVGFEImage.h:
92685        * xml/XSLImportRule.h:
92686
926872008-09-04  Brady Eidson  <beidson@apple.com>
92688
92689        Reviewed by Mitz
92690
92691        <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
92692
92693        A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
92694        to model default NSURLRequest behavior in a cross-platform manner.
92695
92696        Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
92697        client that wished to enforce a much larger default timeout using NSURLRequest API.
92698
92699        Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
92700        behavior on the web and this restores previous Safari/WebKit behavior.
92701
92702        It would be easy to write a layout test for this, but to be effective it would have
92703        to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
92704
92705        * manual-tests/timeout-test.html: Added.
92706        * manual-tests/timeout-test.php: Added.
92707
92708        * platform/network/ResourceRequestBase.h:
92709        (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
92710          and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
92711        * platform/network/mac/ResourceRequestMac.mm:
92712        (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is
92713          "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
92714          WebKit applications to enforce their own default timeout.
92715
927162008-09-04  Dan Bernstein  <mitz@apple.com>
92717
92718        Reviewed by Beth Dakin.
92719
92720        - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
92721
92722        Test: fast/repaint/button-spurious-layout-hint.html
92723
92724        * rendering/RenderButton.cpp:
92725        (WebCore::RenderButton::setStyle): Reset the inner block's style box
92726        flex to 0 to avoid getting a spurious layout hint.
92727
927282008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
92729
92730        wx build fixes.
92731
92732        * WebCoreSources.bkl:
92733        * bindings/js/ScriptControllerWx.cpp: Added.
92734        (WebCore::ScriptController::createScriptInstanceForWidget):
92735        * page/wx/AccessibilityObjectWx.cpp: Added.
92736        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
92737        * platform/graphics/wx/GraphicsContextWx.cpp:
92738        * webcore-base.bkl:
92739        * webcore-wx.bkl:
92740
927412008-09-04  Dan Bernstein  <mitz@apple.com>
92742
92743        Reviewed by Mark Rowe.
92744
92745        - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
92746          and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
92747          require a different approach
92748
92749        * css/CSSGrammar.y:
92750
927512008-09-04  Mark Rowe  <mrowe@apple.com>
92752
92753        Reviewed by Eric Seidel.
92754
92755        Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
92756        Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
92757
92758        * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
92759        * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
92760        for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
92761
927622008-09-04  Mark Rowe  <mrowe@apple.com>
92763
92764        Mac build fix.
92765
92766        * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
92767
927682008-09-04  Eric Seidel  <eric@webkit.org>
92769
92770        Build fix only, no review.
92771
92772        * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
92773
927742008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
92775
92776        Reviewed by Eric Seidel.
92777
92778        http://bugs.webkit.org/show_bug.cgi?id=20380
92779        [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
92780
92781        * config.h: Include the configuration header generated by autotools if
92782        available.
92783
927842008-09-04  Dan Bernstein  <mitz@apple.com>
92785
92786        Rubber-stamped by Dave Hyatt.
92787
92788        - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
92789
92790        * loader/CachedFont.cpp:
92791        (WebCore::CachedFont::allClientsRemoved):
92792        * loader/CachedFont.h:
92793        * loader/CachedImage.cpp:
92794        (WebCore::CachedImage::allClientsRemoved):
92795        * loader/CachedImage.h:
92796        * loader/CachedResource.cpp:
92797        (WebCore::CachedResource::removeClient):
92798        * loader/CachedResource.h:
92799        (WebCore::CachedResource::allClientsRemoved):
92800
928012008-09-04  Adam Roben  <aroben@apple.com>
92802
92803        Windows build fix after r36071
92804
92805        We were getting these errors:
92806
92807        error C2356: initialization segment must not change during translation
92808        unit
92809
92810        This was happening because multiple files #included by
92811        DerivedSources.cpp were themselves #including StaticConstructors.h. I
92812        fixed the error by adding header guards to StaticConstructors.h so its
92813        contents will only be included once.
92814
92815        But it's also not a good idea for StaticConstructors.h to end up in
92816        DerivedSources.cpp, since it ends up "polluting" all the source files
92817        we have in there. So I removed all the files that include
92818        StaticConstructors.h and added some preprocessor directives to
92819        DerivedSources.cpp to catch this error in the future.
92820
92821        * DerivedSources.cpp: Removed the *Names.cpp files, which include
92822        StaticConstructors.h, and added some preprocessor directives to make
92823        sure we don't end up accidentally including StaticConstructors.h in
92824        the future.
92825        * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
92826        * platform/StaticConstructors.h: Added header guards.
92827
928282008-09-04  Adam Roben  <aroben@apple.com>
92829
92830        Windows build fix
92831
92832        * platform/graphics/win/FontPlatformData.h: Added a missing #include
92833        of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
92834        * platform/text/PlatformString.h: Added a missing #include of
92835        PassRefPtr.h.
92836
928372008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
92838
92839        Reviewed by Simon.
92840
92841        Fix the QtWebKit build to match changes in r36016
92842
92843        * WebCore.pro:
92844        * bridge/qt/qt_instance.cpp:
92845        (KJS::Bindings::QtInstance::getRuntimeObject):
92846        * bridge/qt/qt_runtime.cpp:
92847        (KJS::Bindings::convertQVariantToValue):
92848        (KJS::Bindings::QtConnectionObject::execute):
92849
928502008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
92851
92852        Reviewed by Simon.
92853
92854        Re-enable support for user stylesheets in QtWebKit
92855
92856        QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
92857        code path, which allows us to keep API support for
92858        loading user style sheets from remote URLs.
92859
92860        As part of the change UserStyleSheetLoader.cpp/h was
92861        moved from WebCore/loader/mac to WebCore/loader.
92862
92863        * WebCore.pro:
92864        * WebCore.xcodeproj/project.pbxproj:
92865        * dom/Document.h:
92866        * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
92867        (UserStyleSheetLoader::UserStyleSheetLoader):
92868        (UserStyleSheetLoader::~UserStyleSheetLoader):
92869        * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
92870        * page/qt/FrameQt.cpp:
92871        (WebCore::Frame::setUserStyleSheetLocation):
92872        (WebCore::Frame::setUserStyleSheet):
92873
928742008-09-04  Alp Toker  <alp@nuanti.com>
92875
92876        Reviewed by Eric.
92877
92878        Remove left-over QT and CAIRO platform checks.
92879
92880        * html/CanvasRenderingContext2D.cpp:
92881
928822008-09-04  Eric Seidel  <eric@webkit.org>
92883
92884        Reviewed by Mark Rowe.
92885
92886        Fix leak of TextMetrics due to over-ref as see on buildbot.
92887
92888        * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
92889
928902008-09-04  Dan Bernstein  <mitz@apple.com>
92891
92892        Reviewed by Dave Hyatt.
92893
92894        - fix https://bugs.webkit.org/show_bug.cgi?id=19717
92895          <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
92896
92897        * rendering/RenderBlock.cpp:
92898        (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
92899        positioned movement only case, call
92900        tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
92901        layout if that fails.
92902        (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
92903        * rendering/RenderBox.h:
92904        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
92905        layoutDoingPositionedMovementOnly to this, and made this function
92906        check if the width changed. If it did, return, leaving the object
92907        dirty. The caller can then call layout(). The width can change even
92908        in the "positioned movement only" case if the object is shrink-to-fit
92909        and the available width constraint is met. (This was the case in the
92910        bug).
92911        * rendering/RenderObject.h:
92912        (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
92913        Renamed layoutDoingPositionedMovementOnly() to this.
92914
929152008-09-03  Eric Seidel  <eric@webkit.org>
92916
92917        No review, build fix only.
92918
92919        Attempt to fix the Qt build.
92920
92921        * WebCore.pro: add page/animation to include path
92922
929232008-09-03  Mark Rowe  <mrowe@apple.com>
92924
92925        Mac build fix.  Correctly detect whether dashboard support is enabled.
92926
92927        * DerivedSources.make:
92928
929292008-09-03  Eric Seidel  <eric@webkit.org>
92930
92931        Reviewed by Sam.
92932
92933        Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
92934
92935        * Configurations/WebCore.xcconfig: add missing ENABLE_*
92936        * config.h: add rules for V8_BINDINGS
92937
929382008-09-03  Eric Seidel  <eric@webkit.org>
92939
92940        Reviewed by Sam.
92941
92942        https://bugs.webkit.org/show_bug.cgi?id=20620
92943
92944        Add #if USE(JSC) around KJS dependencies
92945        Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
92946        1. Most platforms have it on anyway
92947        2. V8 is going to want to share some of that code
92948        3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
92949
92950        * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
92951        * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
92952        * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92953        * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92954        * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92955        * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92956        * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92957        * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
92958        * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
92959        * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
92960        * platform/text/AtomicString.cpp: add USE(JSC)
92961        * platform/text/AtomicString.h: add USE(JSC)
92962        * platform/text/PlatformString.h: add USE(JSC)
92963        * platform/text/String.cpp: add USE(JSC)
92964        * platform/text/StringImpl.cpp: add USE(JSC)
92965        * platform/text/StringImpl.h: add USE(JSC)
92966
929672008-09-03  Dean McNamee  <deanm@chromium.org>
92968
92969        Reviewed by Darin Adler.
92970
92971        Fix https://bugs.webkit.org/show_bug.cgi?id=20511
92972        Bug 20511: Remove static initializers on Windows
92973
92974        Avoid static initializers on Windows by forcing Visual C++ to put
92975        all static initializers in a code segment that is never executed.
92976
92977        * config.h:
92978        * css/MediaFeatureNames.cpp:
92979        * dom/EventNames.cpp:
92980        * dom/QualifiedName.cpp:
92981        * dom/make_names.pl:
92982        * platform/StaticConstructors.h:
92983        * platform/text/AtomicString.cpp:
92984
929852008-09-03  Dirk Schulze  <vbs85@gmx.de>
92986
92987        Reviewed by Dave Hyatt.
92988
92989        Make FontCairo draw TextStroke and TextFill separately.
92990
92991        [CAIRO] draw TextFill and TextStroke separately.
92992        [https://bugs.webkit.org/show_bug.cgi?id=20631]
92993
92994        * platform/graphics/cairo/FontCairo.cpp:
92995        (WebCore::Font::drawGlyphs):
92996
929972008-09-03  Peter Kasting  <pkasting@google.com>
92998
92999        Reviewed by Dave Hyatt.
93000
93001        https://bugs.webkit.org/show_bug.cgi?id=19663
93002        Account for paint and timer lag when animating images.  Also pretend
93003        that images whose animations were paused (by becoming invisible)
93004        continued to animate, by "catching up" to the correct frame when they're
93005        shown again.
93006
93007        * platform/graphics/BitmapImage.cpp:
93008        (WebCore::BitmapImage::BitmapImage):
93009        (WebCore::BitmapImage::startAnimation):
93010        (WebCore::BitmapImage::advanceAnimation):
93011        (WebCore::BitmapImage::internalAdvanceAnimation):
93012        (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
93013        * platform/graphics/BitmapImage.h:
93014        * platform/graphics/cairo/ImageCairo.cpp:
93015        (WebCore::BitmapImage::draw):
93016        * platform/graphics/cg/ImageCG.cpp:
93017        (WebCore::BitmapImage::draw):
93018        * platform/graphics/qt/ImageQt.cpp:
93019        (WebCore::BitmapImage::draw):
93020        * platform/graphics/wx/ImageWx.cpp:
93021        (WebCore::BitmapImage::draw):
93022
930232008-09-03  Kevin McCullough  <kmccullough@apple.com>
93024
93025        Reviewed by Tim.
93026
93027        Remove the rest of the "zombie" code from the profiler.
93028        - There is no longer a need for the ProfilerClient callback mechanism.
93029
93030        * page/Console.cpp:
93031        (WebCore::Console::Console):
93032        (WebCore::Console::profile):
93033        (WebCore::Console::profileEnd): Move the variables from the header to
93034        here since we don't have to wait for a callback to use them.
93035        * page/Console.h:
93036        * page/InspectorController.cpp:
93037        (WebCore::InspectorController::startUserInitiatedProfiling):
93038        (WebCore::InspectorController::stopUserInitiatedProfiling):
93039        * page/InspectorController.h:
93040
930412008-09-03  Ada Chan  <adachan@apple.com>
93042
93043        Windows build fix.
93044
93045        * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
93046
930472008-09-01  Dean Jackson  <dino@apple.com>
93048
93049        Reviewed by Dave Hyatt.
93050
93051        https://bugs.webkit.org/show_bug.cgi?id=20594
93052        Add DOM interfaces for WebKitCSSKeyframeRule
93053        and WebKitCSSKeyframesRule.
93054
93055        TEST: LayoutTests/css3/keyframes-rule.html
93056
93057        * css/WebKitCSSKeyframeRule.idl: Added
93058        * css/WebKitCSSKeyframesRule.idl: Added
93059
93060        * bindings/js/JSCSSRuleCustom.cpp:
93061        (WebCore::toJS):
93062            Add return of new JS Keyframe rules
93063        * bindings/objc/DOMInternal.h:
93064            Include new internal header
93065
93066        * DerivedSources.make:
93067        * GNUmakefile.am:
93068        * WebCore.pro:
93069        * WebCore.vcproj/WebCore.vcproj:
93070        * WebCore.xcodeproj/project.pbxproj:
93071        * WebCoreSources.bkl:
93072            Build configs for new files
93073
930742008-09-03  Adam Roben  <aroben@apple.com>
93075
93076        Windows build fix
93077
93078        * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
93079        * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
93080        convenience/consistency.
93081
930822008-09-03  Adele Peterson  <adele@apple.com>
93083
93084        Build fix.
93085
93086        * WebCore.vcproj/WebCore.vcproj:
93087
930882008-09-03  David Hyatt  <hyatt@apple.com>
93089
93090        Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
93091
93092        Reviewed by Darin (ages ago)
93093
93094        Added fast/block/float/clamped-right-float.html
93095
93096        * rendering/RenderBlock.cpp:
93097        (WebCore::RenderBlock::positionNewFloats):
93098
930992008-09-02  David Hyatt  <hyatt@apple.com>
93100
93101        Add support for canvas text drawing APIs.
93102
93103        Reviewed by olliej
93104
93105        Tests added as fast/canvas/canvas-text-*.html
93106
93107        * DerivedSources.make:
93108        * WebCore.xcodeproj/project.pbxproj:
93109        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
93110        (WebCore::JSCanvasRenderingContext2D::fillText):
93111        (WebCore::JSCanvasRenderingContext2D::strokeText):
93112        * css/CSSStyleSelector.cpp:
93113        (WebCore::CSSStyleSelector::initForStyleResolve):
93114        (WebCore::CSSStyleSelector::applyPropertyToStyle):
93115        * css/CSSStyleSelector.h:
93116        * html/CanvasRenderingContext2D.cpp:
93117        (WebCore::CanvasRenderingContext2D::State::State):
93118        (WebCore::CanvasRenderingContext2D::font):
93119        (WebCore::CanvasRenderingContext2D::setFont):
93120        (WebCore::CanvasRenderingContext2D::textAlign):
93121        (WebCore::CanvasRenderingContext2D::setTextAlign):
93122        (WebCore::CanvasRenderingContext2D::textBaseline):
93123        (WebCore::CanvasRenderingContext2D::setTextBaseline):
93124        (WebCore::CanvasRenderingContext2D::fillText):
93125        (WebCore::CanvasRenderingContext2D::strokeText):
93126        (WebCore::CanvasRenderingContext2D::measureText):
93127        (WebCore::CanvasRenderingContext2D::drawTextInternal):
93128        (WebCore::CanvasRenderingContext2D::accessFont):
93129        * html/CanvasRenderingContext2D.h:
93130        * html/CanvasRenderingContext2D.idl:
93131        * html/TextMetrics.h: Added.
93132        (WebCore::TextMetrics::create):
93133        (WebCore::TextMetrics::width):
93134        (WebCore::TextMetrics::setWidth):
93135        (WebCore::TextMetrics::TextMetrics):
93136        * html/TextMetrics.idl: Added.
93137        * platform/graphics/Font.cpp:
93138        (WebCore::Font::lineGap):
93139        * platform/graphics/Font.h:
93140        * platform/graphics/GraphicsContext.cpp:
93141        (WebCore::GraphicsContext::drawBidiText):
93142        * platform/graphics/GraphicsContext.h:
93143        * platform/graphics/GraphicsTypes.cpp:
93144        (WebCore::textAlignName):
93145        (WebCore::parseTextAlign):
93146        (WebCore::textBaselineName):
93147        (WebCore::parseTextBaseline):
93148        * platform/graphics/GraphicsTypes.h:
93149        (WebCore::):
93150
931512008-09-03  John Sullivan  <sullivan@apple.com>
93152
93153        Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
93154
93155        Fixed by Darin, reviewed by me
93156
93157        * page/animation/AnimationBase.cpp:
93158        (WebCore::AnimationBase::propertiesEqual):
93159        added ensurePropertyMap() to this static function
93160        (WebCore::AnimationBase::getPropertyAtIndex):
93161        ditto
93162        (WebCore::AnimationBase::getNumProperties):
93163        ditto
93164
931652008-09-03  Kevin McCullough  <kmccullough@apple.com>
93166
93167        Reviewed by Darin and Tim.
93168
93169        Remove most of the "zombie" mode from the profiler.  Next we will need
93170        to remove the client callback mechanism in profiles.
93171        - These changes are a result of changes to JSCore.
93172
93173        * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
93174        * page/Console.cpp:
93175        (WebCore::retrieveLastCaller):
93176        (WebCore::Console::profileEnd):
93177        * page/InspectorController.cpp:
93178        (WebCore::InspectorController::stopUserInitiatedProfiling):
93179
931802008-09-03  Adele Peterson  <adele@apple.com>
93181
93182        Reviewed by Darin Adler.
93183
93184        Test: fast/forms/search-display-none-cancel-button.html
93185
93186        Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
93187
93188        * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
93189
93190        * rendering/RenderTextControl.cpp:
93191        (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
93192        (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
93193        (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
93194        (WebCore::RenderTextControl::createSubtreeIfNeeded):
93195        Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
93196        (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
93197        (WebCore::RenderTextControl::subtreeHasChanged): ditto.
93198        (WebCore::RenderTextControl::calcHeight): ditto.
93199        (WebCore::RenderTextControl::nodeAtPoint): ditto.
93200        (WebCore::RenderTextControl::layout): ditto.
93201        (WebCore::RenderTextControl::calcPrefWidths): ditto.
93202        (WebCore::RenderTextControl::clientPaddingLeft): ditto.
93203        (WebCore::RenderTextControl::clientPaddingRight): ditto.
93204
93205        * rendering/TextControlInnerElements.cpp:
93206        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
93207        (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
93208        (WebCore::TextControlInnerElement::attachInnerElement): Added.
93209         This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
93210        (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
93211        * rendering/TextControlInnerElements.h:
93212
932132008-08-28  Alexey Proskuryakov  <ap@webkit.org>
93214
93215        Reviewed by Maciej.
93216
93217        Elminate SQLiteAuthorizer class.
93218
93219        * WebCore.xcodeproj/project.pbxproj:
93220        * WebCore.vcproj/WebCore.vcproj:
93221        * GNUmakefile.am
93222        Removed SQLiteAuthorizer.h.
93223
93224        * platform/sql/SQLiteAuthorizer.cpp:
93225        * platform/sql/SQLiteAuthorizer.h: Removed.
93226        * platform/sql/SQLiteDatabase.cpp:
93227        (WebCore::SQLiteDatabase::authorizerFunction):
93228        (WebCore::SQLiteDatabase::setAuthorizer):
93229        * platform/sql/SQLiteDatabase.h:
93230        * storage/DatabaseAuthorizer.h:
93231        (WebCore::DatabaseAuthorizer::create):
93232        (WebCore::DatabaseAuthorizer::createView):
93233        (WebCore::DatabaseAuthorizer::createTempView):
93234        (WebCore::DatabaseAuthorizer::dropView):
93235        (WebCore::DatabaseAuthorizer::dropTempView):
93236        (WebCore::DatabaseAuthorizer::allowSelect):
93237        (WebCore::DatabaseAuthorizer::allowReindex):
93238        Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
93239
932402008-09-03  Dirk Schulze  <vbs85@gmx.de>
93241
93242        Reviewed by Mark Rowe.
93243
93244        WebKitGtk build fix.
93245
93246        * GNUmakefile.am:
93247        * page/animation/AnimationController.h:
93248
932492008-09-02  Robert Blaut  <webkit@blaut.biz>
93250
93251        Reviewed by Geoff Garen.
93252
93253        Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
93254        Misplaced elements should not close DL lists.
93255
93256        Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
93257
93258        * html/HTMLParser.cpp:
93259        (WebCore::HTMLParser::handleError):
93260
932612008-09-02  Glenn Wilson  <wilsong@gmail.com>
93262
93263        Reviewed by Darin Adler.
93264
93265        Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
93266        Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
93267
93268        We would inappropriately interpret and apply an invalid CSS "color" property
93269        when the value is a predefined color preceded by a '#' symbol.  For example,
93270        style="color:#gray;" would apply the color gray when it should not.
93271
93272        In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
93273        This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
93274        interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
93275        an ignorable token.
93276
93277        To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
93278        '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
93279        CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
93280
93281        Test: css1/color_and_background/invalid_color.html
93282
93283        * css/CSSGrammar.y:
93284
932852008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
93286
93287        Reviewed by Darin Adler.
93288
93289        Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
93290        Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
93291
93292        Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
93293
93294        Test: css3/khtml-background-size-0x0-bmp.html
93295
93296        * rendering/RenderBox.cpp:
93297        (WebCore::RenderBox::repaintLayerRectsForImage):
93298
932992008-09-02  Glenn Wilson  <wilsong@gmail.com>
93300
93301        Reviewed by Eric Seidel.
93302
93303        Fix https://bugs.webkit.org/show_bug.cgi?id=20397
93304        Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
93305
93306        The function checkForOrphanedUnits() would change the length of a list whose size was
93307        was already determined before the call to checkForOrphanedUnits was made.  Later in
93308        the caller, the old size was being used for boundary management.
93309
93310        This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
93311        calling function, before the size of the list is determined.
93312
93313        Test: fast/css/orphaned_units_crash.html
93314
93315        * css/CSSParser.cpp:
93316        (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
93317
933182008-09-02  Dirk Schulze  <vbs85@gmx.de>
93319
93320        Reviewed by Darin Adler.
93321
93322        Fallback on invalid fill or stroke styles in Canvas was
93323        transparent black. Changed it to last valid style.
93324
93325        Canvas fillStyle() and strokeStyle() needs fallback
93326        https://bugs.webkit.org/show_bug.cgi?id=20474
93327
93328        Tests: fast/canvas/canvas-invalid-fillstyle.html
93329               fast/canvas/canvas-invalid-strokestyle.html
93330
93331        * html/CanvasStyle.cpp:
93332        (WebCore::CanvasStyle::applyStrokeColor):
93333        (WebCore::CanvasStyle::applyFillColor):
93334
933352008-09-02  Dirk Schulze  <vbs85@gmx.de>
93336
93337        Reviewed by Darin Adler.
93338
93339        Fix https://bugs.webkit.org/show_bug.cgi?id=20468
93340        Updated drawImage() in canvas to match the current specification.
93341
93342        Test: fast/canvas/drawImage-with-negative-source-destination.html
93343
93344        * html/CanvasRenderingContext2D.cpp:
93345        (WebCore::normalizeRect):
93346        (WebCore::CanvasRenderingContext2D::drawImage):
93347
933482008-08-26  Mark Rowe  <mrowe@apple.com>
93349
93350        Reviewed by Darin Adler.
93351
93352        <rdar://problem/5768210> Switch back to the system version of SQLite
93353
93354        Use the system version of SQLite when it is new enough to provide the functionality
93355        that WebCore requires.
93356
93357        * Configurations/Base.xcconfig:
93358        * Configurations/DebugRelease.xcconfig:
93359        * Configurations/WebCore.xcconfig:
93360
933612008-09-02  Dan Bernstein  <mitz@apple.com>
93362
93363        - build fix
93364
93365        * page/animation/AnimationBase.h:
93366
933672008-09-02  Chris Marrin  <cmarrin@apple.com>
93368
93369        Reviewed by Dave Hyatt.
93370
93371        AnimationController.cpp should be split into separate files
93372        https://bugs.webkit.org/show_bug.cgi?id=20604
93373
93374        Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
93375        recommendation of Dave Hyatt.
93376
93377        * GNUmakefile.am:
93378        * WebCore.pro:
93379        * WebCore.vcproj/WebCore.vcproj:
93380        * WebCore.xcodeproj/project.pbxproj:
93381        * WebCoreSources.bkl:
93382            Build files.
93383
93384        * page/AnimationController.cpp: Removed.
93385        * page/AnimationController.h: Removed.
93386        * page/animation: Added.
93387        * page/animation/AnimationBase.cpp: Added.
93388        * page/animation/AnimationBase.h: Added.
93389        * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
93390        * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
93391        * page/animation/CompositeAnimation.cpp: Added.
93392        * page/animation/CompositeAnimation.h: Added.
93393        * page/animation/ImplicitAnimation.cpp: Added.
93394        * page/animation/ImplicitAnimation.h: Added.
93395        * page/animation/KeyframeAnimation.cpp: Added.
93396        * page/animation/KeyframeAnimation.h: Added.
93397
933982008-09-02  Dan Bernstein  <mitz@apple.com>
93399
93400        - release build fix
93401
93402        * platform/graphics/cg/GraphicsContextCG.cpp:
93403        (WebCore::calculateDrawingMode):
93404
934052008-09-02  Timothy Hatcher  <timothy@apple.com>
93406
93407        Make console functions log the correct resource URL and
93408        line number for where the call originated.
93409
93410        https://bugs.webkit.org/show_bug.cgi?id=17234
93411        <rdar://problem/5732837>
93412
93413        Reviewed by Kevin McCullough.
93414
93415        Test: manual-tests/inspector/console-call-line-numbers.html
93416
93417        * bindings/js/JSConsoleCustom.cpp:
93418        (WebCore::JSConsole::count): Call the impl.
93419        (WebCore::JSConsole::timeEnd): Ditto.
93420        * manual-tests/inspector/console-call-line-numbers.html: Added.
93421        * manual-tests/inspector/resources/script-console-calls.js: Added.
93422        * page/Console.cpp:
93423        (WebCore::retrieveLastCaller): Helper to get the URL and line.
93424        (WebCore::Console::error): Call retrieveLastCaller to get the URL and
93425        line number to pass to addMessageToConsole.
93426        (WebCore::Console::info): Ditto.
93427        (WebCore::Console::log): Ditto.
93428        (WebCore::Console::assertCondition): Ditto.
93429        (WebCore::Console::count): Ditto.
93430        (WebCore::Console::timeEnd): Ditto.
93431        (WebCore::Console::warn): Ditto.
93432        * page/Console.h:
93433        * page/Console.idl: Make count and timeEnd custom.
93434
934352008-09-02  Timothy Hatcher  <timothy@apple.com>
93436
93437        Removed IDL files from WebCore's framework resources.
93438
93439        * WebCore.xcodeproj/project.pbxproj:
93440
934412008-09-02  Dan Bernstein  <mitz@apple.com>
93442
93443        Reviewed by Dave Hyatt.
93444
93445        - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
93446
93447        * html/HTMLParser.cpp:
93448        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
93449        cap on the number of consecutive identical residual style tags to
93450        reopen.
93451        (WebCore::HTMLParser::popBlock): Ditto.
93452
934532008-09-02  Alexey Proskuryakov  <ap@webkit.org>
93454
93455        Reviewed by Adam Roben.
93456
93457        A little database quota management cleanup.
93458
93459        * storage/OriginQuotaManager.cpp:
93460        (WebCore::OriginQuotaManager::OriginQuotaManager):
93461        (WebCore::OriginQuotaManager::lock):
93462        (WebCore::OriginQuotaManager::unlock):
93463        (WebCore::OriginQuotaManager::trackOrigin):
93464        (WebCore::OriginQuotaManager::tracksOrigin):
93465        (WebCore::OriginQuotaManager::addDatabase):
93466        (WebCore::OriginQuotaManager::removeDatabase):
93467        (WebCore::OriginQuotaManager::removeOrigin):
93468        (WebCore::OriginQuotaManager::markDatabase):
93469        (WebCore::OriginQuotaManager::diskUsage):
93470        * storage/OriginQuotaManager.h:
93471        Changed to assert that a lock is taken more directly and reliably. Removed comments about
93472        main/background threads, as this is likely to stop being true with synchronous Database calls
93473        being made on worker threads.
93474
93475        * storage/OriginUsageRecord.cpp:
93476        (WebCore::OriginUsageRecord::OriginUsageRecord):
93477        (WebCore::OriginUsageRecord::addDatabase):
93478        (WebCore::OriginUsageRecord::removeDatabase):
93479        (WebCore::OriginUsageRecord::markDatabase):
93480        (WebCore::OriginUsageRecord::diskUsage):
93481        * storage/OriginUsageRecord.h:
93482        (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
93483        Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
93484        can be replaced with a single boolean for OriginUsageRecord.
93485        Added assertions for string parameters being unshared.
93486
93487
934882008-09-01  Adam Barth  <abarth@webkit.org>
93489
93490        Reviewed by Sam Weinig.
93491
93492        https://bugs.webkit.org/show_bug.cgi?id=19760
93493
93494        Make granting LoadLocalResources conditional on a policy.
93495
93496        * WebCore.base.exp:
93497        * dom/Document.cpp:
93498        (WebCore::Document::initSecurityContext):
93499        * loader/FrameLoader.cpp:
93500        (WebCore::FrameLoader::setLocalLoadPolicy):
93501        (WebCore::FrameLoader::restrictAccessToLocal):
93502        * loader/FrameLoader.h:
93503        (WebCore::FrameLoader::):
93504        * platform/SecurityOrigin.cpp:
93505        (WebCore::SecurityOrigin::grantLoadLocalResources):
93506        * platform/SecurityOrigin.h:
93507
935082008-09-01  Dean Jackson  <dino@apple.com>
93509
93510        Reviewed by Sam Weinig.
93511
93512        https://bugs.webkit.org/show_bug.cgi?id=20571
93513        Make sure Window object can assign Animation/Transition event
93514        listeners via attributes.
93515
93516        Also added a bunch of transition event tests, although
93517        only transition-end-event-window is directly relevant to this patch.
93518
93519        (WebCore::JSDOMWindowBase::put):
93520
93521        Tests: transitions/transition-end-event-all-properties.html
93522               transitions/transition-end-event-attributes.html
93523               transitions/transition-end-event-container.html
93524               transitions/transition-end-event-left.html
93525               transitions/transition-end-event-multiple-01.html
93526               transitions/transition-end-event-multiple-02.html
93527               transitions/transition-end-event-multiple-03.html
93528               transitions/transition-end-event-multiple-04.html
93529               transitions/transition-end-event-nested.html
93530               transitions/transition-end-event-transform.html
93531               transitions/transition-end-event-window.html
93532
935332008-09-01  Dean Jackson  <dino@apple.com>
93534
93535        Reviewed by Sam Weinig
93536
93537        Code styling cleanup.
93538
93539        * bindings/js/JSDOMWindowBase.cpp:
93540        (WebCore::JSDOMWindowBase::getValueProperty):
93541        (WebCore::JSDOMWindowBase::put):
93542
935432008-09-01  Geoffrey Garen  <ggaren@apple.com>
93544
93545        Reviewed by Darin Adler.
93546
93547        First cut at inline caching for access to vanilla JavaScript properties.
93548
93549        Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
93550        to WebCore classes, and PutPropertySlot& arguments to put functions.
93551
93552        (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
93553        inline caching for global properties, so global assignment can be optimized.
93554
93555        * ForwardingHeaders/kjs/StructureID.h: Added.
93556        * bindings/js/JSDOMBinding.h:
93557        (WebCore::DOMObject::DOMObject):
93558        * bindings/js/JSDOMWindowBase.cpp:
93559        (WebCore::JSDOMWindowBase::put):
93560        * bindings/js/JSDOMWindowBase.h:
93561        * bindings/js/JSDOMWindowCustom.h:
93562        (WebCore::JSDOMWindow::customPut):
93563        * bindings/js/JSDOMWindowShell.cpp:
93564        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
93565        (WebCore::JSDOMWindowShell::put):
93566        * bindings/js/JSDOMWindowShell.h:
93567        * bindings/js/JSEventTargetBase.h:
93568        (WebCore::JSEventTargetBase::put):
93569        * bindings/js/JSEventTargetNode.h:
93570        (WebCore::JSEventTargetNode::put):
93571        * bindings/js/JSHTMLAppletElementCustom.cpp:
93572        (WebCore::JSHTMLAppletElement::customPut):
93573        * bindings/js/JSHTMLEmbedElementCustom.cpp:
93574        (WebCore::JSHTMLEmbedElement::customPut):
93575        * bindings/js/JSHTMLInputElementBase.cpp:
93576        (WebCore::JSHTMLInputElementBase::put):
93577        * bindings/js/JSHTMLInputElementBase.h:
93578        * bindings/js/JSHTMLObjectElementCustom.cpp:
93579        (WebCore::JSHTMLObjectElement::customPut):
93580        * bindings/js/JSHistoryCustom.cpp:
93581        (WebCore::JSHistory::customPut):
93582        * bindings/js/JSInspectedObjectWrapper.cpp:
93583        (WebCore::JSInspectedObjectWrapper::wrap):
93584        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
93585        * bindings/js/JSInspectedObjectWrapper.h:
93586        * bindings/js/JSInspectorCallbackWrapper.cpp:
93587        (WebCore::JSInspectorCallbackWrapper::wrap):
93588        (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
93589        * bindings/js/JSInspectorCallbackWrapper.h:
93590        * bindings/js/JSLocationCustom.cpp:
93591        (WebCore::JSLocation::customPut):
93592        * bindings/js/JSPluginElementFunctions.cpp:
93593        (WebCore::runtimeObjectCustomPut):
93594        * bindings/js/JSPluginElementFunctions.h:
93595        * bindings/js/JSQuarantinedObjectWrapper.cpp:
93596        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
93597        (WebCore::JSQuarantinedObjectWrapper::put):
93598        * bindings/js/JSQuarantinedObjectWrapper.h:
93599        * bindings/js/JSStorageCustom.cpp:
93600        (WebCore::JSStorage::customPut):
93601        * bindings/objc/WebScriptObject.mm:
93602        (-[WebScriptObject setValue:forKey:]):
93603        * bindings/scripts/CodeGeneratorJS.pm:
93604        * bridge/NP_jsobject.cpp:
93605        (_NPN_SetProperty):
93606        * bridge/jni/jni_jsobject.mm:
93607        (JavaJSObject::setMember):
93608        * bridge/objc/objc_class.mm:
93609        (KJS::Bindings::ObjcClass::fallbackObject):
93610        * bridge/objc/objc_runtime.h:
93611        * bridge/objc/objc_runtime.mm:
93612        (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
93613        (ObjcFallbackObjectImp::put):
93614        * bridge/runtime.cpp:
93615        (KJS::Bindings::Instance::createRuntimeObject):
93616        * bridge/runtime_array.cpp:
93617        (RuntimeArray::put):
93618        * bridge/runtime_array.h:
93619        * bridge/runtime_object.cpp:
93620        (RuntimeObjectImp::RuntimeObjectImp):
93621        (RuntimeObjectImp::put):
93622        * bridge/runtime_object.h:
93623
936242008-09-01  Dirk Schulze  <vbs85@gmx.de>
93625
93626        Reviewed by Eric Seidel.
93627
93628        Fixed border-radius for Cairo.
93629
93630        * platform/graphics/cairo/GraphicsContextCairo.cpp:
93631        (WebCore::GraphicsContext::strokeArc):
93632
936332008-09-01  Dirk Schulze  <vbs85@gmx.de>
93634
93635        Reviewed by Eric Seidel.
93636
93637        Added canvas's globalAlpha to cairo.
93638
93639        * platform/graphics/GraphicsContext.h:
93640        * platform/graphics/cairo/GraphicsContextCairo.cpp:
93641        (WebCore::GraphicsContext::fillPath):
93642        (WebCore::GraphicsContext::strokePath):
93643        (WebCore::GraphicsContext::setAlpha):
93644        (WebCore::GraphicsContext::getAlpha):
93645        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
93646        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
93647        * platform/graphics/cairo/ImageCairo.cpp:
93648        (WebCore::BitmapImage::draw):
93649
936502008-08-31  Simon Hausmann  <hausmann@webkit.org>
93651
93652        Unreviewed Qt build fix.
93653
93654        * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
93655        the .h file
93656
936572008-08-30  Darin Adler  <darin@apple.com>
93658
93659        Reviewed by Maciej.
93660
93661        - adopt some new JavaScriptCore functions where appropriate
93662
93663        * bindings/js/JSDOMWindowBase.cpp:
93664        (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
93665        (WebCore::windowProtoFuncBToA): Ditto.
93666        * bindings/js/JSEventListener.cpp:
93667        (WebCore::JSLazyEventListener::eventParameterName): Adopted
93668        jsNontrivialString.
93669        * bindings/js/JSSVGLazyEventListener.cpp:
93670        (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
93671
936722008-08-29  Brady Eidson  <beidson@apple.com>
93673
93674        Reviewed by Anders' rubberstamp
93675
93676        Style cleanup to match MediaTokenizer::writeRawData()
93677
93678        * loader/PluginDocument.cpp:
93679        (WebCore::PluginTokenizer::writeRawData):
93680
936812008-08-29  Brady Eidson  <beidson@apple.com>
93682
93683        Reviewed by Anders
93684
93685        https://bugs.webkit.org/show_bug.cgi?id=20556
93686        <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
93687
93688        Fix regression I introducted in 35946
93689        Already covered by media/video-click-dlbclick-standalone.html
93690
93691        * loader/MediaDocument.cpp:
93692        (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
93693        (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
93694          an ASSERT signifying that this method should only be called once, to more closely follow the
93695          PluginDocument case.
93696
936972008-08-29  Beth Dakin  <bdakin@apple.com>
93698
93699        Reviewed by Sam Weinig.
93700
93701        Fix for <rdar://problem/6181588>
93702
93703        This patch makes hit testing take into account the new concept of a
93704        disconnected frame, in which some of the content may not be
93705        visible. The current hit testing mechanism starts at a target frame
93706        and drills down for a HitTestResult. In some cases, drilling down
93707        will find a non-visible result. When this happens, we need to try
93708        again, starting at a higher level -- namely, starting at the main
93709        frame.
93710
93711        * editing/Editor.cpp:
93712        (WebCore::Editor::insideVisibleArea): New function that tests if a
93713        point is inside the visible area for a disconnected frame.
93714        * editing/Editor.h:
93715        * page/EventHandler.cpp:
93716        (WebCore::EventHandler::hitTestResultAtPoint):
93717
937182008-08-29  Adele Peterson  <adele@apple.com>
93719
93720        Reviewed by Adam Roben.
93721
93722        Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
93723
93724        * GNUmakefile.am:
93725        * WebCore.pro:
93726        * WebCore.vcproj/WebCore.vcproj:
93727        * WebCore.xcodeproj/project.pbxproj:
93728        * WebCoreSources.bkl:
93729        * html/HTMLTextFieldInnerElement.cpp: Removed.
93730        * html/HTMLTextFieldInnerElement.h: Removed.
93731        * rendering/RenderTextControl.cpp:
93732        (WebCore::RenderTextControl::createSubtreeIfNeeded):
93733        * rendering/RenderTextControl.h:
93734        * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
93735        (WebCore::TextControlInnerElement::TextControlInnerElement):
93736        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
93737        (WebCore::TextControlInnerTextElement::defaultEventHandler):
93738        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
93739        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
93740        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
93741        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
93742        * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
93743
937442008-08-29  Eric Seidel  <eric@webkit.org>
93745
93746        Rubber-stamped by aroben.
93747
93748        Add GraphicsContext.h include to GraphcisContextPrivate.h
93749
93750        GraphicsContextPrivate uses StrokeStyle which is defined
93751        in GraphicsContext.h but it doesn't include that header.
93752        CoreGraphics build doesn't fail here due to the order
93753        it happens to include files.
93754
93755        * platform/graphics/GraphicsContextPrivate.h:
93756
937572008-08-29  Eric Seidel  <eric@webkit.org>
93758
93759        Reviewed by hyatt.
93760
93761        Fix GeneratedImage to respect Image's refcounting
93762        Fixing potential crashers (future if not current)
93763        https://bugs.webkit.org/show_bug.cgi?id=20567
93764
93765        I don't know if it's possible to make the current code
93766        crash, thus I've not made a test.
93767
93768        * css/CSSGradientValue.cpp:
93769        (WebCore::CSSGradientValue::image):
93770        * css/CSSImageGeneratorValue.cpp:
93771        (WebCore::CSSImageGeneratorValue::removeClient):
93772        (WebCore::CSSImageGeneratorValue::getImage):
93773        * css/CSSImageGeneratorValue.h:
93774        * platform/graphics/GeneratedImage.h:
93775        (WebCore::GeneratedImage::GeneratedImage):
93776        * rendering/style/RenderStyle.cpp:
93777        (WebCore::RenderStyle::setContent):
93778        * rendering/style/RenderStyle.h:
93779
937802008-08-29  Eric Carlson  <eric.carlson@apple.com>
93781
93782        Reviewed by Adele.
93783
93784        Fix for <rdar://problem/6093767>
93785        https://bugs.webkit.org/show_bug.cgi?id=20526
93786
93787        Don't allow video to render until unsupported track types have been disabled.
93788
93789        * platform/graphics/win/QTMovieWin.cpp:
93790        (QTMovieWinPrivate::task):
93791        (QTMovieWinPrivate::drawingComplete):
93792        (QTMovieWinPrivate::clearGWorld):
93793
937942008-08-29  Eric Carlson  <eric.carlson@apple.com>
93795
93796        Reviewed by Adele.
93797
93798        Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
93799        <rdar://problem/6169301>
93800
93801        Return the size of the movie data instead of 1000.
93802
93803        Test: media/progress-event-total.html
93804
93805        * platform/graphics/win/QTMovieWin.cpp:
93806        (QTMovieWin::dataSize):
93807
938082008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
93809
93810        Reviewed by Eric Seidel.
93811
93812        [janitor/qt] Start replacing port specific getters with the generic native getter
93813        To get the native presentation of an image we currently have platform
93814        specific #ifdef's and a generic getter using NativeImagePtr. This patch
93815        extends this to the ImageBuffer and updates the Qt platform to get rid
93816        of the special #ifdefs.
93817
93818        https://bugs.webkit.org/attachment.cgi?id=22861
93819
93820        * platform/graphics/BitmapImage.h:
93821        * platform/graphics/Image.h:
93822        * platform/graphics/qt/ImageQt.cpp:
93823        * platform/graphics/qt/StillImageQt.cpp:
93824        * platform/graphics/qt/StillImageQt.h:
93825        * platform/qt/ClipboardQt.cpp:
93826        (WebCore::ClipboardQt::createDragImage):
93827        (WebCore::ClipboardQt::declareAndWriteDragImage):
93828        * platform/qt/CursorQt.cpp:
93829        * platform/qt/PasteboardQt.cpp:
93830        (WebCore::Pasteboard::writeImage):
93831
938322008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
93833
93834        Reviewed by Simon.
93835
93836        [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
93837
93838        * svg/graphics/qt/SVGPaintServerQt.cpp:
93839        (WebCore::SVGPaintServer::renderPath):
93840        * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
93841        (WebCore::SVGPaintServerSolid::setup):
93842
938432008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
93844
93845        Reviewed by Simon.
93846
93847        [network/qt] Implement defering of loading ResourceHandle's
93848        This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
93849        implementation is simply not forwarding anything to the
93850        ResourceHandleClient until we are allowed to. This might lead to a deadlock
93851        in Qt as we do not empty the QNetworkReply input buffer and wait until we
93852        are allowed to read. If that happens we are forced to buffer the data
93853        within QNetworkReplyHandler, for now this is not done.
93854
93855        Manual test:
93856        - Open http://acid3.acidtests.org
93857        - Wait for the test to complete
93858        - Click on the Reference Rendering link
93859        - Be fast and see the results of acid3
93860        => assert
93861
93862        * platform/network/qt/QNetworkReplyHandler.cpp:
93863        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
93864        (WebCore::QNetworkReplyHandler::setLoadMode):
93865        (WebCore::QNetworkReplyHandler::finish):
93866        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
93867        (WebCore::QNetworkReplyHandler::forwardData):
93868        (WebCore::QNetworkReplyHandler::start):
93869        (WebCore::QNetworkReplyHandler::resetState):
93870        (WebCore::QNetworkReplyHandler::sendQueuedItems):
93871        * platform/network/qt/QNetworkReplyHandler.h:
93872        (WebCore::QNetworkReplyHandler::):
93873        * platform/network/qt/ResourceHandleQt.cpp:
93874        (WebCore::ResourceHandle::start):
93875        (WebCore::ResourceHandle::loadResourceSynchronously):
93876        (WebCore::ResourceHandle::setDefersLoading):
93877
938782008-08-29  Simon Hausmann  <hausmann@webkit.org>
93879
93880        Reviewed by Holger.
93881
93882        Don't crash when drawing patterns with the HTML canvas. Patterns
93883        remain unimplemented but at least they don't crash anymore. This is
93884        done by changing the PlatformPatternPtr to be a brush for the Qt
93885        platform.
93886
93887        * platform/graphics/Pattern.h:
93888        * platform/graphics/qt/GraphicsContextQt.cpp:
93889        (WebCore::GraphicsContext::fillPath):
93890        (WebCore::GraphicsContext::strokePath):
93891        (WebCore::GraphicsContext::fillRect):
93892        * platform/graphics/qt/PatternQt.cpp:
93893        (WebCore::Pattern::createPlatformPattern):
93894
938952008-08-29  Simon Hausmann  <hausmann@webkit.org>
93896
93897        Fix the Qt build, fontSelector() is not used by the Qt port yet
93898        and we just return 0 in Font::fontSelector().
93899
93900        * platform/graphics/Font.h:
93901
939022008-08-28  Alp Toker  <alp@nuanti.com>
93903
93904        GTK+ dist/build fix. List newly added header files.
93905
93906        * GNUmakefile.am:
93907
939082008-08-28  Simon Fraser  <simon.fraser@apple.com>
93909
93910        Reviewed by Dave Hyatt
93911
93912        Various WebKitCSSTransformValue-related fixes
93913        https://bugs.webkit.org/show_bug.cgi?id=20562
93914
93915        Test: css3/transform-value-types.html
93916
93917        * bindings/js/JSCSSValueCustom.cpp:
93918        (WebCore::toJS):
93919        * css/CSSValue.h:
93920        * css/WebKitCSSTransformValue.cpp:
93921        (WebCore::WebKitCSSTransformValue::cssText):
93922        * css/WebKitCSSTransformValue.h:
93923        (WebCore::WebKitCSSTransformValue::):
93924        * css/WebKitCSSTransformValue.idl:
93925
939262008-08-28  Dan Bernstein  <mitz@apple.com>
93927
93928        Reviewed by Steve Falkenburg.
93929
93930        - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
93931
93932        * platform/win/SharedTimerWin.cpp:
93933        (WebCore::TimerWindowWndProc):
93934
939352008-08-28  David Hyatt  <hyatt@apple.com>
93936
93937        RenderStyle cleanup.
93938
93939        Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
93940
93941        Reviewed by Adam
93942
93943        * css/CSSImageGeneratorValue.cpp:
93944        * css/CSSImageValue.cpp:
93945        * css/CSSStyleSelector.cpp:
93946        * rendering/RenderImageGeneratedContent.cpp:
93947        * rendering/style/NinePieceImage.cpp: Added.
93948        * rendering/style/NinePieceImage.h: Added.
93949        * rendering/style/RenderStyle.cpp:
93950        (WebCore::FillLayer::operator==):
93951        (WebCore::FillLayer::containsImage):
93952        (WebCore::StyleInheritedData::operator==):
93953        (WebCore::RenderStyle::contentDataEquivalent):
93954        * rendering/style/RenderStyle.h:
93955        * rendering/style/StyleCachedImage.cpp: Added.
93956        * rendering/style/StyleCachedImage.h: Added.
93957        * rendering/style/StyleGeneratedImage.cpp: Added.
93958        * rendering/style/StyleGeneratedImage.h: Added.
93959        * rendering/style/StyleImage.h: Added.
93960
939612008-08-28  Simon Fraser  <simon.fraser@apple.com>
93962
93963        Reviewed by Dave Hyatt
93964
93965        Make all the 'isFoo()' methods on CSSValue const,
93966        and fix the subclasses.
93967
93968        https://bugs.webkit.org/show_bug.cgi?id=20561
93969
93970        * css/CSSTimingFunctionValue.h:
93971        * css/CSSValue.h:
93972        (WebCore::CSSValue::isFontValue):
93973        (WebCore::CSSValue::isImageGeneratorValue):
93974        (WebCore::CSSValue::isImageValue):
93975        (WebCore::CSSValue::isImplicitInitialValue):
93976        * css/CSSValueList.h:
93977        * css/FontValue.h:
93978
939792008-08-28  David Hyatt  <hyatt@apple.com>
93980
93981        The great RenderStyle cleanup begins!
93982
93983        Move LengthBox and LengthSize out of RenderStyle and into Length.
93984
93985        Reviewed by Adam
93986
93987        * rendering/Length.h:
93988        (WebCore::):
93989        (WebCore::Length::Length):
93990        (WebCore::Length::operator==):
93991        (WebCore::Length::operator!=):
93992        (WebCore::Length::value):
93993        (WebCore::Length::rawValue):
93994        (WebCore::Length::percent):
93995        (WebCore::Length::type):
93996        (WebCore::Length::quirk):
93997        (WebCore::Length::setValue):
93998        (WebCore::Length::setRawValue):
93999        (WebCore::Length::calcValue):
94000        (WebCore::Length::calcMinValue):
94001        (WebCore::Length::calcFloatValue):
94002        (WebCore::Length::isUndefined):
94003        (WebCore::Length::isZero):
94004        (WebCore::Length::isPositive):
94005        (WebCore::Length::isNegative):
94006        (WebCore::Length::isAuto):
94007        (WebCore::Length::isRelative):
94008        (WebCore::Length::isPercent):
94009        (WebCore::Length::isFixed):
94010        (WebCore::Length::isStatic):
94011        (WebCore::Length::isIntrinsicOrAuto):
94012        (WebCore::Length::blend):
94013        (WebCore::LengthBox::LengthBox):
94014        (WebCore::LengthBox::operator=):
94015        (WebCore::LengthBox::operator==):
94016        (WebCore::LengthBox::operator!=):
94017        (WebCore::LengthBox::nonZero):
94018        (WebCore::LengthSize::LengthSize):
94019        * rendering/style/RenderStyle.h:
94020
940212008-08-28  David Hyatt  <hyatt@apple.com>
94022
94023        Reviewed by Darin
94024
94025        https://bugs.webkit.org/show_bug.cgi?id=18091
94026
94027        font-size should be animatable using -webkit-transition.
94028
94029        * page/AnimationController.cpp:
94030        (WebCore::AnimationControllerPrivate::ensurePropertyMap):
94031        * rendering/style/RenderStyle.h:
94032        (WebCore::RenderStyle::setFontSize):
94033
940342008-08-28  Brad Garcia  <bgarcia@google.com>
94035
94036        Reviewed by Dan Bernstein.
94037
94038        https://bugs.webkit.org/show_bug.cgi?id=20549
94039        Correctly determine when cursor is over a resizable border within
94040        a nested frameset.
94041
94042        * rendering/RenderFrameSet.cpp:
94043        (WebCore::RenderFrameSet::canResizeRow):
94044        (WebCore::RenderFrameSet::canResizeColumn):
94045
940462008-08-28  Simon Fraser  <simon.fraser@apple.com>
94047
94048        Reviewed by Eric Seidel
94049
94050        Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
94051        https://bugs.webkit.org/show_bug.cgi?id=20552
94052
94053        Test: animations/animation-css-rule-types.html
94054
94055        * css/CSSRule.idl:
94056
940572008-08-28  Anders Carlsson  <andersca@apple.com>
94058
94059        Reviewed by Kevin and Darin.
94060
94061        <rdar://problem/6182541>
94062        https://bugs.webkit.org/show_bug.cgi?id=20202
94063        Missing http status line from the http headers.
94064
94065        Add a status line to the header string.
94066
94067        * plugins/PluginStream.cpp:
94068        (WebCore::PluginStream::startStream):
94069
940702008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
94071
94072        Rubber-stamped by Darin Adler.
94073
94074        https://bugs.webkit.org/show_bug.cgi?id=17261
94075
94076        Make it possible to theme the default Url icon and enable this for
94077        the Qt port. To have a minimal usage of #ifdef in the code the setting
94078        of the icon was moved to a new method which comes in two flavors.
94079
94080        * loader/icon/IconDatabase.cpp:
94081        (WebCore::loadDefaultIconRecord): Load or set the default icon
94082        (WebCore::IconDatabase::defaultIcon):
94083
940842008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
94085
94086        Unreviewed compile fix
94087
94088        * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
94089
940902008-08-28  Adam Roben  <aroben@apple.com>
94091
94092        Windows (and others?) build fix
94093
94094        * page/Chrome.cpp: Added a missing #include.
94095        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
94096
940972008-08-27  Eric Seidel  <eric@webkit.org>
94098
94099        Reviewed by Oliver Hunt.
94100
94101        Qt and Cairo support from krit (and blind stab @ wx compile support)
94102        https://bugs.webkit.org/show_bug.cgi?id=20373
94103
94104        * platform/graphics/cairo/GraphicsContextCairo.cpp:
94105        (WebCore::GraphicsContext::fillPath):
94106        (WebCore::GraphicsContext::strokePath):
94107        (WebCore::GraphicsContext::drawPath):
94108        (WebCore::GraphicsContext::fillRect):
94109        (WebCore::GraphicsContext::setPlatformFillColor):
94110        (WebCore::GraphicsContext::setPlatformStrokeColor):
94111        (WebCore::GraphicsContext::setPlatformStrokeStyle):
94112        (WebCore::GraphicsContext::strokeRect):
94113        (WebCore::GraphicsContext::setImageInterpolationQuality):
94114        (WebCore::GraphicsContext::imageInterpolationQuality):
94115        (WebCore::GraphicsContext::setPlatformFillPattern):
94116        (WebCore::GraphicsContext::setPlatformStrokePattern):
94117        (WebCore::GraphicsContext::setPlatformFillGradient):
94118        (WebCore::GraphicsContext::setPlatformStrokeGradient):
94119        * platform/graphics/qt/GraphicsContextQt.cpp:
94120        (WebCore::GraphicsContext::fillPath):
94121        (WebCore::GraphicsContext::strokePath):
94122        (WebCore::GraphicsContext::fillRect):
94123        (WebCore::GraphicsContext::strokeRect):
94124        (WebCore::GraphicsContext::clipToImageBuffer):
94125        (WebCore::GraphicsContext::setPlatformFillPattern):
94126        (WebCore::GraphicsContext::setPlatformStrokePattern):
94127        (WebCore::GraphicsContext::setPlatformFillGradient):
94128        (WebCore::GraphicsContext::setPlatformStrokeGradient):
94129        (WebCore::GraphicsContext::setImageInterpolationQuality):
94130        (WebCore::GraphicsContext::imageInterpolationQuality):
94131        * platform/graphics/wx/GraphicsContextWx.cpp:
94132        (WebCore::GraphicsContext::clipToImageBuffer):
94133        (WebCore::GraphicsContext::setImageInterpolationQuality):
94134        (WebCore::GraphicsContext::imageInterpolationQuality):
94135        (WebCore::GraphicsContext::fillPath):
94136        (WebCore::GraphicsContext::strokePath):
94137        (WebCore::GraphicsContext::drawPath):
94138        (WebCore::GraphicsContext::fillRect):
94139        (WebCore::GraphicsContext::setPlatformFillPattern):
94140        (WebCore::GraphicsContext::setPlatformStrokePattern):
94141        (WebCore::GraphicsContext::setPlatformFillGradient):
94142
941432008-08-27  Eric Seidel  <eric@webkit.org>
94144
94145        Reviewed by Oliver Hunt.
94146
94147        Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
94148        https://bugs.webkit.org/show_bug.cgi?id=20373
94149
94150        Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
94151
94152        Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
94153        have to store large Gradient objects in the GraphicsContextState
94154
94155        Made Pattern RefCounted for the same reason.
94156
94157        Many updates to GraphicsContext to support easier drawing with
94158        Patterns and Gradients.
94159
94160        * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
94161        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
94162        (WebCore::toJS):
94163        * css/CSSGradientValue.cpp:
94164        (WebCore::CSSGradientValue::createGradient):
94165        * css/CSSGradientValue.h:
94166        * html/CanvasGradient.cpp:
94167        (WebCore::CanvasGradient::CanvasGradient):
94168        * html/CanvasGradient.h:
94169        (WebCore::CanvasGradient::gradient):
94170        (WebCore::CanvasGradient::addColorStop):
94171        (WebCore::CanvasGradient::getColor):
94172        * html/CanvasPattern.cpp:
94173        * html/CanvasPattern.h:
94174        (WebCore::CanvasPattern::pattern):
94175        (WebCore::CanvasPattern::originClean):
94176        * html/CanvasRenderingContext2D.cpp:
94177        (WebCore::CanvasRenderingContext2D::State::State):
94178        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
94179        (WebCore::CanvasRenderingContext2D::setFillStyle):
94180        (WebCore::CanvasRenderingContext2D::fill):
94181        (WebCore::CanvasRenderingContext2D::stroke):
94182        (WebCore::CanvasRenderingContext2D::fillRect):
94183        (WebCore::CanvasRenderingContext2D::strokeRect):
94184        * html/CanvasRenderingContext2D.h:
94185        * html/CanvasStyle.cpp:
94186        (WebCore::CanvasStyle::applyStrokeColor):
94187        (WebCore::CanvasStyle::applyFillColor):
94188        * html/CanvasStyle.h:
94189        * platform/graphics/GeneratedImage.h:
94190        (WebCore::GeneratedImage::GeneratedImage):
94191        * platform/graphics/Generator.h:
94192        * platform/graphics/Gradient.h:
94193        (WebCore::Gradient::create):
94194        * platform/graphics/GraphicsContext.cpp:
94195        (WebCore::GraphicsContext::fillRule):
94196        (WebCore::GraphicsContext::setFillRule):
94197        (WebCore::GraphicsContext::setStrokePattern):
94198        (WebCore::GraphicsContext::setFillPattern):
94199        (WebCore::GraphicsContext::setStrokeGradient):
94200        (WebCore::GraphicsContext::setFillGradient):
94201        * platform/graphics/GraphicsContext.h:
94202        * platform/graphics/GraphicsContextPrivate.h:
94203        (WebCore::):
94204        (WebCore::GraphicsContextState::GraphicsContextState):
94205        * platform/graphics/GraphicsTypes.h:
94206        * platform/graphics/Path.h:
94207        * platform/graphics/Pattern.h:
94208        (WebCore::Pattern::create):
94209        (WebCore::Pattern::tileImage):
94210        * platform/graphics/cg/GraphicsContextCG.cpp:
94211        (WebCore::GraphicsContext::drawRect):
94212        (WebCore::GraphicsContext::drawEllipse):
94213        (WebCore::GraphicsContext::drawConvexPolygon):
94214        (WebCore::calculateDrawingMode):
94215        (WebCore::GraphicsContext::drawPath):
94216        (WebCore::fillPathWithFillRule):
94217        (WebCore::GraphicsContext::fillPath):
94218        (WebCore::GraphicsContext::strokePath):
94219        (WebCore::GraphicsContext::fillRect):
94220        (WebCore::GraphicsContext::fillRoundedRect):
94221        (WebCore::GraphicsContext::setPlatformStrokePattern):
94222        (WebCore::GraphicsContext::setPlatformFillPattern):
94223        (WebCore::GraphicsContext::setPlatformStrokeGradient):
94224        (WebCore::GraphicsContext::setPlatformFillGradient):
94225
942262008-08-20  Eric Seidel  <eric@webkit.org>
94227
94228        Reviewed by Darin and Alexey.
94229
94230        Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
94231        with timeouts paused.
94232        https://bugs.webkit.org/show_bug.cgi?id=20469
94233
94234        I attempted to clean up the memory management of PausedTimeouts, I'm not
94235        sure the solution I came up with is "cleaner", but it's in some ways
94236        "safer", since it no longer uses raw pointers and manual new/delete.
94237
94238        This also now prevents CachedPage from needlessly creating Window
94239        objects when caching pages which didn't already have one. :)
94240
94241        I also made Chrome.cpp no longer depend on the JavaScript bindings
94242        (aka JSDOMWindowBase.h), since there was no real reason for it to.
94243
94244        * bindings/js/JSDOMWindowBase.cpp:
94245        (WebCore::JSDOMWindowBase::pauseTimeouts):
94246        (WebCore::JSDOMWindowBase::resumeTimeouts):
94247        * bindings/js/JSDOMWindowBase.h:
94248        * bindings/js/ScriptController.cpp:
94249        (WebCore::ScriptController::pauseTimeouts):
94250        (WebCore::ScriptController::resumeTimeouts):
94251        * bindings/js/ScriptController.h:
94252        * history/CachedPage.cpp:
94253        (WebCore::CachedPage::CachedPage):
94254        (WebCore::CachedPage::restore):
94255        * page/Chrome.cpp:
94256        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
94257        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
94258        * page/JavaScriptDebugServer.cpp:
94259        (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
94260        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
94261
942622008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
94263
94264        Unreviewed compile fix
94265
94266        Add the stub for the Qt port.
94267
94268        * WebCore.pro:
94269        * page/qt/AccessibilityObjectQt.cpp: Added.
94270        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
94271
942722008-08-27  Alp Toker  <alp@nuanti.com>
94273
94274        Reviewed by Eric.
94275
94276        https://bugs.webkit.org/show_bug.cgi?id=20551
94277        [GTK] search popup crash
94278
94279        * platform/gtk/SearchPopupMenuGtk.cpp:
94280        (WebCore::SearchPopupMenu::enabled):
94281        Fix a search popup crasher by disabling the history popup since we
94282        don't support this feature yet in the GTK+ port.
94283
942842008-08-27  Alp Toker  <alp@nuanti.com>
94285
94286        Reviewed by Eric.
94287
94288        https://bugs.webkit.org/show_bug.cgi?id=20551
94289        [GTK] curl crashers
94290
94291        * platform/network/curl/ResourceHandleManager.cpp:
94292        (WebCore::ResourceHandleManager::startScheduledJobs):
94293        Remove the resource handle from the pending list before starting the
94294        job, not afterwards. Fixes crashers in the test suite.
94295
94296        Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
94297        Test: fast/encoding/char-encoding.html
94298
942992008-08-27  Dirk Schulze  <vbs85@gmx.de>
94300
94301        Reviewed by eseidel.
94302
94303        Fix canvas drawImage to support composite operations.
94304        Composite had no effect on canvas elements like these:
94305        http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
94306
94307        [CAIRO] Canvas composite don't work on canvas-elements.
94308        https://bugs.webkit.org/show_bug.cgi?id=20548
94309
94310        * html/CanvasRenderingContext2D.cpp:
94311        (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
94312
943132008-08-27  Mario Bensi  <mbensi@pleyo.com>
94314
94315        Reviewed by Eric Seidel.
94316
94317        Fix the data content of an image with a base64.
94318
94319        * platform/network/curl/ResourceHandleManager.cpp:
94320        (WebCore::parseDataUrl): Remove the String and use only the data
94321        Vector because the data.latin1().data() convert the data content and
94322        the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
94323        not drawn correctly.
94324
943252008-08-27  Antti Koivisto  <antti@apple.com>
94326
94327        Reviewed by Eric Seidel.
94328
94329        Crash after OK in dialog box and reloading page in secure mode
94330        https://bugs.webkit.org/show_bug.cgi?id=20493
94331
94332        The new run loop spawned by a modal dialog causes a timer in the loader to run
94333        synchronously inside didFinishLoading() deleting "this" object.
94334
94335        Defer all WebCore timers when a modal dialog is up. They are not
94336        safe to execute.
94337
94338        * page/Chrome.cpp:
94339        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
94340        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
94341
943422008-08-27  Chris Marrin  <cmarrin@apple.com>
94343
94344        Reviewed by Dave Hyatt
94345
94346        Memory leaks when animating transforms
94347        https://bugs.webkit.org/show_bug.cgi?id=20532
94348
94349        * rendering/style/RenderStyle.cpp:
94350        (WebCore::ScaleTransformOperation::blend):
94351        (WebCore::RotateTransformOperation::blend):
94352        (WebCore::SkewTransformOperation::blend):
94353        (WebCore::TranslateTransformOperation::blend):
94354        (WebCore::MatrixTransformOperation::blend):
94355        * rendering/style/RenderStyle.h:
94356
943572008-08-27  Timothy Hatcher  <timothy@apple.com>
94358
94359        Add support for support for -webkit-appearance: default-button on the Mac platform.
94360
94361        <rdar://problem/6173530>
94362
94363        Reviewed by Dave Hyatt.
94364
94365        * WebCore.base.exp: Export new symbols.
94366        * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
94367        * platform/mac/WebCoreSystemInterface.mm: Ditto.
94368        * rendering/RenderButton.cpp:
94369        (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
94370        (WebCore::RenderButton::setStyle): Ditto.
94371        * rendering/RenderButton.h: Ditto.
94372        * rendering/RenderThemeMac.mm:
94373        (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
94374        (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
94375        key if the button is default, otherwise reset the key equivalent.
94376        (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
94377        on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
94378        the window's previous default button cell when finished.
94379
943802008-08-26  David Hyatt  <hyatt@apple.com>
94381
94382        First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
94383
94384        Reviewed by weinig
94385
94386        Added fast/forms/zoomed-controls.html
94387
94388        * css/CSSStyleSelector.cpp:
94389        (WebCore::addIntrinsicMargins):
94390        * rendering/RenderSlider.cpp:
94391        (WebCore::RenderSlider::calcPrefWidths):
94392        * rendering/RenderThemeMac.h:
94393        * rendering/RenderThemeMac.mm:
94394        (WebCore::RenderThemeMac::adjustRepaintRect):
94395        (WebCore::RenderThemeMac::inflateRect):
94396        (WebCore::RenderThemeMac::baselinePosition):
94397        (WebCore::RenderThemeMac::setControlSize):
94398        (WebCore::RenderThemeMac::sizeForFont):
94399        (WebCore::RenderThemeMac::sizeForSystemFont):
94400        (WebCore::RenderThemeMac::setFontFromControlSize):
94401        (WebCore::RenderThemeMac::paintCheckbox):
94402        (WebCore::RenderThemeMac::setCheckboxCellState):
94403        (WebCore::RenderThemeMac::paintRadio):
94404        (WebCore::RenderThemeMac::setRadioCellState):
94405        (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
94406        (WebCore::RenderThemeMac::adjustButtonStyle):
94407        (WebCore::RenderThemeMac::setButtonCellState):
94408        (WebCore::RenderThemeMac::paintButton):
94409        (WebCore::RenderThemeMac::paintMenuList):
94410        (WebCore::RenderThemeMac::paintMenuListButton):
94411        (WebCore::RenderThemeMac::popupInternalPaddingLeft):
94412        (WebCore::RenderThemeMac::popupInternalPaddingRight):
94413        (WebCore::RenderThemeMac::popupInternalPaddingTop):
94414        (WebCore::RenderThemeMac::popupInternalPaddingBottom):
94415        (WebCore::RenderThemeMac::setPopupButtonCellState):
94416        (WebCore::RenderThemeMac::paintSliderTrack):
94417        (WebCore::RenderThemeMac::paintSliderThumb):
94418        (WebCore::RenderThemeMac::adjustSliderThumbSize):
94419        (WebCore::RenderThemeMac::paintSearchField):
94420        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
94421        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
94422        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
94423
944242008-08-27  Brady Eidson  <beidson@apple.com>
94425
94426        Reviewed by Anders
94427
94428        <rdar://problem/6134133> - Crash when loading large movie as a standalone document
94429
94430        We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
94431        to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
94432        away the virtual address space and a crash.
94433
94434        * loader/EmptyClients.h:
94435        (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
94436        * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
94437          "plugin will handle load"
94438
94439        * loader/MediaDocument.cpp:
94440        (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
94441          and cancel the WebCore-managed load
94442        (WebCore::MediaTokenizer::writeRawData):
94443        (WebCore::MediaTokenizer::finish):
94444
944452008-08-26  Simon Fraser  <simon.fraser@apple.com>
94446
94447        Reviewed by Eric Seidel
94448
94449        Linear timing functions should have control points 0, 0, 1, 1.
94450        https://bugs.webkit.org/show_bug.cgi?id=20535
94451
94452        * css/CSSStyleSelector.cpp:
94453        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
94454        * rendering/style/RenderStyle.h:
94455
944562008-08-27  Adam Roben  <aroben@apple.com>
94457
94458        Windows build fix
94459
94460        * WebCore.vcproj/WebCore.vcproj: Fix file extension.
94461
944622008-08-26  Chris Fleizach  <cfleizach@apple.com>
94463
94464        Reviewed by Beth Dakin.
94465
94466        <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
94467
94468        Added platform-specific accessibilityIgnoreAttachment, which allows the platform
94469        to determine if an attachment is ignored through accessibility. Added equivalent
94470        methods in Gtk, Win and Mac
94471
94472        Test: accessibility/plugin.html
94473
94474        * GNUmakefile.am:
94475        * WebCore.vcproj/WebCore.vcproj:
94476        * WebCore.xcodeproj/project.pbxproj:
94477        * page/AccessibilityObject.h:
94478        * page/AccessibilityRenderObject.cpp:
94479        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
94480        * page/gtk/AccessibilityObjectAtk.cpp: Added.
94481        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
94482        * page/mac/AccessibilityObjectMac.mm: Added.
94483        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
94484        * page/mac/AccessibilityObjectWrapper.h:
94485        * page/win/AccessibilityObjectWin.cpp: Added.
94486        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
94487
944882008-08-26  Chris Fleizach  <cfleizach@apple.com>
94489
94490        Reviewed by Beth Dakin.
94491
94492        <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
94493
94494        * page/mac/AccessibilityObjectWrapper.mm:
94495        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
94496        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
94497
944982008-08-26  Chris Fleizach  <cfleizach@apple.com>
94499
94500        Reviewed by Darin Adler.
94501
94502        <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
94503
94504        Tests: accessibility/table-notbody.html
94505
94506        * page/AccessibilityTable.cpp:
94507        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
94508
945092008-08-26  Sam Weinig  <sam@webkit.org>
94510
94511        Reviewed by Beth Dakin.
94512
94513        Fix typo.
94514
94515        * dom/DOMCoreException.h:
94516
945172008-08-26  Sam Weinig  <sam@webkit.org>
94518
94519        Reviewed by Oliver Hunt.
94520
94521        Fix https://bugs.webkit.org/show_bug.cgi?id=20479
94522        <rdar://problem/6167660>
94523        Take image redirects into account when tainting the canvas.
94524
94525        Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
94526
94527        * html/CanvasRenderingContext2D.cpp:
94528        (WebCore::CanvasRenderingContext2D::drawImage):
94529        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
94530
945312008-08-26  Sam Weinig  <sam@webkit.org>
94532
94533        Reviewed by Darin Adler.
94534
94535        Change canvas tainting logic to ask the image if it contains
94536        any resources outside of its own origin. Since there is no
94537        way to determine if SVG images contain any resources outside its
94538        origin, we always assume it does.
94539
94540        * html/CanvasRenderingContext2D.cpp:
94541        (WebCore::CanvasRenderingContext2D::drawImage):
94542        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
94543        * platform/graphics/BitmapImage.h:
94544        (WebCore::BitmapImage::hasSingleSecurityOrigin):
94545        * platform/graphics/GeneratedImage.h:
94546        (WebCore::GeneratedImage::hasSingleSecurityOrigin):
94547        * platform/graphics/Image.h:
94548        (WebCore::Image::hasSingleSecurityOrigin):
94549        * platform/graphics/cg/PDFDocumentImage.h:
94550        (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
94551        * svg/graphics/SVGImage.h:
94552
945532008-08-26  Maxime Britto  <britto@apple.com>
94554
94555        Reviewed by Adele.
94556
94557        <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
94558        This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
94559        This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
94560
94561        * page/EventHandler.cpp:
94562        (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
94563        * page/EventHandler.h:
94564        * rendering/RenderLayer.cpp:
94565        (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
94566        (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
94567        * rendering/RenderLayer.h:
94568        * rendering/RenderObject.cpp:
94569        (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
94570        (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
94571        (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
94572
945732008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
94574
94575        Reviewed by Darin Adler.
94576
94577        Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
94578        https://bugs.webkit.org/show_bug.cgi?id=20247
94579
94580        <rdar://problem/6118218>
94581
94582        Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
94583        check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
94584        (case insensitive for HTML elements).
94585
94586        Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
94587
94588        * dom/Element.cpp:
94589        (WebCore::Element::getAttribute):
94590        * dom/NamedAttrMap.cpp:
94591        (WebCore::NamedAttrMap::getNamedItem):
94592        (WebCore::NamedAttrMap::getAttributeItem):
94593        * dom/NamedAttrMap.h:
94594
945952008-08-25  Sam Weinig  <sam@webkit.org>
94596
94597        Reviewed by Oliver Hunt.
94598
94599        Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
94600        <rdar://problem/6174096>
94601        Treat SVG images as dirty when drawing to a canvas.
94602
94603        Test: http/tests/security/canvas-remote-read-svg-image.html
94604
94605        * html/CanvasRenderingContext2D.cpp:
94606        (WebCore::CanvasRenderingContext2D::drawImage):
94607        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
94608        * platform/graphics/Image.h:
94609        (WebCore::Image::isSVGImage):
94610        * svg/graphics/SVGImage.h:
94611        (WebCore::SVGImage::isSVGImage):
94612
946132008-08-25  Sam Weinig  <sam@webkit.org>
94614
94615        Reviewed by Mark Rowe.
94616
94617        Fix https://bugs.webkit.org/show_bug.cgi?id=20377
94618        Leak in XMLHttpRequest.
94619
94620        * xml/XMLHttpRequest.cpp:
94621        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
94622
946232008-08-25  Brady Eidson  <beidson@apple.com>
94624
94625        Reviewed by Anders
94626
94627        Speculative fix for <rdar://problem/6173217>
94628
94629        Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
94630        Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
94631        the first null check invalid.
94632
94633        * loader/FrameLoader.cpp:
94634        (WebCore::FrameLoader::stopAllLoaders):
94635
94636
946372008-08-25  Kevin McCullough  <kmccullough@apple.com>
94638
94639        Reviewed by Tim.
94640
94641        <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
94642        there is no profile, can cause crash
94643
94644        * page/inspector/ProfilesPanel.js:
94645
946462008-08-25  Dean Jackson  <dino@apple.com>
94647
94648        Reviewed by Dave Hyatt
94649
94650        Make sure 'inherit' is handled by transition property.
94651        https://bugs.webkit.org/show_bug.cgi?id=20513
94652
94653        Test: transitions/inherit.html
94654        Test: transitions/inherit-other-props.html
94655
94656        * css/CSSStyleSelector.cpp:
94657          fix macro to check existence of list before getting size
94658
946592008-08-25  Anders Carlsson  <andersca@apple.com>
94660
94661        Reviewed by Mark.
94662
94663        <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
94664
94665        Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
94666        (safely) that any class that needs finalization on the main thread will also need to be deallocated
94667        on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
94668        calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
94669
94670        * platform/mac/WebCoreObjCExtras.c:
94671        (WebCoreObjCFinalizeOnMainThread):
94672
946732008-08-25  Antti Koivisto  <antti@apple.com>
94674
94675        Reviewed by Dan Bernstein.
94676
94677        Rename CachedResource::referenced() to CachedResource::hasClients() to
94678        match previous ref() -> addClient() rename.
94679
94680        * loader/Cache.cpp:
94681        (WebCore::Cache::pruneLiveResources):
94682        (WebCore::Cache::pruneDeadResources):
94683        (WebCore::Cache::remove):
94684        (WebCore::Cache::getStatistics):
94685        (WebCore::Cache::dumpLRULists):
94686        * loader/CachedResource.cpp:
94687        (WebCore::CachedResource::addClient):
94688        (WebCore::CachedResource::removeClient):
94689        (WebCore::CachedResource::setDecodedSize):
94690        (WebCore::CachedResource::setEncodedSize):
94691        * loader/CachedResource.h:
94692        (WebCore::CachedResource::hasClients):
94693        (WebCore::CachedResource::canDelete):
94694
946952008-08-25  Anthony Ricaud  <rik24d@gmail.com>
94696
94697        Add a missing Inspector localized string for "other".
94698
94699        https://bugs.webkit.org/show_bug.cgi?id=20509
94700
94701        Reviewed by Tim Hatcher.
94702
94703        * English.lproj/localizedStrings.js:
94704
947052008-08-22  Kevin McCullough  <kmccullough@apple.com>
94706
94707        Reviewed by Geoff, Mark and Tim.
94708
94709        <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
94710        in the console said what file and line number they came from
94711        - Lay the foundation for getting line numbers and other data from the
94712        JavaScript engine.
94713
94714        * ForwardingHeaders/VM: Added.
94715        * ForwardingHeaders/VM/Machine.h: Added.
94716        * page/Console.cpp: Gather the line number and file information when
94717        profileEnd has been called, but don't use it until didFinishProfiling is
94718        called.  We won't need to wait once we remove the profiler "zombie" mode
94719        which this patch helps pave the foundation for.
94720        (WebCore::Console::Console):
94721        (WebCore::Console::profileEnd):
94722        (WebCore::Console::finishedProfiling):
94723        * page/Console.h:
94724        * page/InspectorController.cpp: Modify calls to
94725        addProfileMessageToConsole to satisfy the new arguments it takes.
94726        (WebCore::InspectorController::finishedProfiling):
94727        (WebCore::InspectorController::addProfile):
94728        (WebCore::InspectorController::addProfileMessageToConsole):
94729        (WebCore::InspectorController::finishedProfiling):
94730        * page/InspectorController.h:
94731
947322008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
94733
94734        Reviewed by Simon.
94735
94736        [inspector] Update the WebKit.qrc Qt resources file
94737        Catchup with the changes in the directory.
94738
94739        * page/inspector/WebKit.qrc:
94740
947412008-08-25  Dirk Schulze  <vbs85@gmx.de>
94742
94743        Reviewed by Simon.
94744
94745        Transformed the radian to degree, to get rotate()
94746        in canvas work as expected.
94747
94748        [Qt] Canvas.rotate() doesn't work
94749        https://bugs.webkit.org/show_bug.cgi?id=20496
94750
94751        * platform/graphics/qt/GraphicsContextQt.cpp:
94752        (WebCore::GraphicsContext::rotate):
94753
947542008-08-24  Steve Falkenburg  <sfalken@apple.com>
94755
94756        Add a "last chance" WM_TIMER to the Windows shared timer.
94757
94758        The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
94759        Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
94760        timers if a timer with an earlier expiration is already pending. This results in no timers
94761        firing from that point on.
94762
94763        We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
94764        buggy window message hook.
94765
94766        This timer will start when the first WM_TIMER is scheduled, and will
94767        fire every 5 seconds thereafter, causing any lost timers to be fired.
94768
94769        Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
94770        and prevents the WebFrame leak.
94771
94772        Reviewed by Darin Adler, Geoff Garen.
94773
94774        * platform/win/SharedTimerWin.cpp:
94775        (WebCore::):
94776        (WebCore::TimerWindowWndProc):
94777        (WebCore::setSharedTimerFireTime):
94778
947792008-08-24  Dan Bernstein  <mitz@apple.com>
94780
94781        Reviewed by Darin Adler.
94782
94783        - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
94784
94785        Test: fast/css/font-property-priority.html
94786
94787        * css/CSSParser.cpp:
94788        (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
94789        to the font-property-parsing functions.
94790        (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
94791        changed to use it rather than the m_important member.
94792        (WebCore::CSSParser::parseFontVariant): Ditto.
94793        (WebCore::CSSParser::parseFontWeight): Ditto.
94794        * css/CSSParser.h:
94795
947962008-08-24  Timothy Hatcher  <timothy@apple.com>
94797
94798        Fixes a bug where the Inspector's UI would not animate or
94799        fully function because JavaScript timeouts, intervals and
94800        CSS animation timers where not firing while paused at a
94801        a breakpoint in the inspected page.
94802
94803        https://bugs.webkit.org/show_bug.cgi?id=20042
94804
94805        Reviewed by Darin Adler.
94806
94807        Test: manual-tests/inspector/forzen-ui-while-paused.html
94808
94809        * page/JavaScriptDebugServer.cpp:
94810        (WebCore::JavaScriptDebugServer::pauseIfNeeded):
94811        Add a call to TimerBase::fireTimersInNestedEventLoop before
94812        spinning the EventLoop.
94813
948142008-08-24  Rob Buis  <buis@kde.org>
94815
94816        Reviewed by Sam Weinig.
94817
94818        https://bugs.webkit.org/show_bug.cgi?id=20324
94819        A change in SVG Glyph wont show up
94820
94821        Invalidate the glyph cache when the d attribute is set.
94822
94823        Test: svg/custom/glyph-setting-d-attribute.svg
94824
94825        * svg/SVGGlyphElement.cpp:
94826        (WebCore::SVGGlyphElement::invalidateGlyphCache):
94827        (WebCore::SVGGlyphElement::parseMappedAttribute):
94828        (WebCore::SVGGlyphElement::insertedIntoDocument):
94829        (WebCore::SVGGlyphElement::removedFromDocument):
94830        * svg/SVGGlyphElement.h:
94831
948322008-08-24  Dan Bernstein  <mitz@apple.com>
94833
94834        Reviewed by Sam Weinig.
94835
94836        - fix https://bugs.webkit.org/show_bug.cgi?id=13864
94837          <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
94838
94839        * rendering/RenderText.cpp:
94840        (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
94841        beginWS and endWS before the early return to ensure that they are
94842        initialized in that case.
94843
948442008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
94845
94846        Rubber-stamped by Mark Rowe.
94847
94848        Remove modelines.
94849
94850        * WebCore.pro:
94851        * bridge/testbindings.cpp:
94852        * dom/DocPtr.h:
94853        * loader/SubstituteData.h:
94854        * page/Chrome.cpp:
94855        * page/Chrome.h:
94856        * page/ChromeClient.h:
94857        * page/Frame.h:
94858        * page/FrameLoadRequest.h:
94859        * page/FrameTree.cpp:
94860        * page/FrameTree.h:
94861        * page/Page.h:
94862        * page/mac/ChromeMac.mm:
94863        * platform/network/HTTPHeaderMap.h:
94864        * platform/network/ResourceErrorBase.cpp:
94865        * platform/network/ResourceErrorBase.h:
94866        * platform/network/ResourceHandleInternal.h:
94867        * platform/network/ResourceRequestBase.cpp:
94868        * platform/network/ResourceRequestBase.h:
94869        * platform/network/ResourceResponseBase.cpp:
94870        * platform/network/ResourceResponseBase.h:
94871        * platform/network/cf/ResourceError.h:
94872        * platform/network/cf/ResourceRequest.h:
94873        * platform/network/cf/ResourceRequestCFNet.h:
94874        * platform/network/cf/ResourceResponse.h:
94875        * platform/network/cf/ResourceResponseCFNet.h:
94876        * platform/network/curl/ResourceError.h:
94877        * platform/network/curl/ResourceRequest.h:
94878        * platform/network/curl/ResourceResponse.h:
94879        * platform/network/mac/ResourceError.h:
94880        * platform/network/mac/ResourceErrorMac.mm:
94881        * platform/network/mac/ResourceRequest.h:
94882        * platform/network/mac/ResourceRequestMac.mm:
94883        * platform/network/mac/ResourceResponse.h:
94884        * platform/network/mac/ResourceResponseMac.mm:
94885        * platform/network/qt/ResourceError.h:
94886        * platform/network/qt/ResourceRequest.h:
94887        * platform/network/qt/ResourceResponse.h:
94888        * platform/network/soup/CookieJarSoup.cpp:
94889        * platform/network/soup/ResourceError.h:
94890        * platform/network/soup/ResourceRequest.h:
94891        * platform/network/soup/ResourceResponse.h:
94892
948932008-08-23  Dan Bernstein  <mitz@apple.com>
94894
94895        Reviewed by Dave Hyatt.
94896
94897        - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
94898
94899        Test: fast/table/vertical-align-baseline.html
94900
94901        * rendering/RenderTable.cpp:
94902        (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
94903        baseline of the first table row, if there is one, -1 otherwise.
94904        * rendering/RenderTable.h:
94905        * rendering/RenderTableCell.cpp:
94906        (WebCore::RenderTableCell::baselinePosition): Changed to follow the
94907        CSS2.1 definition of the baseline of a table cell.
94908        * rendering/RenderTableSection.cpp:
94909        (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
94910        the baseline of the first row in the section.
94911        * rendering/RenderTableSection.h:
94912
949132008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
94914
94915        Add SPI to make a Windows WebView transparent.
94916
94917        Reviewed by Dan Bernstein.
94918
94919        * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
94920        determines whether the created context has an alpha channel.
94921        * platform/graphics/win/GraphicsContextCGWin.cpp:
94922        (WebCore::CGContextWithHDC):
94923
949242008-08-22  Timothy Hatcher  <timothy@apple.com>
94925
94926        Rolls out r35834 because it caused a regression in the Inspector's
94927        Console where some expressions always threw a syntax error.
94928
94929        https://bugs.webkit.org/show_bug.cgi?id=20487
94930
94931        * page/inspector/Console.js:
94932        (Console.prototype._evalInInspectedWindow): Removes parenthesis
94933        around the expression.
94934
949352008-08-22  Timothy Hatcher  <timothy@apple.com>
94936
94937        Makes getStyleProperty return a value for the overflow property
94938        when overflow-x and overflow-y are equal.
94939
94940        https://bugs.webkit.org/show_bug.cgi?id=20485
94941
94942        Reviewed by Dan Bernstein.
94943
94944        Test: fast/css/overflow-property.html
94945
94946        * css/CSSMutableStyleDeclaration.cpp:
94947        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
94948
949492008-08-22  Timothy Hatcher  <timothy@apple.com>
94950
94951        Fixes a bug where while editing in the Inspector the
94952        sidebar scroll position would jump to the top.
94953
94954        https://bugs.webkit.org/show_bug.cgi?id=20484
94955
94956        Reviewed by Darin Adler.
94957
94958        * page/inspector/treeoutline.js:
94959        (TreeOutline._removeChildren): Remove the offsetTop call that
94960        was forcing a layout, since layout causes scroll positions
94961        to be clamped to the new scrollHeight/Width. Layout will happen
94962        normally when needed.
94963
949642008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
94965
94966        wx build fix. Add AccessibilityTable sources.
94967
94968        * WebCoreSources.bkl:
94969
949702008-08-21  Dan Bernstein  <mitz@apple.com>
94971
94972        Reviewed by Jon Honeycutt and Alexey Proskuryakov.
94973
94974        - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
94975
94976        Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
94977
94978        * platform/graphics/mac/SimpleFontDataMac.mm:
94979        (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
94980        ascent and 100% to its reported descent.
94981
949822008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
94983
94984        Reviewed by Darin Adler.
94985
94986        https://bugs.webkit.org/show_bug.cgi?id=20267
94987        [GTK] Crash on some pages due to a plugin
94988
94989        Fix handling of badly formatted and empty plugin mime descriptions
94990
94991        * plugins/gtk/PluginPackageGtk.cpp:
94992        (WebCore::PluginPackage::fetchInfo):
94993
949942008-08-21  Kevin Watters  <kevinwatters@gmail.com>
94995
94996        Reviewed by Darin Adler.
94997
94998        Follow other ports (and IE) in ImageSourceWx.cpp never to return an
94999        animated GIF frame duration of less than 50ms.
95000
95001        * platform/graphics/wx/ImageSourceWx.cpp:
95002        (WebCore::ImageSource::frameDurationAtIndex):
95003
950042008-08-21  Maxime Britto  <britto@apple.com>
95005
95006        Reviewed by Kevin McCullough.
95007
95008        Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
95009        https://bugs.webkit.org/show_bug.cgi?id=20451
95010
95011        rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
95012        When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
95013        This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
95014
95015        * page/EventHandler.cpp:
95016        (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
95017
95018        (WebCore::EventHandler::handleMousePressEvent): ditto
95019
950202008-08-21  Anthony Ricaud  <rik24d@gmail.com>
95021
95022        Small optimization for when the dividers in the Inspector's
95023        Resources panel are updated.
95024
95025        Reviewed by Tim Hatcher.
95026
95027        * page/inspector/ResourcesPanel.js:
95028        (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
95029        Combind a for loop and clone the divider element.
95030
950312008-08-21  Chris Marrin  <cmarrin@apple.com>
95032
95033        Allow 0 (without units) for Time eg. duration
95034        Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
95035
95036        Reviewed by Dave Hyatt.
95037
95038        Test: css1/units/zero-duration-without-units.html
95039
95040        * css/CSSParser.cpp:
95041        (WebCore::CSSParser::validUnit):
95042
950432008-08-21  Timothy Hatcher  <timothy@apple.com>
95044
95045        Make deleting all text while editing a DOM attribute in
95046        the Inspector delete the attribute. This also fixes
95047        an exception that would happen before.
95048
95049        https://bugs.webkit.org/show_bug.cgi?id=20472
95050
95051        Reviewed by Kevin McCullough.
95052
95053        * page/inspector/ElementsPanel.js:
95054        (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
95055        Don't check for hasAttributes on the parseElement, continuing
95056        through the function will correctly remove the attribute.
95057        If the parseElement is null, call _editingCancelled not
95058        editingCancelled, this fixes an exception.
95059
950602008-08-21  Timothy Hatcher  <timothy@apple.com>
95061
95062        Update the Inspector's Metrics pane when editing in
95063        the Styles pane. This makes sure the metrics shown
95064        always match what the Styles pane shows.
95065
95066        https://bugs.webkit.org/show_bug.cgi?id=20470
95067
95068        Reviewed by Kevin McCullough.
95069
95070        * page/inspector/ElementsPanel.js:
95071        (WebInspector.ElementsPanel): Add event listeners for
95072        the "style edited" and "style property toggled" events,
95073        so the Metrics pane is updated.
95074        (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
95075        Update the Metrics pane.
95076        * page/inspector/StylesSidebarPane.js:
95077        (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
95078        Dispatch the "style property toggled" event.
95079        (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
95080        Dispatch the "style edited" event when the CSS text is restored.
95081        (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
95082        Dispatch the "style edited" event.
95083
950842008-08-21  Timothy Hatcher  <timothy@apple.com>
95085
95086        Make the Inspector's Metrics sidebar pane editable.
95087
95088        https://bugs.webkit.org/show_bug.cgi?id=17218
95089        rdar://problem/5732818
95090
95091        Reviewed by Kevin McCullough.
95092
95093        * page/inspector/ElementsPanel.js:
95094        (WebInspector.ElementsPanel): Add an event listener for
95095        the "metrics edited" event, so the Styles pane is updated.
95096        * page/inspector/MetricsSidebarPane.js:
95097        (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
95098        so future updates work. Add a double click event listener for the
95099        metric values to start editing.
95100        (WebInspector.MetricsSidebarPane.prototype.startEditing):
95101        Call WebInspector.startEditing with some context.
95102        (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
95103        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
95104        Set the user input on the elements inline style. Fire the
95105        "metrics edited" event.
95106
951072008-08-21  Steve Falkenburg  <sfalken@apple.com>
95108
95109        Fix a race condition in Windows timer code.
95110        Timer function could end up being called with a 0 timer, leading to a Windows exception.
95111
95112        Don't post a timer message if one is already pending.
95113
95114        Reviewed by Ada Chan.
95115
95116        * platform/win/SharedTimerWin.cpp:
95117        (WebCore::TimerWindowWndProc):
95118        (WebCore::clearTimer):
95119        (WebCore::queueTimerProc):
95120        (WebCore::setSharedTimerFireTime):
95121
951222008-08-21  Anthony Ricaud  <rik24d@gmail.com>
95123
95124        After trying to add the expression, try again with quotes for
95125        easier edition.
95126
95127        https://bugs.webkit.org/show_bug.cgi?id=20466
95128
95129        Reviewed by Tim Hatcher.
95130
95131        * page/inspector/ObjectPropertiesSection.js: Added an
95132        evaluateExpression function.
95133
951342008-08-21  Anthony Ricaud  <rik24d@gmail.com>
95135
95136        Perform Inspector searches on search event to clear results when
95137        clicking the cross to empty it. Delete the lastQuery when the field
95138        is emptied in order to perform the search if exactly the same query
95139        is entered next.
95140
95141        https://bugs.webkit.org/show_bug.cgi?id=20462
95142
95143        Reviewed by Tim Hatcher.
95144
95145        * page/inspector/inspector.js:
95146
951472008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
95148
95149        Reviewed by Mark Rowe.
95150
95151        http://bugs.webkit.org/show_bug.cgi?id=19656
95152        [SOUP] The gio code should call didFail() instead of
95153        didFinishLoading() in case of error
95154
95155        In case of error call didFail() instead of didReceiveResponse() and
95156        didFinishLoading().
95157
95158        * platform/network/soup/ResourceHandleSoup.cpp:
95159        (WebCore::networkErrorForFile):
95160        (WebCore::readCallback):
95161        (WebCore::openCallback):
95162        (WebCore::queryInfoCallback):
95163
951642008-08-20  Mark Rowe  <mrowe@apple.com>
95165
95166        Reviewed by Jon Honeycutt.
95167
95168        Fix build failure.
95169
95170        * bridge/c/c_instance.cpp:
95171        (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
95172        as that is what NPEnumerationFunctionPtr is declared as accepting.
95173
951742008-08-20  Mark Rowe  <mrowe@apple.com>
95175
95176        Reviewed by Dan Bernstein.
95177
95178        Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
95179
95180        * platform/graphics/GraphicsContext.h:
95181        (WebCore::):
95182        * platform/graphics/cg/GraphicsContextCG.cpp:
95183        (WebCore::GraphicsContext::setImageInterpolationQuality):
95184        (WebCore::GraphicsContext::imageInterpolationQuality):
95185
951862008-08-20  Dan Bernstein  <mitz@apple.com>
95187
95188        Rubber-stamped by John Sullivan.
95189
95190        - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
95191          rename related methods and variables accordingly.
95192
95193        * WebCore.base.exp:
95194        * page/FrameView.cpp:
95195        (WebCore::FrameViewPrivate::FrameViewPrivate):
95196        (WebCore::FrameView::shouldUpdateWhileOffscreen):
95197        (WebCore::FrameView::setShouldUpdateWhileOffscreen):
95198        * page/FrameView.h:
95199        * platform/ScrollView.h:
95200        * platform/mac/ScrollViewMac.mm:
95201        (WebCore::ScrollView::updateContents):
95202
952032008-08-20  Brady Eidson  <beidson@apple.com>
95204
95205        Reviewed by Mitzpettel
95206
95207        <rdar://problem/6153432> - Many images broken in Mail
95208
95209        This can be traced back to the preload scanner.  With that change, CachedResources are created a lot
95210        sooner than before and confuse the WebArchive machinery.
95211
95212        When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
95213        such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
95214        machinery and nothing is known about where the data will eventually come from.
95215
95216        * loader/DocumentLoader.cpp:
95217        (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is
95218          CachedResource::PreloadReferenced.
95219
952202008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
95221
95222        Unreviewed compile fix
95223
95224        Catch up with the JSValue::type elimination.
95225
95226        * bridge/qt/qt_instance.cpp:
95227        (KJS::Bindings::QtRuntimeObjectImp::construct):
95228        (KJS::Bindings::QtInstance::defaultValue):
95229        * bridge/qt/qt_runtime.cpp:
95230        (KJS::Bindings::QtRuntimeConnectionMethod::call):
95231
952322008-08-20  Chris Teague  <chris.teague@gmail.com>
95233
95234        Reviewed by Mark Rowe.
95235
95236        Fix https://bugs.webkit.org/show_bug.cgi?id=20449
95237        Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
95238
95239        * ChangeLog:
95240        * loader/FrameLoader.cpp:
95241        (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
95242
952432008-08-20  Simon Fraser  <simon.fraser@apple.com>
95244
95245        Reviewed by Dave Hyatt
95246
95247        getComputedStyle() for webkitTransform should return a transform
95248        that does not have the transform origin baked into it.
95249        https://bugs.webkit.org/show_bug.cgi?id=20464
95250
95251        Test: fast/css/getComputedStyle-transform.html
95252
95253        * css/CSSComputedStyleDeclaration.cpp:
95254        (WebCore::computedTransform):
95255        * rendering/style/RenderStyle.cpp:
95256        (WebCore::RenderStyle::applyTransform):
95257        * rendering/style/RenderStyle.h:
95258
952592008-08-20  Josh Aas  <joshmoz@gmail.com>
95260
95261        Reviewed and landed by Anders.
95262
95263        <rdar://problem/6163636>
95264        rename NPCocoaEvent's "event" struct to "data" (20446)
95265
95266        * bridge/npapi.h:
95267        (_NPCocoaEvent::):
95268
952692008-08-20  Beth Dakin  <bdakin@apple.com>
95270
95271        Reviewed by Darin Adler.
95272
95273        Fix for <rdar://problem/6145626>
95274        This patch fixes a number of remaining problems getting
95275        disconnected frames to work correctly with markAllMatchesForText()
95276        and findString(). Details inline.
95277
95278        This was a static helper function in Frame, but this patch requires
95279        the same functionality in Editor, so I just added it as a function
95280        on Node.
95281        * dom/Node.cpp:
95282        (WebCore::Node::isInShadowTree):
95283        * dom/Node.h:
95284
95285        * editing/Editor.cpp:
95286        (WebCore::Editor::insideVisibleArea): Returns false if
95287        excludeFromTextSearch() is true.
95288
95289        In a normal (non-disconnected) frame, findString returns a range of
95290        the document node if the text is not found in the frame. I changed
95291        firstVisibleRange and lastVisibleRange to match that behavior when
95292        the text is not found
95293        (WebCore::Editor::firstVisibleRange):
95294        (WebCore::Editor::lastVisibleRange):
95295
95296        Here are the bulk of the changes in the patch. A lot of text was
95297        not being found in disconnected frames because I failed to account
95298        for all of the possible problems associated with shadow trees. That
95299        is fixed here.
95300        (WebCore::Editor::nextVisibleRange):
95301        * editing/Editor.h:
95302
95303        excludeFromTextSearch() is new. It allows a WebKit client to mark a
95304        frame as not-text-searchable through SPI.
95305        * WebCore.base.exp:
95306        * page/Frame.cpp:
95307        (WebCore::Frame::excludeFromTextSearch):
95308        (WebCore::Frame::setExcludeFromTextSearch):
95309        (WebCore::FramePrivate::FramePrivate):
95310        * page/Frame.h:
95311        * page/FramePrivate.h:
95312
95313        (WebCore::Frame::findString):
95314        (WebCore::Frame::markAllMatchesForText):  I kept running into an
95315        assertion failure in paining code because of the forced paint on
95316        empty visible rects.
95317
953182008-08-20  Timothy Hatcher  <timothy@apple.com>
95319
95320        Adds a positon box to the Inspector's Metrics sidebar
95321        pane. When an element is not statically positioned, there
95322        is now a position box that show top, right, bottom and
95323        left computed values.
95324
95325        Reviewed by Kevin McCullough.
95326
95327        * English.lproj/localizedStrings.js: Updated the strings.
95328        * page/inspector/MetricsSidebarPane.js:
95329        (WebInspector.MetricsSidebarPane.prototype.update):
95330        Renamed the boxPartValue function to createBoxPartElement
95331        and made it create the entire element. Made it understand
95332        how to get position style properties. Don't use the figure dash
95333        when 0px is used for positions, since the 0 is meaningful there.
95334        Instead use the figure dash when a position is auto.
95335        * page/inspector/inspector.css: Added a new rule for position.
95336
953372008-08-20  Chris Fleizach  <cfleizach@apple.com>
95338
95339        Reviewed by Beth Dakin
95340
95341        Qt build fix
95342
95343        * WebCore.pro:
95344
953452008-08-20  Dan Bernstein  <mitz@apple.com>
95346
95347        Reviewed by Anders Carlsson.
95348
95349        - avoid using a deprecated NSScroller method on Leopard
95350
95351        * platform/mac/PlatformScrollBarMac.mm:
95352        (WebCore::PlatformScrollbar::updateThumbPosition):
95353        (WebCore::PlatformScrollbar::updateThumbProportion):
95354
953552008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
95356
95357        Reviewed by Oliver Hunt.
95358
95359        Gtk build fix
95360
95361        * GNUmakefile.am:
95362        * page/AccessibilityTable.cpp: Change nil to 0
95363        (WebCore::AccessibilityTable::cellForColumnAndRow):
95364
953652008-08-19  Alexey Proskuryakov  <ap@webkit.org>
95366
95367        Reviewed by Geoff Garen.
95368
95369        Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
95370
95371        * ForwardingHeaders/kjs/JSLock.h: Added.
95372        * WebCore.vcproj/WebCore.vcproj:
95373        * bindings/js/GCController.cpp:
95374        (WebCore::collect):
95375        (WebCore::GCController::gcTimerFired):
95376        (WebCore::GCController::garbageCollectNow):
95377        * bindings/js/JSCustomSQLStatementCallback.cpp:
95378        (WebCore::JSCustomSQLStatementCallback::handleEvent):
95379        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
95380        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
95381        * bindings/js/JSCustomSQLTransactionCallback.cpp:
95382        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
95383        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
95384        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
95385        * bindings/js/JSCustomVoidCallback.cpp:
95386        (WebCore::JSCustomVoidCallback::handleEvent):
95387        * bindings/js/JSCustomXPathNSResolver.cpp:
95388        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
95389        * bindings/js/JSDOMWindowBase.cpp:
95390        (WebCore::DOMWindowTimer::~DOMWindowTimer):
95391        (WebCore::JSDOMWindowBase::clear):
95392        (WebCore::JSDOMWindowBase::timerFired):
95393        * bindings/js/JSEventCustom.cpp:
95394        (WebCore::toJS):
95395        * bindings/js/JSEventListener.cpp:
95396        (WebCore::JSAbstractEventListener::handleEvent):
95397        * bindings/js/JSNSResolver.cpp:
95398        (WebCore::JSNSResolver::lookupNamespaceURI):
95399        * bindings/js/JSNodeFilterCondition.cpp:
95400        (WebCore::JSNodeFilterCondition::acceptNode):
95401        * bindings/js/ScheduledAction.cpp:
95402        (WebCore::ScheduledAction::execute):
95403        * bindings/js/ScriptController.cpp:
95404        (WebCore::ScriptController::evaluate):
95405        (WebCore::ScriptController::clearWindowShell):
95406        (WebCore::ScriptController::createHTMLEventHandler):
95407        (WebCore::ScriptController::createSVGEventHandler):
95408        (WebCore::ScriptController::initScript):
95409        (WebCore::ScriptController::updateDocument):
95410        (WebCore::ScriptController::bindingRootObject):
95411        (WebCore::ScriptController::windowScriptNPObject):
95412        (WebCore::ScriptController::createScriptObjectForPluginElement):
95413        (WebCore::ScriptController::clearScriptObjects):
95414        * bindings/js/ScriptControllerMac.mm:
95415        (WebCore::ScriptController::windowScriptObject):
95416        * bindings/objc/WebScriptObject.mm:
95417        (_didExecute):
95418        (-[WebScriptObject callWebScriptMethod:withArguments:]):
95419        (-[WebScriptObject evaluateWebScript:]):
95420        (-[WebScriptObject setValue:forKey:]):
95421        (-[WebScriptObject valueForKey:]):
95422        (-[WebScriptObject removeWebScriptKey:]):
95423        (-[WebScriptObject stringRepresentation]):
95424        (-[WebScriptObject webScriptValueAtIndex:]):
95425        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
95426        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
95427        * bridge/NP_jsobject.cpp:
95428        (_NPN_InvokeDefault):
95429        (_NPN_Invoke):
95430        (_NPN_Evaluate):
95431        (_NPN_GetProperty):
95432        (_NPN_SetProperty):
95433        (_NPN_RemoveProperty):
95434        (_NPN_HasProperty):
95435        (_NPN_HasMethod):
95436        (_NPN_Enumerate):
95437        * bridge/c/c_class.cpp:
95438        (KJS::Bindings::CClass::~CClass):
95439        (KJS::Bindings::CClass::methodsNamed):
95440        (KJS::Bindings::CClass::fieldNamed):
95441        * bridge/c/c_instance.cpp:
95442        (KJS::Bindings::CInstance::invokeMethod):
95443        (KJS::Bindings::CInstance::invokeDefaultMethod):
95444        (KJS::Bindings::CInstance::getPropertyNames):
95445        * bridge/c/c_runtime.cpp:
95446        (KJS::Bindings::CField::valueFromInstance):
95447        (KJS::Bindings::CField::setValueToInstance):
95448        * bridge/c/c_utility.cpp:
95449        (KJS::Bindings::convertValueToNPVariant):
95450        (KJS::Bindings::convertNPVariantToValue):
95451        * bridge/jni/jni_class.cpp:
95452        (JavaClass::JavaClass):
95453        (JavaClass::~JavaClass):
95454        * bridge/jni/jni_instance.cpp:
95455        (JavaInstance::stringValue):
95456        * bridge/jni/jni_jsobject.mm:
95457        (JavaJSObject::call):
95458        (JavaJSObject::eval):
95459        (JavaJSObject::getMember):
95460        (JavaJSObject::setMember):
95461        (JavaJSObject::removeMember):
95462        (JavaJSObject::getSlot):
95463        (JavaJSObject::setSlot):
95464        (JavaJSObject::toString):
95465        (JavaJSObject::convertValueToJObject):
95466        (JavaJSObject::convertJObjectToValue):
95467        * bridge/jni/jni_objc.mm:
95468        (KJS::Bindings::dispatchJNICall):
95469        * bridge/jni/jni_runtime.cpp:
95470        (appendClassName):
95471        (JavaMethod::signature):
95472        * bridge/jni/jni_runtime.h:
95473        (KJS::Bindings::JavaString::JavaString):
95474        (KJS::Bindings::JavaString::_commonInit):
95475        (KJS::Bindings::JavaString::~JavaString):
95476        (KJS::Bindings::JavaString::UTF8String):
95477        * bridge/jni/jni_utility.cpp:
95478        (KJS::Bindings::convertValueToJValue):
95479        * bridge/npruntime.cpp:
95480        (_NPN_GetStringIdentifier):
95481        * bridge/objc/objc_instance.mm:
95482        (ObjcInstance::moveGlobalExceptionToExecState):
95483        (ObjcInstance::invokeMethod):
95484        (ObjcInstance::invokeDefaultMethod):
95485        (ObjcInstance::setValueOfUndefinedField):
95486        (ObjcInstance::getValueOfUndefinedField):
95487        * bridge/objc/objc_runtime.mm:
95488        (ObjcField::valueFromInstance):
95489        (ObjcField::setValueToInstance):
95490        * bridge/objc/objc_utility.mm:
95491        (KJS::Bindings::convertValueToObjcValue):
95492        (KJS::Bindings::convertNSStringToString):
95493        (KJS::Bindings::convertObjcValueToValue):
95494        * bridge/qt/qt_instance.cpp:
95495        (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
95496        (KJS::Bindings::QtInstance::~QtInstance):
95497        (KJS::Bindings::QtInstance::getQtInstance):
95498        (KJS::Bindings::QtInstance::getRuntimeObject):
95499        * bridge/qt/qt_runtime.cpp:
95500        (KJS::Bindings::convertValueToQVariant):
95501        (KJS::Bindings::convertQVariantToValue):
95502        (KJS::Bindings::QtRuntimeMetaMethod::call):
95503        (KJS::Bindings::QtRuntimeConnectionMethod::call):
95504        (KJS::Bindings::QtConnectionObject::QtConnectionObject):
95505        (KJS::Bindings::QtConnectionObject::execute):
95506        * bridge/runtime.cpp:
95507        (KJS::Bindings::Instance::createRuntimeObject):
95508        * bridge/testbindings.cpp:
95509        (main):
95510        * bridge/testbindings.mm:
95511        (main):
95512        * bridge/testqtbindings.cpp:
95513        (main):
95514        * dom/Document.cpp:
95515        (WebCore::Document::~Document):
95516        * dom/Node.cpp:
95517        (WebCore::Node::setDocument):
95518        * history/CachedPage.cpp:
95519        (WebCore::CachedPage::CachedPage):
95520        (WebCore::CachedPage::restore):
95521        (WebCore::CachedPage::clear):
95522        * loader/FrameLoader.cpp:
95523        (WebCore::getString):
95524        * page/InspectorController.cpp:
95525        (WebCore::ConsoleMessage::ConsoleMessage):
95526        (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
95527        (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
95528        (WebCore::getResourceDocumentNode):
95529        (WebCore::search):
95530        (WebCore::inspectedWindow):
95531        (WebCore::wrapCallback):
95532        (WebCore::currentCallFrame):
95533        (WebCore::profiles):
95534        (WebCore::InspectorController::focusNode):
95535        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
95536        (WebCore::InspectorController::addDatabaseScriptResource):
95537        (WebCore::InspectorController::addScriptProfile):
95538        * page/JavaScriptCallFrame.cpp:
95539        (WebCore::JavaScriptCallFrame::evaluate):
95540        * page/JavaScriptProfileNode.cpp:
95541        (WebCore::getTotalTime):
95542        (WebCore::getSelfTime):
95543        (WebCore::getTotalPercent):
95544        (WebCore::getSelfPercent):
95545        (WebCore::getNumberOfCalls):
95546        (WebCore::getChildren):
95547        (WebCore::getVisible):
95548        * page/Page.cpp:
95549        * page/mac/FrameMac.mm:
95550        * plugins/PluginView.cpp:
95551        (WebCore::PluginView::start):
95552        (WebCore::getString):
95553        (WebCore::PluginView::performRequest):
95554        (WebCore::PluginView::bindingInstance):
95555        * plugins/gtk/PluginViewGtk.cpp:
95556        (WebCore::PluginView::paint):
95557        (WebCore::PluginView::handleKeyboardEvent):
95558        (WebCore::PluginView::handleMouseEvent):
95559        (WebCore::PluginView::setNPWindowRect):
95560        (WebCore::PluginView::stop):
95561        (WebCore::PluginView::init):
95562        * plugins/qt/PluginViewQt.cpp:
95563        (WebCore::PluginView::setNPWindowRect):
95564        (WebCore::PluginView::stop):
95565        (WebCore::PluginView::init):
95566        * plugins/win/PluginViewWin.cpp:
95567        (WebCore::PluginView::dispatchNPEvent):
95568        (WebCore::PluginView::handleKeyboardEvent):
95569        (WebCore::PluginView::handleMouseEvent):
95570        (WebCore::PluginView::setNPWindowRect):
95571        (WebCore::PluginView::stop):
95572        * xml/XMLHttpRequest.cpp:
95573        (WebCore::XMLHttpRequest::clearResponse):
95574        (WebCore::XMLHttpRequest::didFinishLoading):
95575        (WebCore::XMLHttpRequest::didReceiveData):
95576
955772008-08-19  Eric Seidel  <eric@webkit.org>
95578
95579        Reviewed by Geoff Garen.
95580
95581        Add the beginnings of Skia graphics support to WebCore
95582        as I try to begin the long process of un-forking the changes
95583        needed to WebCore to make Andriod's WebCore build.
95584
95585        I'll follow this up with actual *Skia.cpp files in a separate patch.
95586
95587        * platform/graphics/AffineTransform.h:
95588        * platform/graphics/FloatPoint.h:
95589        * platform/graphics/FloatRect.h:
95590        * platform/graphics/Gradient.h:
95591        * platform/graphics/GraphicsContext.h:
95592        * platform/graphics/Image.h:
95593        * platform/graphics/ImageBuffer.h:
95594        * platform/graphics/ImageSource.h:
95595        * platform/graphics/IntPoint.h:
95596        * platform/graphics/IntRect.h:
95597        * platform/graphics/Path.h:
95598        * platform/graphics/Pattern.h:
95599        * svg/graphics/SVGPaintServerPattern.h:
95600        * svg/graphics/SVGPaintServerSolid.h:
95601
956022008-08-19  Steve Falkenburg  <sfalken@apple.com>
95603
95604        Fix Windows build more.
95605
95606        * WebCore.vcproj/WebCore.vcproj:
95607
956082008-08-19  Steve Falkenburg  <sfalken@apple.com>
95609
95610        Fix Windows build.
95611
95612        * page/AccessibilityRenderObject.cpp:
95613        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
95614
956152008-08-19  Chris Fleizach  <cfleizach@apple.com>
95616
95617        Reviewed by Beth Dakin.
95618
95619        <rdar://problem/4003764> Expose tables as AXTables
95620
95621        Tests: accessibility/table-attributes.html
95622               accessibility/table-cell-spans.html
95623               accessibility/table-cells.html
95624               accessibility/table-detection.html
95625               accessibility/table-sections.html
95626               accessibility/table-with-rules.html
95627
95628        * WebCore.xcodeproj/project.pbxproj:
95629        * page/AXObjectCache.cpp:
95630        (WebCore::AXObjectCache::get):
95631        * page/AccessibilityObject.h:
95632        (WebCore::):
95633        (WebCore::AccessibilityObject::isDataTable):
95634        (WebCore::AccessibilityObject::isTableRow):
95635        (WebCore::AccessibilityObject::isTableColumn):
95636        (WebCore::AccessibilityObject::isTableCell):
95637        * page/AccessibilityRenderObject.cpp:
95638        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
95639        * page/AccessibilityTable.cpp: Added.
95640        (WebCore::AccessibilityTable::AccessibilityTable):
95641        (WebCore::AccessibilityTable::~AccessibilityTable):
95642        (WebCore::AccessibilityTable::create):
95643        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
95644        (WebCore::AccessibilityTable::clearChildren):
95645        (WebCore::AccessibilityTable::addChildren):
95646        (WebCore::AccessibilityTable::headerContainer):
95647        (WebCore::AccessibilityTable::columns):
95648        (WebCore::AccessibilityTable::rows):
95649        (WebCore::AccessibilityTable::rowHeaders):
95650        (WebCore::AccessibilityTable::columnHeaders):
95651        (WebCore::AccessibilityTable::cells):
95652        (WebCore::AccessibilityTable::columnCount):
95653        (WebCore::AccessibilityTable::rowCount):
95654        (WebCore::AccessibilityTable::cellForColumnAndRow):
95655        (WebCore::AccessibilityTable::roleValue):
95656        (WebCore::AccessibilityTable::accessibilityIsIgnored):
95657        (WebCore::AccessibilityTable::title):
95658        (WebCore::AccessibilityTable::isDataTable):
95659        * page/AccessibilityTable.h: Added.
95660        * page/AccessibilityTableCell.cpp: Added.
95661        (WebCore::AccessibilityTableCell::AccessibilityTableCell):
95662        (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
95663        (WebCore::AccessibilityTableCell::create):
95664        (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
95665        (WebCore::AccessibilityTableCell::rowIndexRange):
95666        (WebCore::AccessibilityTableCell::columnIndexRange):
95667        * page/AccessibilityTableCell.h: Added.
95668        (WebCore::AccessibilityTableCell::isTableCell):
95669        (WebCore::AccessibilityTableCell::roleValue):
95670        * page/AccessibilityTableColumn.cpp: Added.
95671        (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
95672        (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
95673        (WebCore::AccessibilityTableColumn::create):
95674        (WebCore::AccessibilityTableColumn::setParentTable):
95675        (WebCore::AccessibilityTableColumn::elementRect):
95676        (WebCore::AccessibilityTableColumn::size):
95677        (WebCore::AccessibilityTableColumn::children):
95678        (WebCore::AccessibilityTableColumn::headerObject):
95679        (WebCore::AccessibilityTableColumn::headerObjectForSection):
95680        (WebCore::AccessibilityTableColumn::addChildren):
95681        * page/AccessibilityTableColumn.h: Added.
95682        (WebCore::AccessibilityTableColumn::parentObject):
95683        (WebCore::AccessibilityTableColumn::roleValue):
95684        (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
95685        (WebCore::AccessibilityTableColumn::isTableColumn):
95686        (WebCore::AccessibilityTableColumn::setColumnIndex):
95687        (WebCore::AccessibilityTableColumn::columnIndex):
95688        * page/AccessibilityTableHeaderContainer.cpp: Added.
95689        (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
95690        (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
95691        (WebCore::AccessibilityTableHeaderContainer::create):
95692        (WebCore::AccessibilityTableHeaderContainer::children):
95693        (WebCore::AccessibilityTableHeaderContainer::elementRect):
95694        (WebCore::AccessibilityTableHeaderContainer::size):
95695        (WebCore::AccessibilityTableHeaderContainer::addChildren):
95696        * page/AccessibilityTableHeaderContainer.h: Added.
95697        (WebCore::AccessibilityTableHeaderContainer::roleValue):
95698        (WebCore::AccessibilityTableHeaderContainer::setParentTable):
95699        (WebCore::AccessibilityTableHeaderContainer::parentObject):
95700        (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
95701        * page/AccessibilityTableRow.cpp: Added.
95702        (WebCore::AccessibilityTableRow::AccessibilityTableRow):
95703        (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
95704        (WebCore::AccessibilityTableRow::create):
95705        (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
95706        (WebCore::AccessibilityTableRow::headerObject):
95707        * page/AccessibilityTableRow.h: Added.
95708        (WebCore::AccessibilityTableRow::isTableRow):
95709        (WebCore::AccessibilityTableRow::roleValue):
95710        (WebCore::AccessibilityTableRow::setRowIndex):
95711        (WebCore::AccessibilityTableRow::rowIndex):
95712        * page/mac/AccessibilityObjectWrapper.mm:
95713        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
95714        (RoleEntry::):
95715        (-[AccessibilityObjectWrapper roleDescription]):
95716        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
95717        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
95718        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
95719
957202008-08-19  Steve Falkenburg  <sfalken@apple.com>
95721
95722        Build fix.
95723        Add buildfailed support to stop builds early (preventing inaccurate error messages).
95724        Add missing post-build rule to Release.
95725
95726        * WebCore.vcproj/QTMovieWin.vcproj:
95727
957282008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
95729
95730        Added support for console.count in the inspector.
95731
95732        Reviewed by Geoff Garen.
95733
95734        * page/Console.cpp:
95735        (WebCore::Console::count):
95736        * page/Console.h:
95737        * page/Console.idl: Added console.count.
95738        * page/InspectorController.cpp:
95739        (WebCore::InspectorController::didCommitLoad): Clears m_counts.
95740        (WebCore::InspectorController::count): Updates the count number
95741        sing "title@source:line" as the identifier, and adds a
95742        message to the console.
95743        * page/InspectorController.h: Added m_counts.
95744
957452008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
95746
95747        Clear console.time timers when changing page.
95748
95749        Reviewed by Geoff Garen.
95750
95751        * page/InspectorController.cpp:
95752        (WebCore::InspectorController::didCommitLoad):
95753
957542008-08-19  Eric Carlson  <eric.carlson@apple.com>
95755
95756        Reviewed by Adele.
95757
95758        Fix for <rdar://problem/6154695> Full-page movies flicker while playing
95759        https://bugs.webkit.org/show_bug.cgi?id=20404
95760
95761        Ignore setVisible() when visibility doesn't change.
95762
95763        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
95764        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
95765        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
95766        (WebCore::MediaPlayerPrivate::setVisible):
95767
957682008-08-19  Timothy Hatcher  <timothy@apple.com>
95769
95770        Fixes a bug in the Profile view where switching sort order, then
95771        switching from heavy to tree mode would show the tree in the
95772        previous sort order.
95773
95774        https://bugs.webkit.org/show_bug.cgi?id=20441
95775
95776        Reviewed by Kevin McCullough.
95777
95778        * page/inspector/ProfileView.js:
95779        (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
95780        on the next profile before assigning it to this.profile.
95781        (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
95782        (WebInspector.ProfileView.prototype._sortProfile): Moves from
95783        _sortData and takes a profile argument. If the profile passed in
95784        matches the this.profile, then call refresh.
95785
957862008-08-18  Timothy Hatcher  <timothy@apple.com>
95787
95788        Changed the default sort order now that heavy view is the default.
95789        Also fixes a bug where the heavy profile was not sorted at first.
95790
95791        https://bugs.webkit.org/show_bug.cgi?id=20440
95792
95793        Reviewed by Kevin McCullough.
95794
95795        * page/inspector/ProfileView.js:
95796        (WebInspector.ProfileView): Changed the default sort column. Also assign
95797        heavyProfile to profile, so the sortSelfTimeDescending call happens
95798        on the heavy profile before assigning to this.profile.
95799
958002008-08-18  Timothy Hatcher  <timothy@apple.com>
95801
95802        Add support for editing DOM properties and scope variables by double
95803        clicking a property to enter edit mode.
95804
95805        https://bugs.webkit.org/show_bug.cgi?id=20415
95806
95807        Reviewed by Kevin McCullough.
95808
95809        * page/inspector/ObjectPropertiesSection.js:
95810        (WebInspector.ObjectPropertiesSection): Set editable to true by default.
95811        (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
95812        Factored out code into update, and calls update.
95813        (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
95814        Call removeChildren since this method can be called multiple times now.
95815        (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
95816        gets made later in onattach.
95817        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
95818        if shouldRefreshChildren is true. Call removeChildren since this method can be
95819        called multiple times now.
95820        (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
95821        (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
95822        (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
95823        this element (code moved from the constructor.)
95824        (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
95825        sibling property elements.
95826        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
95827        WebInspector.startEditing after rememebring some context.
95828        (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
95829        for the list element, since it might have scrolled during editing.
95830        (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
95831        then restore the state from the context. Then call update to restore the title.
95832        (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
95833        if the user input and the previous input are the same. Call editingEnded, then call applyExpression
95834        to commit the user input.
95835        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
95836        and stores the result on the object for the property name of this element. If the expression is
95837        empty, delete the property and remove the tree element.
95838        * page/inspector/ScopeChainSidebarPane.js:
95839        (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
95840        property on each ObjectPropertiesSection.
95841        (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
95842        since it is now implemented.
95843        * page/inspector/ScriptsPanel.js:
95844        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
95845        that defaults to true if omitted. It specifies whether to call update on the scope chain.
95846        * page/inspector/inspector.css: New styles.
95847        * page/inspector/treeoutline.js:
95848        (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
95849        change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
95850
958512008-08-18  Timothy Hatcher  <timothy@apple.com>
95852
95853        Surround the expression to be evaluated in parenthesis so the
95854        result of the eval is the result of the whole expression not
95855        the last potential sub-expression. So evaluating {x: 123}
95856        will show the Object not 123.
95857
95858        https://bugs.webkit.org/show_bug.cgi?id=20428
95859
95860        Reviewed by Kevin McCullough.
95861
95862        * page/inspector/Console.js:
95863        (Console.prototype._evalInInspectedWindow): Add parenthesis
95864        around the expression. And add couple comments.
95865
958662008-08-19 Kevin McCullough <kmccullough@apple.com>
95867
95868        Reviewed by Geoff.
95869
95870        -Implement a page() function to extract a common code pattern.
95871
95872        * WebCore.xcodeproj/project.pbxproj:
95873        * page/Console.cpp:
95874        (WebCore::Console::addMessage):
95875        (WebCore::Console::error):
95876        (WebCore::Console::info):
95877        (WebCore::Console::log):
95878        (WebCore::Console::dir):
95879        (WebCore::Console::assertCondition):
95880        (WebCore::Console::time):
95881        (WebCore::Console::timeEnd):
95882        (WebCore::Console::group):
95883        (WebCore::Console::groupEnd):
95884        (WebCore::Console::finishedProfiling):
95885        (WebCore::Console::warn):
95886        (WebCore::Console::framePage):
95887        * page/Console.h:
95888
958892008-08-12  Darin Adler  <darin@apple.com>
95890
95891        Reviewed by Geoff.
95892
95893        - eliminate JSValue::type()
95894
95895        * bridge/c/c_instance.cpp:
95896        (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
95897        argument instead of JSType argument. Removed unneeded code to handle
95898        boolean, since that's never passed.
95899        * bridge/c/c_instance.h: Ditto.
95900
95901        * bridge/c/c_utility.cpp:
95902        (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
95903        instead of JSValue::type(). Removed unneeded code to handle
95904        "unspecified".
95905
95906        * bridge/jni/jni_instance.cpp:
95907        (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
95908        instead of JSType argument. Removed unneeded code to handle boolean.
95909        * bridge/jni/jni_instance.h: Ditto.
95910
95911        * bridge/jni/jni_jsobject.mm:
95912        (JavaJSObject::convertValueToJObject): Use JSValue::is functions
95913        instead of JSValue::type().
95914
95915        * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
95916        instead of JSType argument. Removed unused argument.
95917        * bridge/objc/objc_instance.mm:
95918        (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
95919        (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
95920        instead of JSType argument. Removed unneeded code to handle boolean
95921        and another dead code path for unknown types.
95922
95923        * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
95924        instead of JSType argument. Removed override of type() that caused
95925        the fallback object to return "UndefinedType" when there is no
95926        invokeUndefinedMethodFromWebScript:withArguments: method defined.
95927        That didn't accomplish much, since most checks for undefined don't
95928        ever call type().
95929        * bridge/objc/objc_runtime.mm:
95930        (ObjcFallbackObjectImp::defaultValue): Ditto.
95931
95932        * bridge/qt/qt_instance.cpp:
95933        (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
95934        argument instead of JSType argument. Removed unneeded code to handle
95935        boolean.
95936        * bridge/qt/qt_instance.h: Ditto.
95937
95938        * bridge/runtime.h:
95939        (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
95940        unsed argument.
95941        * bridge/runtime_object.cpp:
95942        (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
95943        argument instead of JSType argument.
95944        * bridge/runtime_object.h: Ditto.
95945
959462008-08-18  Maxime Britto  <britto@apple.com>
95947
95948        Reviewed by Adele.
95949
95950        <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
95951        Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
95952        We shouldn't be able to create another window while we are in pan scrolling.
95953        Other browsers behaviors :
95954          FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
95955          IE7 : Keys are not disabled but stops immediately the panning.
95956        This patch matches FF3 behavior by disabling every key but the esc key.
95957
95958        * page/EventHandler.cpp:
95959        (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
95960        (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
95961
959622008-08-18  Dan Bernstein  <mitz@apple.com>
95963
95964        Reviewed by Dave Hyatt.
95965
95966        - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
95967
95968        Test: fast/replaced/max-width-percent.html
95969
95970        Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
95971        When false, max-width is not factored into the
95972        calculation.
95973        Changed RenderReplaced and subclasses' calcPrefWidths() to call
95974        calcReplacedWidth(false) and then apply max-width only if it has a
95975        fixed, positive value.
95976
95977        * rendering/RenderBox.cpp:
95978        (WebCore::RenderBox::calcReplacedWidth):
95979        * rendering/RenderBox.h:
95980        * rendering/RenderImage.cpp:
95981        (WebCore::RenderImage::calcReplacedWidth):
95982        (WebCore::RenderImage::calcPrefWidths):
95983        * rendering/RenderImage.h:
95984        * rendering/RenderReplaced.cpp:
95985        (WebCore::RenderReplaced::calcPrefWidths):
95986        * rendering/RenderSVGRoot.cpp:
95987        (WebCore::RenderSVGRoot::calcPrefWidths):
95988        * rendering/RenderVideo.cpp:
95989        (WebCore::RenderVideo::calcReplacedWidth):
95990        (WebCore::RenderVideo::calcPrefWidths):
95991        * rendering/RenderVideo.h:
95992
959932008-08-18  Daniel Macks  <dmacks@netspace.org>
95994
95995        Reviewed by Mark Rowe.
95996
95997        https://bugs.webkit.org/show_bug.cgi?id=20410
95998        More portable/self-documenting replacement for SIZE_MAX.
95999
96000        * platform/network/curl/FormDataStreamCurl.cpp:
96001        (WebCore::FormDataStream::read):
96002
960032008-08-18  Simon Fraser  <simon.fraser@apple.com>
96004
96005        Reviewed by Dave Hyatt
96006
96007        Need to make sure we have an Animation in the AnimationList
96008        before setting the initial value.
96009        https://bugs.webkit.org/show_bug.cgi?id=20408
96010
96011        Test: fast/css/transition_shorthand_parsing.html
96012
96013        * css/CSSStyleSelector.cpp:
96014
960152008-08-18  Kevin McCullough  <kmccullough@apple.com>
96016
96017        Reviewed by Tim.
96018
96019        <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
96020        is another profile.
96021
96022        * page/inspector/ProfilesPanel.js:
96023
960242008-08-18  Kevin McCullough  <kmccullough@apple.com>
96025
96026        Reviewed by Geoff.
96027
96028        <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
96029        all console messages
96030
96031        * page/inspector/Console.js:
96032
960332008-08-18  Dirk Schulze  <vbs85@gmx.de>
96034
96035        Reviewed by Eric Seidel.
96036
96037        Fixed Canvas for Cairo. Stroke and fill colors didn't work after
96038        the canvas clean up.
96039
96040        https://bugs.webkit.org/show_bug.cgi?id=20405
96041
96042        * html/CanvasRenderingContext2D.cpp:
96043        (WebCore::CanvasRenderingContext2D::fill):
96044        (WebCore::CanvasRenderingContext2D::stroke):
96045        (WebCore::CanvasRenderingContext2D::fillRect):
96046
960472008-08-17  Timothy Hatcher  <timothy@apple.com>
96048
96049        Complete in scope variables in the Console when paused.
96050
96051        https://bugs.webkit.org/show_bug.cgi?id=19115
96052
96053        Reviewed by Geoffrey Garen.
96054
96055        * page/inspector/Console.js:
96056        (WebInspector.Console.prototype.completions): If the expressionString
96057        is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
96058        to get an object that declares all the in scope variables. That way
96059        "top level" expressions are completed.
96060        * page/inspector/ScriptsPanel.js:
96061        (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
96062        Return an object that has all the variables that are in scope for the
96063        selected call frame. The value of each property is just true.
96064        The return object is useful for quick lookups or auto completion.
96065
960662008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
96067
96068        Not reviewed.
96069
96070        Speculative Qt build fix.
96071
96072        * bridge/qt/qt_runtime.cpp:
96073        (KJS::Bindings::convertValueToQVariant):
96074        (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
96075
960762008-08-17  Geoffrey Garen  <ggaren@apple.com>
96077
96078        Reviewed by Cameron Zwarich.
96079
96080        Updated project files to XCode 3.1.
96081
96082        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
96083
960842008-08-17  Geoffrey Garen  <ggaren@apple.com>
96085
96086        Reviewed by Cameron Zwarich.
96087
96088        Made room for a free word in JSCell.
96089
96090        Changed JSDOMWindowBase to store its auxiliary data in a subclass of
96091        JSGlobalData, so the two could share a pointer.
96092
96093        Added a bunch of ASSERTs, to help catch over-sized objects.
96094
960952008-08-15  Mark Rowe  <mrowe@apple.com>
96096
96097        Reviewed by Dan Bernstein.
96098
96099        Disable dead code stripping in debug builds.
96100
96101        * Configurations/Base.xcconfig:
96102        * WebCore.xcodeproj/project.pbxproj:
96103
961042008-08-15  Mark Rowe  <mrowe@apple.com>
96105
96106        Rubber-stamped by Geoff Garen.
96107
96108        <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
96109
96110        * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
96111        between the Debug configuration and debug Production variant.
96112        * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
96113
961142008-08-15  Antti Koivisto  <antti@apple.com>
96115
96116        Reviewed by Anders.
96117
96118        Don't start preloading body resources before the head is complete. This prevents
96119        body preloads from slowing down initial display when there is limited amount
96120        of bandwidth available.
96121
96122        Works by queuing up found body preloads to DocLoader and only issuing them
96123        after document has rendering.
96124
96125        With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
96126        without affecting complete load time.
96127
96128        * html/PreloadScanner.cpp:
96129        (WebCore::PreloadScanner::PreloadScanner):
96130        (WebCore::PreloadScanner::scanningBody):
96131        (WebCore::PreloadScanner::emitTag):
96132        (WebCore::PreloadScanner::emitCSSRule):
96133        * html/PreloadScanner.h:
96134        * loader/DocLoader.cpp:
96135        (WebCore::DocLoader::preload):
96136        (WebCore::DocLoader::checkForPendingPreloads):
96137        (WebCore::DocLoader::requestPreload):
96138        * loader/DocLoader.h:
96139        * loader/loader.cpp:
96140        (WebCore::Loader::Host::didFinishLoading):
96141        (WebCore::Loader::Host::didFail):
96142
961432008-08-15  Ada Chan  <adachan@apple.com>
96144
96145        Use item's computed style if the render style is 0 before falling back to the <select>'s style.
96146        This way style set on an <hr> within a <select> will be honored.
96147
96148        Reviewed by Dave Hyatt and Dan Bernstein.
96149
96150        * rendering/RenderMenuList.cpp:
96151        (WebCore::RenderMenuList::itemStyle):
96152
961532008-08-15  Antti Koivisto  <antti@apple.com>
96154
96155        Reviewed by Oliver.
96156
96157        Some loader performance tweaks:
96158        - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
96159          Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
96160          to not delay rendering.
96161        - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
96162          can take long time when latency is high so it is good to get started early.
96163        - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
96164          load queues. Issue remaining loads to the network layer.
96165
96166        * loader/loader.cpp:
96167        (WebCore::Loader::determinePriority):
96168        (WebCore::Loader::load):
96169        (WebCore::Loader::Host::servePendingRequests):
96170        * loader/loader.h:
96171
961722008-08-15  Timothy Hatcher  <timothy@apple.com>
96173
96174        Detach the script debugger when the Web Inspector's window closes.
96175        This has always been the intended design, but never fully implemented.
96176
96177        https://bugs.webkit.org/show_bug.cgi?id=20402
96178
96179        Reviewed by Adam Roben.
96180
96181        * page/InspectorController.cpp:
96182        (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
96183        if the window is no longer visible.
96184
961852008-08-15  Håvard Wall  <hwall@trolltech.com>
96186
96187        Reviewed by Simon.
96188
96189        Fixes:    compile with QT_NO_CONTEXTMENU
96190
96191        * platform/qt/PlatformMouseEventQt.cpp:
96192        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
96193        * platform/qt/PlatformScrollBarQt.cpp:
96194        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
96195        (WebCore::PlatformScrollbar::handleContextMenuEvent):
96196
961972008-08-15  Håvard Wall  <hwall@trolltech.com>
96198
96199        Reviewed by Simon.
96200
96201        Fixes: compile with QT_NO_WHEELEVENT
96202
96203        * platform/qt/WheelEventQt.cpp:
96204        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
96205
962062008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
96207
96208        Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
96209
96210        https://bugs.webkit.org/show_bug.cgi?id=20210
96211
96212        Reviewed by Tim Hatcher.
96213
96214        * page/Console.cpp:
96215        (WebCore::Console::group):
96216        (WebCore::Console::groupEnd):
96217        * page/Console.h:
96218        (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
96219        * page/InspectorController.cpp:
96220        (WebCore::InspectorController::startGroup): Increments group level by
96221        one and adds console message with StartGroupMessaageLevel.
96222        (WebCore::InspectorController::endGroup): Decrements group level by one
96223        and adds console message with EndGroupMessaageLevel.
96224        * page/InspectorController.h:
96225        * page/inspector/Console.js:
96226        (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
96227        if the message is StartGroupMessaageLevel.
96228        (WebInspector.ConsoleMessage.prototype.toMessageElement):
96229        (WebInspector.ConsoleGroup.prototype.addMessage):
96230        * page/inspector/inspector.js:
96231
962322008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
96233
96234        Adds support for console.dir to the Inspector
96235
96236        https://bugs.webkit.org/show_bug.cgi?id=19155
96237
96238        Reviewed by Tim Hatcher.
96239
96240        * bindings/js/JSConsoleCustom.cpp:
96241        (WebCore::JSConsole::dir):
96242        * page/Console.cpp:
96243        (WebCore::Console::dir):
96244        * page/Console.h: Added ObjectMessageLevel.
96245        * page/Console.idl: Added console.dir.
96246        * page/inspector/Console.js:
96247        (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
96248        ObjectPropertiesSection if the MessageLevel is Object.
96249        * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
96250        used on primitive data types.
96251        * page/inspector/inspector.css:
96252
962532008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
96254
96255        Adds support for clear() in the Inspector console.
96256
96257        https://bugs.webkit.org/show_bug.cgi?id=19873
96258
96259        Reviewed by Tim Hatcher.
96260
96261        * page/inspector/Console.js:
96262
962632008-08-15  Anthony Ricaud  <rik24d@gmail.com>
96264
96265        Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
96266
96267        Platform distinction and modifier key matching adjusted
96268        by Daniel Jalkut <jalkut@red-sweater.com>
96269
96270        Bug 16313: text search (find) keybindings should work in the Web Inspector
96271        https://bugs.webkit.org/show_bug.cgi?id=16313
96272
96273        Reviewed by Tim Hatcher.
96274
96275        * page/inspector/inspector.js: Added a case for the F key
96276
962772008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
96278
96279        Fix for error when the string doesn't contain a webkit-profile link.
96280
96281        https://bugs.webkit.org/show_bug.cgi?id=20399
96282
96283        Reviewed by Tim Hatcher.
96284
96285        * page/inspector/inspector.js:
96286
962872008-08-15  Timothy Hatcher  <timothy@apple.com>
96288
96289        Fixes two bugs where JavaScript could be executed from the page
96290        while the debugger is paused.
96291
96292        The first issue was JSLazyEventListener not checking the paused
96293        state before parsing the code.
96294
96295        The second issue was with the PageGroup version of
96296        JavaScriptDebugServer::setJavaScriptPaused always passing false
96297        to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
96298        and not the paused argument.
96299
96300        https://bugs.webkit.org/show_bug.cgi?id=20284
96301
96302        Reviewed by Adam Roben.
96303
96304        * bindings/js/JSEventListener.cpp:
96305        (WebCore::JSLazyEventListener::parseCode): Check the paused
96306        state of the ScriptController. Return early if paused.
96307        * manual-tests/inspector/debugger-execution-while-paused.html: Added.
96308        * page/JavaScriptDebugServer.cpp:
96309        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
96310        Pass the paused argument to the Page version of setJavaScriptPaused.
96311
963122008-08-15  Alexey Proskuryakov  <ap@webkit.org>
96313
96314        Reviewed by Geoff Garen.
96315
96316        JSStringRef is created context-free, but can get linked to one via an identifier table,
96317        breaking an implicit API contract.
96318
96319        * page/InspectorController.cpp:
96320        (WebCore::jsStringRef):
96321        (WebCore::InspectorController::didParseSource):
96322        (WebCore::InspectorController::failedToParseSource):
96323        * page/JavaScriptProfile.cpp:
96324        (WebCore::getTitleCallback):
96325        Updated for JavaScriptCore changes.
96326
963272008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
96328
96329        wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
96330        an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
96331
96332        * platform/graphics/AffineTransform.h:
96333
963342008-08-14  Eric Carlson  <eric.carlson@apple.com>
96335
96336        Reviewed by Adele.
96337
96338        Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
96339        <video> elements on Windows never becomes visible when a page is restored from the cache
96340
96341        Always pass "set" calls down to MediaPlayerPrivate instead of only when the
96342        value is different from the cached value. Let the implementation decide when
96343        to avoid work because nothing has changed.
96344
96345        * platform/graphics/MediaPlayer.cpp:
96346        (WebCore::MediaPlayer::setVolume):
96347        (WebCore::MediaPlayer::setRate):
96348        (WebCore::MediaPlayer::setRect):
96349        (WebCore::MediaPlayer::setVisible):
96350
963512008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
96352
96353        Make Firebug command line API respect predefined variables.
96354
96355        https://bugs.webkit.org/show_bug.cgi?id=20385
96356
96357        Reviewed by Tim Hatcher.
96358
96359        * page/inspector/Console.js:
96360
963612008-08-14  Sam Weinig  <sam@webkit.org>
96362
96363        Reviewed by Geoffrey Garen and Timothy Hatcher.
96364
96365        Allow programatically setting the HTMLTokenizers time delay and chunk size
96366        which are used for determining how aggressively we yield.
96367
96368        * WebCore.base.exp:
96369        * html/HTMLTokenizer.cpp:
96370        (WebCore::HTMLTokenizer::begin):
96371        (WebCore::HTMLTokenizer::continueProcessing):
96372        * html/HTMLTokenizer.h:
96373        * page/Page.cpp:
96374        (WebCore::Page::Page):
96375        (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
96376        (WebCore::Page::setCustomHTMLTokenizerChunkSize):
96377        * page/Page.h:
96378        (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
96379        (WebCore::Page::customHTMLTokenizerTimeDelay):
96380        (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
96381        (WebCore::Page::customHTMLTokenizerChunkSize):
96382
963832008-08-14  Eric Seidel  <eric@webkit.org>
96384
96385        Reviewed by Beth.
96386
96387        Move us one step closer to cross-platform svg/graphics code
96388
96389        * WebCore.xcodeproj/project.pbxproj:
96390        * html/CanvasStyle.cpp:
96391        * platform/graphics/Color.cpp:
96392        (WebCore::colorWithOverrideAlpha):
96393        * platform/graphics/Color.h:
96394        * svg/graphics/cg/CgSupport.cpp:
96395        (WebCore::applyStrokeStyleToContext):
96396        (WebCore::strokeBoundingBox):
96397        * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
96398        (WebCore::SVGPaintServerSolid::setup):
96399
964002008-08-14  Eric Seidel  <eric@webkit.org>
96401
96402        Reviewed by Alexey.
96403
96404        Remove un-need includes from HTMLCanvas and use the
96405        Gradient platform abstraction in one place in CanvasStyle
96406
96407        * html/CanvasRenderingContext2D.cpp:
96408        (WebCore::CanvasRenderingContext2D::fillRect):
96409        * html/CanvasStyle.cpp:
96410        * html/HTMLCanvasElement.cpp:
96411
964122008-08-14  Eric Seidel  <eric@webkit.org>
96413
96414        Reviewed by Alexey.
96415
96416        Clean up GlyphBuffer.h, removing more #ifdefs
96417
96418        * platform/graphics/GlyphBuffer.h:
96419        (WebCore::GlyphBuffer::glyphAt):
96420        (WebCore::GlyphBuffer::advanceAt):
96421        (WebCore::GlyphBuffer::add):
96422
964232008-08-14  Eric Seidel  <eric@webkit.org>
96424
96425        Reviewed by Sam.
96426
96427        Clean up AffineTransform.h, removing #ifdefs
96428
96429        * platform/graphics/AffineTransform.h:
96430        * platform/graphics/cairo/AffineTransformCairo.cpp:
96431        * platform/graphics/cg/AffineTransformCG.cpp:
96432        * platform/graphics/qt/AffineTransformQt.cpp:
96433        * platform/graphics/wx/AffineTransformWx.cpp:
96434
964352008-08-14  Dan Bernstein  <mitz@apple.com>
96436
96437        - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
96438
96439        * platform/graphics/cairo/ImageSourceCairo.cpp:
96440        (WebCore::ImageSource::frameSizeAtIndex):
96441        * platform/graphics/qt/ImageSourceQt.cpp:
96442        (WebCore::ImageSource::frameSizeAtIndex):
96443        * platform/graphics/wx/ImageSourceWx.cpp:
96444        (WebCore::ImageSource::frameSizeAtIndex):
96445
964462008-08-14  Dan Bernstein  <mitz@apple.com>
96447
96448        Reviewed by Brady Eidson.
96449
96450        - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
96451
96452        * platform/graphics/BitmapImage.cpp:
96453        (WebCore::BitmapImage::BitmapImage): Added initialization of
96454        m_hasUniformFrameSize.
96455        (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
96456        cached frame for use in decoded size computation and for setting
96457        m_hasUniformFrameSize.
96458        (WebCore::BitmapImage::currentFrameSize): Added.
96459        (WebCore::BitmapImage::dataChanged): Added code to reset
96460        m_hasUniformFrameSize.
96461        * platform/graphics/BitmapImage.h: Added currentFrameSize() and
96462        m_hasUniformFrameSize.
96463        * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
96464        * platform/graphics/cg/ImageCG.cpp:
96465        (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
96466        fixes the bug, which resulted from assuming that the frame being drawn
96467        was the same size as the first frame.
96468        * platform/graphics/cg/ImageSourceCG.cpp:
96469        (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
96470        changed to get the size of the frame at the given index.
96471        (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
96472
964732008-08-13  Simon Fraser  <simon.fraser@apple.com>
96474
96475        Reviewed by Eric Seidel
96476
96477        Fix @font-face inside @media rule crash.
96478        https://bugs.webkit.org/show_bug.cgi?id=20367
96479
96480        Test: fast/css/font-face-in-media-rule.html
96481
96482        * css/CSSStyleSelector.cpp:
96483        (WebCore::CSSRuleSet::addRulesFromSheet):
96484
964852008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
96486
96487        wx build fixes after recent changes to Canvas and Image classes.
96488
96489        * platform/graphics/Pattern.h:
96490        * platform/graphics/wx/GradientWx.cpp:
96491        (WebCore::Gradient::fill):
96492        * platform/graphics/wx/GraphicsContextWx.cpp:
96493        (WebCore::GraphicsContext::applyFillPattern):
96494        (WebCore::GraphicsContext::applyStrokePattern):
96495        * platform/graphics/wx/ImageBufferWx.cpp:
96496        (WebCore::ImageBuffer::image):
96497        * platform/graphics/wx/ImageWx.cpp:
96498        (WebCore::Image::loadPlatformResource):
96499
965002008-08-14  Maxime Britto  <britto@apple.com>
96501
96502        Reviewed by Sam Weinig.
96503
96504        rdar://6102511
96505        When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
96506        IE and FF are both preventing the keyboard event to interact with the page while scrolling.
96507        Some differences exist between them concerning the kind of key which is pressed :
96508        IE7 : every key leads to a stop of the panning
96509        FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
96510        For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
96511
96512        * page/EventHandler.cpp:
96513        (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
96514
965152008-08-14  Christian Dywan  <christian@twotoasts.de>
96516
96517        Gtk+/ Cairo build fix, patch by Dirk Schulze.
96518
96519        * html/CanvasStyle.cpp:
96520        * platform/graphics/cairo/PatternCairo.cpp:
96521        (WebCore::Pattern::createPlatformPattern):
96522        * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
96523
965242008-08-14  Kevin McCullough  <kmccullough@apple.com>
96525
96526        Reviewed by Tim.
96527
96528        <rdar://problem/6115819> Notify of profile in console
96529
96530        * page/InspectorController.cpp:
96531        (WebCore::InspectorController::addProfile):
96532        (WebCore::InspectorController::addProfileMessageToConsole): Called by
96533        addProfile this is the function that adds a message to the console that
96534        a profile finished.
96535        * page/InspectorController.h:
96536        * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
96537        the console log to the profile in the web inspector.
96538        (WebCore::getUniqueIdCallback):
96539        (WebCore::ProfileClass):
96540        * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
96541        Id to bring up the requested profile.  Also select and reveal the
96542        profile in the profile panel.  And created displayTitleForProfileLink()
96543        which formats a title taking into account if it's user initiated or if
96544        there are multiples. Lasty, I put the user initiated profile in a
96545        variable.
96546        * page/inspector/inspector.js: Make the profile title be a clickable
96547        link that will take the user to the identified profile.  Also expose
96548        the count of user initiated profiles so they can be displayed in the
96549        console with the correct count.
96550
965512008-08-14  Timothy Hatcher  <timothy@apple.com>
96552
96553        Avoid formating ConsoleMessages twice unless the message will be
96554        displayed in bubbles of a SourceFrame.
96555
96556        Reviewed by Kevin McCullough.
96557
96558        * page/inspector/Console.js:
96559        (WebInspector.ConsoleMessage): Only format the plain text message
96560        if the URL and line are valid and the level is error or warning.
96561        (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
96562        Helper to test for error or warning level.
96563        * page/inspector/SourceFrame.js:
96564        (WebInspector.SourceFrame.prototype.addMessage): Don't add the
96565        message if there is no message or valid line or if the msg
96566        isn't an error or warning.
96567
965682008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
96569
96570        partial Gtk build fix, not reviewed
96571
96572        * platform/graphics/cairo/PatternCairo.cpp:
96573
965742008-08-13  Sam Weinig  <sam@webkit.org>
96575
96576        Reviewed by Anders Carlsson.
96577
96578        Fix style issue.
96579
96580        * html/HTMLMediaElement.cpp:
96581        (WebCore::HTMLMediaElement::pickMedia):
96582
965832008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
96584
96585        Build fix for Cairo, not reviewed. (exposed by gtk build slave)
96586        Continue Erics build fixes, after the Image cleanup.
96587
96588        * platform/graphics/cairo/ImageBufferCairo.cpp:
96589        (WebCore::ImageBuffer::image):
96590
965912008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
96592
96593        Build fix for Qt, not reviewed.
96594        Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
96595
96596        * dom/XMLTokenizer.cpp:
96597        (WebCore::eventuallyMarkAsParserCreated): Was erre
96598
965992008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
96600
96601        Build fix, not reviewed.
96602        Add ScriptElement.cpp to Gtk build.
96603
96604        * GNUmakefile.am:
96605
966062008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
96607
96608        Reviewed by Eric.
96609
96610        Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
96611
96612        Refactor HTMLScriptElement's code into a common base class: ScriptElement.
96613        SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
96614
96615        This resolves code duplications and allows us to completly replace the old
96616        SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
96617
96618        As ScriptElement, doesn't actually inherit from Element, we may want to rename
96619        it, though StyleElement uses the same naming convention, so I left it as is for now.
96620        Eventually we'll rename both files in future.
96621
96622        No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
96623
96624        * WebCore.pro: Add new ScriptElement.cpp to build.
96625        * WebCore.vcproj/WebCore.vcproj: Ditto.
96626        * WebCore.xcodeproj/project.pbxproj: Ditto.
96627        * WebCoreSources.bkl: Dutto.
96628        * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
96629        (WebCore::ScriptElement::insertedIntoDocument):
96630        (WebCore::ScriptElement::removedFromDocument):
96631        (WebCore::ScriptElement::childrenChanged):
96632        (WebCore::ScriptElement::finishParsingChildren):
96633        (WebCore::ScriptElement::handleSourceAttribute):
96634        (WebCore::isSupportedJavaScriptLanguage):
96635        (WebCore::ScriptElementData::ScriptElementData):
96636        (WebCore::ScriptElementData::~ScriptElementData):
96637        (WebCore::ScriptElementData::requestScript):
96638        (WebCore::ScriptElementData::evaluateScript):
96639        (WebCore::ScriptElementData::stopLoadRequest):
96640        (WebCore::ScriptElementData::notifyFinished):
96641        (WebCore::ScriptElementData::ignoresLoadRequest):
96642        (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
96643        (WebCore::ScriptElementData::scriptCharset):
96644        (WebCore::ScriptElementData::scriptContent):
96645        * dom/ScriptElement.h: Added.
96646        (WebCore::ScriptElement::ScriptElement):
96647        (WebCore::ScriptElement::~ScriptElement):
96648        (WebCore::ScriptElementData::element):
96649        (WebCore::ScriptElementData::createdByParser):
96650        (WebCore::ScriptElementData::setCreatedByParser):
96651        * dom/XMLTokenizer.cpp:
96652        (WebCore::isScriptElement):
96653        (WebCore::castToScriptElement):
96654        (WebCore::eventuallyMarkAsParserCreated):
96655        (WebCore::XMLTokenizer::startElementNs):
96656        (WebCore::XMLTokenizer::endElementNs):
96657        (WebCore::createXHTMLParserErrorHeader):
96658        (WebCore::XMLTokenizer::insertErrorMessageBlock):
96659        * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
96660        (WebCore::HTMLScriptElement::HTMLScriptElement):
96661        (WebCore::HTMLScriptElement::~HTMLScriptElement):
96662        (WebCore::HTMLScriptElement::isURLAttribute):
96663        (WebCore::HTMLScriptElement::setCreatedByParser):
96664        (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
96665        (WebCore::HTMLScriptElement::childrenChanged):
96666        (WebCore::HTMLScriptElement::parseMappedAttribute):
96667        (WebCore::HTMLScriptElement::finishParsingChildren):
96668        (WebCore::HTMLScriptElement::insertedIntoDocument):
96669        (WebCore::HTMLScriptElement::removedFromDocument):
96670        (WebCore::HTMLScriptElement::text):
96671        (WebCore::HTMLScriptElement::setText):
96672        (WebCore::HTMLScriptElement::setHtmlFor):
96673        (WebCore::HTMLScriptElement::setEvent):
96674        (WebCore::HTMLScriptElement::charset):
96675        (WebCore::HTMLScriptElement::src):
96676        (WebCore::HTMLScriptElement::type):
96677        (WebCore::HTMLScriptElement::scriptCharset):
96678        (WebCore::HTMLScriptElement::scriptContent):
96679        (WebCore::HTMLScriptElement::sourceAttributeValue):
96680        (WebCore::HTMLScriptElement::charsetAttributeValue):
96681        (WebCore::HTMLScriptElement::typeAttributeValue):
96682        (WebCore::HTMLScriptElement::languageAttributeValue):
96683        (WebCore::HTMLScriptElement::dispatchLoadEvent):
96684        (WebCore::HTMLScriptElement::dispatchErrorEvent):
96685        * html/HTMLScriptElement.h:
96686        * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
96687        * svg/SVGScriptElement.cpp:
96688        (WebCore::SVGScriptElement::SVGScriptElement):
96689        (WebCore::SVGScriptElement::scriptContent):
96690        (WebCore::SVGScriptElement::sourceAttributeValue):
96691        (WebCore::SVGScriptElement::charsetAttributeValue):
96692        (WebCore::SVGScriptElement::typeAttributeValue):
96693        (WebCore::SVGScriptElement::languageAttributeValue):
96694        (WebCore::SVGScriptElement::dispatchLoadEvent):
96695        (WebCore::SVGScriptElement::dispatchErrorEvent):
96696        * svg/SVGScriptElement.h:
96697        (WebCore::SVGScriptElement::setCreatedByParser):
96698
966992008-08-13  Eric Seidel  <eric@webkit.org>
96700
96701        Attempt to fix the Gtk build, no review.
96702
96703        I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
96704
96705        * platform/graphics/GraphicsContext.h:
96706        * platform/graphics/cairo/GraphicsContextCairo.cpp:
96707        * platform/graphics/qt/GradientQt.cpp:
96708        * platform/graphics/qt/GraphicsContextQt.cpp:
96709        * platform/gtk/RenderThemeGtk.cpp:
96710        (WebCore::paintMozWidget):
96711
967122008-08-13  Eric Seidel  <eric@webkit.org>
96713
96714        Yet another attempt to fix the Qt build, no review.
96715
96716        * platform/graphics/qt/GradientQt.cpp:
96717        * platform/graphics/qt/GraphicsContextQt.cpp:
96718        (WebCore::GraphicsContext::applyStrokePattern):
96719        (WebCore::GraphicsContext::applyFillPattern):
96720
967212008-08-13  Eric Seidel  <eric@webkit.org>
96722
96723        Attempt to fix the Windows build, no review.
96724
96725        * platform/win/CursorWin.cpp:
96726        (WebCore::loadCursorByName):
96727        * platform/win/ScrollViewWin.cpp:
96728        (WebCore::ScrollView::paint):
96729
967302008-08-13  Eric Seidel  <eric@webkit.org>
96731
96732        Attempt to fix the Windows build, no review.
96733
96734        * platform/win/CursorWin.cpp:
96735        (WebCore::loadCursorByName):
96736        * platform/win/ScrollViewWin.cpp:
96737        (WebCore::ScrollView::paint):
96738
967392008-08-13  Eric Seidel  <eric@webkit.org>
96740
96741        Attempt to fix the Qt build, no review.
96742
96743        * platform/graphics/qt/ImageBufferQt.cpp:
96744        (WebCore::ImageBuffer::image):
96745
967462008-08-13  Eric Seidel  <eric@webkit.org>
96747
96748        Attempt to fix the Windows build, no review.
96749
96750        * platform/graphics/win/ImageWin.cpp:
96751        (WebCore::Image::loadPlatformResource):
96752        * plugins/win/PluginViewWin.cpp:
96753        (WebCore::PluginView::paintMissingPluginIcon):
96754
967552008-08-13  Eric Seidel  <eric@webkit.org>
96756
96757        Another attempt to fix the Qt build, no review.
96758
96759        * platform/graphics/qt/ImageQt.cpp:
96760        * platform/graphics/qt/StillImageQt.h:
96761
967622008-08-13  Eric Seidel  <eric@webkit.org>
96763
96764        No review, build fix only.
96765
96766        Fix mac build, due to change in new code since my patch was written.
96767
96768        * svg/graphics/cg/SVGResourceMaskerCg.mm:
96769        (WebCore::SVGResourceMasker::applyMask):
96770
967712008-08-13  Eric Seidel  <eric@webkit.org>
96772
96773        Build fix only, no review.
96774
96775        Attempt to fix the Qt build.
96776
96777        * platform/graphics/qt/ImageBufferQt.cpp:
96778        * platform/graphics/qt/StillImageQt.h:
96779        (WebCore::StillImage::create):
96780        (WebCore::StillImage::destroyDecodedData):
96781        (WebCore::StillImage::decodedSize):
96782
967832008-08-13  Eric Seidel  <eric@webkit.org>
96784
96785        Build fix only, no review.
96786
96787        Attempt to fix the Qt build.
96788
96789        * html/CanvasStyle.cpp:
96790        (WebCore::CanvasStyle::applyStrokeColor):
96791        (WebCore::CanvasStyle::applyFillColor):
96792
967932008-08-13  Eric Seidel  <eric@webkit.org>
96794
96795        Reviewed by Sam.
96796
96797        Match HTML5 spec by throwing INVALID_STATE_ERR when
96798        createPattern is called and the HTMLImageElement is not
96799        yet done loading the image (!isComplete)
96800        https://bugs.webkit.org/show_bug.cgi?id=20351
96801
96802        Test: http/misc/canvas-pattern-from-incremental-image.html
96803
96804        * html/CanvasRenderingContext2D.cpp:
96805        (WebCore::CanvasRenderingContext2D::createPattern):
96806
968072008-08-13  Eric Seidel  <eric@webkit.org>
96808
96809        Reviewed by Niko.
96810
96811        Split out a Pattern class from CanvasPattern
96812        and remove all the Pattern-related #ifdefs
96813        (This will break non-mac platforms!  I will fix them.)
96814        https://bugs.webkit.org/show_bug.cgi?id=20351
96815
96816        * GNUmakefile.am:
96817        * WebCore.pro:
96818        * WebCore.vcproj/WebCore.vcproj:
96819        * WebCore.xcodeproj/project.pbxproj:
96820        * WebCoreSources.bkl:
96821        * html/CanvasPattern.cpp:
96822        (WebCore::CanvasPattern::parseRepetitionType):
96823        (WebCore::CanvasPattern::CanvasPattern):
96824        * html/CanvasPattern.h:
96825        (WebCore::CanvasPattern::create):
96826        (WebCore::CanvasPattern::pattern):
96827        (WebCore::CanvasPattern::originClean):
96828        * html/CanvasRenderingContext2D.cpp:
96829        (WebCore::CanvasRenderingContext2D::createPattern):
96830        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
96831        (WebCore::CanvasRenderingContext2D::applyFillPattern):
96832        * html/CanvasRenderingContext2D.h:
96833        * html/HTMLCanvasElement.cpp:
96834        * html/HTMLCanvasElement.h:
96835        * loader/FrameLoader.cpp:
96836        (WebCore::FrameLoader::createHistoryItem):
96837        * platform/graphics/GraphicsContext.h:
96838        * platform/graphics/cairo/GraphicsContextCairo.cpp:
96839        (WebCore::GraphicsContext::applyStrokePattern):
96840        (WebCore::GraphicsContext::applyFillPattern):
96841        * platform/graphics/cg/GraphicsContextCG.cpp:
96842        (WebCore::GraphicsContext::clipToImageBuffer):
96843        (WebCore::GraphicsContext::applyStrokePattern):
96844        (WebCore::GraphicsContext::applyFillPattern):
96845
968462008-08-13  Eric Seidel  <eric@webkit.org>
96847
96848        Reviewed by Niko.
96849
96850        Make Images RefCounted (and clean up callers)
96851        https://bugs.webkit.org/show_bug.cgi?id=20351
96852
96853        * editing/DeleteButtonController.cpp:
96854        (WebCore::DeleteButtonController::createDeletionUI):
96855        * loader/CachedImage.cpp:
96856        (WebCore::CachedImage::CachedImage):
96857        (WebCore::brokenImage):
96858        (WebCore::nullImage):
96859        (WebCore::CachedImage::image):
96860        (WebCore::CachedImage::notifyObservers):
96861        (WebCore::CachedImage::createImage):
96862        * loader/CachedImage.h:
96863        * loader/icon/IconRecord.cpp:
96864        (WebCore::IconRecord::setImageData):
96865        (WebCore::IconRecord::loadImageFromResource):
96866        * loader/icon/IconRecord.h:
96867        * platform/graphics/BitmapImage.h:
96868        (WebCore::BitmapImage::create):
96869        * platform/graphics/GeneratedImage.h:
96870        * platform/graphics/Gradient.cpp:
96871        * platform/graphics/Gradient.h:
96872        * platform/graphics/Image.cpp:
96873        (WebCore::Image::nullImage):
96874        * platform/graphics/Image.h:
96875        * platform/graphics/ImageBuffer.h:
96876        * platform/graphics/cairo/ImageBufferCairo.cpp:
96877        (WebCore::ImageBuffer::image):
96878        * platform/graphics/cg/ImageBufferCG.cpp:
96879        (WebCore::ImageBuffer::image):
96880        (WebCore::ImageBuffer::getImageData):
96881        (WebCore::ImageBuffer::putImageData):
96882        * platform/graphics/cg/PDFDocumentImage.h:
96883        (WebCore::PDFDocumentImage::create):
96884        (WebCore::PDFDocumentImage::destroyDecodedData):
96885        (WebCore::PDFDocumentImage::decodedSize):
96886        * platform/graphics/gtk/ImageGtk.cpp:
96887        (WebCore::Image::loadPlatformResource):
96888        * platform/graphics/mac/ImageMac.mm:
96889        (WebCore::Image::loadPlatformResource):
96890        * rendering/RenderImage.cpp:
96891        * rendering/RenderLayer.cpp:
96892        (WebCore::RenderLayer::paintOverflowControls):
96893        * svg/graphics/SVGImage.cpp:
96894        (WebCore::SVGImage::nativeImageForCurrentFrame):
96895        * svg/graphics/SVGImage.h:
96896        (WebCore::SVGImage::create):
96897        (WebCore::SVGImage::destroyDecodedData):
96898        (WebCore::SVGImage::decodedSize):
96899        (WebCore::SVGImage::frameAtIndex):
96900        * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
96901        (WebCore::SVGPaintServerPattern::setup):
96902        * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
96903        (WebCore::SVGResourceMasker::applyMask):
96904        * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
96905        (WebCore::patternCallback):
96906        * svg/graphics/cg/SVGResourceMaskerCg.mm:
96907        (WebCore::SVGResourceMasker::applyMask):
96908
969092008-08-13  Eric Seidel  <eric@webkit.org>
96910
96911        Reviewed by Niko.
96912
96913        Remove #ifdefs from CanvasStyle by using platform/Color.h
96914        https://bugs.webkit.org/show_bug.cgi?id=20351
96915
96916        There are some down-sides to this commit.
96917        This commit limits us to 255 levels of grey for calls like:
96918        context.setStrokeStyle(.37, 1.0)
96919        previously CG might have used up to 32bits to store the grey level
96920        Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
96921
96922        Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
96923        to RGBA32 (like all the rest of colors in WebCore), thus:
96924        context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
96925        context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
96926
96927        If this is a problem for Dashboard, we can either roll out this commit
96928        or add a beefier Color abstraction, which can be used internally by GraphicsContext
96929        when keeping state, and then GraphicsContext can grow some additional set* routines
96930        for setting the a grey/float/whatever fill and stroke.
96931
96932        * html/CanvasRenderingContext2D.cpp:
96933        (WebCore::CanvasRenderingContext2D::setFillStyle):
96934        * html/CanvasStyle.cpp:
96935        (WebCore::CanvasStyle::CanvasStyle):
96936        (WebCore::colorWithOverrideAlpha):
96937        (WebCore::CanvasStyle::applyStrokeColor):
96938        (WebCore::CanvasStyle::applyFillColor):
96939        * html/CanvasStyle.h:
96940        * platform/graphics/Color.cpp:
96941        (WebCore::colorFloatToRGBAByte):
96942        (WebCore::makeRGBA32FromFloats):
96943        * platform/graphics/Color.h:
96944
969452008-08-13  Eric Carlson  <eric.carlson@apple.com>
96946
96947        Reviewed by Adele Peterson.
96948
96949        Fix for <rdar://problem/6137931>
96950        https://bugs.webkit.org/show_bug.cgi?id=20360
96951        Remove all parameters from the MIME type before checking with the MIME type registry
96952
96953        Tests: media/video-source-type-params.html
96954
96955        * html/HTMLMediaElement.cpp:
96956        (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
96957        to isSupportedMediaMIMEType()
96958
969592008-08-13  Beth Dakin  <bdakin@apple.com>
96960
96961        Reviewed by Sam Weinig.
96962
96963        Fix for <rdar://problem/6141345>
96964
96965        This patch refines findString and markAllMatchesForText functions'
96966        interactions with disconnected frames. They no longer rely on
96967        knowing where a range is relative to the visible region and work
96968        with disconnected frames that contain frames.
96969
96970        * editing/Editor.cpp:
96971        (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
96972        the visiblity enum.
96973        (WebCore::Editor::firstVisibleRange): This now returns the very
96974        first visible range in the document. It's no longer dependent on
96975        searching forward.
96976        (WebCore::Editor::lastVisibleRange): This now returns the very last
96977        visible range in the document. It's no longer dependent on
96978        searching backwards.
96979        (WebCore::Editor::nextVisibleRange): This returns the next visible
96980        range in the appropriate direction from the current range.
96981        * editing/Editor.h:
96982        * page/Frame.cpp:
96983        (WebCore::Frame::findString):
96984        (WebCore::Frame::markAllMatchesForText):
96985
969862008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
96987
96988        wx build fix for case-sensitive platforms, like Linux.
96989
96990        * WebCoreSources.bkl:
96991
969922008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
96993
96994        Reviewed by Holger Freyther.
96995
96996        http://bugs.webkit.org/show_bug.cgi?id=16881
96997        [GTK] PlatformScreenGtk is unimplemented
96998
96999        Original patch by Christian Dywan.
97000
97001        * platform/gtk/PlatformScreenGtk.cpp:
97002        (WebCore::screenDepth):
97003        (WebCore::screenDepthPerComponent):
97004        (WebCore::screenIsMonochrome):
97005        (WebCore::screenRect):
97006        (WebCore::screenAvailableRect):
97007
970082008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
97009
97010        Reviewed by Holger Freyther.
97011
97012        http://bugs.webkit.org/show_bug.cgi?id=20318
97013        SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
97014
97015        g_idle_add is the same as g_idle_add_full with a priority of
97016        G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
97017
97018        * platform/gtk/SharedTimerGtk.cpp:
97019        (WebCore::setSharedTimerFireTime):
97020
970212008-08-13  Timothy Hatcher  <timothy@apple.com>
97022
97023        Changed the InspectorController so it can be notified when the
97024        attached state of the Inspector changes in WebKit.
97025
97026        Reviewed by Kevin McCullough.
97027
97028        * WebCore.base.exp: Updated the symbol for setWindowVisible.
97029        * page/InspectorController.cpp:
97030        (WebCore::InspectorController::setWindowVisible): Added an attached argument,
97031        that defaults to false.Call setAttachedWindow with the attached argument.
97032        (WebCore::InspectorController::setAttachedWindow): Call the script version
97033        of setAttachedWindow.
97034        * page/InspectorController.h:
97035        * page/inspector/inspector.js:
97036        (WebInspector.setAttachedWindow): Set the attached property.
97037
970382008-08-12  Timothy Hatcher  <timothy@apple.com>
97039
97040        Added a close button to the Inspector's toolbar when docked.
97041
97042        https://bugs.webkit.org/show_bug.cgi?id=14270
97043
97044        Reviewed by Kevin McCullough.
97045
97046        * page/InspectorController.cpp:
97047        (WebCore::closeWindow): Call InspectorController::closeWindow.
97048        (WebCore::InspectorController::windowScriptObjectAvailable):
97049        Added closeWindow to the script class.
97050        * page/InspectorController.h:
97051        * page/inspector/Images/closeButtons.png: Added.
97052        * page/inspector/inspector.css: Added and changed styles.
97053        * page/inspector/inspector.html: Added the close button.
97054        * page/inspector/inspector.js:
97055        (WebInspector.loaded): Added click event listener to the close button.
97056        (WebInspector.close): Call InspectorController.closeWindow.
97057
970582008-08-12  Timothy Hatcher  <timothy@apple.com>
97059
97060        Make the docked Web Inspector resizable. This is the cross platform
97061        portion of the code. Each InspectorClient needs to implement the
97062        real resize code.
97063
97064        https://bugs.webkit.org/show_bug.cgi?id=14282
97065
97066        Reviewed by Kevin McCullough.
97067
97068        * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
97069        * page/InspectorClient.h: Added setAttachedWindowHeight.
97070        * page/InspectorController.cpp:
97071        (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
97072        on the InspectorController.
97073        (WebCore::InspectorController::setAttachedWindowHeight): Call
97074        setAttachedWindowHeight on the client.
97075        (WebCore::InspectorController::windowScriptObjectAvailable):
97076        Added setAttachedWindowHeight to the script class.
97077        * page/InspectorController.h:
97078        * page/inspector/inspector.css: Make the cursor on the toolbar be
97079        row-resize when docked.
97080        * page/inspector/inspector.js:
97081        (WebInspector.loaded): Always add the toolbarDragStart event listener.
97082        (WebInspector.toolbarDragStart): Return early if we are not attached
97083        and not on Leopard. Call WebInspector.elementDragStart.
97084        (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
97085        (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
97086        otherwise call moveByUnrestricted.
97087
970882008-08-13  Simon Hausmann  <hausmann@webkit.org>
97089
97090        Reviewed by Holger.
97091
97092        Initialize m_zoomsTextOnly in the Settings constructor.
97093
97094        * page/Settings.cpp:
97095        (WebCore::Settings::Settings):
97096
970972008-08-13  Brad Hughes <bhughes@trolltech.com>
97098
97099        Reviewed by Simon.
97100
97101        Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
97102
97103        The latest upgrade of the intel compiler allows us to compile all of
97104        Qt with optimizations enabled (yay!).
97105
97106        * WebCore.pro:
97107
971082008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
97109
97110        Reviewed by Simon.
97111
97112        Fix QtWebKit not displaying content on 403 HTTP responses
97113
97114        Just like with 404 responses also display content with 403, as
97115        used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
97116
97117        * platform/network/qt/QNetworkReplyHandler.cpp:
97118        (WebCore::QNetworkReplyHandler::finish):
97119
971202008-08-13  Simon Hausmann  <hausmann@webkit.org>
97121
97122        Reviewed by Holger.
97123
97124        Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
97125
97126        Make the formatting of String::format() locale independent through the use of QString::vsprintf.
97127
97128        * platform/text/String.cpp:
97129        (WebCore::String::format):
97130
971312008-08-13  Simon Hausmann  <hausmann@webkit.org>
97132
97133        Reviewed by Lars.
97134
97135        Fix QWebFrame::setHtml() not setting the new contents immediately.
97136
97137        Added a setter to the DocumentLoader to toggle the deferred loading of the main
97138        resource when it comes from substitute data.
97139
97140        Disable deferred loading of the main resource when we have valid substitute data,
97141        as used by QWebFrame::setHtml.
97142
97143        * loader/DocumentLoader.h:
97144
971452008-08-13  Mark Rowe  <mrowe@apple.com>
97146
97147        Speculative GTK build fix.
97148
97149        * GNUmakefile.am:  Add dependency info for JSSVGElementWrapperFactory.cpp.
97150
971512008-08-13  Thiago Macieira  <tjmaciei@trolltech.com>
97152
97153        Reviewed by Simon.
97154
97155        Fix encoding of [ and ] in the host part of the URL
97156
97157        Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
97158        add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
97159        doesn't encode [ and ] when they are found in the host part. That is, the
97160        following URL:
97161        http://[::1]/
97162        is valid and should not be reencoded to:
97163        http://%5b::1%5d/
97164
97165        * platform/qt/KURLQt.cpp:
97166        (WebCore::KURL::operator QUrl):
97167
971682008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
97169
97170        Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
97171        Broken HTML object elements cause de-reference of pointer to freed memory.
97172        If we fail to load an image for an object tag and we no longer believe the object tag points at
97173        an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
97174        fall back content.
97175
97176        Reviewed by Dave Hyatt and Alexey Proskuryakov.
97177
97178        Test: http/tests/misc/object-image-error-with-onload.html
97179
97180        * html/HTMLObjectElement.cpp:
97181        (WebCore::HTMLObjectElement::renderFallbackContent):
97182        * page/Frame.cpp:
97183        (WebCore::Frame::Frame):
97184
971852008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
97186
97187        Reviewed by Dave.
97188
97189        Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
97190        Masks are translated, and the mask images are swapped on the y-axis.
97191
97192        Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
97193        is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
97194
97195        Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
97196        the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
97197
97198        * svg/graphics/cg/SVGResourceMaskerCg.mm:
97199        (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
97200
972012008-08-12  Dan Bernstein  <mitz@apple.com>
97202
97203        - WebCore part of <rdar://problem/6121636>
97204          Make fast*alloc() abort() on failure and add "try" variants that
97205          return NULL on failure.
97206
97207        Reviewed by Darin Adler.
97208
97209        * platform/Arena.cpp:
97210        (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
97211        result.
97212        * platform/graphics/cg/ImageBufferCG.cpp:
97213        (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
97214
972152008-08-12  Dan Bernstein  <mitz@apple.com>
97216
97217        Reviewed by Darin Adler.
97218
97219        - fix https://bugs.webkit.org/show_bug.cgi?id=19348
97220          <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
97221
97222        Test: fast/frames/frameset-style-recalc.html
97223
97224        * html/HTMLFrameSetElement.cpp:
97225        (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
97226        class implementation after marking for layout.
97227
972282008-08-12  Dan Bernstein  <mitz@apple.com>
97229
97230        Reviewed by John Sullivan.
97231
97232        - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
97233
97234        * WebCore.base.exp:
97235        * page/FrameView.cpp:
97236        (WebCore::FrameViewPrivate::FrameViewPrivate):
97237        (WebCore::FrameView::shouldUpdateWhileHidden):
97238        (WebCore::FrameView::setShouldUpdateWhileHidden):
97239        * page/FrameView.h:
97240        * page/Settings.cpp:
97241        * page/Settings.h:
97242
972432008-08-12  Adam Roben  <aroben@apple.com>
97244
97245        Windows build fix
97246
97247        * bindings/js/JSSVGPODTypeWrapper.h: Align
97248        JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
97249        members on 16-byte boundaries to avoid an alignment warning.
97250
972512008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
97252
97253        Reviewed by Oliver.
97254
97255        Add new dynamice-update layout tests covering SVGMarkerElement.
97256        Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
97257        Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
97258
97259        Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
97260               svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
97261               svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
97262               svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
97263               svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
97264               svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
97265               svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
97266               svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
97267               svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
97268               svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
97269               svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
97270               svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
97271               svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
97272               svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
97273               svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
97274
97275        * svg/SVGMarkerElement.cpp:
97276        (WebCore::SVGMarkerElement::SVGMarkerElement):
97277        (WebCore::SVGMarkerElement::parseMappedAttribute):
97278        (WebCore::SVGMarkerElement::svgAttributeChanged):
97279        (WebCore::SVGMarkerElement::childrenChanged):
97280        (WebCore::SVGMarkerElement::setOrientToAuto):
97281        (WebCore::SVGMarkerElement::setOrientToAngle):
97282        (WebCore::SVGMarkerElement::canvasResource):
97283
972842008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
97285
97286        Reviewed by Oliver.
97287
97288        Add new dynamic-update layout tests covering SVGImageElement.
97289        Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
97290
97291        Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
97292               svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
97293               svg/dynamic-updates/SVGImageElement-dom-width-attr.html
97294               svg/dynamic-updates/SVGImageElement-dom-x-attr.html
97295               svg/dynamic-updates/SVGImageElement-dom-y-attr.html
97296               svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
97297               svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
97298               svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
97299               svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
97300               svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
97301
97302        * svg/SVGImageElement.cpp:
97303        (WebCore::SVGImageElement::svgAttributeChanged):
97304
973052008-08-11  Anthony Ricaud  <rik24d@gmail.com>
97306
97307        Changed Option/Alt-Up or Down in CSS editing when the value is
97308        near zero to jump to the next integer.
97309
97310        Reviewed by Tim Hatcher.
97311
97312        https://bugs.webkit.org/show_bug.cgi?id=20326
97313
97314        * page/inspector/StylesSidebarPane.js:
97315
973162008-08-11  Anthony Ricaud  <rik24d@gmail.com>
97317
97318        Changed the line highlight transition for an easier animation.
97319
97320        Reviewed by Tim Hatcher.
97321
97322        * page/inspector/SourceFrame.js:
97323
973242008-08-11  Keishi Hattori  <casey.hattori@gmail.com>
97325
97326        Added support for some Firebug Command Line APIs.
97327
97328        Reviewed by Tim Hatcher.
97329
97330        https://bugs.webkit.org/show_bug.cgi?id=19867
97331        https://bugs.webkit.org/show_bug.cgi?id=19868
97332        https://bugs.webkit.org/show_bug.cgi?id=19869
97333        https://bugs.webkit.org/show_bug.cgi?id=19875
97334        https://bugs.webkit.org/show_bug.cgi?id=19876
97335        https://bugs.webkit.org/show_bug.cgi?id=19880
97336
97337        * page/inspector/Console.js:
97338        (WebInspector.Console.prototype._evalInInspectedWindow):
97339        Create an object on the inspected window that holds the console
97340        command line API functions. This object is used in a with statement
97341        around the typed expression.
97342
973432008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>
97344
97345        Reviewed by Antti.
97346
97347        Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
97348
97349        JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
97350        failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
97351
97352        Added tests: svg/custom/svg-modify-currentTranslate.html
97353                     svg/custom/tearoffs-with-tearoffs.html
97354                     svg/custom/immutable-properties.html
97355
97356        Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
97357
97358        * bindings/js/JSSVGPODTypeWrapper.h:
97359        (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
97360        (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
97361        (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
97362        (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
97363        (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
97364        (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
97365        (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
97366        (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
97367        * bindings/scripts/CodeGenerator.pm:
97368        * bindings/scripts/CodeGeneratorJS.pm:
97369        * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
97370        * svg/SVGZoomEvent.idl:  SVG specification explicitely demands these attributes to be readonly, even its content.
97371
973722008-08-11  Brady Eidson  <beidson@apple.com>
97373
97374        Reviewed by John and Anders
97375
97376        Fix for <rdar://problem/6141797>
97377
97378        When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
97379        would never have nil data.
97380
97381        When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
97382        semantics with some WebKit applications.
97383
97384        The guarantee was a good one and should be restored.
97385
97386        Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
97387        creates an empty data object in the case of null data for its own purposes.
97388
97389        * loader/SubstituteResource.h:
97390        (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null.  This
97391          well help any future subclassers not make this mistake.
97392
97393        * loader/archive/ArchiveResource.cpp:
97394        (WebCore::ArchiveResource::create): Return 0 if the data is null.
97395
973962008-08-11  Simon Fraser  <simon.fraser@apple.com>
97397
97398        Reviewed by Dave Hyatt
97399
97400        https://bugs.webkit.org/show_bug.cgi?id=20328
97401        Fix a problem when an 'all' transition transition with more than
97402        one property changing is interrupted, and did some AnimationController
97403        cleanup.
97404
97405        Test: transitions/interrupted-all-transition.html
97406
97407        * page/AnimationController.cpp:
97408        (WebCore::ImplicitAnimation::ImplicitAnimation):
97409        (WebCore::AnimationControllerPrivate::blendProperties):
97410        (WebCore::CompositeAnimation::updateTransitions):
97411        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
97412        (WebCore::CompositeAnimation::setTransitionStartTime):
97413        (WebCore::CompositeAnimation::overrideImplicitAnimations):
97414        (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
97415        (WebCore::ImplicitAnimation::animate):
97416        (WebCore::ImplicitAnimation::onAnimationEnd):
97417        (WebCore::ImplicitAnimation::sendTransitionEvent):
97418        (WebCore::ImplicitAnimation::affectsProperty):
97419        (WebCore::KeyframeAnimation::endAnimation):
97420        (WebCore::KeyframeAnimation::onAnimationEnd):
97421
974222008-08-11  Kevin McCullough  <kmccullough@apple.com>
97423
97424        Reviewed by Tim.
97425
97426        - Because console messages have group levels now, newly created messages
97427        that do not specify the level lose their message since the number of
97428        arguments is wrong.
97429
97430        * page/inspector/Console.js:
97431        * page/inspector/Resource.js:
97432
974332008-08-11  Alp Toker  <alp@nuanti.com>
97434
97435        Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
97436        the opportunity to sort the sources lists.
97437
97438        * GNUmakefile.am:
97439
974402008-08-11  Timothy Hatcher  <timothy@apple.com>
97441
97442        Speed up the the JavaScript syntax highlighter by generating
97443        the finders only once per script instead of per line.
97444
97445        https://bugs.webkit.org/show_bug.cgi?id=20346
97446
97447        Reviewed by Adam Roben.
97448
97449        * page/inspector/SourceFrame.js:
97450        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
97451        Removed, factored into syntaxHighlightJavascript as an inline function.
97452        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
97453        Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
97454        Generate the finders before iterating the lines.
97455
974562008-08-11  Adam Roben  <aroben@apple.com>
97457
97458        Windows build fix
97459
97460        * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
97461        JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
97462        too.
97463
974642008-08-11  Dan Bernstein  <mitz@apple.com>
97465
97466        Reviewed by Darin Adler.
97467
97468        - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
97469
97470        Test: fast/css/counters/invalidate-cached-counter-node.html
97471
97472        * rendering/RenderContainer.cpp:
97473        (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
97474        RenderCounters in :before and :after content.
97475        * rendering/RenderContainer.h:
97476        * rendering/RenderCounter.cpp:
97477        (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
97478        to match the RenderObject method.
97479        (WebCore::RenderCounter::invalidate): Added. Resets the cached
97480        CounterNode and invalidates the object's layout and preferred widths.
97481        (WebCore::destroyCounterNodeChildren): Added a call to
97482        invalidateCounters().
97483        * rendering/RenderCounter.h:
97484        * rendering/RenderObject.h:
97485        (WebCore::RenderObject::invalidateCounters):
97486
974872008-08-11  Dean Jackson  <dino@apple.com>
97488
97489        Implement CSS Animation and Transition Events
97490        https://bugs.webkit.org/show_bug.cgi?id=20337
97491
97492        Implement the events defined in the CSS Animations
97493        and Transitions specifications so code can react
97494        to animations and transitions.
97495
97496        Reviewed by Tim Hatcher and Dave Hyatt.
97497
97498        * DerivedSources.make:
97499        * GNUmakefile.am:
97500        * WebCore.pro:
97501        * WebCore.vcproj/WebCore.vcproj:
97502        * WebCore.xcodeproj/project.pbxproj:
97503        * WebCoreSources.bkl:
97504            Build configs for new files
97505
97506        * bindings/js/JSDOMWindowBase.cpp:
97507        * bindings/js/JSDOMWindowBase.h:
97508        * bindings/js/JSEventCustom.cpp:
97509        * dom/Document.h:
97510        * dom/Event.cpp:
97511        * dom/Event.h:
97512        * dom/EventTarget.cpp:
97513        * dom/EventTargetNode.cpp:
97514        * dom/EventTargetNode.h:
97515        * html/HTMLElement.cpp:
97516        * page/AnimationController.cpp:
97517            do all the new event stuff
97518
97519        * html/HTMLAttributeNames.in:
97520            the onwebkitanimation* and onwebkittransitionend attrs
97521
97522        * dom/WebKitAnimationEvent.cpp: Added.
97523        * dom/WebKitAnimationEvent.h: Added.
97524        * dom/WebKitAnimationEvent.idl: Added.
97525        * dom/WebKitTransitionEvent.cpp: Added.
97526        * dom/WebKitTransitionEvent.h: Added.
97527        * dom/WebKitTransitionEvent.idl: Added.
97528            New files for the events
97529
97530        * manual-tests/transition-events.html: Added.
97531            New testfile
97532
975332008-08-11  Adam Roben  <aroben@apple.com>
97534
97535        Add a ForwardingHeader for wtf/NotFound.h
97536
97537        Rubberstamped by Darin Adler.
97538
97539        * ForwardingHeaders/wtf/NotFound.h: Added.
97540
975412008-08-11  Timothy Hatcher  <timothy@apple.com>
97542
97543        Fixes a bug where error bubbles in JavaScript resources would
97544        be clobbered by the syntax highlighter.
97545
97546        https://bugs.webkit.org/show_bug.cgi?id=20345
97547
97548        Reviewed by Adam Roben.
97549
97550        * manual-tests/inspector/resources/script-error.js: Added.
97551        * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
97552        * page/inspector/SourceFrame.js:
97553        (WebInspector.SourceFrame.prototype._addMessageToSource):
97554        Check the nodeType and not the nodeName, this is less fragile.
97555        (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
97556        Check if the lastChild is an error bubble, if so remove it before
97557        getting the line's textContent. Add the error bubble back at the end.
97558
97559== Rolled over to ChangeLog-2008-08-10 ==
97560