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