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