eaa88e4910c4e4f1369408a2e3892ce3ba3041ab
[WebKit-https.git] / WebCore / ChangeLog
1 2008-08-04  Timothy Hatcher  <timothy@apple.com>
2
3         Changes the editing behavior in the Inspector to commit changes
4         when focus is lost, instead of reverting the changes.
5
6         https://bugs.webkit.org/show_bug.cgi?id=20279
7
8         Reviewed by Adam Roben.
9
10         * page/inspector/inspector.js:
11         (WebInspector.startEditing): Call editingCommitted in blurEventListener
12         instead of editingCancelled.
13
14 2008-08-04  Timothy Hatcher  <timothy@apple.com>
15
16         Adds the ability to increment/decrement numbers in editable style
17         properties with the arrow and page keys.
18
19         Reviewed by Adam Roben.
20
21         https://bugs.webkit.org/show_bug.cgi?id=20273
22
23         * page/inspector/StylesSidebarPane.js:
24         (WebInspector.StylePropertyTreeElement.prototype.updateAll):
25         Updates all properties in the current section, or all sections
26         depending in the argument passed.
27         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
28         Call updateAll instead of having duplicate code.
29         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
30         Assign the list element's handleKeyEvent to editingKeyDown.
31         (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
32         Handles the Up and Down arrows keys. Finds the word based on the
33         selection and extracts the number, prefix and suffix. Increments
34         or decrements the number based on the key and modifiers. Replaces
35         the original word with the new value and selects it. Also applies
36         the style so the page reflects the changes live.
37         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
38         Delete the handleKeyEvent and originalCSSText properties.
39         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
40         If originalCSSText exists, set the cssText to that value and call
41         updateAll. Otherwise just call updateTitle like before.
42         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
43         Factored out the style applying code to applyStyleText.
44         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
45         Factored out from editingCommitted. Takes an argument that specifies
46         if the interface should be updated when the style is applied.
47         * page/inspector/inspector.js:
48         (WebInspector.startEditing): Call the original key handler, if one
49         existed before interrupting key events.
50         * page/inspector/utilities.js:
51         (getStyleTextWithShorthands): Helper to return CSS text that preserves
52         shorthand values, since the cssText property only outputs longhands.
53
54 2008-08-04  Timothy Hatcher  <timothy@apple.com>
55
56         Factors out the TextPrompt.scanBackwards function into a generic
57         helper function on the Node prototype, named rangeOfWord.
58
59         Reviewed by Adam Roben.
60
61         * page/inspector/Console.js:
62         (WebInspector.Console.prototype.completions): Use rangeOfWord.
63         * page/inspector/TextPrompt.js:
64         (WebInspector.TextPrompt.prototype.complete): Ditto.
65         (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
66         * page/inspector/utilities.js:
67         (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
68         and added a direction argument allowing scanning forward, backward or
69         both directions from the offset.
70
71 2008-08-04  Timothy Hatcher  <timothy@apple.com>
72
73         Fixes a bug where the property toggle button would not be hidden
74         during editing.
75
76         Reviewed by Adam Roben.
77
78         * page/inspector/inspector.css:
79         (li.editing .swatch, li.editing .enabled-button):
80         Make the display !important, since a more specific rule for 
81         .enabledbutton overrides display.
82
83 2008-08-05  Dan Bernstein  <mitz@apple.com>
84
85         Reviewed by Geoffrey Garen.
86
87         - remove redundant #imports from FrameMac.mm
88
89         * page/mac/FrameMac.mm:
90
91 2008-08-04  Bernhard Krüpl  <kruepl@dbai.tuwien.ac.at>
92
93         Reviewed by Dave Hyatt.
94
95         Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
96         Corrected offsetTop for table cells by subtracting borderTopExtra
97
98         * rendering/RenderObject.cpp:
99         (WebCore::RenderObject::offsetTop):
100
101 2008-08-04  Dean Jackson  <dino@apple.com>
102
103         Reviewed by Dave Hyatt.
104
105         Improve AnimationController
106         https://bugs.webkit.org/show_bug.cgi?id=19938
107
108         - Transition class is now called Animation
109         - new state-based AnimationController that can support CSS Animations
110         - add support for -webkit-transition-delay
111         - remove -webkit-transition-repeat-count (since it never existed officially)
112         - updates the -webkit-transition shorthand to reflect removing repeat count
113         - updates the Transition class so that properties can be shared with animations
114         - adds a "now" keyword for -webkit-transition-delay
115         - adds a new change type for style (changed by animation)
116         - adds new event names (although they are not dispatched yet)
117         - makes text stroke and text fill colors returned by RenderStyle const
118
119         Tests:
120         - manual-tests/transition-left.html
121         - manual-tests/transition-delay.html
122         - manual-tests/transition-timing-functions.html
123
124         * css/CSSComputedStyleDeclaration.cpp:
125         * css/CSSParser.cpp:
126         * css/CSSParser.h:
127         * css/CSSPropertyNames.in:
128         * css/CSSStyleSelector.cpp:
129         * css/CSSStyleSelector.h:
130         * css/CSSTimingFunctionValue.h:
131         * css/CSSValue.h:
132         * css/CSSValueKeywords.in:
133         * css/WebKitCSSTransformValue.cpp:
134         * dom/Document.cpp:
135         * dom/Document.h:
136         * dom/Element.cpp:
137         * dom/EventNames.h:
138         * dom/Node.cpp:
139         * dom/Node.h:
140         * history/CachedPage.cpp:
141         * page/AnimationController.cpp:
142         * page/AnimationController.h:
143         * page/Frame.cpp:
144         * rendering/RenderObject.cpp:
145         * rendering/RenderWidget.cpp:
146         * rendering/style/RenderStyle.cpp:
147         * rendering/style/RenderStyle.h:
148
149 2008-08-04  Sam Weinig  <sam@webkit.org>
150
151         Reviewed by Mark Rowe.
152
153         Remove extra braces left in from JSLock removal.
154
155         * xml/XMLHttpRequest.cpp:
156         (WebCore::XMLHttpRequest::dropProtection):
157
158 2008-08-02  Sam Weinig  <sam@webkit.org>
159
160         Reviewed by Dan Bernstein.
161
162         Implement the Access-control for Cross Site requests
163         preflight cache.
164
165         Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
166                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
167                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
168                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
169
170         * WebCore.vcproj/WebCore.vcproj:
171         * WebCore.xcodeproj/project.pbxproj:
172         * platform/KURL.h:
173         (WTF::):
174         * platform/KURLHash.h: Added.
175         (WebCore::KURLHash::hash):
176         (WebCore::KURLHash::equal):
177         (WTF::):
178         * xml/XMLHttpRequest.cpp:
179         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
180         (WebCore::preflightResultCache):
181         (WebCore::appendPreflightResultCacheEntry):
182         (WebCore::canSkipPrelight):
183         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
184         (WebCore::parseAccessControlAllowList):
185         (WebCore::parseAccessControlMaxAge):
186         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
187
188 2008-08-04  Eric Seidel  <eric@webkit.org>
189
190         Reviewed by Adam Roben.
191
192         Fix warning seen in MSVC converting ints to floats.
193
194         * rendering/Length.h:
195         (WebCore::Length::calcFloatValue):
196
197 2008-08-04  Eric Seidel  <eric@webkit.org>
198
199         Reviewed by hyatt.
200
201         Clean up Gradient constructors, make sure all members are initialized.
202
203         * platform/graphics/Gradient.cpp:
204         (WebCore::Gradient::Gradient):
205
206 2008-08-02  Maxime Britto  <britto@apple.com>
207
208         Reviewed by Eric Seidel.
209
210         <rdar://problem/6118969>
211         https://bugs.webkit.org/show_bug.cgi?id=19971 
212         Modifiy the cursor interactively when on panning mode (middle click auto scroll)
213         When the panning is in progress the cursor is an arrow representing the direction of the current scroll
214
215         * page/EventHandler.cpp:
216         (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
217         (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
218         (WebCore::EventHandler::handleMouseMoveEvent):
219         * page/EventHandler.h: 
220         * platform/Cursor.h: Add propotypes for the new cursor functions
221         * platform/gtk/CursorGtk.cpp: to avoid build break
222         (WebCore::middlePanningCursor):
223         (WebCore::eastPanningCursor):
224         (WebCore::northPanningCursor):
225         (WebCore::northEastPanningCursor):
226         (WebCore::northWestPanningCursor):
227         (WebCore::southPanningCursor):
228         (WebCore::southEastPanningCursor):
229         (WebCore::southWestPanningCursor):
230         (WebCore::westPanningCursor):
231         * platform/mac/CursorMac.mm: to avoid build break
232         (WebCore::middlePanningCursor):
233         (WebCore::eastPanningCursor):
234         (WebCore::northPanningCursor):
235         (WebCore::northEastPanningCursor):
236         (WebCore::northWestPanningCursor):
237         (WebCore::southPanningCursor):
238         (WebCore::southEastPanningCursor):
239         (WebCore::southWestPanningCursor):
240         (WebCore::westPanningCursor):
241         * platform/qt/CursorQt.cpp: to avoid build break
242         (WebCore::middlePanningCursor):
243         (WebCore::eastPanningCursor):
244         (WebCore::northPanningCursor):
245         (WebCore::northEastPanningCursor):
246         (WebCore::northWestPanningCursor):
247         (WebCore::southPanningCursor):
248         (WebCore::southEastPanningCursor):
249         (WebCore::southWestPanningCursor):
250         (WebCore::westPanningCursor):
251         * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
252         (WebCore::middlePanningCursor):
253         (WebCore::eastPanningCursor):
254         (WebCore::northPanningCursor):
255         (WebCore::northEastPanningCursor):
256         (WebCore::northWestPanningCursor):
257         (WebCore::southPanningCursor):
258         (WebCore::southEastPanningCursor):
259         (WebCore::southWestPanningCursor):
260         (WebCore::westPanningCursor):
261         * platform/wx/CursorWx.cpp: to avoid build break
262         (WebCore::middlePanningCursor):
263         (WebCore::eastPanningCursor):
264         (WebCore::northPanningCursor):
265         (WebCore::northEastPanningCursor):
266         (WebCore::northWestPanningCursor):
267         (WebCore::southPanningCursor):
268         (WebCore::southEastPanningCursor):
269         (WebCore::southWestPanningCursor):
270         (WebCore::westPanningCursor):
271
272 2008-08-02  Kevin Ollivier  <kevino@theolliviers.com>
273
274         Move to using constants in accordance with discussions about wx renderer commit.
275
276         * platform/wx/RenderThemeWx.cpp:
277         (WebCore::RenderThemeWx::minimumMenuListSize):
278         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
279         (WebCore::RenderThemeWx::popupInternalPaddingRight):
280         (WebCore::RenderThemeWx::popupInternalPaddingTop):
281         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
282
283 2008-08-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>
284
285         Reviewed by Eric Seidel.
286
287         * plugins/gtk/gtk2xtbin.h:
288
289         https://bugs.webkit.org/show_bug.cgi?id=20034
290         Fix malformed Vim modeline.
291
292 2008-08-01  Dan Bernstein  <mitz@apple.com>
293
294         Reviewed by Dave Hyatt.
295
296         - tweak a comment
297
298         * platform/graphics/cg/ImageCG.cpp:
299         (WebCore::BitmapImage::draw):
300
301 2008-08-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
302
303         * ChangeLog: Fix date of previous commit (r35520)
304
305 2008-08-01  Marco Barisione  <marco.barisione@collabora.co.uk>
306
307         Reviewed by Eric Seidel.
308
309         https://bugs.webkit.org/show_bug.cgi?id=19603
310         [SOUP] segfault when closing a file using gio
311
312         Call client->didFinishLoading() only after releasing all the gio
313         resources.
314
315         * platform/network/soup/ResourceHandleSoup.cpp:
316         (WebCore::closeCallback):
317         (WebCore::readCallback):
318
319 2008-08-01  Anders Carlsson  <andersca@apple.com>
320
321         Reviewed by Jon.
322
323         <rdar://problem/6120206>
324         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
325         
326         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
327         
328         * plugins/PluginStream.cpp:
329         (WebCore::PluginStream::wantsAllStreams):
330
331 2008-08-01  Robin Dunn  <robin@alldunn.com>
332
333         Reviewed by Eric Seidel.
334
335         Native rendering implementations for form elements in the wx port.
336         
337         https://bugs.webkit.org/show_bug.cgi?id=19069
338
339         * platform/wx/RenderThemeWx.cpp:
340         (WebCore::RenderThemeWx::adjustRepaintRect):
341         (WebCore::RenderThemeWx::paintButton):
342         (WebCore::RenderThemeWx::paintTextField):
343         (WebCore::RenderThemeWx::minimumMenuListSize):
344         (WebCore::RenderThemeWx::adjustMenuListStyle):
345         (WebCore::RenderThemeWx::paintMenuList):
346         (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
347         (WebCore::RenderThemeWx::paintMenuListButton):
348         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
349         (WebCore::RenderThemeWx::popupInternalPaddingRight):
350         (WebCore::RenderThemeWx::popupInternalPaddingTop):
351         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
352
353 2008-07-30  David Hyatt  <hyatt@apple.com>
354
355         Improvements to selection drawing.
356
357         Clip out floating and positioned objects when drawing selection so
358         that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
359         object and the positioned/floating object itself.  Improves most Web pages.
360
361         Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
362         position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
363
364         Reviewed by Dan
365
366         Covered by existing selection pixel tests.
367
368         * rendering/RenderBlock.cpp:
369         (WebCore::RenderBlock::isSelectionRoot):
370         (WebCore::RenderBlock::paintSelection):
371         (WebCore::clipOutPositionedObjects):
372         (WebCore::RenderBlock::fillSelectionGaps):
373         (WebCore::RenderBlock::fillLeftSelectionGap):
374         (WebCore::RenderBlock::fillRightSelectionGap):
375
376 2008-08-01  Timothy Hatcher  <timothy@apple.com>
377
378         Adds the ability to disable individual properties of a CSS rule.
379         When hovering over a rule, checkboxes show up to the right of all
380         properties and toggling a checkbox disables/enables the property.
381         Behind the scenes the property is removed from the rule when disabled,
382         but still remains in the list and in the computed style. When disabled
383         the property has a line through it, and is faded in computed style.
384
385         <rdar://problem/5712828> Support disabling individual CSS properties
386         https://bugs.webkit.org/show_bug.cgi?id=14377
387
388         Reviewed by Adam Roben.
389
390         * page/inspector/StylesSidebarPane.js:
391         (WebInspector.StylesSidebarPane.prototype.update): Include the
392         inline style when it also has disabled properties. Call
393         deleteDisabledProperty for any property that is in the style,
394         since it might have been added back by the page. Remember all
395         disabled properties so they show up in computed style.
396         (deleteDisabledProperty): Helper function to delete all the
397         right properties that track disabled properties.
398         (WebInspector.StylePropertiesSection): Add the computed-style
399         class when  the section is Computed Style.
400         (WebInspector.StylePropertiesSection.prototype.onpopulate):
401         Include disabled properties.
402         (WebInspector.StylePropertyTreeElement): Added a disabled argument.
403         (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
404         Sets the _disabled property and calls updateState.
405         (WebInspector.StylePropertyTreeElement.prototype.get priority):
406         Return the priority of enabled or disabled properties.
407         (WebInspector.StylePropertyTreeElement.prototype.get value):
408         Return the value of enabled or disabled properties.
409         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
410         priority and value getter. Append the checkbox for root elements of
411         an editable section.
412         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
413         Add or remove properties from the rule and remember removed ones
414         by adding three objects to the style: __disabledProperties,
415         __disabledPropertyValues and __disabledPropertyPriorities.
416         The __disabledProperties object will include all longhand
417         properties of a shorthand for use by Computed Style.
418         (WebInspector.StylePropertyTreeElement.prototype.updateState):
419         Use the value getter. Update the disabled state.
420         * page/inspector/inspector.css:
421         * page/inspector/utilities.js:
422         (Object.hasProperties): Added. Helper to test if an object
423         has any properties.
424
425 2008-07-31  Anders Carlsson  <andersca@apple.com>
426
427         Reviewed by Darin.
428
429         <rdar://problem/5949410>
430         Add the ability to transfer a given application cache to a new database.
431         
432         * WebCore.base.exp:
433         Export ApplicationCacheStorage::storeCopyOfCache.
434         
435         * loader/appcache/ApplicationCache.cpp:
436         (WebCore::ApplicationCache::~ApplicationCache):
437         Don't call cacheDestroyed for our special "copy" groups.
438         
439         * loader/appcache/ApplicationCacheGroup.cpp:
440         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
441         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
442         Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
443         and can only be stored to disk.
444         
445         * loader/appcache/ApplicationCacheGroup.h:
446         (WebCore::ApplicationCacheGroup::isCopy):
447         New getter.
448         
449         * loader/appcache/ApplicationCacheStorage.cpp:
450         (WebCore::ApplicationCacheStorage::store):
451         Make sure to set the storageID when storing an application resource.
452         
453         (WebCore::ApplicationCacheStorage::storeNewestCache):
454         Change this to return true/false depending on whether storing the cache succeeded or not.
455         
456         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
457         New method which stores a given cache in a new storage (database file).
458         
459         * loader/appcache/ApplicationCacheStorage.h:
460         Add new methods.
461
462 2008-07-31  John Sullivan  <sullivan@apple.com>
463
464         WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
465
466         Reviewed by Hyatt
467
468         * WebCore.base.exp:
469         export symbol for WebCoreSettings::setZoomsTextOnly()
470         
471         * page/Frame.cpp:
472         (WebCore::Frame::isZoomFactorTextOnly):
473         use value from Settings instead of data member
474         (WebCore::Frame::shouldApplyTextZoom):
475         call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
476         (WebCore::Frame::shouldApplyPageZoom):
477         ditto
478         (WebCore::Frame::setZoomFactor):
479         set value into Settings rather than into data member
480         (WebCore::FramePrivate::FramePrivate):
481         don't set initial value of now-removed data member; this is managed by Settings now
482         
483         * page/FramePrivate.h:
484         removed m_zoomFactorIsTextOnly
485         
486         * page/Settings.cpp:
487         (WebCore::Settings::setZoomsTextOnly):
488         new function, sets values and reapplies styles in all frames
489         
490         * page/Settings.h:
491         (WebCore::Settings::zoomsTextOnly):
492         new function, returns value of new data member
493
494 2008-07-31  Simon Fraser  <simon.fraser@apple.com>
495
496         Reviewed by Dave Hyatt
497
498         Null-check parent clip rects, because they may not have been
499         set up yet.
500         https://bugs.webkit.org/show_bug.cgi?id=20243
501
502         * rendering/RenderLayer.cpp:
503         (WebCore::RenderLayer::calculateClipRects):
504
505 2008-07-31  Dan Bernstein  <mitz@apple.com>
506
507         Reviewed by Dave Hyatt.
508
509         - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image
510
511         * platform/graphics/cg/ImageCG.cpp:
512         (WebCore::BitmapImage::draw): To work around a Core Graphics
513         interpolation issue, reverted to using a temporary subimage for drawing
514         a portion of the image with scaling and high-quality interpolation in
515         effect.
516
517 2008-07-31  chris fleizach  <cfleizach@apple.com>
518
519         Reviewed by Alice Liu
520
521         <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas
522
523         Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
524         for individual characters on a webpage.
525
526         Test: accessibility/bounds-for-range.html
527
528         * ChangeLog:
529         * page/AccessibilityRenderObject.cpp:
530         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
531         * page/mac/AccessibilityObjectWrapper.mm:
532         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
533         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
534
535 2008-07-31  Kevin Ollivier <kevino@theolliviers.com>
536
537         Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
538         use defines, etc. to avoid conflicts in each affected file.
539
540         * config.h:
541         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
542         * platform/wx/PopupMenuWx.cpp:
543
544 2008-07-31  Erik Bunce  <elbunce@thehive.com>
545
546         Reviewed by Simon.
547
548         https://bugs.webkit.org/show_bug.cgi?id=20224
549
550         Include the Writing Direction sub-menu in the context menu of all
551         platforms but GTK. This fixes a regression introduced by revision
552         34426.
553
554         * platform/ContextMenu.cpp:
555         (WebCore::ContextMenu::populate):
556
557 2008-07-31  Brady Eidson  <beidson@apple.com>
558
559         Reviewed by Adam and Hyatt
560
561         Fix for <rdar://problem/6099748>
562
563         Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2
564
565         * WebCore.base.exp:
566
567         * html/HTMLLinkElement.cpp:
568         (WebCore::HTMLLinkElement::setCSSStyleSheet):
569
570         * loader/CachedCSSStyleSheet.cpp:
571         (WebCore::CachedCSSStyleSheet::canUseSheet):
572         * loader/CachedCSSStyleSheet.h:
573         (WebCore::CachedCSSStyleSheet::sheetText): 
574         * page/Settings.cpp:
575
576         (WebCore::Settings::Settings):
577         (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
578         * page/Settings.h:
579         (WebCore::Settings::enforceCSSMIMETypeInStrictMode):
580
581 2008-07-31  Erik Bunce  <elbunce@thehive.com>
582
583         Reviewed by Simon.
584
585         Added the ability to get SQLite headers and source from the location 
586         specified via the SQLITE3SRCDIR environtment variable.
587
588         * WebCore.pro:
589
590 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
591
592         Rubber-stamped by Maciej.
593
594         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
595         call sites now).
596
597         * ForwardingHeaders/kjs/JSLock.h: Removed.
598         * WebCore.vcproj/WebCore.vcproj:
599         * bindings/js/GCController.cpp:
600         (WebCore::collect):
601         (WebCore::GCController::gcTimerFired):
602         (WebCore::GCController::garbageCollectNow):
603         * bindings/js/JSCustomSQLStatementCallback.cpp:
604         (WebCore::JSCustomSQLStatementCallback::handleEvent):
605         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
606         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
607         * bindings/js/JSCustomSQLTransactionCallback.cpp:
608         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
609         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
610         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
611         * bindings/js/JSCustomVoidCallback.cpp:
612         (WebCore::JSCustomVoidCallback::handleEvent):
613         * bindings/js/JSCustomXPathNSResolver.cpp:
614         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
615         * bindings/js/JSDOMWindowBase.cpp:
616         (WebCore::DOMWindowTimer::~DOMWindowTimer):
617         (WebCore::JSDOMWindowBase::clear):
618         (WebCore::JSDOMWindowBase::timerFired):
619         * bindings/js/JSEventCustom.cpp:
620         (WebCore::toJS):
621         * bindings/js/JSEventListener.cpp:
622         (WebCore::JSAbstractEventListener::handleEvent):
623         (WebCore::JSLazyEventListener::parseCode):
624         * bindings/js/JSNSResolver.cpp:
625         (WebCore::JSNSResolver::lookupNamespaceURI):
626         * bindings/js/JSNodeFilterCondition.cpp:
627         (WebCore::JSNodeFilterCondition::acceptNode):
628         * bindings/js/ScheduledAction.cpp:
629         (WebCore::ScheduledAction::execute):
630         * bindings/js/ScriptController.cpp:
631         (WebCore::ScriptController::evaluate):
632         (WebCore::ScriptController::clear):
633         (WebCore::ScriptController::createHTMLEventHandler):
634         (WebCore::ScriptController::createSVGEventHandler):
635         (WebCore::ScriptController::initScript):
636         (WebCore::ScriptController::updateDocument):
637         * bindings/objc/WebScriptObject.mm:
638         (_didExecute):
639         (-[WebScriptObject callWebScriptMethod:withArguments:]):
640         (-[WebScriptObject evaluateWebScript:]):
641         (-[WebScriptObject setValue:forKey:]):
642         (-[WebScriptObject valueForKey:]):
643         (-[WebScriptObject removeWebScriptKey:]):
644         (-[WebScriptObject stringRepresentation]):
645         (-[WebScriptObject webScriptValueAtIndex:]):
646         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
647         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
648         * bridge/NP_jsobject.cpp:
649         (_NPN_InvokeDefault):
650         (_NPN_Invoke):
651         (_NPN_Evaluate):
652         (_NPN_GetProperty):
653         (_NPN_SetProperty):
654         (_NPN_RemoveProperty):
655         (_NPN_HasProperty):
656         (_NPN_HasMethod):
657         (_NPN_Enumerate):
658         * bridge/c/c_class.cpp:
659         (KJS::Bindings::CClass::~CClass):
660         (KJS::Bindings::CClass::methodsNamed):
661         (KJS::Bindings::CClass::fieldNamed):
662         * bridge/c/c_instance.cpp:
663         (KJS::Bindings::CInstance::invokeMethod):
664         (KJS::Bindings::CInstance::invokeDefaultMethod):
665         (KJS::Bindings::CInstance::getPropertyNames):
666         * bridge/c/c_runtime.cpp:
667         (KJS::Bindings::CField::valueFromInstance):
668         (KJS::Bindings::CField::setValueToInstance):
669         * bridge/c/c_utility.cpp:
670         (KJS::Bindings::convertValueToNPVariant):
671         (KJS::Bindings::convertNPVariantToValue):
672         * bridge/jni/jni_class.cpp:
673         (JavaClass::JavaClass):
674         (JavaClass::~JavaClass):
675         * bridge/jni/jni_instance.cpp:
676         (JavaInstance::stringValue):
677         * bridge/jni/jni_jsobject.mm:
678         (JavaJSObject::call):
679         (JavaJSObject::eval):
680         (JavaJSObject::getMember):
681         (JavaJSObject::setMember):
682         (JavaJSObject::removeMember):
683         (JavaJSObject::getSlot):
684         (JavaJSObject::setSlot):
685         (JavaJSObject::toString):
686         (JavaJSObject::convertValueToJObject):
687         (JavaJSObject::convertJObjectToValue):
688         * bridge/jni/jni_objc.mm:
689         (KJS::Bindings::dispatchJNICall):
690         * bridge/jni/jni_runtime.cpp:
691         (appendClassName):
692         (JavaMethod::signature):
693         * bridge/jni/jni_runtime.h:
694         (KJS::Bindings::JavaString::JavaString):
695         (KJS::Bindings::JavaString::_commonInit):
696         (KJS::Bindings::JavaString::~JavaString):
697         (KJS::Bindings::JavaString::UTF8String):
698         * bridge/jni/jni_utility.cpp:
699         (KJS::Bindings::convertValueToJValue):
700         * bridge/npruntime.cpp:
701         (_NPN_GetStringIdentifier):
702         * bridge/objc/objc_instance.mm:
703         (ObjcInstance::moveGlobalExceptionToExecState):
704         (ObjcInstance::invokeMethod):
705         (ObjcInstance::invokeDefaultMethod):
706         (ObjcInstance::setValueOfUndefinedField):
707         (ObjcInstance::getValueOfUndefinedField):
708         * bridge/objc/objc_runtime.mm:
709         (ObjcField::valueFromInstance):
710         (ObjcField::setValueToInstance):
711         * bridge/objc/objc_utility.mm:
712         (KJS::Bindings::convertValueToObjcValue):
713         (KJS::Bindings::convertNSStringToString):
714         (KJS::Bindings::convertObjcValueToValue):
715         * bridge/qt/qt_instance.cpp:
716         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
717         (KJS::Bindings::QtInstance::~QtInstance):
718         (KJS::Bindings::QtInstance::getQtInstance):
719         (KJS::Bindings::QtInstance::getRuntimeObject):
720         * bridge/qt/qt_runtime.cpp:
721         (KJS::Bindings::convertValueToQVariant):
722         (KJS::Bindings::convertQVariantToValue):
723         (KJS::Bindings::QtRuntimeMetaMethod::call):
724         (KJS::Bindings::QtRuntimeConnectionMethod::call):
725         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
726         (KJS::Bindings::QtConnectionObject::execute):
727         * bridge/runtime.cpp:
728         (KJS::Bindings::Instance::createRuntimeObject):
729         * bridge/testbindings.cpp:
730         (main):
731         * bridge/testbindings.mm:
732         (main):
733         * bridge/testqtbindings.cpp:
734         (main):
735         * dom/Document.cpp:
736         (WebCore::Document::~Document):
737         * dom/Node.cpp:
738         (WebCore::Node::setDocument):
739         * history/CachedPage.cpp:
740         (WebCore::CachedPage::CachedPage):
741         (WebCore::CachedPage::restore):
742         (WebCore::CachedPage::clear):
743         * html/HTMLPlugInElement.cpp:
744         (WebCore::HTMLPlugInElement::createNPObject):
745         * loader/FrameLoader.cpp:
746         (WebCore::getString):
747         * page/Frame.cpp:
748         (WebCore::Frame::bindingRootObject):
749         (WebCore::Frame::windowScriptNPObject):
750         (WebCore::Frame::clearScriptObjects):
751         * page/InspectorController.cpp:
752         (WebCore::jsStringRef):
753         (WebCore::ConsoleMessage::ConsoleMessage):
754         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
755         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
756         (WebCore::getResourceDocumentNode):
757         (WebCore::search):
758         (WebCore::inspectedWindow):
759         (WebCore::wrapCallback):
760         (WebCore::currentCallFrame):
761         (WebCore::profiles):
762         (WebCore::InspectorController::focusNode):
763         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
764         (WebCore::InspectorController::addDatabaseScriptResource):
765         (WebCore::InspectorController::addScriptProfile):
766         * page/JavaScriptCallFrame.cpp:
767         (WebCore::JavaScriptCallFrame::evaluate):
768         * page/JavaScriptProfileNode.cpp:
769         (WebCore::getTotalTime):
770         (WebCore::getSelfTime):
771         (WebCore::getTotalPercent):
772         (WebCore::getSelfPercent):
773         (WebCore::getNumberOfCalls):
774         (WebCore::getChildren):
775         (WebCore::getVisible):
776         * page/Page.cpp:
777         * page/mac/FrameMac.mm:
778         (WebCore::Frame::windowScriptObject):
779         * page/qt/FrameQt.cpp:
780         * plugins/PluginView.cpp:
781         (WebCore::PluginView::start):
782         (WebCore::getString):
783         (WebCore::PluginView::performRequest):
784         (WebCore::PluginView::bindingInstance):
785         * plugins/gtk/PluginViewGtk.cpp:
786         (WebCore::PluginView::paint):
787         (WebCore::PluginView::handleKeyboardEvent):
788         (WebCore::PluginView::handleMouseEvent):
789         (WebCore::PluginView::setNPWindowRect):
790         (WebCore::PluginView::stop):
791         (WebCore::PluginView::init):
792         * plugins/qt/PluginViewQt.cpp:
793         (WebCore::PluginView::setNPWindowRect):
794         (WebCore::PluginView::stop):
795         (WebCore::PluginView::init):
796         * plugins/win/PluginViewWin.cpp:
797         (WebCore::PluginView::dispatchNPEvent):
798         (WebCore::PluginView::handleKeyboardEvent):
799         (WebCore::PluginView::handleMouseEvent):
800         (WebCore::PluginView::setNPWindowRect):
801         (WebCore::PluginView::stop):
802         * xml/XMLHttpRequest.cpp:
803         (WebCore::XMLHttpRequest::clearResponse):
804         (WebCore::XMLHttpRequest::didFinishLoading):
805         (WebCore::XMLHttpRequest::didReceiveData):
806
807 2008-07-30  Timothy Hatcher  <timothy@apple.com>
808
809         Fix various minor bugs with style editing in the Inspector.
810
811         - Restores the scroll position to 0,0 when finished editing a
812         string that was longer than the editing input area.
813
814         - Adjusts the margin of the list item to ensure the text does
815         not shift when entering and exiting editing mode.
816
817         - Reliably remembers if a shorthand has children when the
818         children haven't been populated yet.
819
820         - Reliably remembers if a shorthand was expanded, and expands
821         if needed after editing finishes.
822
823         - Hides color swatches when editing.
824
825         https://bugs.webkit.org/show_bug.cgi?id=20238
826
827         Reviewed by Adam Roben.
828
829         * page/inspector/StylesSidebarPane.js:
830         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
831         Store the expanded state and children state in wasExpanded and
832         reallyHasChildren properties.
833         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
834         Removed the wasExpanded argument and use the reallyHasChildren and
835         wasExpanded properties to restore state. Deletes the state properties.
836         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
837         Removed the wasExpanded argument.
838         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
839         Removed the wasExpanded argument.
840         * page/inspector/inspector.css: Tweak the margin and hides the color
841         swatches. ALso removes a rule that was not needed.
842         * page/inspector/inspector.js:
843         (WebInspector.startEditing): Restore the scrollLeft and scrollTop
844         to zero when editing finishes.
845
846 2008-07-30  Alice Liu  <alice.liu@apple.com>
847
848         Implement userIdleTime() for Windows, and place a band-aid over other
849         platform implementations of userIdleTime().  This will fix the issue
850         of indefinitely postposing releasing pages from the PageCache
851         on non-Mac platforms, causing us to hang onto just about everything 
852         else about a web page.
853         
854         Reviewed by Sam Weinig.
855
856         * platform/gtk/TemporaryLinkStubs.cpp:
857         * platform/wx/TemporaryLinkStubs.cpp:
858         * platform/qt/TemporaryLinkStubs.cpp:
859         (WebCore::userIdleTime): set to FLT_MAX
860
861         * platform/win/SystemTimeWin.cpp:
862         (WebCore::userIdleTime): implemented
863
864 2008-07-30  Beth Dakin  <bdakin@apple.com>
865
866         Reviewed by Anders Carlsson.
867
868         Fixes <rdar://problem/6041390>
869
870         Adds the ability to have a frame that is "disconnected" from the 
871         main frame from the perspective of top and parent in 
872         Javascript.
873
874         * WebCore.base.exp:
875         * page/DOMWindow.cpp:
876         (WebCore::DOMWindow::parent):
877         (WebCore::DOMWindow::top):
878         * page/Frame.cpp:
879         (WebCore::Frame::isDisconnectedFrame):
880         (WebCore::Frame::setIsDisconnectedFrame):
881         (WebCore::FramePrivate::FramePrivate):
882         * page/Frame.h:
883         * page/FramePrivate.h:
884         * page/FrameTree.cpp:
885         (WebCore::FrameTree::parent):
886         (WebCore::FrameTree::top):
887         * page/FrameTree.h:
888
889 2008-07-25  Eric Seidel  <eric@webkit.org>
890
891         Reviewed by Justin.
892
893         Crash Safari when dragging images into Google presentations
894         https://bugs.webkit.org/show_bug.cgi?id=20161
895
896         Test: manual-tests/remove-on-drop-crash.html
897
898         * editing/ReplaceSelectionCommand.cpp:
899         (WebCore::ReplaceSelectionCommand::doApply):
900         * manual-tests/remove-on-drop-crash.html: Added.
901
902 2008-07-30  Christian Dywan  <christian@twotoasts.de>
903
904         Reviewed by Mark.
905
906         Build fix for Cairo < 1.6
907
908         * platform/graphics/cairo/PathCairo.cpp:
909         (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
910
911 2008-07-29  Kevin McCullough  <kmccullough@apple.com>
912
913         Reviewed by Geoff.
914
915         <rdar://problem/6110314> Crash in profiler dereferencing null frame or
916         page (20214)
917         - Null check.
918
919         * page/Console.cpp:
920         (WebCore::Console::finishedProfiling):
921
922 2008-07-30  David Hyatt  <hyatt@apple.com>
923
924         https://bugs.webkit.org/show_bug.cgi?id=18070
925         
926         Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
927         JS mouse event to account for zoom.
928
929         Reviewed by olliej
930
931         * dom/EventTargetNode.cpp:
932         (WebCore::EventTargetNode::dispatchMouseEvent):
933
934 2008-07-29  Sam Weinig  <sam@webkit.org>
935
936         Reviewed by Darin Adler.
937
938         Update Cross-site XMLHttpRequests using Access control to
939         the latest spec. (Editor's Draft 8 July 2008)
940
941         - This leaves us at about the same place as we previously were
942           still needing preflight caching and better redirect support.
943
944         * GNUmakefile.am:
945         * WebCore.pro:
946         * WebCore.vcproj/WebCore.vcproj:
947         * WebCore.xcodeproj/project.pbxproj:
948         * WebCoreSources.bkl:
949         * xml/AccessControlList.cpp: Removed.
950         * xml/AccessControlList.h: Removed.
951         * xml/AccessItem.cpp: Removed.
952         * xml/AccessItem.h: Removed.
953         * xml/AccessItemRule.cpp: Removed.
954         * xml/AccessItemRule.h: Removed.
955         * xml/XMLHttpRequest.cpp:
956         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
957         (WebCore::XMLHttpRequest::XMLHttpRequest):
958         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
959         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
960         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
961         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
962         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
963         (WebCore::XMLHttpRequest::abort):
964         (WebCore::XMLHttpRequest::clearRequest):
965         (WebCore::XMLHttpRequest::didFinishLoading):
966         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
967         (WebCore::XMLHttpRequest::accessControlCheck):
968         (WebCore::XMLHttpRequest::didReceiveResponse):
969         (WebCore::parseAccessControlAllowList):
970         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
971         * xml/XMLHttpRequest.h:
972
973 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
974
975         Reviewed by Adele.
976
977         Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
978
979         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
980
981 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
982
983         Reviewed by Adele.
984
985         Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
986
987         For standalone video, use QTMovieView to draw.
988
989         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
990         (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
991          Associate the QTMovieView with the WebCoreMovieObserver.
992          If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
993         (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
994         (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
995         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
996         (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
997         (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
998         (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
999         (-[WebCoreMovieObserver setView:]): Added.
1000
1001 2008-07-29  Adele Peterson  <adele@apple.com>
1002
1003         Reviewed by Dan Bernstein.
1004
1005         Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
1006
1007         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
1008         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
1009         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
1010         apply PseudoFullPageMedia for elements in a full page media document.
1011
1012         * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
1013
1014         * rendering/RenderMedia.cpp:
1015         (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
1016         This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
1017         (WebCore::RenderMedia::rightmostPosition): ditto.
1018         (WebCore::RenderMedia::leftmostPosition): ditto.
1019         * rendering/RenderMedia.h:
1020
1021 2008-07-29  Sam Weinig  <sam@webkit.org>
1022
1023         Reviewed by Anders Carlsson.
1024
1025         <rdar://problem/6084585> Investigate upload progress events.
1026
1027         - Add progress notifications for data being sent via a ResourceHandle.
1028         - Add XMLHttpRequestUpload support.
1029
1030         Upload notifications only work on the Mac right now as the CFNetwork API
1031         on windows does not expose enough information.
1032
1033         Tests: http/tests/xmlhttprequest/upload-onload-event.html
1034                http/tests/xmlhttprequest/upload-onloadstart-event.html
1035                http/tests/xmlhttprequest/upload-onprogress-event.html
1036                http/tests/xmlhttprequest/upload-progress-events.html
1037
1038         * DerivedSources.make:
1039         * GNUmakefile.am:
1040         * WebCore.pro:
1041         * WebCore.vcproj/WebCore.vcproj:
1042         * WebCore.xcodeproj/project.pbxproj:
1043         * WebCoreSources.bkl:
1044         * bindings/js/JSEventTargetBase.cpp:
1045         (WebCore::toJS):
1046         * bindings/js/JSXMLHttpRequestCustom.cpp:
1047         (WebCore::JSXMLHttpRequest::mark):
1048         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
1049         (WebCore::JSXMLHttpRequestUpload::mark):
1050         (WebCore::JSXMLHttpRequestUpload::onabort):
1051         (WebCore::JSXMLHttpRequestUpload::setOnabort):
1052         (WebCore::JSXMLHttpRequestUpload::onerror):
1053         (WebCore::JSXMLHttpRequestUpload::setOnerror):
1054         (WebCore::JSXMLHttpRequestUpload::onload):
1055         (WebCore::JSXMLHttpRequestUpload::setOnload):
1056         (WebCore::JSXMLHttpRequestUpload::onloadstart):
1057         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
1058         (WebCore::JSXMLHttpRequestUpload::onprogress):
1059         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
1060         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1061         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1062         (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
1063         * dom/EventTarget.cpp:
1064         (WebCore::EventTarget::toXMLHttpRequestUpload):
1065         * dom/EventTarget.h:
1066         * loader/ResourceLoader.cpp:
1067         (WebCore::ResourceLoader::didSendData):
1068         * loader/ResourceLoader.h:
1069         * loader/SubresourceLoader.cpp:
1070         (WebCore::SubresourceLoader::didSendData):
1071         * loader/SubresourceLoader.h:
1072         * loader/SubresourceLoaderClient.h:
1073         (WebCore::SubresourceLoaderClient::didSendData):
1074         * page/DOMWindow.idl:
1075         * platform/network/FormData.cpp:
1076         (WebCore::FormData::FormData):
1077         * platform/network/FormData.h:
1078         (WebCore::FormData::alwaysStream):
1079         (WebCore::FormData::setAlwaysStream):
1080         * platform/network/ResourceHandleClient.h:
1081         (WebCore::ResourceHandleClient::didSendData):
1082         * platform/network/mac/FormDataStreamMac.h:
1083         * platform/network/mac/FormDataStreamMac.mm:
1084         (WebCore::getStreamFormDataMap):
1085         (WebCore::getStreamResourceHandleMap):
1086         (WebCore::associateStreamWithResourceHandle):
1087         (WebCore::disassociateStreamWithResourceHandle):
1088         (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
1089         (WebCore::performDidSendDataCallback):
1090         (WebCore::formCreate):
1091         (WebCore::formFinalize):
1092         (WebCore::formRead):
1093         (WebCore::setHTTPBody):
1094         (WebCore::httpBodyFromStream):
1095         * platform/network/mac/ResourceHandleMac.mm:
1096         (WebCore::ResourceHandle::start):
1097         (WebCore::ResourceHandle::cancel):
1098         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1099         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
1100         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
1101         * xml/XMLHttpRequest.cpp:
1102         (WebCore::XMLHttpRequest::XMLHttpRequest):
1103         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1104         (WebCore::XMLHttpRequest::upload):
1105         (WebCore::XMLHttpRequest::open):
1106         (WebCore::XMLHttpRequest::send):
1107         (WebCore::XMLHttpRequest::createRequest):
1108         (WebCore::XMLHttpRequest::abort):
1109         (WebCore::XMLHttpRequest::networkError):
1110         (WebCore::XMLHttpRequest::abortError):
1111         (WebCore::XMLHttpRequest::didSendData):
1112         * xml/XMLHttpRequest.h:
1113         (WebCore::XMLHttpRequest::optionalUpload):
1114         * xml/XMLHttpRequest.idl:
1115         * xml/XMLHttpRequestUpload.cpp: Added.
1116         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1117         (WebCore::XMLHttpRequestUpload::addEventListener):
1118         (WebCore::XMLHttpRequestUpload::removeEventListener):
1119         (WebCore::XMLHttpRequestUpload::dispatchEvent):
1120         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
1121         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
1122         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
1123         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
1124         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
1125         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1126         * xml/XMLHttpRequestUpload.h: Added.
1127         (WebCore::XMLHttpRequestUpload::create):
1128         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
1129         (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
1130         (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
1131         (WebCore::XMLHttpRequestUpload::setOnAbortListener):
1132         (WebCore::XMLHttpRequestUpload::onAbortListener):
1133         (WebCore::XMLHttpRequestUpload::setOnErrorListener):
1134         (WebCore::XMLHttpRequestUpload::onErrorListener):
1135         (WebCore::XMLHttpRequestUpload::setOnLoadListener):
1136         (WebCore::XMLHttpRequestUpload::onLoadListener):
1137         (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
1138         (WebCore::XMLHttpRequestUpload::onLoadStartListener):
1139         (WebCore::XMLHttpRequestUpload::setOnProgressListener):
1140         (WebCore::XMLHttpRequestUpload::onProgressListener):
1141         (WebCore::XMLHttpRequestUpload::eventListeners):
1142         (WebCore::XMLHttpRequestUpload::refEventTarget):
1143         (WebCore::XMLHttpRequestUpload::derefEventTarget):
1144         * xml/XMLHttpRequestUpload.idl: Added.
1145
1146 2008-07-29  Maxime Britto  <britto@apple.com>
1147
1148         Reviewed by Darin.
1149
1150         <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
1151         With this patch we now stop the pan scroll and swallow the event to prevent any following action.
1152
1153         * page/EventHandler.cpp:
1154         (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
1155
1156 2008-07-29  Maxime Britto  <britto@apple.com>
1157
1158         Reviewed by adele.
1159
1160         Test: fast/events/autoscroll-in-textfield.html
1161
1162         * rendering/RenderObject.cpp:
1163         (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
1164         nb:the test case introduced in r35244 is still working.
1165
1166 2008-07-29  Maxime Britto  <britto@apple.com>
1167
1168         Reviewed by adele.
1169         This test verifies that the autoscroll works within textfields.
1170
1171         * fast/events/autoscroll-in-textfield-expected.txt: Added.
1172         * fast/events/autoscroll-in-textfield.html: Added.
1173
1174 2008-07-29  Adele Peterson  <adele@apple.com>
1175
1176         Reviewed by Sammy Weinig.
1177
1178         Fix for <rdar://problem/6103024>
1179         When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
1180
1181         Test: media/video-click-dlbclick-standalone.html
1182
1183         * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
1184         match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
1185         * loader/MediaDocument.h: Added defaultEventHandler.
1186
1187         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
1188         * rendering/MediaControlElements.cpp:
1189         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
1190          it is supposed to be "event->setDefaultHandled()".
1191         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
1192         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
1193         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
1194
1195 2008-07-29  Dan Bernstein  <mitz@apple.com>
1196
1197         Reviewed by Dave Hyatt.
1198
1199         - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
1200
1201         Test: fast/overflow/float-in-relpositioned.html
1202
1203         * rendering/RenderBlock.cpp:
1204         (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
1205         to floats' and positioned objects' lowest position.
1206         (WebCore::RenderBlock::rightmostPosition): Ditto.
1207         (WebCore::RenderBlock::leftmostPosition): Ditto.
1208         * rendering/RenderBox.cpp:
1209         (WebCore::RenderBox::lowestPosition): Removed redundant test.
1210         (WebCore::RenderBox::rightmostPosition): Ditto.
1211         (WebCore::RenderBox::leftmostPosition): Ditto.
1212
1213 2008-07-29  Dan Bernstein  <mitz@apple.com>
1214
1215         Reviewed by Dave Hyatt.
1216
1217         - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
1218
1219         Test: fast/repaint/layout-state-relative.html
1220
1221         * rendering/RenderBox.cpp:
1222         (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
1223         code path to account for the object's relative offset.
1224         (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
1225
1226 2008-07-29  Keishi Hattori  <casey.hattori@gmail.com>
1227
1228         Fixed Bug 19158: Inspector should support console.group/console.groupEnd
1229
1230         <https://bugs.webkit.org/show_bug.cgi?id=19158>
1231
1232         Reviewed by Tim Hatcher and Adam Roben.
1233
1234         * bindings/js/JSConsoleCustom.cpp:
1235         (WebCore::JSConsole::group): Added.
1236         * page/Console.cpp:
1237         (WebCore::Console::group): Added.
1238         (WebCore::Console::groupEnd): Added.
1239         * page/Console.h:
1240         (WebCore::):
1241         * page/Console.idl: Added group/groupEnd.
1242         * page/InspectorController.cpp:
1243         (WebCore::ConsoleMessage::ConsoleMessage):
1244         (WebCore::InspectorController::InspectorController): Added m_groupLevel.
1245         (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
1246         (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
1247         (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
1248         (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
1249         (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
1250         * page/InspectorController.h:
1251         * page/inspector/Console.js:
1252         (WebInspector.Console): Added groupLevel and currentGroup topGroup.
1253         (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
1254         (WebInspector.Console.startGroup): Added.
1255         (WebInspector.Console.endGroup): Added.
1256         (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
1257         (WebInspector.ConsoleMessage): Added groupLevel property.
1258         (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
1259         (WebInspector.ConsoleGroup): Added.
1260         (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
1261         (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
1262         * page/inspector/inspector.css:
1263         * page/inspector/inspector.js:
1264         (WebInspector.startGroupInConsole): Calls console.startGroup
1265         (WebInspector.endGroupInConsole): Calls console.endGroup
1266
1267 2008-07-29  Adam Roben  <aroben@apple.com>
1268
1269         Add names for WebCore's threads
1270
1271         Reviewed by Anders Carlsson.
1272
1273         * loader/icon/IconDatabase.cpp:
1274         (WebCore::IconDatabase::open):
1275         * storage/DatabaseThread.cpp:
1276         (WebCore::DatabaseThread::start):
1277         * storage/LocalStorageThread.cpp:
1278         (WebCore::LocalStorageThread::start):
1279         Pass in names to createThread.
1280
1281         * platform/network/cf/ResourceHandleCFNet.cpp:
1282         (WebCore::runLoaderThread):
1283         (WebCore::ResourceHandle::loaderRunLoop):
1284         Changed to use WTF::createThread.
1285
1286 2008-07-28  Anders Carlsson  <andersca@apple.com>
1287
1288         Reviewed by Kevin Decker.
1289
1290         Based on a patch from Dimcho Balev.
1291         
1292         Windows part of 
1293     
1294         https://bugs.webkit.org/show_bug.cgi?id=18676
1295         <rdar://problem/6106578>
1296         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
1297
1298         * plugins/PluginStream.cpp:
1299         (WebCore::PluginStream::wantsAllStreams):
1300         * plugins/PluginStream.h:
1301
1302 2008-07-28  Brady Eidson  <beidson@apple.com>
1303
1304         Reviewed by Sam Weinig
1305
1306         Test: security/autocomplete-cleared-on-back.html
1307
1308         <rdar://problem/6093281> - autocomplete="off" should work when going back
1309
1310         Taken care of in two ways:
1311         1 - Listening for the page cache notification to clear the form, in cases where the page
1312             is being restored from the page cache
1313         2 - Not saving such form elements when doing the normal "save state" to a history item,
1314             for cases with no page cache
1315
1316         * html/HTMLFormElement.cpp:
1317         (WebCore::HTMLFormElement::~HTMLFormElement):
1318         (WebCore::HTMLFormElement::parseMappedAttribute):
1319         (WebCore::HTMLFormElement::didRestoreFromCache):
1320         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
1321         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
1322         * html/HTMLFormElement.h:
1323
1324         * html/HTMLInputElement.cpp:
1325         (WebCore::HTMLInputElement::~HTMLInputElement):
1326         (WebCore::HTMLInputElement::setInputType):
1327         (WebCore::HTMLInputElement::saveState):
1328         (WebCore::HTMLInputElement::parseMappedAttribute):
1329         (WebCore::HTMLInputElement::needsCacheCallback):
1330         (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
1331           indicate we should.
1332         (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
1333           and attribute are clear of needing registration.
1334         (WebCore::HTMLInputElement::didRestoreFromCache):
1335         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1336         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
1337         * html/HTMLInputElement.h:
1338
1339 2008-07-28  David Hyatt  <hyatt@apple.com>
1340
1341         Add support for CSS variable declaration blocks.
1342
1343         Reviewed by Sam
1344
1345         Added tests in fast/css/variables.
1346
1347         * css/CSSGrammar.y:
1348         * css/CSSMutableStyleDeclaration.h:
1349         (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
1350         * css/CSSParser.cpp:
1351         (WebCore::CSSParser::addVariableDeclarationBlock):
1352         * css/CSSParser.h:
1353         * css/CSSProperty.cpp:
1354         (WebCore::CSSProperty::cssText):
1355         * css/CSSPropertyNames.in:
1356         * css/CSSStyleSelector.cpp:
1357         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1358         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1359         * css/CSSStyleSelector.h:
1360         * css/CSSValueList.h:
1361         (WebCore::CSSValueList::isValueList):
1362         * css/CSSVariablesDeclaration.cpp:
1363         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
1364         (WebCore::CSSVariablesDeclaration::getVariableValue):
1365         (WebCore::CSSVariablesDeclaration::removeVariable):
1366         (WebCore::CSSVariablesDeclaration::addParsedVariable):
1367         (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
1368         (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
1369         * css/CSSVariablesDeclaration.h:
1370         (WebCore::CSSVariablesDeclaration::create):
1371         * css/StyleBase.cpp:
1372         (WebCore::StyleBase::cssText):
1373         * css/StyleBase.h:
1374         (WebCore::StyleBase::isValueList):
1375         (WebCore::StyleBase::isMutableStyleDeclaration):
1376
1377 2008-07-28  Anders Carlsson  <andersca@apple.com>
1378
1379         Reviewed by Sam.
1380
1381         <rdar://problem/6098335>
1382         https://bugs.webkit.org/show_bug.cgi?id=20150
1383         
1384         Handle willSendRequest correctly.
1385
1386         * loader/SubresourceLoader.cpp:
1387         (WebCore::SubresourceLoader::willSendRequest):
1388         Make sure to keep the previous URL around so we know when to call willSendRequest.
1389         
1390         * xml/XMLHttpRequest.cpp:
1391         (WebCore::XMLHttpRequest::processSyncLoadResults):
1392         Abort if we don't have access to the response URL.
1393         
1394         (WebCore::XMLHttpRequest::willSendRequest):
1395         Dispatch a network error if we can't access the new URL.
1396
1397 2008-07-28  Geoffrey Garen  <ggaren@apple.com>
1398
1399         Reviewed by Sam Weinig.
1400
1401         Renamed "ConstructTypeNative" => "ConstructTypeHost".
1402         
1403 2008-07-28  Anders Carlsson  <andersca@apple.com>
1404
1405         Reviewed by Kevin Decker.
1406
1407         Based on a patch by Dimcho Balev.
1408
1409         https://bugs.webkit.org/show_bug.cgi?id=18676
1410         <rdar://problem/6106578>
1411         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
1412         
1413         * bridge/npapi.h:
1414         Add new enum values.
1415         
1416         * loader/NetscapePlugInStreamLoader.cpp:
1417         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
1418         When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
1419         if an error occurs.
1420         
1421         * loader/NetscapePlugInStreamLoader.h:
1422         (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
1423         Add new client method.
1424
1425 2008-07-27  Sam Weinig  <sam@webkit.org>
1426
1427         Reviewed by Oliver Hunt.
1428
1429         Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
1430         querySelectorAll id optimization no longer working
1431
1432         Turn the querySelector/querySelectorAll id optimization back on
1433         for only strict and almost strict mode.  In quirks mode, the optimiztion
1434         won't work as the id match is not case sensitive.
1435
1436         Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
1437                fast/dom/SelectorAPI/caseID-strict.html
1438                fast/dom/SelectorAPI/caseID.html
1439
1440         * dom/Node.cpp:
1441         (WebCore::Node::querySelector):
1442         (WebCore::Node::querySelectorAll):
1443         * dom/SelectorNodeList.cpp:
1444         (WebCore::createSelectorNodeList):
1445         * dom/SelectorNodeList.h:
1446
1447 2008-07-27  Anatoli Papirovski  <apapirovski@mac.com>
1448
1449         Reviewed by Dave Hyatt.
1450
1451         Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
1452         Modified the css parser:
1453         - not to fail when closing braces are not found for 
1454           a declaration at the end of the file
1455         - not to accept "!important fail" as valid
1456         - to keep accepting @import when it comes after invalid @ rules
1457         - not to drop the whole @media block when there's an error before the 
1458           closing brace
1459         + some other minor css parsing revisions.
1460
1461         CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
1462
1463         * css/CSSGrammar.y:
1464
1465 2008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
1466
1467         Reviewed by Eric Seidel.
1468
1469         Use --outputDir instead of --output when invoking make_names.pl
1470         There's no option named "output" in make_names.pl
1471
1472         * GNUmakefile.am:
1473         * WebCore.pro:
1474         * DerivedSources.make: Remove --output. Not necessary here.
1475         * bindings/scripts/generate-bindings.pl: Rename --outputdir to
1476           --outputDir for consistency with make_names.pl
1477
1478 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
1479
1480         Reviewed by Eric Seidel.
1481
1482         http://bugs.webkit.org/show_bug.cgi?id=18694
1483         [CAIRO] Problem with rotation in a given matrix in SVG
1484
1485         Changed values given to AffineTransform.
1486
1487         * platform/graphics/cairo/AffineTransformCairo.cpp:
1488         (WebCore::AffineTransform::AffineTransform):
1489         (WebCore::AffineTransform::setMatrix):
1490
1491 2008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
1492
1493         Reviewed by Mark Rowe.
1494
1495         Call curl_global_cleanup() to release resources acquired by curl_global_init()
1496
1497         * platform/network/curl/ResourceHandleManager.cpp:
1498         (WebCore::ResourceHandleManager::~ResourceHandleManager):
1499
1500 2008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
1501
1502         Reviewed by Simon Hausmann.
1503
1504         Bug 18938: [GTK] Plugins not resized
1505         https://bugs.webkit.org/show_bug.cgi?id=18938
1506
1507         * plugins/PluginView.cpp:
1508         (WebCore::PluginView::setFrameGeometry): When viewing a full-page
1509         plugin in unix, geometry changes have to be passed to the plugin.
1510
1511 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
1512
1513         Reviewed by Adam Roben.
1514
1515         Add console.time/timeEnd.
1516         https://bugs.webkit.org/show_bug.cgi?id=19159
1517
1518         * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
1519         * page/Console.cpp:
1520         (WebCore::Console::time): Added.
1521         (WebCore::Console::timeEnd): Added.
1522         * page/Console.h:
1523         * page/Console.idl: Added console.time/timeEnd.
1524         * page/InspectorController.cpp:
1525         (WebCore::InspectorController::startTiming): Added.
1526         (WebCore::InspectorController::stopTiming): Added.
1527         * page/InspectorController.h:
1528
1529 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
1530
1531         Reviewed by Nikolas Zimmermann.
1532
1533         Fixes rendering issues with gradients in SVG/Cairo.
1534
1535         * platform/graphics/cairo/PathCairo.cpp:
1536         (WebCore::Path::boundingRect):
1537         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
1538         (WebCore::applyStrokeStyleToContext):
1539         (WebCore::SVGPaintServerGradient::setup):
1540
1541 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
1542
1543         Reviewed by Nikolas Zimmermann.
1544
1545         Added pattern-support for SVG in Cairo.
1546
1547         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
1548         (WebCore::applyStrokeStyleToContext):
1549         (WebCore::SVGPaintServerPattern::setup):
1550
1551 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
1552
1553         Reviewed by Adam Roben.
1554
1555         Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
1556         <https://bugs.webkit.org/show_bug.cgi?id=18540>
1557
1558         * page/inspector/Console.js:
1559         (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
1560
1561 2008-07-26  Anthony Ricaud  <rik24d@gmail.com>
1562
1563         Reviewed by Tim Hatcher.
1564
1565         <https://bugs.webkit.org/show_bug.cgi?id=17589> Line highlighting should last longer
1566
1567         Restore the fade out effect after highlighting.
1568
1569         * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
1570
1571 2008-07-26  Michelangelo De Simone  <michelangelo@me.com>
1572
1573         Reviewed by Adele Petersen.
1574
1575         Added the simple willValidate attribute to form controls according to
1576         WebForms 2 spec.
1577
1578         URL: http://www.w3.org/TR/web-forms-2/#willvalidate
1579
1580         Tests: fast/forms/willvalidate-000.html
1581                fast/forms/willvalidate-001.html
1582                fast/forms/willvalidate-002.html
1583                fast/forms/willvalidate-003.html
1584                fast/forms/willvalidate-004.html
1585                fast/forms/willvalidate-005.html
1586                fast/forms/willvalidate-006.html
1587                fast/forms/willvalidate-007.html
1588                fast/forms/willvalidate-008.html
1589                fast/forms/willvalidate-009.html
1590
1591         * html/HTMLButtonElement.h: Added willValidate(), always false.
1592         * html/HTMLButtonElement.idl: willValidate attribute exposed.
1593         * html/HTMLFieldSetElement.h: Added willValidate(), always false.
1594         * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
1595         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
1596         Added base willValidate() implementation.
1597         * html/HTMLFormControlElement.h: Added willValidate().
1598         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
1599         Added willValidate(), checks for input type.
1600         * html/HTMLInputElement.h: Added willValidate()
1601         * html/HTMLInputElement.idl: willValidate attribute exposed.
1602         * html/HTMLSelectElement.idl: willValidate attribute exposed.
1603         * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
1604
1605 2008-07-26  Mark Rowe  <mrowe@apple.com>
1606
1607         Build fix.
1608
1609         * loader/FrameLoader.cpp:
1610         (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
1611
1612 2008-07-26  Mark Rowe  <mrowe@apple.com>
1613
1614         Build fix.
1615
1616         * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
1617
1618 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
1619
1620         Reviewed by Geoff Garen.
1621
1622         Revised the FrameLoader class to clean up a variety of load methods, and hopefully
1623         move things closer to integrating into a smaller set of load methods. To this
1624         end, I renamed many of the overloaded load() methods to have more meaningful and 
1625         easier to search names.  I added comments to the header file to provide clues as 
1626         to how many of the load methods are being used, and how they fit into the loading 
1627         process. I suspect that the renamed methods and comments indicating their present 
1628         usage will facilitate easier cleanup by myself and others as inspiration strikes.
1629
1630         Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
1631
1632         Combined the 3 canLoad() methods into a single canLoad which expresses the 
1633         intended logic of the 3 with a single method interface.
1634
1635         Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
1636         one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
1637
1638         Removed unused userGesture parameter to one variant of the urlSelected method, and 
1639         moved one of the urlSelected methods so that it lives nearer to its overloaded 
1640         sibling.
1641
1642         * WebCore.base.exp:
1643         * loader/Cache.cpp:
1644         (WebCore::Cache::requestResource):
1645         * loader/CachedResource.cpp:
1646         (WebCore::CachedResource::CachedResource):
1647         * loader/CachedResource.h:
1648         (WebCore::CachedResource::errorOccurred):
1649         * loader/FrameLoader.cpp:
1650         (WebCore::FrameLoader::createWindow):
1651         (WebCore::FrameLoader::urlSelected):
1652         (WebCore::FrameLoader::loadURLIntoChildFrame):
1653         (WebCore::FrameLoader::loadPlugin):
1654         (WebCore::FrameLoader::loadFrameRequestWithFormState):
1655         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
1656         (WebCore::FrameLoader::loadURL):
1657         (WebCore::FrameLoader::loadWithNavigationAction):
1658         (WebCore::FrameLoader::load):
1659         (WebCore::FrameLoader::loadWithDocumentLoader):
1660         (WebCore::FrameLoader::canLoad):
1661         (WebCore::FrameLoader::reloadAllowingStaleData):
1662         (WebCore::FrameLoader::reload):
1663         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1664         (WebCore::FrameLoader::submitForm):
1665         (WebCore::FrameLoader::loadPostRequest):
1666         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1667         (WebCore::FrameLoader::loadItem):
1668         * loader/FrameLoader.h:
1669         * loader/SubresourceLoader.cpp:
1670         (WebCore::SubresourceLoader::create):
1671         * page/ContextMenuController.cpp:
1672         (WebCore::ContextMenuController::contextMenuItemSelected):
1673
1674 2008-07-26  Sam Weinig  <sam@webkit.org>
1675
1676         Reviewed by Dan Bernstein.
1677
1678         Fix https://bugs.webkit.org/show_bug.cgi?id=20122
1679         <rdar://problem/6089522>
1680         REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
1681
1682         Use strict parsing when in AlmostStrict mode.
1683
1684         Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
1685                fast/dom/SelectorAPI/id-fastpath-almost-strict.html
1686                fast/dom/SelectorAPI/id-fastpath-strict.html
1687
1688         * dom/Node.cpp:
1689         (WebCore::Node::querySelector):
1690         (WebCore::Node::querySelectorAll):
1691
1692 2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
1693
1694         Reviewed by Simon.
1695
1696         Switch off QPainter's anti aliasing when painting the widgets using QStyle
1697         because otherwise the widgets will look blurry and not crisp.
1698
1699         * platform/qt/RenderThemeQt.cpp:
1700         (WebCore::StylePainter::StylePainter):
1701         (WebCore::StylePainter::~StylePainter):
1702         * platform/qt/RenderThemeQt.h:
1703
1704 2008-07-25  Dan Bernstein  <mitz@apple.com>
1705
1706         Reviewed by Anders Carlsson.
1707
1708         - fix crash due to re-entering purgeInactiveFontData() now that it is
1709           called by releaseFontData()
1710
1711         Not testable in DumpRenderTree
1712
1713         * platform/graphics/FontCache.cpp:
1714         (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
1715
1716 2008-07-25  Brady Eidson  <beidson@apple.com>
1717
1718         Reviewed by Sam
1719
1720         Test: security/set-form-autocomplete-attribute.html
1721
1722         Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
1723
1724         The autocomplete attribute works on both <form> and <input> elements, but was not
1725         inherited properly when someone asked an <input> if it should autocomplete.
1726
1727         I fixed this up based on the rules in the current WF2 spec so if the <input> element
1728         has its own autocomplete attribute set, it will follow that but otherwise it will
1729         inherit from its parent <form>
1730
1731         * WebCore.base.exp:
1732
1733         * html/HTMLInputElement.cpp:
1734         (WebCore::HTMLInputElement::init):
1735         (WebCore::HTMLInputElement::autoComplete):
1736         (WebCore::HTMLInputElement::parseMappedAttribute):
1737         * html/HTMLInputElement.h:
1738         (WebCore::HTMLInputElement::):
1739
1740 2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
1741
1742         Reviewed by Holger Freyther.
1743
1744         https://bugs.webkit.org/show_bug.cgi?id=20078
1745         [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
1746
1747         * plugins/gtk/gtk2xtbin.h:
1748
1749 2008-07-25  Anders Carlsson  <andersca@apple.com>
1750
1751         Reviewed by Sam.
1752
1753         Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
1754
1755         * platform/network/mac/WebCoreURLResponse.mm:
1756         (-[NSURLResponse _webcore_MIMEType]):
1757
1758 2008-07-25  chris fleizach  <cfleizach@apple.com>
1759
1760         Reviewed by Beth Dakin
1761
1762         <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
1763
1764         Tests: accessibility/textarea-insertion-point-line-number.html
1765                accessibility/textarea-line-for-index.html
1766
1767         * page/AccessibilityObject.cpp:
1768         (WebCore::AccessibilityObject::lineForPosition):
1769         * page/AccessibilityObject.h:
1770         * page/mac/AccessibilityObjectWrapper.mm:
1771         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1772         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1773
1774 2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
1775
1776         Reviewed by mitz.
1777
1778         - fix https://bugs.webkit.org/show_bug.cgi?id=17906
1779         <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
1780         
1781         Test: fast/block/float/editable-text-overlapping-float.html
1782
1783         * rendering/RenderBlock.h:
1784         * rendering/bidi.cpp:
1785         (WebCore::RenderBlock::skipTrailingWhitespace):
1786         - renamed to reflect usage and removed call to position floats; 
1787           they only get added
1788         (WebCore::RenderBlock::skipLeadingWhitespace):
1789         - renamed to reflect usage
1790         (WebCore::RenderBlock::findNextLineBreak):
1791         - use skipTrailingWhitespace at end of line (as before but with new
1792           name)
1793
1794 2008-07-25  Dan Bernstein  <mitz@apple.com>
1795
1796         Reviewed by Sam Weinig.
1797
1798         - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
1799           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
1800
1801         * platform/graphics/FontCache.cpp:
1802         (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
1803         instances hold references to the platform resources and release them in the destructor.
1804         (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
1805         number of inactive FontData instances to leave in the cache when automatically purging.
1806         (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
1807         inactive FontData instances and if so calls purgeInactiveFontData() from here...
1808         (WebCore::FontCache::releaseFontData): ... to here.
1809         (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
1810         cache. All FontPlatformData instances that do not have entries in the font data cache are
1811         removed, thus releasing the platform resources (such as HFONTs and NSFonts).
1812
1813 2008-07-24  David Hyatt  <hyatt@apple.com>
1814
1815         Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
1816         both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
1817
1818         Reviewed by Dan
1819
1820         Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
1821
1822         * css/CSSGrammar.y:
1823         * css/CSSParser.cpp:
1824         (WebCore::CSSParser::createVariablesRule):
1825         (WebCore::CSSParser::checkForVariables):
1826         * css/CSSParser.h:
1827         * css/CSSParserValues.cpp:
1828         (WebCore::CSSParserValue::isVariable):
1829         (WebCore::CSSParserValueList::addValue):
1830         (WebCore::CSSParserValueList::deleteValueAt):
1831         (WebCore::CSSParserValue::createCSSValue):
1832         * css/CSSParserValues.h:
1833         * css/CSSPrimitiveValue.cpp:
1834         (WebCore::CSSPrimitiveValue::cleanup):
1835         (WebCore::CSSPrimitiveValue::getStringValue):
1836         (WebCore::CSSPrimitiveValue::cssText):
1837         (WebCore::CSSPrimitiveValue::parserValue):
1838         * css/CSSPrimitiveValue.h:
1839         (WebCore::CSSPrimitiveValue::):
1840         (WebCore::CSSPrimitiveValue::isVariable):
1841         * css/CSSStyleSelector.cpp:
1842         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1843         * css/CSSVariablesRule.cpp:
1844         (WebCore::CSSVariablesRule::CSSVariablesRule):
1845         (WebCore::CSSVariablesRule::cssText):
1846         * css/CSSVariablesRule.h:
1847         (WebCore::CSSVariablesRule::create):
1848         * css/maketokenizer:
1849         * css/tokenizer.flex:
1850
1851 2008-07-25  Maxime Britto  <britto@apple.com>
1852
1853         Reviewed by Anders Carlsson.
1854
1855         <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
1856
1857         * page/EventHandler.cpp:
1858         (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
1859
1860 2008-07-25  Adele Peterson  <adele@apple.com>
1861
1862         Another build fix.
1863
1864         * platform/win/PlatformScrollBarSafari.cpp:
1865         (WebCore::PlatformScrollbar::paint):
1866
1867 2008-07-25  Adele Peterson  <adele@apple.com>
1868
1869         More build fixes.
1870
1871         * platform/win/PlatformScrollBarSafari.cpp:
1872         (WebCore::PlatformScrollbar::paint):
1873
1874 2008-07-25  Adele Peterson  <adele@apple.com>
1875
1876         Build fix.
1877
1878         * platform/win/PlatformScrollBarSafari.cpp:
1879
1880 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1881
1882         Reviewed by Simon
1883
1884         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
1885
1886         * platform/PlatformKeyboardEvent.h: add accessor and member.
1887         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
1888         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1889
1890 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1891
1892         Fix linking of QtWebKit against the statically built JavaScriptCore
1893         library, under Windows/Mac we may need _d/_debug suffixes.
1894
1895         * WebCore.pro:
1896
1897 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1898
1899         Rubber-stamped by Lars.
1900
1901         Fix the Qt build by adapting to the latest ArgList API changes and
1902         replacing the inclusion of npapi.h in MainThreadScheduler with a forward
1903         declaration of NPP to avoid an include conflict. npapi.h on X11 includes
1904         X headers, which include wonderful defines such as "#define Status" that
1905         cause conflicts.
1906
1907         * bridge/qt/qt_runtime.cpp:
1908         (KJS::Bindings::findMethodIndex):
1909         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1910         * plugins/PluginMainThreadScheduler.h:
1911
1912 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
1913
1914         Discussed with and rubber-stamped by Lars.
1915
1916         Fix the build system for the Qt port.
1917
1918         Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
1919         include search path. With a build process that combines JavaScriptCore and
1920         WebCore in one build process/Makefile the existance of
1921         JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
1922
1923         This commit solves this by introducing a separate build of JavaScriptCore into
1924         a static library.
1925
1926         As a result of the split-up a race-condition due to broken dependencies of
1927         regular source files to header files of generated sources showed up very
1928         frequently when doing parallel builds (which the buildbot does). This commit at
1929         the same time tries to address the dependency problem by making the
1930         addExtraCompiler() function also generate a pseudo extra compiler that
1931         represents the header file output, so that qmake is aware of the creation of
1932         the header file for dependency calculation.
1933
1934         At the same time I removed a lot of cruft from the pro files to ease maintenance.
1935
1936         * WebCore.pro:
1937
1938 2008-07-24  kevino  <kevino@theolliviers.com>
1939
1940         wx build fix on Win for plugins coode.
1941
1942         * plugins/PluginDatabase.cpp:
1943         * plugins/PluginView.cpp:
1944         (WebCore::PluginView::PluginView):
1945         * plugins/PluginView.h:
1946
1947 2008-07-24  Sam Weinig  <sam@webkit.org>
1948
1949         Reviewed by Anders Carlsson.
1950
1951         Make isElementNode() non-virtual for a speedup on many benchmarks
1952         including 20% on http://ejohn.org/apps/fragment/.
1953
1954         - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
1955           Element and Attr where space was available.  Use the new free bit
1956           to represent if an node is an element or not.
1957
1958         * dom/Attr.cpp:
1959         (WebCore::Attr::Attr):
1960         * dom/Attr.h:
1961         (WebCore::Attr::specified):
1962         (WebCore::Attr::setSpecified):
1963         * dom/ContainerNode.cpp:
1964         (WebCore::ContainerNode::ContainerNode):
1965         * dom/ContainerNode.h:
1966         * dom/Element.cpp:
1967         (WebCore::Element::Element):
1968         * dom/Element.h:
1969         (WebCore::Element::hasRareData):
1970         (WebCore::Element::setHasRareData):
1971         * dom/EventTargetNode.cpp:
1972         (WebCore::EventTargetNode::EventTargetNode):
1973         * dom/EventTargetNode.h:
1974         * dom/Node.cpp:
1975         (WebCore::Node::Node):
1976         * dom/Node.h:
1977         (WebCore::Node::isElementNode):
1978
1979 2008-07-24  Dan Bernstein  <mitz@apple.com>
1980
1981         Reviewed by Dave Hyatt.
1982
1983         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
1984
1985         Not testable in DumpRenderTree
1986
1987         * rendering/RenderView.cpp:
1988         (WebCore::RenderView::layout): Ensured that all children with percentage
1989         heights get laid out again if the height changes.
1990
1991 2008-07-24  kevino  <kevino@theolliviers.com>
1992
1993         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
1994
1995         * page/EventHandler.cpp:
1996         (WebCore::EventHandler::handleAutoscroll):
1997         (WebCore::EventHandler::autoscrollTimerFired):
1998         (WebCore::EventHandler::stopAutoscrollTimer):
1999         (WebCore::EventHandler::handleMousePressEvent):
2000
2001 2008-07-24  David Hyatt  <hyatt@apple.com>
2002
2003         Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
2004         intrinsicSizeChanged when we are first setting our style.
2005
2006         Reviewed by olliej
2007
2008         * ChangeLog:
2009         * rendering/RenderReplaced.cpp:
2010         (WebCore::RenderReplaced::setStyle):
2011
2012 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
2013
2014         Reviewed by Eric.
2015
2016         Bug 20053: .in files should use a custom format instead of XML
2017
2018         - Remove our XML parser perl module (XML::Tiny)
2019
2020         - Add a custom perl parser
2021
2022         - Move XML files to the new format
2023
2024         * bindings/scripts/InFilesParser.pm: Added.
2025         * bindings/scripts/XMLTiny.pm: Removed.
2026         * dom/make_names.pl: Switched to our new
2027         parser.
2028
2029         * html/HTMLAttributeNames.in: Switched to
2030         our custom format.
2031         * html/HTMLTagNames.in: Ditto.
2032         * svg/svgattrs.in: Ditto.
2033         * svg/svgtags.in: Ditto.
2034         * svg/xlinkattrs.in: Ditto.
2035         * xml/xmlattrs.in: Ditto.
2036
2037 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
2038
2039         Reviewed by Eric.
2040
2041         Bug 19588: CRASH doing open() on destroyed window
2042         https://bugs.webkit.org/show_bug.cgi?id=19588
2043
2044         Add frame's page null check as it could have been
2045         detached from the page.
2046
2047         Test: fast/frames/crash-removed-iframe.html
2048
2049         * bindings/js/JSDOMWindowBase.cpp:
2050         (WebCore::windowProtoFuncOpen):
2051         * page/FrameTree.cpp:
2052         (WebCore::FrameTree::find):
2053
2054 2008-07-23  Dan Bernstein  <mitz@apple.com>
2055
2056         Reviewed by Alexey Proskuryakov.
2057
2058         - fix a leak when using hex color values in CSS variables
2059
2060         - fix CSSOM access to hex color values in variables declarations
2061
2062         Test: fast/css/variables/color-hex-test.html
2063
2064         Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
2065         CSSParserValues coming from colors in hex notation. CSSParserValues can
2066         no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
2067         used as the type for CSSValues in CSS variables declarations where the
2068         parser value was a hex color. However the type of all other color
2069         CSSValues remains CSS_RGBCOLOR.
2070
2071         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
2072         for color values in hex notation.
2073         * css/CSSParser.cpp:
2074         (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
2075         * css/CSSParserValues.cpp:
2076         (WebCore::CSSParserValue::createCSSValue): Ditto.
2077         * css/CSSPrimitiveValue.cpp:
2078         (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
2079         string containing the color.
2080         (WebCore::CSSPrimitiveValue::cssText): Added support for
2081         CSS_PARSER_HEXCOLOR for when serializing variable values.
2082         (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
2083         * css/CSSPrimitiveValue.h:
2084         (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
2085
2086 2008-07-23  Beth Dakin  <bdakin@apple.com>
2087
2088         Reviewed by Dan Bernstein.
2089
2090         Fix for <rdar://problem/5997215> display: table-row-group 
2091         for :before content causes a crash
2092  
2093         The actual bug fix here is to ddd the generated content container 
2094         as a child before adding any of the generated content to the 
2095         container. There are two correctness fixes as well that deal with 
2096         style changes and correctly.
2097
2098         This patch also makes Node::diff() a static function.
2099
2100         * dom/Node.cpp:
2101         (WebCore::Node::diff):
2102         * dom/Node.h:
2103         (WebCore::Node::):
2104         (WebCore::Node::recalcStyle):
2105         * rendering/RenderContainer.cpp:
2106         (WebCore::findBeforeAfterParent):
2107         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2108         * svg/SVGUseElement.cpp:
2109         (WebCore::SVGUseElement::recalcStyle):
2110
2111 2008-07-23  Timothy Hatcher  <timothy@apple.com>
2112
2113         Updates the elements DOM tree when nodes are added or removed from
2114         the inspected document.
2115
2116         https://bugs.webkit.org/show_bug.cgi?id=6590
2117         <rdar://problem/5712921>
2118
2119         Reviewed by Adam Roben.
2120
2121         * loader/FrameLoader.cpp:
2122         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
2123         InspectorController::inspectedWindowScriptObjectCleared.
2124         * page/InspectorController.cpp:
2125         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
2126         Calls the WebInspector.inspectedWindowCleared script function.
2127         * page/InspectorController.h:
2128         * page/inspector/ElementsPanel.js:
2129         (WebInspector.ElementsPanel): Create the event listener callback wrappers.
2130         (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
2131         there are any recently modified nodes.
2132         (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
2133         Adds a check for InspectorController.isWindowVisible to prevent adding
2134         event listeners when the window isn't visible.
2135         (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
2136         (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
2137         DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
2138         (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
2139         added in _addMutationEventListeners.
2140         (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
2141         again to reinstate the listners if the document changed or window cleared them.
2142         (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
2143         _mutationMonitoredWindows and call _addMutationEventListeners.
2144         (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
2145         _mutationMonitoredWindows and call _removeMutationEventListeners.
2146         (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
2147         _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
2148         clear _mutationMonitoredWindows.
2149         (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
2150         to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
2151         (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
2152         (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
2153         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
2154         _updateModifiedNodes on a zero timeout.
2155         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
2156         the recentlyModifiedNodes array and call updateChildren on all the parent
2157         elements that had changes. Only calls updateChildren once per parent element.
2158         (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
2159         false if the nodes are the same. Return true if the nodes are the same while
2160         looking at ancestor frame elements. THis use to return false, which was incorrect.
2161         (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
2162         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
2163         onpopulate and changed to rebuild the children elements by adding new children,
2164         moving existing children and removed old children.
2165         (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
2166         call registerMutationEventListeners to track any mutations.
2167         * page/inspector/inspector.js:
2168         (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
2169         * page/inspector/treeoutline.js:
2170         (TreeElement.prototype.get hasChildren): Return _hasChildren.
2171         (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
2172         (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
2173         (TreeElement.prototype.expand): Fix an exception that can happen if expand is
2174         called before _attach.
2175         * WebCore/manual-tests/inspector/dom-mutation.html: Added.
2176         * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
2177         * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
2178
2179 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2180
2181         Fix an exception that occurred when double clicking the closing tag
2182         of an element in the DOM tree.
2183
2184         Reviewed by Anders Carlsson.
2185
2186         * page/inspector/ElementsPanel.js:
2187         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
2188         element.ondblclick.
2189
2190 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2191
2192         Fix a regression where elements in subframes would not be revealed
2193         or selected when inspected from the context menu. This was caused by
2194         JavaScript equality is not being true for JSInspectedObjectWrappers
2195         of the same node wrapped with different global ExecStates. This change
2196         adds a helper function that uses isSameNode to compare wrapped nodes.
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=19377
2199
2200         Reviewed by Adam Roben.
2201
2202         * page/inspector/ElementsPanel.js:
2203         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
2204         to compare nodes.
2205         (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
2206         (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
2207         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
2208         (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
2209         (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
2210         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
2211         * page/inspector/treeoutline.js:
2212         (TreeOutline.prototype.findTreeElement): Add an equal argument
2213         to accept a functions to compare two representedObjects. Defaults
2214         to strict equal if not supplied. All current clients pass objectsAreSame.
2215         * page/inspector/utilities.js:
2216         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
2217         to compare nodes.
2218         (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
2219         (Element.prototype.query): Use the ownerDocument of the node, not document.
2220         (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
2221         it exists on both objects.
2222         (isAncestorNode): Use objectsAreSame to compare nodes.
2223         (firstCommonNodeAncestor): Ditto.
2224         (traverseNextNode): Ditto.
2225
2226 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2227
2228         Added InspectorController.isWindowVisible to the JavaScript class
2229         for use in an upcoming change. This will allow the Inspector to not
2230         perform selective actions while the window is hidden.
2231
2232         Reviewed by Adam Roben.
2233
2234         * page/InspectorController.cpp:
2235         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
2236         (WebCore::InspectorController::windowScriptObjectAvailable): Add
2237         the isWindowVisible function to the JavaScript class.
2238
2239 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2240
2241         Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
2242         for efficiency of callers that know the index of the child. This
2243         will be used in an upcoming change.
2244
2245         Reviewed by Adam Roben.
2246
2247         * page/inspector/treeoutline.js:
2248         (TreeOutline._removeChildAtIndex): Renamed from _removeChild
2249         and modified to take an index.
2250         (TreeOutline._removeChild): Call _removeChildAtIndex with the
2251         child index found using indexOf.
2252         (TreeOutline.prototype.removeChildAtIndex): Added. Calls
2253         TreeOutline._removeChildAtIndex.
2254         (TreeElement.prototype.removeChildAtIndex): Ditto.
2255
2256 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2257
2258         Fixes a regression where TreeOutline.findTreeElement would
2259         return the parent TreeElement of the representedObject instead
2260         of the TreeElement for the representedObject. Regressed with the
2261         fix for bug 19164.
2262
2263         Reviewed by Adam Roben.
2264
2265         * page/inspector/treeoutline.js:
2266         (TreeOutline.prototype.findTreeElement): When performing a slow search,
2267         do a final search for representedObject instead of returning item, which
2268         is the parent of representedObject.
2269
2270 2008-07-23  Adele Peterson  <adele@apple.com>
2271
2272         Reviewed by Adam.
2273
2274         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
2275
2276         * WebCore.base.exp: Added symbols.
2277         * page/Chrome.cpp:
2278         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
2279         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
2280         * page/ChromeClient.h:
2281         * page/Settings.cpp:
2282         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
2283         (WebCore::Settings::setShouldPaintCustomScrollbars):
2284         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
2285         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
2286         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
2287         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
2288         * platform/win/PlatformScrollBarSafari.cpp:
2289         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
2290         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
2291         (WebCore::ScrollbarControlStateFromThemeState): ditto.
2292         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
2293          Added new code to paint the custom scrollbars if necessary.
2294         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
2295
2296 2008-07-23  Sam Weinig  <sam@webkit.org>
2297
2298         Reviewed by Anders Carlsson.
2299
2300         Cleanup and pack the member variables in Node.
2301
2302         * bindings/js/JSNodeCustom.cpp:
2303         (WebCore::JSNode::mark):
2304         * dom/Attr.cpp:
2305         (WebCore::Attr::Attr):
2306         * dom/Attr.h:
2307         (WebCore::Attr::specified):
2308         (WebCore::Attr::setSpecified):
2309         * dom/ContainerNode.cpp:
2310         (WebCore::ContainerNode::setFocus):
2311         * dom/Document.cpp:
2312         (WebCore::Document::adoptNode):
2313         * dom/Element.cpp:
2314         (WebCore::Element::~Element):
2315         (WebCore::Element::rareData):
2316         (WebCore::Element::createRareData):
2317         * dom/Element.h:
2318         (WebCore::Element::hasRareData):
2319         (WebCore::Element::setHasRareData):
2320         * dom/Node.h:
2321         (WebCore::Node::setIsLink):
2322         (WebCore::Node::inSubtreeMark):
2323         (WebCore::Node::setInSubtreeMark):
2324         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
2325         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
2326         * html/HTMLAnchorElement.cpp:
2327         (WebCore::HTMLAnchorElement::supportsFocus):
2328         (WebCore::HTMLAnchorElement::isFocusable):
2329         (WebCore::HTMLAnchorElement::defaultEventHandler):
2330         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2331         (WebCore::HTMLAnchorElement::isLiveLink):
2332         * html/HTMLImageElement.cpp:
2333         (WebCore::HTMLImageElement::parseMappedAttribute):
2334         * html/HTMLInputElement.cpp:
2335         (WebCore::HTMLInputElement::setInputType):
2336         * html/HTMLTableElement.cpp:
2337         (WebCore::HTMLTableElement::attach):
2338         * svg/SVGAElement.cpp:
2339         (WebCore::SVGAElement::svgAttributeChanged):
2340         (WebCore::SVGAElement::defaultEventHandler):
2341
2342 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
2343
2344         Reviewed by Adele.
2345
2346         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
2347
2348         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
2349
2350         * platform/graphics/win/QTMovieWin.cpp:
2351         (QTMovieWinPrivate::QTMovieWinPrivate):
2352         (QTMovieWinPrivate::~QTMovieWinPrivate):
2353         (QTMovieWinPrivate::task):
2354         (QTMovieWinPrivate::createMovieController):
2355         (QTMovieWinPrivate::createGWorld):
2356         (QTMovieWinPrivate::setSize):
2357         (QTMovieWinPrivate::deleteGWorld):
2358         (QTMovieWin::play):
2359         (QTMovieWin::pause):
2360         (QTMovieWin::setRate):
2361         (QTMovieWin::setCurrentTime):
2362         (QTMovieWin::load):
2363
2364 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
2365
2366         Reviewed by Adele.
2367
2368         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
2369         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
2370         Unless either flags is turned on there is no change to the code for video frame drawing.
2371
2372         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2373         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2374         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2375         (WebCore::MediaPlayerPrivate::play):
2376         (WebCore::MediaPlayerPrivate::pause):
2377         (WebCore::MediaPlayerPrivate::didEnd):
2378         (WebCore::MediaPlayerPrivate::repaint):
2379         (WebCore::MediaPlayerPrivate::paint):
2380         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2381         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2382         (WebCore::MediaPlayerPrivate::play):
2383         (WebCore::MediaPlayerPrivate::pause):
2384         (WebCore::MediaPlayerPrivate::didEnd):
2385         (WebCore::MediaPlayerPrivate::paint):
2386         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
2387         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2388
2389 2008-07-23  Adele Peterson  <adele@apple.com>
2390
2391         Reviewed by Sam.
2392
2393         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
2394
2395         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
2396         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
2397         * platform/graphics/GraphicsContext.h:
2398         (WebCore::): Added InterpolationQuality enum.
2399         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
2400         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
2401         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
2402         * platform/graphics/cg/GraphicsContextCG.cpp:
2403         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
2404         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
2405         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
2406         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
2407
2408 2008-07-23  Sam Weinig  <sam@webkit.org>
2409
2410         Reviewed by Anders Carlsson.
2411
2412         Remove extraneous allocations by using equalIgnoringCase rather than
2413         String::lower.
2414
2415         * dom/StyledElement.cpp:
2416         (WebCore::StyledElement::addCSSColor):
2417         * html/HTMLCollection.cpp:
2418         (WebCore::HTMLCollection::checkForNameMatch):
2419         * html/HTMLFormCollection.cpp:
2420         (WebCore::HTMLFormCollection::getNamedFormItem):
2421         * html/HTMLLinkElement.cpp:
2422         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2423         * html/HTMLObjectElement.cpp:
2424         (WebCore::HTMLObjectElement::containsJavaApplet):
2425         * html/PreloadScanner.cpp:
2426         (WebCore::PreloadScanner::emitCSSRule):
2427         * loader/FrameLoader.cpp:
2428         (WebCore::FrameLoader::createJavaAppletWidget):
2429         * page/DOMSelection.cpp:
2430         (WebCore::DOMSelection::modify):
2431         * rendering/RenderPartObject.cpp:
2432         (WebCore::RenderPartObject::updateWidget):
2433
2434 2008-07-23  Maxime Britto  <britto@apple.com>
2435
2436         Reviewed by Adam Roben.
2437
2438         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
2439         Add a check for the m_page member value before asking for page()->mainFrame()
2440
2441         * page/EventHandler.cpp:
2442         (WebCore::EventHandler::stopAutoscrollTimer):
2443
2444 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
2445
2446        Reviewed by Adele.
2447
2448        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
2449
2450        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
2451        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
2452
2453         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2454         (WebCore::MediaPlayerPrivate::load):
2455         (WebCore::MediaPlayerPrivate::updateStates):
2456         (WebCore::MediaPlayerPrivate::setVisible):
2457
2458 2008-07-22  Maxime Britto  <britto@apple.com>
2459
2460         Reviewed by John Sullivan.
2461
2462         <rdar://problem/6083116>
2463         When pan-scrolling, Back then Forward causes pan-scrolling to start again
2464
2465         * page/Frame.cpp:
2466         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
2467         * loader/FrameLoader.cpp:
2468         (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
2469
2470 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
2471
2472         Reviewed by Oliver Hunt and Sam Weinig.
2473
2474         Next step toward putting doubles in registers: Prepare the Register class
2475         and its clients for registers that don't contain JSValue*s.
2476         
2477 2008-07-22  Sam Weinig  <sam@webkit.org>
2478
2479         Reviewed by Mark Rowe.
2480
2481         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
2482         Add additional support for JPEG and GIF for toDataURL encoding canvases.
2483
2484         * platform/MIMETypeRegistry.cpp:
2485         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2486         * platform/graphics/cg/ImageBufferCG.cpp:
2487         (WebCore::utiFromMIMEType):
2488
2489 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
2490
2491         Reviewed by Dave Hyatt.
2492
2493         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
2494         Test: accessibility/internal-link-anchors2.html
2495
2496         * page/AccessibilityRenderObject.cpp:
2497         (WebCore::AccessibilityRenderObject::internalLinkElement):
2498
2499 2008-07-22  Anders Carlsson  <andersca@apple.com>
2500
2501         Reviewed by Adam.
2502
2503         Allocate the empty StringImpl from the heap.
2504         
2505         * platform/text/StringImpl.cpp:
2506         (WebCore::StringImpl::empty):
2507
2508 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
2509
2510         Reviewed by Tim.
2511
2512         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
2513         view (19228)
2514         - Implement UI for Heavy (Bottom Up) view.
2515
2516         * English.lproj/localizedStrings.js:
2517         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
2518         profile from a profile to the Web Inspector's JavaScript.
2519         (WebCore::getHeavyProfileCallback):
2520         (WebCore::getTreeProfileCallback):
2521         (WebCore::ProfileClass):
2522         * page/inspector/ProfileView.js: Implement the dropdown for changing
2523         profile views.
2524         * page/inspector/inspector.css:
2525
2526 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
2527
2528         Reviewed by Adam Roben.
2529
2530         <rdar://problem/5955602> WebKit should support charset name x-windows-949
2531
2532         Test: fast/encoding/char-decoding.html
2533
2534         * platform/text/TextCodecICU.cpp:
2535         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
2536         Firefox compatibility.
2537
2538 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
2539
2540         Reviewed by Alexey Proskuryakov.
2541
2542         New test to check that arrays fail gracefully (throw an out of memory exception)
2543         when the vector grows to large.
2544
2545         * manual-tests/array-out-of-memory.html: Added.
2546
2547 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
2548
2549         Reviewed by Dan Bernstein.
2550
2551         https://bugs.webkit.org/show_bug.cgi?id=20117
2552         setBaseAndExtent fails to reverse the current selection
2553
2554         Test: editing/selection/setBaseAndExtent-revert-selection.html
2555
2556         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
2557
2558 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
2559
2560         Reviewed by Sam Weinig.
2561
2562         Bug 19919: Add selectors' string parsing in CSSParser
2563         https://bugs.webkit.org/show_bug.cgi?id=19919
2564
2565         No functional change.
2566
2567         * css/CSSGrammar.y: Added entry for parsing only a selector.
2568         * css/CSSParser.cpp:
2569         (WebCore::CSSParser::CSSParser):
2570         (WebCore::CSSParser::parseSelector):
2571         * css/CSSParser.h: Added m_floatingSelector to hold the
2572         Selector parsed in parseSelector.
2573
2574         * css/tokenizer.flex: Added "@-webkit-selector" token.
2575         * dom/Node.cpp:
2576         (WebCore::Node::querySelector):
2577         (WebCore::Node::querySelectorAll): Switched to parseSelector
2578         method.
2579
2580 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
2581
2582         Reviewed by Adele.
2583
2584         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
2585
2586         * platform/graphics/win/QTMovieWin.cpp:
2587         (initializeSupportedTypes): Do a Quicktime version minimum version check.
2588         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
2589
2590 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
2591
2592         Reviewed by Adele.
2593
2594         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
2595
2596         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
2597         so that everything starts back up normally when the page is retrieved from the cache.
2598
2599 2008-07-21  Sam Weinig  <sam@webkit.org>
2600
2601         Reviewed by Mark Rowe.
2602
2603         Remove unused interface declaration.
2604
2605         * platform/network/mac/ResourceHandleMac.mm:
2606
2607 2008-07-21  Mark Rowe  <mrowe@apple.com>
2608
2609         Reviewed by Sam Weinig.
2610
2611         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
2612
2613         * Configurations/Version.xcconfig:
2614         * Info.plist:
2615
2616 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
2617
2618         Reviewed by Adele.
2619
2620         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
2621
2622         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
2623         * platform/graphics/MediaPlayer.h:
2624         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
2625         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
2626
2627 2008-07-21  Anders Carlsson  <andersca@apple.com>
2628
2629         Reviewed by Jon.
2630
2631         Don't allow requests to be made when the document loader is stopping all loaders.
2632
2633         * plugins/PluginView.cpp:
2634         (WebCore::PluginView::load):
2635
2636 2008-07-20  Maxime Britto  <britto@apple.com>
2637
2638         Reviewed by John Sullivan.
2639
2640         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
2641         Accelerate and enhance the smoothness of the pan scrollling.
2642
2643         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
2644         * rendering/RenderLayer.cpp: 
2645         (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
2646
2647 2008-07-18  David Hyatt  <hyatt@apple.com>
2648
2649         Change the cached clip rects to not assume they should be infinite when the root layer has been
2650         shifted as the result of a transformation.
2651
2652         Reviewed by Maciej
2653
2654         Added fast/transforms/overflow-with-transform.html
2655
2656         * rendering/RenderLayer.cpp:
2657         (WebCore::RenderLayer::calculateClipRects):
2658
2659 2008-07-21  Rob Buis  <buis@kde.org>
2660
2661         Reviewed by Mitz.
2662
2663         https://bugs.webkit.org/show_bug.cgi?id=19966
2664         CSS variables crash when using hex notation for colors
2665
2666         Support hex colors as values for the css variables.
2667
2668         Test: fast/css/variables/color-hex-test.html
2669
2670         * css/CSSParserValues.cpp:
2671         (WebCore::CSSParserValue::createCSSValue):
2672         * css/CSSPrimitiveValue.cpp:
2673         (WebCore::CSSPrimitiveValue::parserValue):
2674         * css/CSSVariablesRule.cpp:
2675
2676 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
2677
2678         Reviewed by Holger.
2679
2680         Fix drawing of windowless plugins on Windows with the Qt port by
2681         avoiding the reset of the translation of the HDC to 0, 0.
2682
2683         * plugins/win/PluginViewWin.cpp:
2684         (WebCore::PluginView::paint):
2685
2686 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
2687
2688         Reviewed by Holger.
2689
2690         Fix rendering of transparent windowless netscape plugins by passing
2691         the right conversion parameter to QPixmap::fromWinHBITMAP when
2692         converting from HBITMAP to QPixmap.
2693
2694         * platform/graphics/qt/GraphicsContextQt.cpp:
2695         (WebCore::GraphicsContext::releaseWindowsContext):
2696
2697 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
2698
2699         Reviewed by Holger.
2700
2701         In the implementation of getValue for NPNVnetscapeWindow treat
2702         windowHandleForPlatformWidget on the return value of
2703         containingWindow() to receive the correct HWND for the Qt port.
2704
2705         * plugins/win/PluginViewWin.cpp:
2706         (WebCore::PluginView::getValue):
2707
2708 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
2709
2710         Reviewed by Holger.
2711
2712         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
2713         a QWidget. This can happen on page/view destruction for example.
2714
2715         * plugins/win/PluginViewWin.cpp:
2716         (windowHandleForPlatformWidget):
2717
2718 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
2719
2720         Touch file to force rebuild for vsprops change.
2721
2722         * WebCorePrefix.h:
2723
2724 2008-07-20  Sam Weinig  <sam@webkit.org>
2725
2726         Remove extra space Oliver Hunt left in.
2727
2728         * page/Console.cpp:
2729         (WebCore::Console::reportException):
2730         (WebCore::Console::reportCurrentException):
2731
2732 2008-07-20  Oliver Hunt  <oliver@apple.com>
2733
2734         Reviewed by Dan Bernstein.
2735
2736         Bug 19757: Crash when an ondragstart handler hides the element
2737         <https://bugs.webkit.org/show_bug.cgi?id=19757>
2738
2739         The solution to this is problem is just to null check the renderer
2740         immediately before launching the system drag, and terminate the
2741         drag if the renderer is gone.
2742
2743         * page/EventHandler.cpp:
2744         (WebCore::EventHandler::handleDrag):
2745
2746 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
2747
2748         Reviewed by Oliver.
2749
2750         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
2751
2752         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
2753         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
2754
2755         * svg/SVGPointList.cpp:
2756         (WebCore::SVGPointList::valueAsString):
2757         * svg/SVGPointList.h:
2758         (WebCore::SVGPointList::create):
2759         * svg/SVGPolyElement.cpp:
2760         (WebCore::SVGPolyElement::SVGPolyElement):
2761         (WebCore::SVGPolyElement::svgAttributeChanged):
2762         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
2763         * svg/SVGPolyElement.h:
2764
2765 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
2766
2767         Reviewed by Oliver.
2768
2769         Cleanup JSSVGPODTypeWrapper code.
2770
2771         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
2772                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
2773                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
2774
2775         No functional changes.
2776
2777         * bindings/js/JSSVGMatrixCustom.cpp:
2778         (WebCore::JSSVGMatrix::multiply):
2779         (WebCore::JSSVGMatrix::inverse):
2780         (WebCore::JSSVGMatrix::translate):
2781         (WebCore::JSSVGMatrix::scale):
2782         (WebCore::JSSVGMatrix::scaleNonUniform):
2783         (WebCore::JSSVGMatrix::rotate):
2784         (WebCore::JSSVGMatrix::rotateFromVector):
2785         (WebCore::JSSVGMatrix::flipX):
2786         (WebCore::JSSVGMatrix::flipY):
2787         (WebCore::JSSVGMatrix::skewX):
2788         (WebCore::JSSVGMatrix::skewY):
2789         * bindings/js/JSSVGPODTypeWrapper.h:
2790         (WebCore::JSSVGDynamicPODTypeWrapper::create):
2791         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
2792         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
2793         (WebCore::JSSVGStaticPODTypeWrapper::create):
2794         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
2795         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
2796         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
2797         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
2798         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
2799         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
2800         (WebCore::PODTypeWrapperCacheInfo::operator==):
2801         (WebCore::PODTypeWrapperCacheInfoHash::hash):
2802         (WebCore::PODTypeWrapperCacheInfoHash::equal):
2803         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
2804         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
2805         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
2806         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
2807         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2808         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
2809         * bindings/js/JSSVGPointListCustom.cpp:
2810         (WebCore::finishGetter):
2811         (WebCore::finishSetter):
2812         (WebCore::finishSetterReadOnlyResult):
2813         (WebCore::JSSVGPointList::initialize):
2814         (WebCore::JSSVGPointList::insertItemBefore):
2815         (WebCore::JSSVGPointList::replaceItem):
2816         (WebCore::JSSVGPointList::appendItem):
2817         * bindings/js/JSSVGTransformListCustom.cpp:
2818         (WebCore::finishGetter):
2819         (WebCore::finishSetter):
2820         (WebCore::finishSetterReadOnlyResult):
2821         (WebCore::JSSVGTransformList::initialize):
2822         (WebCore::JSSVGTransformList::getItem):
2823         (WebCore::JSSVGTransformList::insertItemBefore):
2824         (WebCore::JSSVGTransformList::replaceItem):
2825         (WebCore::JSSVGTransformList::removeItem):
2826         (WebCore::JSSVGTransformList::appendItem):
2827         * bindings/scripts/CodeGeneratorJS.pm:
2828
2829 2008-07-19  Oliver Hunt  <oliver@apple.com>
2830
2831         Reviewed by Mark Rowe.
2832
2833         Bug 15979: Console logs in a database callback lose line number information
2834         <https://bugs.webkit.org/show_bug.cgi?id=15979>
2835
2836         The problem was that there were multiple versions of the logic to
2837         log an exception to the console, many of which were incorrect.  We
2838         resolve this by making one single shared reportException method,
2839         which handles the exceptions correctly.
2840
2841         This improves fidelity of callback errors, and ensures that
2842         exceptions thrown in timer callbacks correctly report line numbers,
2843         etc.
2844
2845         Test: fast/js/exceptions-thrown-in-callbacks.html
2846
2847         * bindings/js/JSCustomSQLStatementCallback.cpp:
2848         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2849         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2850         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2851         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2852         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2853         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2854         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2855         * bindings/js/JSCustomVoidCallback.cpp:
2856         (WebCore::JSCustomVoidCallback::handleEvent):
2857         * bindings/js/JSCustomXPathNSResolver.cpp:
2858         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2859         * bindings/js/JSEventListener.cpp:
2860         (WebCore::JSAbstractEventListener::handleEvent):
2861         * bindings/js/ScheduledAction.cpp:
2862         (WebCore::ScheduledAction::execute):
2863         * bindings/js/ScriptController.cpp:
2864         (WebCore::ScriptController::evaluate):
2865         * bindings/objc/WebScriptObject.mm:
2866         (WebCore::addExceptionToConsole):
2867         * page/Console.cpp:
2868         (WebCore::Console::reportException):
2869         * page/Console.h:
2870
2871 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
2872
2873         Rubber stamped by Oliver.
2874
2875         Another attempt to fix the win build.
2876
2877         * svg/SVGAnimatedProperty.h:
2878
2879 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
2880
2881         Reviewed by David Kilzer.
2882
2883         Fix high CPU usage on testmyiphone.com.
2884
2885         - Made the logic for determining when to stop looking for meta charset more strainghtforward.
2886         Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
2887         bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
2888         offending tag was seen at any point before).
2889
2890         - The above change made one of our regression tests fail, because it had its <meta>
2891         declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
2892
2893         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
2894
2895         - Moved a check for XML content type out of the loop.
2896
2897         * loader/TextResourceDecoder.cpp:
2898         (WebCore::TextResourceDecoder::checkForHeadCharset): 
2899
2900 2008-07-20  Oliver Hunt  <oliver@apple.com>
2901
2902         Reviewed by NOBODY (build fix).
2903
2904         Attempt to fix windows build
2905
2906         * svg/SVGAnimatedProperty.h:
2907
2908 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
2909
2910         Reviewed by Oliver & parts by Eric.
2911
2912         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
2913
2914         Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
2915         Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
2916
2917         * dom/Element.cpp:
2918         (WebCore::Element::attributes):
2919         (WebCore::Element::getAttribute):
2920         (WebCore::Element::hasAttributes):
2921         * dom/Element.h:
2922         (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
2923         * svg/SVGAElement.cpp:
2924         (WebCore::SVGAElement::SVGAElement):
2925         * svg/SVGAElement.h:
2926         * svg/SVGAltGlyphElement.h:
2927         * svg/SVGAnimatedProperty.h: Added.
2928         * svg/SVGAnimatedTemplate.h:
2929         (WebCore::lookupOrCreateWrapper):
2930         * svg/SVGAnimationElement.h:
2931         * svg/SVGCircleElement.cpp:
2932         (WebCore::SVGCircleElement::SVGCircleElement):
2933         * svg/SVGCircleElement.h:
2934         * svg/SVGClipPathElement.cpp:
2935         (WebCore::SVGClipPathElement::SVGClipPathElement):
2936         * svg/SVGClipPathElement.h:
2937         * svg/SVGComponentTransferFunctionElement.cpp:
2938         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2939         * svg/SVGComponentTransferFunctionElement.h:
2940         * svg/SVGCursorElement.cpp:
2941         (WebCore::SVGCursorElement::SVGCursorElement):
2942         * svg/SVGCursorElement.h:
2943         * svg/SVGDefsElement.h:
2944         (WebCore::SVGDefsElement::contextElement):
2945         * svg/SVGElement.cpp:
2946         (WebCore::SVGElement::updateAnimatedSVGAttribute):
2947         * svg/SVGElement.h:
2948         (WebCore::SVGElement::supplementalTransform):
2949         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
2950         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
2951         (WebCore::SVGElement::addSVGPropertySynchronizer):
2952         * svg/SVGEllipseElement.cpp:
2953         (WebCore::SVGEllipseElement::SVGEllipseElement):
2954         * svg/SVGEllipseElement.h:
2955         * svg/SVGExternalResourcesRequired.cpp:
2956         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
2957         * svg/SVGExternalResourcesRequired.h:
2958         * svg/SVGFEBlendElement.cpp:
2959         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2960         * svg/SVGFEBlendElement.h:
2961         * svg/SVGFEColorMatrixElement.cpp:
2962         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2963         * svg/SVGFEColorMatrixElement.h:
2964         * svg/SVGFEComponentTransferElement.cpp:
2965         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2966         * svg/SVGFEComponentTransferElement.h:
2967         * svg/SVGFECompositeElement.cpp:
2968         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2969         * svg/SVGFECompositeElement.h:
2970         * svg/SVGFEDiffuseLightingElement.cpp:
2971         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2972         * svg/SVGFEDiffuseLightingElement.h:
2973         * svg/SVGFEDisplacementMapElement.cpp:
2974         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2975         * svg/SVGFEDisplacementMapElement.h:
2976         * svg/SVGFEFloodElement.h:
2977         * svg/SVGFEGaussianBlurElement.cpp:
2978         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2979         * svg/SVGFEGaussianBlurElement.h:
2980         * svg/SVGFEImageElement.cpp:
2981         (WebCore::SVGFEImageElement::SVGFEImageElement):
2982         * svg/SVGFEImageElement.h:
2983         * svg/SVGFELightElement.cpp:
2984         (WebCore::SVGFELightElement::SVGFELightElement):
2985         * svg/SVGFELightElement.h:
2986         (WebCore::SVGFELightElement::contextElement):
2987         * svg/SVGFEMergeElement.h:
2988         * svg/SVGFEMergeNodeElement.cpp:
2989         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
2990         * svg/SVGFEMergeNodeElement.h:
2991         * svg/SVGFEOffsetElement.cpp:
2992         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2993         * svg/SVGFEOffsetElement.h:
2994         * svg/SVGFESpecularLightingElement.cpp:
2995         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2996         * svg/SVGFESpecularLightingElement.h:
2997         * svg/SVGFETileElement.cpp:
2998         (WebCore::SVGFETileElement::SVGFETileElement):
2999         * svg/SVGFETileElement.h:
3000         * svg/SVGFETurbulenceElement.cpp:
3001         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3002         * svg/SVGFETurbulenceElement.h:
3003         * svg/SVGFilterElement.cpp:
3004         (WebCore::SVGFilterElement::SVGFilterElement):
3005         * svg/SVGFilterElement.h:
3006         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3007         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3008         * svg/SVGFilterPrimitiveStandardAttributes.h:
3009         * svg/SVGFitToViewBox.cpp:
3010         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
3011         * svg/SVGFitToViewBox.h:
3012         * svg/SVGFontElement.h:
3013         (WebCore::SVGFontElement::rendererIsNeeded):
3014         (WebCore::SVGFontElement::contextElement):
3015         * svg/SVGForeignObjectElement.cpp:
3016         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3017         * svg/SVGForeignObjectElement.h:
3018         * svg/SVGGElement.h:
3019         * svg/SVGGradientElement.cpp:
3020         (WebCore::SVGGradientElement::SVGGradientElement):
3021         * svg/SVGGradientElement.h:
3022         (WebCore::SVGGradientElement::contextElement):
3023         * svg/SVGImageElement.cpp:
3024         (WebCore::SVGImageElement::SVGImageElement):
3025         * svg/SVGImageElement.h:
3026         * svg/SVGLineElement.cpp:
3027         (WebCore::SVGLineElement::SVGLineElement):
3028         * svg/SVGLineElement.h:
3029         * svg/SVGLinearGradientElement.cpp:
3030         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3031         * svg/SVGLinearGradientElement.h:
3032         * svg/SVGMarkerElement.cpp:
3033         (WebCore::SVGMarkerElement::SVGMarkerElement):
3034         (WebCore::SVGMarkerElement::canvasResource):
3035         * svg/SVGMarkerElement.h:
3036         * svg/SVGMaskElement.cpp:
3037         (WebCore::SVGMaskElement::SVGMaskElement):
3038         * svg/SVGMaskElement.h:
3039         * svg/SVGPathElement.cpp:
3040         (WebCore::SVGPathElement::SVGPathElement):
3041         (WebCore::SVGPathElement::parseMappedAttribute):
3042         * svg/SVGPathElement.h:
3043         * svg/SVGPatternElement.cpp:
3044         (WebCore::SVGPatternElement::SVGPatternElement):
3045         * svg/SVGPatternElement.h:
3046         (WebCore::SVGPatternElement::contextElement):
3047         * svg/SVGPolyElement.h:
3048         * svg/SVGPreserveAspectRatio.cpp:
3049         * svg/SVGRadialGradientElement.cpp:
3050         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3051         * svg/SVGRadialGradientElement.h:
3052         * svg/SVGRectElement.cpp:
3053         (WebCore::SVGRectElement::SVGRectElement):
3054         * svg/SVGRectElement.h:
3055         * svg/SVGSVGElement.cpp:
3056         (WebCore::SVGSVGElement::SVGSVGElement):
3057         * svg/SVGSVGElement.h:
3058         * svg/SVGScriptElement.cpp:
3059         * svg/SVGScriptElement.h:
3060         * svg/SVGStopElement.cpp:
3061         (WebCore::SVGStopElement::SVGStopElement):
3062         * svg/SVGStopElement.h:
3063         * svg/SVGStyledElement.cpp:
3064         (WebCore::SVGStyledElement::SVGStyledElement):
3065         * svg/SVGStyledElement.h:
3066         * svg/SVGStyledTransformableElement.cpp:
3067         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
3068         * svg/SVGStyledTransformableElement.h:
3069         * svg/SVGSwitchElement.h:
3070         * svg/SVGSymbolElement.h:
3071         (WebCore::SVGSymbolElement::contextElement):
3072         * svg/SVGTRefElement.h:
3073         * svg/SVGTSpanElement.h:
3074         * svg/SVGTextContentElement.cpp:
3075         (WebCore::SVGTextContentElement::SVGTextContentElement):
3076         * svg/SVGTextContentElement.h:
3077         (WebCore::SVGTextContentElement::contextElement):
3078         * svg/SVGTextElement.cpp:
3079         (WebCore::SVGTextElement::SVGTextElement):
3080         * svg/SVGTextElement.h:
3081         * svg/SVGTextPathElement.cpp:
3082         (WebCore::SVGTextPathElement::SVGTextPathElement):
3083         * svg/SVGTextPathElement.h:
3084         * svg/SVGTextPositioningElement.cpp:
3085         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3086         * svg/SVGTextPositioningElement.h:
3087         * svg/SVGTransformable.h:
3088         * svg/SVGURIReference.cpp:
3089         (WebCore::SVGURIReference::SVGURIReference):
3090         * svg/SVGURIReference.h:
3091         * svg/SVGUseElement.cpp:
3092         (WebCore::SVGUseElement::SVGUseElement):
3093         * svg/SVGUseElement.h:
3094         * svg/SVGViewElement.h:
3095         * svg/SVGViewSpec.h:
3096
3097 2008-07-18  Maxime Britto  <britto@apple.com>
3098
3099         Reviewed by Adele.
3100         
3101         Fixed <rdar://problem/6049803>
3102         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
3103
3104         Test: fast/events/autoscroll-with-non-scrollable-parent.html
3105
3106         * ChangeLog:
3107         * page/EventHandler.cpp: Edited
3108         (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
3109         (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
3110         * rendering/RenderLayer.cpp:
3111         (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
3112         * rendering/RenderListBox.h:
3113         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
3114         * rendering/RenderObject.cpp:
3115         (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
3116         (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
3117         * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
3118         * rendering/RenderTextControl.h:
3119         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
3120
3121 2008-07-18  Sam Weinig  <sam@webkit.org>
3122
3123         Reviewed by Anders Carlsson.
3124
3125         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
3126
3127         - Overload XMLHttpRequests send() method to accept File tokens.
3128
3129         * bindings/js/JSXMLHttpRequestCustom.cpp:
3130         (WebCore::JSXMLHttpRequest::send): 
3131         * xml/XMLHttpRequest.cpp:
3132         (WebCore::XMLHttpRequest::send):
3133         * xml/XMLHttpRequest.h:
3134
3135 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
3136
3137         Reviewed by Cameron Zwarich.
3138         
3139         Three renames:
3140         
3141         "CallTypeNative" => "CallTypeHost"
3142         "code" => "byteCode"
3143         "generatedCode" => "generatedByteCode"
3144
3145 2008-07-18  Adele Peterson  <adele@apple.com>
3146
3147         Reviewed by Dan Bernstein.
3148
3149         I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
3150         which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
3151         This change will now check both the media element and the player to decide whether or not to make the controls persistent.
3152
3153         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
3154
3155 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3156
3157         Reviewed by mitz
3158
3159         Remove braces around single-line conditional.
3160         
3161         * css/CSSComputedStyleDeclaration.cpp:
3162         (WebCore::computedTransform):
3163
3164 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3165
3166         Reviewed by Dave Hyatt
3167
3168         getComputedStyle() for -webkit-transform should return 
3169         'none' for elements with no renderer, or those with no
3170         transform.
3171
3172         https://bugs.webkit.org/show_bug.cgi?id=20008
3173
3174         Testcase: LayoutTests/fast/css/computed-style-without-renderer
3175                   LayoutTests/fast/css/computed-style-expected.txt
3176
3177         * css/CSSComputedStyleDeclaration.cpp:
3178         (WebCore::computedTransform):
3179
3180 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3181
3182         Reviewed by Dave Hyatt
3183
3184         Fix assertion about creating Length values with percentage types
3185         when blending transforms.
3186         https://bugs.webkit.org/show_bug.cgi?id=20086
3187
3188         * rendering/style/RenderStyle.cpp:
3189         (WebCore::TranslateTransformOperation::blend):
3190
3191 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
3192
3193         Reviewed by rwlbuis@gmail.com
3194
3195         https://bugs.webkit.org/show_bug.cgi?id=19965
3196
3197         - Added "@"{ident} rule (below other @-rules) to use flex for longest match
3198           (if an earlier rule - e.g. @media - also matches then flex chooses that one
3199            however, if a longer match - e.g. @mediaall matches flex will choose that)
3200         - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
3201           in the error recovery grammar. 
3202
3203         Test: css2.1/atrule_longest_match.html
3204
3205         * ChangeLog:
3206         * css/CSSGrammar.y:
3207         * css/tokenizer.flex:
3208
3209 2008-07-17  David Hyatt  <hyatt@apple.com>
3210
3211         Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
3212         recursive (and checks for transparency layers all the way up the ancestor document chain back to
3213         the top-level frame).
3214
3215         Reviewed by Dan
3216
3217         * rendering/RenderView.cpp:
3218         (WebCore::RenderView::paintBoxDecorations):
3219
3220 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
3221
3222         REGRESSION: Can't create windowless plug-in with Flash 9
3223         https://bugs.webkit.org/show_bug.cgi?id=20070
3224
3225         Reviewed by Mark Rowe.
3226
3227         * plugins/win/PluginPackageWin.cpp:
3228         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
3229         PlatformModuleVersion constructor takes leastSig, mostSig.
3230
3231 2008-07-16  Eric Seidel  <eric@webkit.org>
3232
3233         Reviewed by mitz.
3234
3235         Attempt to make initializeATSUStyle human-readable by
3236         splitting it out into better-named static inline functions.
3237
3238         No functional changes, thus no tests.
3239
3240         * platform/graphics/mac/FontMac.mm:
3241         (WebCore::fontHasMirroringInfo):
3242         (WebCore::disableLigatures):
3243         (WebCore::initializeATSUStyle):
3244
3245 2008-07-16  Eric Seidel  <eric@webkit.org>
3246
3247         No review, build fix only.
3248
3249         Attempt to fix Mac build
3250
3251         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
3252
3253 2008-07-16  Eric Seidel  <eric@webkit.org>
3254
3255         Reviewed by mitz.
3256
3257         Make ATSULayoutParameters a real C++ class
3258         (Give it a destructor to clean up after itself)
3259         (Also use OwnArrayPtr instead of manual member cleanup)
3260
3261         * platform/graphics/mac/FontMac.mm:
3262         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
3263         (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
3264         (WebCore::overrideLayoutOperation):
3265         (WebCore::ATSULayoutParameters::initialize):
3266         (WebCore::Font::selectionRectForComplexText):
3267         (WebCore::Font::drawComplexText):
3268         (WebCore::Font::floatWidthForComplexText):
3269         (WebCore::Font::offsetForPositionForComplexText):
3270
3271 2008-07-16  Eric Seidel  <eric@webkit.org>
3272
3273         Reviewed by mitz.
3274
3275         Make ownership of copied UChar buffer clearer
3276         (and more leak-proof) by using a OwnArrayPtr.
3277
3278         No functional changes, thus no tests.
3279
3280         * platform/graphics/mac/FontMac.mm:
3281         (WebCore::copyRunForDirectionalOverrideIfNecessary):
3282         (WebCore::Font::selectionRectForComplexText):
3283         (WebCore::Font::drawComplexText):
3284         (WebCore::Font::offsetForPositionForComplexText):
3285
3286 2008-07-16  Eric Seidel  <eric@webkit.org>
3287
3288         Reviewed by Sam.
3289
3290         Split out TextRun into its own header file.
3291         Re-order members to place all bools together
3292         (to allow compilers to better pack the struct)
3293
3294         No functional changes, thus no tests.
3295
3296         * WebCore.vcproj/WebCore.vcproj:
3297         * WebCore.xcodeproj/project.pbxproj:
3298         * platform/graphics/Font.h: Moved TextRun into its own file.
3299         * platform/graphics/TextRun.h: Split out from Font.h
3300
3301 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
3302
3303         Reviewed by Dave Hyatt
3304
3305         AnimationController needs to adjust z-index in the blended
3306         style in case opacity or transform were changed by blending.
3307
3308         https://bugs.webkit.org/show_bug.cgi?id=20047
3309         
3310         Test: transitions/opacity-transition-zindex.html
3311
3312         * page/AnimationController.cpp:
3313         (WebCore::AnimationController::updateImplicitAnimations):
3314
3315 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
3316
3317         Reviewed by Sam.
3318
3319         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
3320         Prepare SVGAnimatedProperty introduction.
3321
3322         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
3323         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
3324         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
3325
3326         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
3327         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
3328         * svg/svgattrs.in: Export all SVG attributes as strings.
3329         * svg/svgtags.in: Export all SVG tags as strings.
3330         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
3331
3332 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
3333
3334         Reviewed by Eric.
3335
3336         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
3337         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
3338
3339         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
3340
3341         * GNUmakefile.am:
3342         * WebCore.pro:
3343         * WebCore.vcproj/WebCore.vcproj:
3344         * WebCore.xcodeproj/project.pbxproj:
3345         * bindings/js/JSSVGLengthCustom.cpp: Added.
3346         (WebCore::JSSVGLength::value):
3347         (WebCore::JSSVGLength::convertToSpecifiedUnits):
3348         * bindings/scripts/CodeGeneratorObjC.pm:
3349         * css/CSSCursorImageValue.cpp:
3350         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
3351         * rendering/RenderForeignObject.cpp:
3352         (WebCore::RenderForeignObject::translationForAttributes):
3353         * rendering/RenderSVGImage.cpp:
3354         (WebCore::RenderSVGImage::layout):
3355         * rendering/RenderSVGRoot.cpp:
3356         (WebCore::RenderSVGRoot::calcViewport):
3357         * rendering/RenderSVGText.cpp:
3358         (WebCore::RenderSVGText::layout):
3359         * rendering/RenderSVGViewportContainer.cpp:
3360         (WebCore::RenderSVGViewportContainer::calcViewport):
3361         * rendering/SVGCharacterLayoutInfo.cpp:
3362         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
3363         (WebCore::SVGCharacterLayoutInfo::addStackContent):
3364         * rendering/SVGCharacterLayoutInfo.h:
3365         * rendering/SVGRootInlineBox.cpp:
3366         (WebCore::SVGRootInlineBox::buildTextChunks):
3367         * svg/SVGAnimateElement.h:
3368         * svg/SVGAnimateMotionElement.h:
3369         * svg/SVGAnimateTransformElement.h:
3370         * svg/SVGAnimationElement.h:
3371         (WebCore::SVGAnimationElement::contextElement):
3372         * svg/SVGCircleElement.cpp:
3373         (WebCore::SVGCircleElement::SVGCircleElement):
3374         (WebCore::SVGCircleElement::parseMappedAttribute):
3375         (WebCore::SVGCircleElement::toPathData):
3376         * svg/SVGCursorElement.cpp:
3377         (WebCore::SVGCursorElement::SVGCursorElement):
3378         (WebCore::SVGCursorElement::parseMappedAttribute):
3379         * svg/SVGEllipseElement.cpp:
3380         (WebCore::SVGEllipseElement::SVGEllipseElement):
3381         (WebCore::SVGEllipseElement::parseMappedAttribute):
3382         (WebCore::SVGEllipseElement::toPathData):
3383         * svg/SVGFilterElement.cpp:
3384         (WebCore::SVGFilterElement::SVGFilterElement):
3385         (WebCore::SVGFilterElement::parseMappedAttribute):
3386         (WebCore::SVGFilterElement::canvasResource):
3387         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3388         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3389         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
3390         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
3391         * svg/SVGForeignObjectElement.cpp:
3392         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3393         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
3394         * svg/SVGImageElement.cpp:
3395         (WebCore::SVGImageElement::SVGImageElement):
3396         (WebCore::SVGImageElement::parseMappedAttribute):
3397         * svg/SVGLength.cpp:
3398         (WebCore::SVGLength::SVGLength):
3399         (WebCore::SVGLength::value):
3400         (WebCore::SVGLength::convertToSpecifiedUnits):
3401         (WebCore::SVGLength::PercentageOfViewport):
3402         * svg/SVGLength.h:
3403         * svg/SVGLength.idl:
3404         * svg/SVGLengthList.cpp:
3405         (WebCore::SVGLengthList::parse):
3406         * svg/SVGLengthList.h:
3407         * svg/SVGLineElement.cpp:
3408         (WebCore::SVGLineElement::SVGLineElement):
3409         (WebCore::SVGLineElement::parseMappedAttribute):
3410         (WebCore::SVGLineElement::toPathData):
3411         * svg/SVGLinearGradientElement.cpp:
3412         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3413         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
3414         * svg/SVGMarkerElement.cpp:
3415         (WebCore::SVGMarkerElement::SVGMarkerElement):
3416         (WebCore::SVGMarkerElement::parseMappedAttribute):
3417         (WebCore::SVGMarkerElement::canvasResource):
3418         * svg/SVGMaskElement.cpp:
3419         (WebCore::SVGMaskElement::SVGMaskElement):
3420         (WebCore::SVGMaskElement::parseMappedAttribute):
3421         (WebCore::SVGMaskElement::drawMaskerContent):
3422         * svg/SVGPatternElement.cpp:
3423         (WebCore::SVGPatternElement::SVGPatternElement):
3424         (WebCore::SVGPatternElement::parseMappedAttribute):
3425         (WebCore::SVGPatternElement::buildPattern):
3426         * svg/SVGRadialGradientElement.cpp:
3427         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3428         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
3429         * svg/SVGRectElement.cpp:
3430         (WebCore::SVGRectElement::SVGRectElement):
3431         (WebCore::SVGRectElement::parseMappedAttribute):
3432         (WebCore::SVGRectElement::toPathData):
3433         * svg/SVGSVGElement.cpp:
3434         (WebCore::SVGSVGElement::SVGSVGElement):
3435         (WebCore::SVGSVGElement::viewport):
3436         (WebCore::SVGSVGElement::parseMappedAttribute):
3437         (WebCore::SVGSVGElement::getCTM):
3438         (WebCore::SVGSVGElement::getScreenCTM):
3439         * svg/SVGTextContentElement.cpp:
3440         (WebCore::SVGTextContentElement::SVGTextContentElement):
3441         (WebCore::SVGTextContentElement::parseMappedAttribute):
3442         * svg/SVGTextPathElement.cpp:
3443         (WebCore::SVGTextPathElement::SVGTextPathElement):
3444         (WebCore::SVGTextPathElement::parseMappedAttribute):
3445         * svg/SVGTextPositioningElement.cpp:
3446         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
3447         * svg/SVGUseElement.cpp:
3448         (WebCore::SVGUseElement::SVGUseElement):
3449         (WebCore::SVGUseElement::parseMappedAttribute):
3450         (WebCore::SVGUseElement::buildPendingResource):
3451         (WebCore::SVGUseElement::buildInstanceTree):
3452         (WebCore::SVGUseElement::handleDeepUseReferencing):
3453         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
3454         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3455         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
3456         * svg/SVGUseElement.h:
3457         * svg/SynchronizableTypeWrapper.h:
3458         * svg/graphics/SVGImage.cpp:
3459         (WebCore::SVGImage::size):
3460
3461 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
3462
3463         Reviewed by Oliver Hunt.
3464
3465         Support for JavaScriptCore's first step toward putting doubles in
3466         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
3467
3468         * bindings/js/ScheduledAction.cpp:
3469         (WebCore::ScheduledAction::ScheduledAction):
3470
3471 2008-07-15  Maxime Britto  <britto@apple.com>
3472
3473         Reviewed by Eric.
3474
3475         https://bugs.webkit.org/show_bug.cgi?id=17589
3476         <rdar://problem/5770893>
3477         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
3478         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
3479         For the other platforms, nothing is changed but if someone want to activate this feature 
3480         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
3481
3482         * ChangeLog:
3483         * page/EventHandler.cpp:
3484         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
3485         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
3486         * platform/PlatformWheelEvent.h:
3487         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
3488         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
3489         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
3490         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
3491         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
3492         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3493         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
3494         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3495         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
3496         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3497         * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
3498         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
3499         (WebCore::ScrollView::updateScrollbars):
3500         (WebCore::ScrollView::wheelEvent):
3501         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
3502         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3503         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
3504         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3505
3506 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
3507
3508         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
3509
3510         * WebCoreSources.bkl:
3511
3512 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
3513
3514         Reviewed by Dan.
3515
3516         <rdar://problem/5620273> REGRESSION: Apparent caching between form
3517         submits twice (on Maconomy) (18401)
3518
3519         Frames did not set the createdByParser flag even when they were.
3520
3521         * html/HTMLElementFactory.cpp:
3522         (WebCore::frameConstructor):
3523         (WebCore::iframeConstructor):
3524
3525 2008-07-15  Dan Bernstein  <mitz@apple.com>
3526
3527         Reviewed by Dave Hyatt.
3528
3529         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
3530           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
3531
3532         Test: fast/reflections/inline-crash.html
3533
3534         * rendering/RenderInline.cpp:
3535         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
3536         Inline flows never have reflections.
3537
3538 2008-07-14  David Hyatt  <hyatt@apple.com>
3539
3540         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
3541         no <body> exists yet though.
3542
3543         Reviewed by Sam
3544
3545         Added fast/css/style-parsed-outside-of-head.html
3546
3547         * html/HTMLElement.cpp:
3548         (WebCore::inlineTagList):
3549
3550 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
3551
3552         Reviewed by Geoff.
3553
3554         Rename pageGroupIdentifier to profileGroup to keep mention of a
3555         pageGroup out of JavaScriptCore.
3556
3557         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3558         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
3559         * bindings/js/ScriptController.cpp:
3560         (WebCore::ScriptController::clear):
3561         (WebCore::ScriptController::initScript):
3562         * history/CachedPage.cpp:
3563         (WebCore::CachedPage::restore):
3564
3565 2008-07-15  Adam Roben  <aroben@apple.com>
3566
3567         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
3568
3569         <rdar://6059127>
3570
3571         Reviewed by John Sullivan.
3572
3573         * platform/graphics/win/FontCGWin.cpp:
3574         (WebCore::Font::drawGlyphs): Pass the result of
3575         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
3576         * platform/win/WebCoreTextRenderer.cpp:
3577         (WebCore::WebCoreSetShouldUseFontSmoothing):
3578         (WebCore::WebCoreShouldUseFontSmoothing):
3579         Added.
3580         * platform/win/WebCoreTextRenderer.h:
3581
3582 2008-07-15  Adam Roben  <aroben@apple.com>
3583
3584         Windows build fix
3585
3586         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
3587         to the project.
3588
3589 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3590
3591         Build fix for the Gtk+ and Qt platform.
3592
3593         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
3594         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
3595
3596 2008-07-14  Dan Bernstein  <mitz@apple.com>
3597
3598         - Tiger build fix
3599
3600         * platform/mac/WidgetMac.mm:
3601         (WebCore::Widget::paint):
3602
3603 2008-07-14  Dan Bernstein  <mitz@apple.com>
3604
3605         Reviewed by John Sullivan.
3606
3607         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
3608
3609         * platform/mac/WidgetMac.mm:
3610         (WebCore::Widget::paint): Changed to account for the case of drawing
3611         into a bitmap context that is not a window's backing store. In that
3612         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
3613         drawing to the correct context, after setting up the right transform
3614         on it. For subframes, additional code ensures that the scroll view will
3615         not paint the background behind a transparent frame.
3616
3617 2008-07-14  chris fleizach  <cfleizach@apple.com>
3618
3619         Reviewed by Beth Dakin
3620
3621         <rdar://problem/6038106> AXChildren returned for this web area is null
3622         Accessibility of image maps needed to be updated
3623
3624         Tests: accessibility/image-map1.html
3625                accessibility/image-map2.html
3626
3627         * WebCore.xcodeproj/project.pbxproj:
3628         * page/AXObjectCache.cpp:
3629         (WebCore::AXObjectCache::get):
3630         * page/AccessibilityImageMapLink.cpp: Added.
3631         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
3632         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
3633         (WebCore::AccessibilityImageMapLink::create):
3634         (WebCore::AccessibilityImageMapLink::parentObject):
3635         (WebCore::AccessibilityImageMapLink::anchorElement):
3636         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
3637         (WebCore::AccessibilityImageMapLink::title):
3638         (WebCore::AccessibilityImageMapLink::elementRect):
3639         (WebCore::AccessibilityImageMapLink::size):
3640         * page/AccessibilityImageMapLink.h: Added.
3641         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
3642         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
3643         (WebCore::AccessibilityImageMapLink::roleValue):
3644         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
3645         (WebCore::AccessibilityImageMapLink::isLink):
3646         * page/AccessibilityListBoxOption.h:
3647         * page/AccessibilityObject.cpp:
3648         (WebCore::AccessibilityObject::selectedChildren):
3649         (WebCore::AccessibilityObject::visibleChildren):
3650         * page/AccessibilityObject.h:
3651         (WebCore::):
3652         * page/AccessibilityRenderObject.cpp:
3653         (WebCore::AccessibilityRenderObject::parentObject):
3654         (WebCore::AccessibilityRenderObject::isAnchor):
3655         (WebCore::AccessibilityRenderObject::anchorElement):
3656         (WebCore::AccessibilityRenderObject::helpText):
3657         (WebCore::AccessibilityRenderObject::intValue):
3658         (WebCore::AccessibilityRenderObject::stringValue):
3659         (WebCore::AccessibilityRenderObject::title):
3660         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3661         (WebCore::AccessibilityRenderObject::elementRect):
3662         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3663         (WebCore::AccessibilityRenderObject::roleValue):
3664         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3665         (WebCore::AccessibilityRenderObject::addChildren):
3666         * page/AccessibilityRenderObject.h:
3667         * page/mac/AccessibilityObjectWrapper.mm:
3668         (convertToNSArray):
3669         (RoleEntry::):
3670
3671 2008-07-14  Sam Weinig  <sam@webkit.org>
3672
3673         Rubber-stamped by David Hyatt.
3674
3675         Remove unused ExceptionCode parameter from compareDocumentPosition.
3676
3677         * dom/Document.cpp:
3678         (WebCore::Document::addStyleSheetCandidateNode):
3679         * dom/Node.cpp:
3680         (WebCore::Node::compareDocumentPosition):
3681         * dom/Node.h:
3682         * dom/Node.idl:
3683
3684 2008-07-14  David Hyatt  <hyatt@apple.com>
3685
3686         Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
3687
3688         Reviewed by Sam
3689
3690         Added fast/css/style-outside-head.html
3691         Added fast/css/link-outside-head.html
3692
3693         * dom/Document.cpp:
3694         (WebCore::Document::addStyleSheetCandidateNode):
3695         (WebCore::Document::removeStyleSheetCandidateNode):
3696         (WebCore::Document::recalcStyleSelector):
3697         * dom/Document.h:
3698         * dom/Node.cpp:
3699         (WebCore::Node::compareDocumentPosition):
3700         * dom/ProcessingInstruction.cpp:
3701         (WebCore::ProcessingInstruction::checkStyleSheet):
3702         (WebCore::ProcessingInstruction::insertedIntoDocument):
3703         (WebCore::ProcessingInstruction::removedFromDocument):
3704         (WebCore::ProcessingInstruction::finishParsingChildren):
3705         * dom/ProcessingInstruction.h:
3706         (WebCore::ProcessingInstruction::setCreatedByParser):
3707         * dom/StyleElement.cpp:
3708         (WebCore::StyleElement::removedFromDocument):
3709         * dom/XMLTokenizer.cpp:
3710         (WebCore::XMLTokenizer::startElementNs):
3711         (WebCore::XMLTokenizer::processingInstruction):
3712         (WebCore::):
3713         * html/HTMLElementFactory.cpp:
3714         (WebCore::linkConstructor):
3715         * html/HTMLLinkElement.cpp:
3716         (WebCore::HTMLLinkElement::HTMLLinkElement):
3717         (WebCore::HTMLLinkElement::insertedIntoDocument):
3718         (WebCore::HTMLLinkElement::removedFromDocument):
3719         (WebCore::HTMLLinkElement::finishParsingChildren):
3720         * html/HTMLLinkElement.h:
3721         (WebCore::HTMLLinkElement::setCreatedByParser):
3722         * html/HTMLStyleElement.cpp:
3723         (WebCore::HTMLStyleElement::insertedIntoDocument):
3724         (WebCore::HTMLStyleElement::removedFromDocument):
3725         * svg/SVGStyleElement.cpp:
3726         (WebCore::SVGStyleElement::insertedIntoDocument):
3727         (WebCore::SVGStyleElement::removedFromDocument):
3728
3729 2008-07-14  Sam Weinig  <sam@webkit.org>
3730
3731         Reviewed by Mark Rowe.
3732
3733         Sort interface extended attributes to appease *the* Mark Rowe.
3734
3735         * page/DOMWindow.idl:
3736
3737 2008-07-14  Anders Carlsson  <andersca@apple.com>
3738
3739         Reviewed by Geoff.
3740
3741         <rdar://problem/6073974>
3742         https://bugs.webkit.org/show_bug.cgi?id=18106
3743         The "onscroll" event bubbles, which is inconsistent with Firefox and IE
3744
3745         Don't bubble the scroll event.
3746         
3747         * rendering/RenderLayer.cpp:
3748         (WebCore::RenderLayer::scrollToOffset):
3749         * rendering/RenderListBox.cpp:
3750         (WebCore::RenderListBox::valueChanged):
3751
3752 2008-07-14  Adele Peterson  <adele@apple.com>
3753
3754         Reviewed by Geoff.
3755
3756         Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
3757
3758         The web server on this particular piece of hardware doesn't handle "text/xml" in the 
3759         Accept header if the headers are sent in a certain order.  Safari 2 used to send "*/*" in 
3760         the Accept header.  Firefox 2 sent "text/xml" but in an acceptable order for the web 
3761         server.  And Firefox 3 doesn't send "text/xml" at all in the Accept header since it 
3762         is being deprecated in favor of "application/xml".  We decided that the best solution is 
3763         to match Firefox 3 and stop sending "text/xml" in the Accept header.
3764
3765         No test.  There appears to be no way to get the raw headers in the original order in perl/php.
3766
3767         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
3768
3769 2008-07-14  Sam Weinig  <sam@webkit.org>
3770
3771         Reviewed by Adele Peterson.
3772
3773         Fix for <rdar://problem/5769819>
3774
3775         Test: http/tests/security/cross-frame-access-object-prototype.html
3776
3777         * bindings/js/JSDOMWindowCustom.cpp:
3778         (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
3779         (WebCore::JSDOMWindow::defineGetter): Ditto.
3780         (WebCore::JSDOMWindow::defineSetter): Ditto.
3781         (WebCore::JSDOMWindow::lookupGetter): Ditto.
3782         (WebCore::JSDOMWindow::lookupSetter): Ditto.
3783         * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
3784         of all the core JSObject functionality.
3785         * page/DOMWindow.idl: Override remaining core JSObject functionality,
3786         to inject security checks.
3787
3788 2008-07-14  Adam Roben  <aroben@apple.com>
3789
3790         Windows build fixes
3791
3792         * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
3793         path.
3794         * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
3795         bindings to regenerate.
3796         * loader/FTPDirectoryDocument.cpp:
3797         * loader/FTPDirectoryParser.cpp:
3798         Fixed some duplicate macro definitions now that we're including
3799         pthread.h again.
3800
3801 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
3802
3803         Reviewed by Kevin McCullough.
3804
3805         Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
3806         global data.
3807
3808         * bindings/js/JSDOMWindowBase.cpp:
3809         (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
3810
3811 2008-07-14  Simon Hausmann  <hausmann@webkit.org>
3812
3813         Reviewed by Holger.
3814
3815         Make listDirectory() in the Qt port work with empty namefilters.
3816         Don't include . and .. to avoid scanning the parent directory.
3817
3818         * platform/qt/FileSystemQt.cpp:
3819         (WebCore::listDirectory):
3820
3821 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
3822
3823         Reviewed by Geoff Garen.
3824
3825         Eliminate per-thread JavaScript global data instance support and make arbitrary
3826         global data/global object combinations possible.
3827
3828         * bindings/js/JSDOMWindowBase.h:
3829         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
3830         WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
3831
3832         * bindings/js/JSDOMWindowShell.cpp:
3833         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
3834         (WebCore::JSDOMWindowShell::operator new):
3835         * bindings/js/ScriptController.cpp:
3836         (WebCore::ScriptController::clear):
3837         * bindings/scripts/CodeGeneratorJS.pm:
3838         Pass commonJSGlobalData() as an allocator.
3839
3840         * bridge/c/c_utility.cpp:
3841         (KJS::Bindings::identifierFromNPIdentifier):
3842         * bridge/jni/jni_class.cpp:
3843         (JavaClass::JavaClass):
3844         * history/CachedPage.cpp:
3845         (WebCore::CachedPage::restore):
3846         * storage/Database.cpp:
3847         (WebCore::Database::Database):
3848         * bindings/js/GCController.cpp:
3849         (WebCore::collect):
3850         (WebCore::GCController::gcTimerFired):
3851         (WebCore::GCController::garbageCollectNow):
3852         Use JSDOMWindow::commonJSGlobalData().
3853
3854         * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
3855         it need to be accesible outside of JSC).
3856
3857         * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
3858
3859 2008-07-14  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3860
3861         Reviewed by Simon.
3862
3863         MinGW build fixes
3864
3865         * plugins/win/PluginDatabaseWin.cpp:
3866         * plugins/win/PluginViewWin.cpp:
3867         (WebCore::PluginView::handleKeyboardEvent):
3868         (WebCore::PluginView::handleMouseEvent):
3869         * svg/SynchronizableTypeWrapper.h:
3870         (WebCore::::SynchronizableTypeWrapper):
3871
3872 2008-07-13  Sam Weinig  <sam@webkit.org>
3873
3874         Reviewed by Oliver Hunt and Dan Bernstein.
3875
3876         Fix for <rdar://problem/5888127>
3877         https://bugs.webkit.org/show_bug.cgi?id=18699
3878
3879         - Match Firefox in restricting the size of custom cursor to images to
3880           128x128 px.
3881         - Restrict custom cursor hotspots to values within the bounds of the
3882           cursor image.
3883
3884         * manual-tests/cursor-max-size.html: Added.
3885         * page/EventHandler.cpp:
3886         (WebCore::EventHandler::selectCursor):
3887
3888 2008-07-13  Kevin Ollivier  <kevino@theolliviers.com>
3889
3890         wx build fix.
3891
3892         * platform/graphics/wx/AffineTransformWx.cpp:
3893         (WebCore::AffineTransform::a):
3894         (WebCore::AffineTransform::b):
3895         (WebCore::AffineTransform::c):
3896         (WebCore::AffineTransform::d):
3897         (WebCore::AffineTransform::e):
3898         (WebCore::AffineTransform::f):
3899
3900 2008-07-12  Dan Bernstein  <mitz@apple.com>
3901
3902         Reviewed by Oliver Hunt.
3903
3904         - fix https://bugs.webkit.org/show_bug.cgi?id=18088
3905           <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
3906
3907         Test: fast/block/basic/min-pref-width-nowrap-floats.html
3908
3909         * rendering/RenderBlock.cpp:
3910         (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
3911         float's width was added to the minimum preferred widths instead of just
3912         acting as a lower bound on the minimum preferred width (since the float
3913         can always be pushed down to be the only thing on the line).
3914
3915 2008-07-12  David D. Kilzer  <ddkilzer@webkit.org>
3916
3917         Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
3918
3919         <https://bugs.webkit.org/show_bug.cgi?id=13067>
3920
3921         Reviewed by Darin.
3922
3923         Test: WebCore/manual-tests/hash-ref.html
3924
3925         * loader/FrameLoader.cpp:
3926         (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
3927              FrameLoadType newLoadType, const String& frameName, Event* event,
3928              PassRefPtr<FormState> formState)): Extracted logic into
3929         shouldScrollToAnchor() for determining when to scroll to an anchor.
3930
3931         (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
3932              PassRefPtr<FormState> formState)): Added check for
3933         shouldScrollToAnchor() to catch cases when the user manually added a
3934         hash ref to the URL in the address bar.  This is the bug fix.
3935
3936         (WebCore::FrameLoader::shouldReload): Simplified early return logic.
3937         We only need to check if the destinationURL has a hash ref, not the
3938         currentURL, per the comment in the method.
3939
3940         (WebCore::FrameLoader::shouldScrollToAnchor): Added.  Logic extracted
3941         from the FrameLoader::load(const KURL& newURL, ...) method.  Fixed order
3942         of arguments to shouldReload() since they were backwards, although the
3943         previous logic in the method made this irrelevant.
3944
3945         (WebCore::FrameLoader::loadItem): Removed call to shouldReload().  Since
3946         we're navigating to a HistoryItem, it doesn't make sense to ask whether
3947         we need to reload the page or not.  Additionally, the logic at the end
3948         of shouldReload() is also checked in urlsMatchItem(), so there's no need
3949         to call the method.  This fixed the fast/css/target-fragment-match.html
3950         test from continuously reloading after the other changes.
3951
3952         * loader/FrameLoader.h:
3953         (WebCore::FrameLoader::shouldScrollToAnchor): Added.
3954
3955         * manual-tests/hash-ref.html: Added.
3956         * manual-tests/resources/hash-ref-test.html: Added.
3957
3958 2008-07-11  Stephanie Lewis  <slewis@apple.com>
3959
3960         Reviewed by Darin Adler.
3961
3962         No Functionality Changed.  Change all the leak counting code to use the new WTF leak counter class.
3963
3964         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3965         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
3966         (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
3967         * bindings/js/JSEventListener.cpp:
3968         (WebCore::JSEventListener::JSEventListener):
3969         (WebCore::JSEventListener::~JSEventListener):
3970         * dom/Node.cpp:
3971         (WebCore::Node::Node):
3972         (WebCore::Node::~Node):
3973         * dom/Range.cpp:
3974         (WebCore::Range::Range):
3975         (WebCore::Range::~Range):
3976         * history/CachedPage.cpp:
3977         (WebCore::CachedPage::CachedPage):
3978         (WebCore::CachedPage::~CachedPage):
3979         * loader/SubresourceLoader.cpp:
3980         (WebCore::SubresourceLoader::SubresourceLoader):
3981         (WebCore::SubresourceLoader::~SubresourceLoader):
3982         * page/Frame.cpp:
3983         (WebCore::Frame::Frame):
3984         (WebCore::Frame::~Frame):
3985         * page/Page.cpp:
3986         (WebCore::Page::Page):
3987         (WebCore::Page::~Page):
3988         * rendering/RenderObject.cpp:
3989         (WebCore::RenderObject::RenderObject):
3990         (WebCore::RenderObject::~RenderObject):
3991         * rendering/bidi.cpp:
3992         (WebCore::throw):
3993         (WebCore::BidiRun::operator delete):
3994
3995 2008-07-11  Sam Weinig  <sam@webkit.org>
3996
3997         Reviewed by Mark Rowe.
3998
3999         Update getSubStringLength and selectSubString methods exception throwing conditions
4000         based on SVG working group errata.
4001
4002         Test: svg/custom/selectSubString.html
4003
4004         * svg/SVGTextContentElement.cpp:
4005         (WebCore::SVGTextContentElement::getSubStringLength):
4006         (WebCore::SVGTextContentElement::selectSubString):
4007
4008 2008-07-11  Sam Weinig  <sam@webkit.org>
4009
4010         Reviewed by Mark Rowe.
4011
4012         We can only use the Id fast path for querySelector and querySelectorAll
4013         if the selector is purely an Id selector.
4014
4015         Test: fast/dom/SelectorAPI/id-fastpath.html
4016
4017         * dom/Node.cpp:
4018         (WebCore::Node::querySelector):
4019         * dom/SelectorNodeList.cpp:
4020         (WebCore::createSelectorNodeList):
4021
4022 2008-07-11  David Hyatt  <hyatt@apple.com>
4023
4024         Implement the DOM level 3 compareDocumentPosition method on Node.
4025
4026         Reviewed by Darin
4027
4028         * dom/Node.cpp:
4029         (WebCore::Node::compareDocumentPosition):
4030         * dom/Node.h:
4031         * dom/Node.idl:
4032
4033 2008-07-11  Brady Eidson  <beidson@apple.com>
4034
4035         Rubberstamped by Sam
4036
4037         Removed unneeded export
4038
4039         * WebCore.base.exp:
4040
4041 2008-07-11  Kevin McCullough  <kmccullough@apple.com>
4042
4043         Reviewed by Geoff.
4044
4045         <rdar://problem/6067178> REGRESSION: Start profile button in profiler
4046         now profiles inspector rather than actual page (19833)
4047         - The JSQuarantinedObjectWrapper should use the wrapped exec state
4048         so that calls to it execute in its quarantined world.
4049
4050         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4051         (WebCore::JSQuarantinedObjectWrapper::construct):
4052         (WebCore::JSQuarantinedObjectWrapper::call):
4053
4054 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
4055
4056         Reviewed by Dave Hyatt
4057
4058         StyleRareNonInheritedData needs to initialize and compare
4059         m_maskBoxImage.
4060         <https://bugs.webkit.org/show_bug.cgi?id=20005>
4061
4062         * rendering/style/RenderStyle.cpp:
4063         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
4064         (WebCore::StyleRareNonInheritedData::operator==):
4065
4066 2008-07-11  Simon Fraser  <simon.fraser@apple.com>
4067
4068         Reviewed by Dave Hyatt
4069
4070         Bug 18885: RenderLayer::enclosingPositionedAncestor() should
4071         look for transforms, since transforms create containing
4072         blocks.
4073         <https://bugs.webkit.org/show_bug.cgi?id=18885>
4074
4075         Test: fast/transforms/transform-positioned-ancestor.html
4076
4077         * rendering/RenderLayer.cpp:
4078         (WebCore::RenderLayer::stackingContext):
4079         (WebCore::RenderLayer::enclosingPositionedAncestor):
4080         (WebCore::RenderLayer::enclosingTransformedAncestor):
4081
4082 2008-07-11  Jacob Refstrup  <jacob.refstrup@hp.com>
4083
4084         Reviewed by Darin Adler
4085
4086         http://bugs.webkit.org/show_bug.cgi?id=19978
4087         GTK port always ends up with # at the end of resource URLs (and hence can't load files)
4088
4089         - Optimized KURL::removeRef() and used it rather than setRef("")
4090           which after r35040 does the wrong thing.
4091
4092         * platform/KURL.cpp:
4093         (WebCore::KURL::removeRef):
4094         * platform/network/curl/ResourceHandleManager.cpp:
4095         (WebCore::ResourceHandleManager::initializeHandle):
4096
4097 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
4098
4099         Fix the Qt/Windows build, include windows.h for HWND directly
4100         instead of implicit inclusion through Timer.h.
4101
4102         * plugins/win/PluginMessageThrottlerWin.h:
4103
4104 2008-07-11  Dan Bernstein  <mitz@apple.com>
4105
4106         Reviewed by Darin Adler.
4107
4108         - fix popularity tracking for cached resources, which regressed in r23923
4109
4110         * loader/Cache.cpp:
4111         (WebCore::Cache::requestResource): Changed to increase the access count
4112         whenever this function returns a CachedResource and the cache is
4113         enabled, instead of only when creating a new CachedResources. The
4114         incorrect behavior resulted in all resources in the cache having an
4115         access count of exactly 1 at all times.
4116         (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
4117
4118 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4119
4120         Reviewed by Simon.
4121
4122         Enable Netscape plugins for the Qt/Windows build.
4123
4124         This required various smaller fixes across a wider set of
4125         files described below.
4126
4127         * WebCore.pro: Add various windows specific files to the build.
4128         * page/Page.h: Extend the #ifdeffery for windows types to include the
4129         Qt/Windows build.
4130         * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
4131         the Qt port, as PluginViewWin.cpp uses it.
4132         * platform/graphics/qt/GraphicsContextQt.cpp:
4133         (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
4134         * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
4135         are now implemented through *Win.cpp files.
4136         * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
4137         * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
4138         (WebCore::PluginView::setFrameGeometry): Ditto.
4139         (WebCore::PluginView::PluginView): Ditto.
4140         * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
4141         which expands to HWND directly for the Qt/Windows build and
4142         PlatformWidget for the remaining platforms. That is because
4143         PlatformWidget is QWidget* for the Qt build but for the plugin
4144         window we need a native window, aka HWND.
4145         * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
4146         after config.h.
4147         * plugins/win/PluginViewWin.cpp:
4148         (windowHandleForPlatformWidget): Added a little helper function to
4149         determine the HWND from a PlatformWidget.
4150         (WebCore::registerPluginView): For the Qt port we need to set the
4151         global application instance handle here in the library, as the
4152         browser doesn't do it.
4153         (WebCore::PluginView::handleMouseEvent): Mask out
4154         ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
4155         (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
4156         manually just here to avoid compiling in IntRectWin.cpp.
4157         (WebCore::PluginView::invalidateRegion): Ditto.
4158         (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
4159         on containingWindow() to get the correct HWND for the Qt port.
4160         (WebCore::PluginView::init): Determine the parent HWND for m_window
4161         using windowHandleForPlatformWidget.
4162
4163 2008-07-11  Simon Hausmann  <hausmann@webkit.org>
4164
4165         Rubber-stamped by Holger.
4166
4167         Enable Database and Icondatabase functionality for the Qt/Windows
4168         build when building inside Qt, as we can use the builtin copy of
4169         sqlite then.
4170
4171         * WebCore.pro:
4172
4173 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4174
4175         Reviewed by Adam Roben.
4176
4177         Fix compile with MinGW since it does not like friend static function.
4178
4179         * plugins/PluginView.h:
4180         * plugins/win/PluginViewWin.cpp:
4181
4182 2008-07-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
4183
4184         Reviewed by Simon.
4185
4186         Fix Qt/Win32 build.
4187
4188         * platform/graphics/qt/GraphicsContextQt.cpp:
4189
4190 2008-07-10  Sam Weinig  <sam@webkit.org>
4191
4192         Reviewed by Oliver Hunt.
4193
4194         Add support for NSResolver to resolve namespaces for querySelector 
4195         and querySelectorAll.
4196
4197         - Namespace resolution is done after parsing by iterating over all the
4198           parts of the CSSSelector.
4199
4200         Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
4201                fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
4202
4203         * GNUmakefile.am: Updated with new files.
4204         * WebCore.pro: Ditto.
4205         * WebCore.vcproj/WebCore.vcproj: Ditto.
4206         * WebCore.xcodeproj/project.pbxproj: Ditto.
4207         * WebCoreSources.bkl: Ditto.
4208
4209         * bindings/js/JSDOMBinding.cpp:
4210         (WebCore::execStateFromNode):
4211         * bindings/js/JSDOMBinding.h:
4212         Move execStateFromNode here from NodeFilter.
4213
4214         * bindings/js/JSDocumentCustom.cpp:
4215         (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
4216         and instead create one if the argument is not undefined or null.
4217         (WebCore::JSDocument::querySelectorAll): Ditto.
4218         * bindings/js/JSDocumentFragmentCustom.cpp:
4219         (WebCore::JSDocumentFragment::querySelector): Ditto.
4220         (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
4221         * bindings/js/JSElementCustom.cpp:
4222         (WebCore::JSElement::querySelector): Ditto.
4223         (WebCore::JSElement::querySelectorAll): Ditto.
4224
4225         * bindings/js/JSNSResolver.cpp: Added.
4226         (WebCore::JSNSResolver::JSNSResolver):
4227         (WebCore::JSNSResolver::mark):