6f3916865c95c9d0b74f9ad4f83a6c0a04dec83d
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
2
3         Reviewed by Simon.
4
5         Fix the QtWebKit build to match changes in r36016
6
7         * WebCore.pro:
8         * bridge/qt/qt_instance.cpp:
9         (KJS::Bindings::QtInstance::getRuntimeObject):
10         * bridge/qt/qt_runtime.cpp:
11         (KJS::Bindings::convertQVariantToValue):
12         (KJS::Bindings::QtConnectionObject::execute):
13
14 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
15
16         Reviewed by Simon.
17
18         Re-enable support for user stylesheets in QtWebKit
19         
20         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
21         code path, which allows us to keep API support for
22         loading user style sheets from remote URLs.
23         
24         As part of the change UserStyleSheetLoader.cpp/h was
25         moved from WebCore/loader/mac to WebCore/loader.
26
27         * WebCore.pro:
28         * WebCore.xcodeproj/project.pbxproj:
29         * dom/Document.h:
30         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
31         (UserStyleSheetLoader::UserStyleSheetLoader):
32         (UserStyleSheetLoader::~UserStyleSheetLoader):
33         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
34         * page/qt/FrameQt.cpp:
35         (WebCore::Frame::setUserStyleSheetLocation):
36         (WebCore::Frame::setUserStyleSheet):
37
38 2008-09-04  Alp Toker  <alp@nuanti.com>
39
40         Reviewed by Eric.
41
42         Remove left-over QT and CAIRO platform checks.
43
44         * html/CanvasRenderingContext2D.cpp:
45
46 2008-09-04  Eric Seidel  <eric@webkit.org>
47
48         Reviewed by Mark Rowe.
49
50         Fix leak of TextMetrics due to over-ref as see on buildbot.
51
52         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
53
54 2008-09-04  Dan Bernstein  <mitz@apple.com>
55
56         Reviewed by Dave Hyatt.
57
58         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
59           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
60
61         * rendering/RenderBlock.cpp:
62         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
63         positioned movement only case, call
64         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
65         layout if that fails.
66         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
67         * rendering/RenderBox.h:
68         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
69         layoutDoingPositionedMovementOnly to this, and made this function
70         check if the width changed. If it did, return, leaving the object
71         dirty. The caller can then call layout(). The width can change even
72         in the "positioned movement only" case if the object is shrink-to-fit
73         and the available width constraint is met. (This was the case in the
74         bug).
75         * rendering/RenderObject.h:
76         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
77         Renamed layoutDoingPositionedMovementOnly() to this.
78
79 2008-09-03  Eric Seidel  <eric@webkit.org>
80
81         No review, build fix only.
82
83         Attempt to fix the Qt build.
84
85         * WebCore.pro: add page/animation to include path
86
87 2008-09-03  Mark Rowe  <mrowe@apple.com>
88
89         Mac build fix.  Correctly detect whether dashboard support is enabled.
90
91         * DerivedSources.make:
92
93 2008-09-03  Eric Seidel  <eric@webkit.org>
94
95         Reviewed by Sam.
96
97         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
98
99         * Configurations/WebCore.xcconfig: add missing ENABLE_*
100         * config.h: add rules for V8_BINDINGS
101
102 2008-09-03  Eric Seidel  <eric@webkit.org>
103
104         Reviewed by Sam.
105
106         https://bugs.webkit.org/show_bug.cgi?id=20620
107
108         Add #if USE(JSC) around KJS dependencies
109         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
110         1. Most platforms have it on anyway
111         2. V8 is going to want to share some of that code
112         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
113
114         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
115         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
116         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
117         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
118         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
119         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
120         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
121         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
122         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
123         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
124         * platform/text/AtomicString.cpp: add USE(JSC)
125         * platform/text/AtomicString.h: add USE(JSC)
126         * platform/text/PlatformString.h: add USE(JSC)
127         * platform/text/String.cpp: add USE(JSC)
128         * platform/text/StringImpl.cpp: add USE(JSC)
129         * platform/text/StringImpl.h: add USE(JSC)
130
131 2008-09-03  Dean McNamee  <deanm@chromium.org>
132
133         Reviewed by Darin Adler.
134
135         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
136         Bug 20511: Remove static initializers on Windows
137
138         Avoid static initializers on Windows by forcing Visual C++ to put
139         all static initializers in a code segment that is never executed.
140
141         * config.h:
142         * css/MediaFeatureNames.cpp:
143         * dom/EventNames.cpp:
144         * dom/QualifiedName.cpp:
145         * dom/make_names.pl:
146         * platform/StaticConstructors.h:
147         * platform/text/AtomicString.cpp:
148
149 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
150
151         Reviewed by Dave Hyatt.
152
153         Make FontCairo draw TextStroke and TextFill separately.
154
155         [CAIRO] draw TextFill and TextStroke separately.
156         [https://bugs.webkit.org/show_bug.cgi?id=20631]
157
158         * platform/graphics/cairo/FontCairo.cpp:
159         (WebCore::Font::drawGlyphs):
160
161 2008-09-03  Peter Kasting  <zerodpx@gmail.com>
162
163         Reviewed by Dave Hyatt.
164
165         https://bugs.webkit.org/show_bug.cgi?id=19663
166         Account for paint and timer lag when animating images.  Also pretend
167         that images whose animations were paused (by becoming invisible)
168         continued to animate, by "catching up" to the correct frame when they're
169         shown again.
170
171         * platform/graphics/BitmapImage.cpp:
172         (WebCore::BitmapImage::BitmapImage):
173         (WebCore::BitmapImage::startAnimation):
174         (WebCore::BitmapImage::advanceAnimation):
175         (WebCore::BitmapImage::internalAdvanceAnimation):
176         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
177         * platform/graphics/BitmapImage.h:
178         * platform/graphics/cairo/ImageCairo.cpp:
179         (WebCore::BitmapImage::draw):
180         * platform/graphics/cg/ImageCG.cpp:
181         (WebCore::BitmapImage::draw):
182         * platform/graphics/qt/ImageQt.cpp:
183         (WebCore::BitmapImage::draw):
184         * platform/graphics/wx/ImageWx.cpp:
185         (WebCore::BitmapImage::draw):
186
187 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
188
189         Reviewed by Tim.
190
191         Remove the rest of the "zombie" code from the profiler.
192         - There is no longer a need for the ProfilerClient callback mechanism.
193
194         * page/Console.cpp: 
195         (WebCore::Console::Console):
196         (WebCore::Console::profile):
197         (WebCore::Console::profileEnd): Move the variables from the header to
198         here since we don't have to wait for a callback to use them.
199         * page/Console.h:
200         * page/InspectorController.cpp:
201         (WebCore::InspectorController::startUserInitiatedProfiling):
202         (WebCore::InspectorController::stopUserInitiatedProfiling):
203         * page/InspectorController.h:
204
205 2008-09-03  Ada Chan  <adachan@apple.com>
206
207         Windows build fix.
208
209         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
210
211 2008-09-01  Dean Jackson  <dino@apple.com>
212
213         Reviewed by Dave Hyatt.
214
215         https://bugs.webkit.org/show_bug.cgi?id=20594
216         Add DOM interfaces for WebKitCSSKeyframeRule
217         and WebKitCSSKeyframesRule.
218
219         TEST: LayoutTests/css3/keyframes-rule.html
220
221         * css/WebKitCSSKeyframeRule.idl: Added
222         * css/WebKitCSSKeyframesRule.idl: Added
223
224         * bindings/js/JSCSSRuleCustom.cpp:
225         (WebCore::toJS):
226             Add return of new JS Keyframe rules
227         * bindings/objc/DOMInternal.h:
228             Include new internal header
229
230         * DerivedSources.make:
231         * GNUmakefile.am:
232         * WebCore.pro:
233         * WebCore.vcproj/WebCore.vcproj:
234         * WebCore.xcodeproj/project.pbxproj:
235         * WebCoreSources.bkl:
236             Build configs for new files
237
238 2008-09-03  Adam Roben  <aroben@apple.com>
239
240         Windows build fix
241
242         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
243         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
244         convenience/consistency.
245
246 2008-09-03  Adele Peterson  <adele@apple.com>
247
248         Build fix.
249
250         * WebCore.vcproj/WebCore.vcproj:
251
252 2008-09-03  David Hyatt  <hyatt@apple.com>
253
254         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
255
256         Reviewed by Darin (ages ago)
257
258         Added fast/block/float/clamped-right-float.html
259
260         * rendering/RenderBlock.cpp:
261         (WebCore::RenderBlock::positionNewFloats):
262
263 2008-09-02  David Hyatt  <hyatt@apple.com>
264
265         Add support for canvas text drawing APIs.
266
267         Reviewed by olliej
268
269         Tests added as fast/canvas/canvas-text-*.html
270
271         * DerivedSources.make:
272         * WebCore.xcodeproj/project.pbxproj:
273         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
274         (WebCore::JSCanvasRenderingContext2D::fillText):
275         (WebCore::JSCanvasRenderingContext2D::strokeText):
276         * css/CSSStyleSelector.cpp:
277         (WebCore::CSSStyleSelector::initForStyleResolve):
278         (WebCore::CSSStyleSelector::applyPropertyToStyle):
279         * css/CSSStyleSelector.h:
280         * html/CanvasRenderingContext2D.cpp:
281         (WebCore::CanvasRenderingContext2D::State::State):
282         (WebCore::CanvasRenderingContext2D::font):
283         (WebCore::CanvasRenderingContext2D::setFont):
284         (WebCore::CanvasRenderingContext2D::textAlign):
285         (WebCore::CanvasRenderingContext2D::setTextAlign):
286         (WebCore::CanvasRenderingContext2D::textBaseline):
287         (WebCore::CanvasRenderingContext2D::setTextBaseline):
288         (WebCore::CanvasRenderingContext2D::fillText):
289         (WebCore::CanvasRenderingContext2D::strokeText):
290         (WebCore::CanvasRenderingContext2D::measureText):
291         (WebCore::CanvasRenderingContext2D::drawTextInternal):
292         (WebCore::CanvasRenderingContext2D::accessFont):
293         * html/CanvasRenderingContext2D.h:
294         * html/CanvasRenderingContext2D.idl:
295         * html/TextMetrics.h: Added.
296         (WebCore::TextMetrics::create):
297         (WebCore::TextMetrics::width):
298         (WebCore::TextMetrics::setWidth):
299         (WebCore::TextMetrics::TextMetrics):
300         * html/TextMetrics.idl: Added.
301         * platform/graphics/Font.cpp:
302         (WebCore::Font::lineGap):
303         * platform/graphics/Font.h:
304         * platform/graphics/GraphicsContext.cpp:
305         (WebCore::GraphicsContext::drawBidiText):
306         * platform/graphics/GraphicsContext.h:
307         * platform/graphics/GraphicsTypes.cpp:
308         (WebCore::textAlignName):
309         (WebCore::parseTextAlign):
310         (WebCore::textBaselineName):
311         (WebCore::parseTextBaseline):
312         * platform/graphics/GraphicsTypes.h:
313         (WebCore::):
314
315 2008-09-03  John Sullivan  <sullivan@apple.com>
316
317         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
318
319         Fixed by Darin, reviewed by me
320
321         * page/animation/AnimationBase.cpp:
322         (WebCore::AnimationBase::propertiesEqual):
323         added ensurePropertyMap() to this static function
324         (WebCore::AnimationBase::getPropertyAtIndex):
325         ditto
326         (WebCore::AnimationBase::getNumProperties):
327         ditto
328
329 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
330
331         Reviewed by Darin and Tim.
332
333         Remove most of the "zombie" mode from the profiler.  Next we will need
334         to remove the client callback mechanism in profiles.
335         - These changes are a result of changes to JSCore.
336
337         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
338         * page/Console.cpp:
339         (WebCore::retrieveLastCaller):
340         (WebCore::Console::profileEnd):
341         * page/InspectorController.cpp:
342         (WebCore::InspectorController::stopUserInitiatedProfiling):
343
344 2008-09-03  Adele Peterson  <adele@apple.com>
345
346         Reviewed by Darin Adler.
347
348         Test: fast/forms/search-display-none-cancel-button.html
349
350         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
351
352         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
353
354         * rendering/RenderTextControl.cpp:
355         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
356         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
357         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
358         (WebCore::RenderTextControl::createSubtreeIfNeeded):
359         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
360         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
361         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
362         (WebCore::RenderTextControl::calcHeight): ditto.
363         (WebCore::RenderTextControl::nodeAtPoint): ditto.
364         (WebCore::RenderTextControl::layout): ditto.
365         (WebCore::RenderTextControl::calcPrefWidths): ditto.
366         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
367         (WebCore::RenderTextControl::clientPaddingRight): ditto.
368
369         * rendering/TextControlInnerElements.cpp:
370         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
371         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
372         (WebCore::TextControlInnerElement::attachInnerElement): Added.
373          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
374         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
375         * rendering/TextControlInnerElements.h:
376
377 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
378
379         Reviewed by Maciej.
380
381         Elminate SQLiteAuthorizer class.
382
383         * WebCore.xcodeproj/project.pbxproj:
384         * WebCore.vcproj/WebCore.vcproj:
385         * GNUmakefile.am
386         Removed SQLiteAuthorizer.h.
387
388         * platform/sql/SQLiteAuthorizer.cpp:
389         * platform/sql/SQLiteAuthorizer.h: Removed.
390         * platform/sql/SQLiteDatabase.cpp:
391         (WebCore::SQLiteDatabase::authorizerFunction):
392         (WebCore::SQLiteDatabase::setAuthorizer):
393         * platform/sql/SQLiteDatabase.h:
394         * storage/DatabaseAuthorizer.h:
395         (WebCore::DatabaseAuthorizer::create):
396         (WebCore::DatabaseAuthorizer::createView):
397         (WebCore::DatabaseAuthorizer::createTempView):
398         (WebCore::DatabaseAuthorizer::dropView):
399         (WebCore::DatabaseAuthorizer::dropTempView):
400         (WebCore::DatabaseAuthorizer::allowSelect):
401         (WebCore::DatabaseAuthorizer::allowReindex):
402         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
403
404 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
405
406         Reviewed by Mark Rowe.
407
408         WebKitGtk build fix.
409
410         * GNUmakefile.am:
411         * page/animation/AnimationController.h:
412
413 2008-09-02  Robert Blaut  <webkit@blaut.biz>
414
415         Reviewed by Geoff Garen.
416
417         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
418         Misplaced elements should not close DL lists.
419
420         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
421
422         * html/HTMLParser.cpp:
423         (WebCore::HTMLParser::handleError):
424
425 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
426
427         Reviewed by Darin Adler.
428
429         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
430         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
431
432         We would inappropriately interpret and apply an invalid CSS "color" property
433         when the value is a predefined color preceded by a '#' symbol.  For example,
434         style="color:#gray;" would apply the color gray when it should not.
435
436         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
437         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
438         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
439         an ignorable token.
440
441         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
442         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
443         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
444
445         Test: css1/color_and_background/invalid_color.html
446
447         * css/CSSGrammar.y:
448
449 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
450
451         Reviewed by Darin Adler.
452
453         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
454         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
455
456         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
457
458         Test: css3/khtml-background-size-0x0-bmp.html
459
460         * rendering/RenderBox.cpp:
461         (WebCore::RenderBox::repaintLayerRectsForImage):
462
463 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
464
465         Reviewed by Eric Seidel.
466
467         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
468         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
469
470         The function checkForOrphanedUnits() would change the length of a list whose size was
471         was already determined before the call to checkForOrphanedUnits was made.  Later in
472         the caller, the old size was being used for boundary management.
473
474         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
475         calling function, before the size of the list is determined.
476
477         Test: fast/css/orphaned_units_crash.html
478
479         * css/CSSParser.cpp:
480         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
481
482 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
483
484         Reviewed by Darin Adler.
485
486         Fallback on invalid fill or stroke styles in Canvas was
487         transparent black. Changed it to last valid style.
488
489         Canvas fillStyle() and strokeStyle() needs fallback
490         https://bugs.webkit.org/show_bug.cgi?id=20474
491
492         Tests: fast/canvas/canvas-invalid-fillstyle.html
493                fast/canvas/canvas-invalid-strokestyle.html
494
495         * html/CanvasStyle.cpp:
496         (WebCore::CanvasStyle::applyStrokeColor):
497         (WebCore::CanvasStyle::applyFillColor):
498
499 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
500
501         Reviewed by Darin Adler.
502
503         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
504         Updated drawImage() in canvas to match the current specification.
505
506         Test: fast/canvas/drawImage-with-negative-source-destination.html
507
508         * html/CanvasRenderingContext2D.cpp:
509         (WebCore::normalizeRect):
510         (WebCore::CanvasRenderingContext2D::drawImage):
511
512 2008-08-26  Mark Rowe  <mrowe@apple.com>
513
514         Reviewed by Darin Adler.
515
516         <rdar://problem/5768210> Switch back to the system version of SQLite
517
518         Use the system version of SQLite when it is new enough to provide the functionality
519         that WebCore requires.
520
521         * Configurations/Base.xcconfig:
522         * Configurations/DebugRelease.xcconfig:
523         * Configurations/WebCore.xcconfig:
524
525 2008-09-02  Dan Bernstein  <mitz@apple.com>
526
527         - build fix
528
529         * page/animation/AnimationBase.h:
530
531 2008-09-02  Chris Marrin  <cmarrin@apple.com>
532
533         Reviewed by Dave Hyatt.
534
535         AnimationController.cpp should be split into separate files
536         https://bugs.webkit.org/show_bug.cgi?id=20604
537         
538         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
539         recommendation of Dave Hyatt.
540
541         * GNUmakefile.am:
542         * WebCore.pro:
543         * WebCore.vcproj/WebCore.vcproj:
544         * WebCore.xcodeproj/project.pbxproj:
545         * WebCoreSources.bkl:
546             Build files.
547         
548         * page/AnimationController.cpp: Removed.
549         * page/AnimationController.h: Removed.
550         * page/animation: Added.
551         * page/animation/AnimationBase.cpp: Added.
552         * page/animation/AnimationBase.h: Added.
553         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
554         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
555         * page/animation/CompositeAnimation.cpp: Added.
556         * page/animation/CompositeAnimation.h: Added.
557         * page/animation/ImplicitAnimation.cpp: Added.
558         * page/animation/ImplicitAnimation.h: Added.
559         * page/animation/KeyframeAnimation.cpp: Added.
560         * page/animation/KeyframeAnimation.h: Added.
561
562 2008-09-02  Dan Bernstein  <mitz@apple.com>
563
564         - release build fix
565
566         * platform/graphics/cg/GraphicsContextCG.cpp:
567         (WebCore::calculateDrawingMode):
568
569 2008-09-02  Timothy Hatcher  <timothy@apple.com>
570
571         Make console functions log the correct resource URL and
572         line number for where the call originated.
573
574         https://bugs.webkit.org/show_bug.cgi?id=17234
575         <rdar://problem/5732837>
576
577         Reviewed by Kevin McCullough.
578
579         Test: manual-tests/inspector/console-call-line-numbers.html
580
581         * bindings/js/JSConsoleCustom.cpp:
582         (WebCore::JSConsole::count): Call the impl.
583         (WebCore::JSConsole::timeEnd): Ditto.
584         * manual-tests/inspector/console-call-line-numbers.html: Added.
585         * manual-tests/inspector/resources/script-console-calls.js: Added.
586         * page/Console.cpp:
587         (WebCore::retrieveLastCaller): Helper to get the URL and line.
588         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
589         line number to pass to addMessageToConsole.
590         (WebCore::Console::info): Ditto.
591         (WebCore::Console::log): Ditto.
592         (WebCore::Console::assertCondition): Ditto.
593         (WebCore::Console::count): Ditto.
594         (WebCore::Console::timeEnd): Ditto.
595         (WebCore::Console::warn): Ditto.
596         * page/Console.h:
597         * page/Console.idl: Make count and timeEnd custom.
598
599 2008-09-02  Timothy Hatcher  <timothy@apple.com>
600
601         Removed IDL files from WebCore's framework resources.
602
603         * WebCore.xcodeproj/project.pbxproj:
604
605 2008-09-02  Dan Bernstein  <mitz@apple.com>
606
607         Reviewed by Dave Hyatt.
608
609         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
610
611         * html/HTMLParser.cpp:
612         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
613         cap on the number of consecutive identical residual style tags to
614         reopen.
615         (WebCore::HTMLParser::popBlock): Ditto.
616
617 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
618
619         Reviewed by Adam Roben.
620
621         A little database quota management cleanup.
622
623         * storage/OriginQuotaManager.cpp:
624         (WebCore::OriginQuotaManager::OriginQuotaManager):
625         (WebCore::OriginQuotaManager::lock):
626         (WebCore::OriginQuotaManager::unlock):
627         (WebCore::OriginQuotaManager::trackOrigin):
628         (WebCore::OriginQuotaManager::tracksOrigin):
629         (WebCore::OriginQuotaManager::addDatabase):
630         (WebCore::OriginQuotaManager::removeDatabase):
631         (WebCore::OriginQuotaManager::removeOrigin):
632         (WebCore::OriginQuotaManager::markDatabase):
633         (WebCore::OriginQuotaManager::diskUsage):
634         * storage/OriginQuotaManager.h:
635         Changed to assert that a lock is taken more directly and reliably. Removed comments about
636         main/background threads, as this is likely to stop being true with synchronous Database calls
637         being made on worker threads.
638
639         * storage/OriginUsageRecord.cpp:
640         (WebCore::OriginUsageRecord::OriginUsageRecord):
641         (WebCore::OriginUsageRecord::addDatabase):
642         (WebCore::OriginUsageRecord::removeDatabase):
643         (WebCore::OriginUsageRecord::markDatabase):
644         (WebCore::OriginUsageRecord::diskUsage):
645         * storage/OriginUsageRecord.h:
646         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
647         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
648         can be replaced with a single boolean for OriginUsageRecord.
649         Added assertions for string parameters being unshared.
650
651
652 2008-09-01  Adam Barth  <abarth@webkit.org>
653
654         Reviewed by Sam Weinig.
655
656         https://bugs.webkit.org/show_bug.cgi?id=19760
657
658         Make granting LoadLocalResources conditional on a policy.
659
660         * WebCore.base.exp:
661         * dom/Document.cpp:
662         (WebCore::Document::initSecurityContext):
663         * loader/FrameLoader.cpp:
664         (WebCore::FrameLoader::setLocalLoadPolicy):
665         (WebCore::FrameLoader::restrictAccessToLocal):
666         * loader/FrameLoader.h:
667         (WebCore::FrameLoader::):
668         * platform/SecurityOrigin.cpp:
669         (WebCore::SecurityOrigin::grantLoadLocalResources):
670         * platform/SecurityOrigin.h:
671
672 2008-09-01  Dean Jackson  <dino@apple.com>
673
674         Reviewed by Sam Weinig.
675
676         https://bugs.webkit.org/show_bug.cgi?id=20571
677         Make sure Window object can assign Animation/Transition event
678         listeners via attributes.
679
680         Also added a bunch of transition event tests, although
681         only transition-end-event-window is directly relevant to this patch.
682
683         (WebCore::JSDOMWindowBase::put):
684
685         Tests: transitions/transition-end-event-all-properties.html
686                transitions/transition-end-event-attributes.html
687                transitions/transition-end-event-container.html
688                transitions/transition-end-event-left.html
689                transitions/transition-end-event-multiple-01.html
690                transitions/transition-end-event-multiple-02.html
691                transitions/transition-end-event-multiple-03.html
692                transitions/transition-end-event-multiple-04.html
693                transitions/transition-end-event-nested.html
694                transitions/transition-end-event-transform.html
695                transitions/transition-end-event-window.html
696
697 2008-09-01  Dean Jackson  <dino@apple.com>
698
699         Reviewed by Sam Weinig
700
701         Code styling cleanup.
702
703         * bindings/js/JSDOMWindowBase.cpp:
704         (WebCore::JSDOMWindowBase::getValueProperty):
705         (WebCore::JSDOMWindowBase::put):
706
707 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
708
709         Reviewed by Darin Adler.
710
711         First cut at inline caching for access to vanilla JavaScript properties.
712
713         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
714         to WebCore classes, and PutPropertySlot& arguments to put functions.
715
716         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
717         inline caching for global properties, so global assignment can be optimized.
718
719         * ForwardingHeaders/kjs/StructureID.h: Added.
720         * bindings/js/JSDOMBinding.h:
721         (WebCore::DOMObject::DOMObject):
722         * bindings/js/JSDOMWindowBase.cpp:
723         (WebCore::JSDOMWindowBase::put):
724         * bindings/js/JSDOMWindowBase.h:
725         * bindings/js/JSDOMWindowCustom.h:
726         (WebCore::JSDOMWindow::customPut):
727         * bindings/js/JSDOMWindowShell.cpp:
728         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
729         (WebCore::JSDOMWindowShell::put):
730         * bindings/js/JSDOMWindowShell.h:
731         * bindings/js/JSEventTargetBase.h:
732         (WebCore::JSEventTargetBase::put):
733         * bindings/js/JSEventTargetNode.h:
734         (WebCore::JSEventTargetNode::put):
735         * bindings/js/JSHTMLAppletElementCustom.cpp:
736         (WebCore::JSHTMLAppletElement::customPut):
737         * bindings/js/JSHTMLEmbedElementCustom.cpp:
738         (WebCore::JSHTMLEmbedElement::customPut):
739         * bindings/js/JSHTMLInputElementBase.cpp:
740         (WebCore::JSHTMLInputElementBase::put):
741         * bindings/js/JSHTMLInputElementBase.h:
742         * bindings/js/JSHTMLObjectElementCustom.cpp:
743         (WebCore::JSHTMLObjectElement::customPut):
744         * bindings/js/JSHistoryCustom.cpp:
745         (WebCore::JSHistory::customPut):
746         * bindings/js/JSInspectedObjectWrapper.cpp:
747         (WebCore::JSInspectedObjectWrapper::wrap):
748         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
749         * bindings/js/JSInspectedObjectWrapper.h:
750         * bindings/js/JSInspectorCallbackWrapper.cpp:
751         (WebCore::JSInspectorCallbackWrapper::wrap):
752         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
753         * bindings/js/JSInspectorCallbackWrapper.h:
754         * bindings/js/JSLocationCustom.cpp:
755         (WebCore::JSLocation::customPut):
756         * bindings/js/JSPluginElementFunctions.cpp:
757         (WebCore::runtimeObjectCustomPut):
758         * bindings/js/JSPluginElementFunctions.h:
759         * bindings/js/JSQuarantinedObjectWrapper.cpp:
760         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
761         (WebCore::JSQuarantinedObjectWrapper::put):
762         * bindings/js/JSQuarantinedObjectWrapper.h:
763         * bindings/js/JSStorageCustom.cpp:
764         (WebCore::JSStorage::customPut):
765         * bindings/objc/WebScriptObject.mm:
766         (-[WebScriptObject setValue:forKey:]):
767         * bindings/scripts/CodeGeneratorJS.pm:
768         * bridge/NP_jsobject.cpp:
769         (_NPN_SetProperty):
770         * bridge/jni/jni_jsobject.mm:
771         (JavaJSObject::setMember):
772         * bridge/objc/objc_class.mm:
773         (KJS::Bindings::ObjcClass::fallbackObject):
774         * bridge/objc/objc_runtime.h:
775         * bridge/objc/objc_runtime.mm:
776         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
777         (ObjcFallbackObjectImp::put):
778         * bridge/runtime.cpp:
779         (KJS::Bindings::Instance::createRuntimeObject):
780         * bridge/runtime_array.cpp:
781         (RuntimeArray::put):
782         * bridge/runtime_array.h:
783         * bridge/runtime_object.cpp:
784         (RuntimeObjectImp::RuntimeObjectImp):
785         (RuntimeObjectImp::put):
786         * bridge/runtime_object.h:
787
788 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
789
790         Reviewed by Eric Seidel.
791
792         Fixed border-radius for Cairo.
793
794         * platform/graphics/cairo/GraphicsContextCairo.cpp:
795         (WebCore::GraphicsContext::strokeArc):
796
797 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
798
799         Reviewed by Eric Seidel.
800
801         Added canvas's globalAlpha to cairo.
802
803         * platform/graphics/GraphicsContext.h:
804         * platform/graphics/cairo/GraphicsContextCairo.cpp:
805         (WebCore::GraphicsContext::fillPath):
806         (WebCore::GraphicsContext::strokePath):
807         (WebCore::GraphicsContext::setAlpha):
808         (WebCore::GraphicsContext::getAlpha):
809         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
810         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
811         * platform/graphics/cairo/ImageCairo.cpp:
812         (WebCore::BitmapImage::draw):
813
814 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
815
816         Unreviewed Qt build fix.
817
818         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
819         the .h file
820
821 2008-08-30  Darin Adler  <darin@apple.com>
822
823         Reviewed by Maciej.
824
825         - adopt some new JavaScriptCore functions where appropriate
826
827         * bindings/js/JSDOMWindowBase.cpp:
828         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
829         (WebCore::windowProtoFuncBToA): Ditto.
830         * bindings/js/JSEventListener.cpp:
831         (WebCore::JSLazyEventListener::eventParameterName): Adopted
832         jsNontrivialString.
833         * bindings/js/JSSVGLazyEventListener.cpp:
834         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
835
836 2008-08-29  Brady Eidson  <beidson@apple.com>
837
838         Reviewed by Anders' rubberstamp
839
840         Style cleanup to match MediaTokenizer::writeRawData()
841
842         * loader/PluginDocument.cpp:
843         (WebCore::PluginTokenizer::writeRawData):
844
845 2008-08-29  Brady Eidson  <beidson@apple.com>
846
847         Reviewed by Anders
848
849         Fix regression I introducted in 35946
850         Already covered by media/video-click-dlbclick-standalone.html
851
852         * loader/MediaDocument.cpp:
853         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
854         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
855           an ASSERT signifying that this method should only be called once, to more closely follow the
856           PluginDocument case.
857
858 2008-08-29  Beth Dakin  <bdakin@apple.com>
859
860         Reviewed by Sam Weinig.
861
862         Fix for <rdar://problem/6181588>
863
864         This patch makes hit testing take into account the new concept of a 
865         disconnected frame, in which some of the content may not be 
866         visible. The current hit testing mechanism starts at a target frame 
867         and drills down for a HitTestResult. In some cases, drilling down 
868         will find a non-visible result. When this happens, we need to try 
869         again, starting at a higher level -- namely, starting at the main 
870         frame.
871
872         * editing/Editor.cpp:
873         (WebCore::Editor::insideVisibleArea): New function that tests if a 
874         point is inside the visible area for a disconnected frame.
875         * editing/Editor.h:
876         * page/EventHandler.cpp:
877         (WebCore::EventHandler::hitTestResultAtPoint):
878
879 2008-08-29  Adele Peterson  <adele@apple.com>
880
881         Reviewed by Adam Roben. 
882
883         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
884
885         * GNUmakefile.am:
886         * WebCore.pro:
887         * WebCore.vcproj/WebCore.vcproj:
888         * WebCore.xcodeproj/project.pbxproj:
889         * WebCoreSources.bkl:
890         * html/HTMLTextFieldInnerElement.cpp: Removed.
891         * html/HTMLTextFieldInnerElement.h: Removed.
892         * rendering/RenderTextControl.cpp:
893         (WebCore::RenderTextControl::createSubtreeIfNeeded):
894         * rendering/RenderTextControl.h:
895         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
896         (WebCore::TextControlInnerElement::TextControlInnerElement):
897         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
898         (WebCore::TextControlInnerTextElement::defaultEventHandler):
899         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
900         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
901         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
902         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
903         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
904
905 2008-08-29  Eric Seidel  <eric@webkit.org>
906
907         Rubber-stamped by aroben.
908
909         Add GraphicsContext.h include to GraphcisContextPrivate.h
910
911         GraphicsContextPrivate uses StrokeStyle which is defined
912         in GraphicsContext.h but it doesn't include that header.
913         CoreGraphics build doesn't fail here due to the order
914         it happens to include files.
915
916         * platform/graphics/GraphicsContextPrivate.h:
917
918 2008-08-29  Eric Seidel  <eric@webkit.org>
919
920         Reviewed by hyatt.
921
922         Fix GeneratedImage to respect Image's refcounting
923         Fixing potential crashers (future if not current)
924         https://bugs.webkit.org/show_bug.cgi?id=20567
925         
926         I don't know if it's possible to make the current code
927         crash, thus I've not made a test.
928
929         * css/CSSGradientValue.cpp:
930         (WebCore::CSSGradientValue::image):
931         * css/CSSImageGeneratorValue.cpp:
932         (WebCore::CSSImageGeneratorValue::removeClient):
933         (WebCore::CSSImageGeneratorValue::getImage):
934         * css/CSSImageGeneratorValue.h:
935         * platform/graphics/GeneratedImage.h:
936         (WebCore::GeneratedImage::GeneratedImage):
937         * rendering/style/RenderStyle.cpp:
938         (WebCore::RenderStyle::setContent):
939         * rendering/style/RenderStyle.h:
940
941 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
942
943         Reviewed by Adele.
944
945         Fix for <rdar://problem/6093767>
946         https://bugs.webkit.org/show_bug.cgi?id=20526
947
948         Don't allow video to render until unsupported track types have been disabled.
949
950         * platform/graphics/win/QTMovieWin.cpp:
951         (QTMovieWinPrivate::task):
952         (QTMovieWinPrivate::drawingComplete):
953         (QTMovieWinPrivate::clearGWorld):
954
955 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
956
957         Reviewed by Adele.
958
959         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
960         <rdar://problem/6169301>
961         
962         Return the size of the movie data instead of 1000.
963         
964         Test: media/progress-event-total.html
965
966         * platform/graphics/win/QTMovieWin.cpp:
967         (QTMovieWin::dataSize):
968
969 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
970
971         Reviewed by Eric Seidel.
972
973         [janitor/qt] Start replacing port specific getters with the generic native getter
974         To get the native presentation of an image we currently have platform
975         specific #ifdef's and a generic getter using NativeImagePtr. This patch
976         extends this to the ImageBuffer and updates the Qt platform to get rid
977         of the special #ifdefs.
978
979         https://bugs.webkit.org/attachment.cgi?id=22861
980
981         * platform/graphics/BitmapImage.h:
982         * platform/graphics/Image.h:
983         * platform/graphics/qt/ImageQt.cpp:
984         * platform/graphics/qt/StillImageQt.cpp:
985         * platform/graphics/qt/StillImageQt.h:
986         * platform/qt/ClipboardQt.cpp:
987         (WebCore::ClipboardQt::createDragImage):
988         (WebCore::ClipboardQt::declareAndWriteDragImage):
989         * platform/qt/CursorQt.cpp:
990         * platform/qt/PasteboardQt.cpp:
991         (WebCore::Pasteboard::writeImage):
992
993 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
994
995         Reviewed by Simon.
996
997         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
998
999         * svg/graphics/qt/SVGPaintServerQt.cpp:
1000         (WebCore::SVGPaintServer::renderPath):
1001         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
1002         (WebCore::SVGPaintServerSolid::setup):
1003
1004 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
1005
1006         Reviewed by Simon.
1007
1008         [network/qt] Implement defering of loading ResourceHandle's
1009         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
1010         implementation is simply not forwarding anything to the
1011         ResourceHandleClient until we are allowed to. This might lead to a deadlock
1012         in Qt as we do not empty the QNetworkReply input buffer and wait until we
1013         are allowed to read. If that happens we are forced to buffer the data
1014         within QNetworkReplyHandler, for now this is not done.
1015
1016         Manual test:
1017         - Open http://acid3.acidtests.org
1018         - Wait for the test to complete
1019         - Click on the Reference Rendering link
1020         - Be fast and see the results of acid3
1021         => assert
1022
1023         * platform/network/qt/QNetworkReplyHandler.cpp:
1024         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1025         (WebCore::QNetworkReplyHandler::setLoadMode):
1026         (WebCore::QNetworkReplyHandler::finish):
1027         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1028         (WebCore::QNetworkReplyHandler::forwardData):
1029         (WebCore::QNetworkReplyHandler::start):
1030         (WebCore::QNetworkReplyHandler::resetState):
1031         (WebCore::QNetworkReplyHandler::sendQueuedItems):
1032         * platform/network/qt/QNetworkReplyHandler.h:
1033         (WebCore::QNetworkReplyHandler::):
1034         * platform/network/qt/ResourceHandleQt.cpp:
1035         (WebCore::ResourceHandle::start):
1036         (WebCore::ResourceHandle::loadResourceSynchronously):
1037         (WebCore::ResourceHandle::setDefersLoading):
1038
1039 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
1040
1041         Reviewed by Holger.
1042
1043         Don't crash when drawing patterns with the HTML canvas. Patterns
1044         remain unimplemented but at least they don't crash anymore. This is
1045         done by changing the PlatformPatternPtr to be a brush for the Qt
1046         platform.
1047
1048         * platform/graphics/Pattern.h:
1049         * platform/graphics/qt/GraphicsContextQt.cpp:
1050         (WebCore::GraphicsContext::fillPath):
1051         (WebCore::GraphicsContext::strokePath):
1052         (WebCore::GraphicsContext::fillRect):
1053         * platform/graphics/qt/PatternQt.cpp:
1054         (WebCore::Pattern::createPlatformPattern):
1055
1056 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
1057
1058         Fix the Qt build, fontSelector() is not used by the Qt port yet
1059         and we just return 0 in Font::fontSelector().
1060
1061         * platform/graphics/Font.h:
1062
1063 2008-08-28  Alp Toker  <alp@nuanti.com>
1064
1065         GTK+ dist/build fix. List newly added header files.
1066
1067         * GNUmakefile.am:
1068
1069 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
1070
1071         Reviewed by Dave Hyatt
1072
1073         Various WebKitCSSTransformValue-related fixes
1074         https://bugs.webkit.org/show_bug.cgi?id=20562
1075
1076         Test: css3/transform-value-types.html
1077
1078         * bindings/js/JSCSSValueCustom.cpp:
1079         (WebCore::toJS):
1080         * css/CSSValue.h:
1081         * css/WebKitCSSTransformValue.cpp:
1082         (WebCore::WebKitCSSTransformValue::cssText):
1083         * css/WebKitCSSTransformValue.h:
1084         (WebCore::WebKitCSSTransformValue::):
1085         * css/WebKitCSSTransformValue.idl:
1086
1087 2008-08-28  Dan Bernstein  <mitz@apple.com>
1088
1089         Reviewed by Steve Falkenburg.
1090
1091         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
1092
1093         * platform/win/SharedTimerWin.cpp:
1094         (WebCore::TimerWindowWndProc):
1095
1096 2008-08-28  David Hyatt  <hyatt@apple.com>
1097
1098         RenderStyle cleanup.
1099
1100         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
1101
1102         Reviewed by Adam
1103
1104         * css/CSSImageGeneratorValue.cpp:
1105         * css/CSSImageValue.cpp:
1106         * css/CSSStyleSelector.cpp:
1107         * rendering/RenderImageGeneratedContent.cpp:
1108         * rendering/style/NinePieceImage.cpp: Added.
1109         * rendering/style/NinePieceImage.h: Added.
1110         * rendering/style/RenderStyle.cpp:
1111         (WebCore::FillLayer::operator==):
1112         (WebCore::FillLayer::containsImage):
1113         (WebCore::StyleInheritedData::operator==):
1114         (WebCore::RenderStyle::contentDataEquivalent):
1115         * rendering/style/RenderStyle.h:
1116         * rendering/style/StyleCachedImage.cpp: Added.
1117         * rendering/style/StyleCachedImage.h: Added.
1118         * rendering/style/StyleGeneratedImage.cpp: Added.
1119         * rendering/style/StyleGeneratedImage.h: Added.
1120         * rendering/style/StyleImage.h: Added.
1121
1122 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
1123
1124         Reviewed by Dave Hyatt
1125
1126         Make all the 'isFoo()' methods on CSSValue const,
1127         and fix the subclasses.
1128         
1129         https://bugs.webkit.org/show_bug.cgi?id=20561
1130         
1131         * css/CSSTimingFunctionValue.h:
1132         * css/CSSValue.h:
1133         (WebCore::CSSValue::isFontValue):
1134         (WebCore::CSSValue::isImageGeneratorValue):
1135         (WebCore::CSSValue::isImageValue):
1136         (WebCore::CSSValue::isImplicitInitialValue):
1137         * css/CSSValueList.h:
1138         * css/FontValue.h:
1139
1140 2008-08-28  David Hyatt  <hyatt@apple.com>
1141
1142         The great RenderStyle cleanup begins!
1143
1144         Move LengthBox and LengthSize out of RenderStyle and into Length.
1145
1146         Reviewed by Adam
1147
1148         * rendering/Length.h:
1149         (WebCore::):
1150         (WebCore::Length::Length):
1151         (WebCore::Length::operator==):
1152         (WebCore::Length::operator!=):
1153         (WebCore::Length::value):
1154         (WebCore::Length::rawValue):
1155         (WebCore::Length::percent):
1156         (WebCore::Length::type):
1157         (WebCore::Length::quirk):
1158         (WebCore::Length::setValue):
1159         (WebCore::Length::setRawValue):
1160         (WebCore::Length::calcValue):
1161         (WebCore::Length::calcMinValue):
1162         (WebCore::Length::calcFloatValue):
1163         (WebCore::Length::isUndefined):
1164         (WebCore::Length::isZero):
1165         (WebCore::Length::isPositive):
1166         (WebCore::Length::isNegative):
1167         (WebCore::Length::isAuto):
1168         (WebCore::Length::isRelative):
1169         (WebCore::Length::isPercent):
1170         (WebCore::Length::isFixed):
1171         (WebCore::Length::isStatic):
1172         (WebCore::Length::isIntrinsicOrAuto):
1173         (WebCore::Length::blend):
1174         (WebCore::LengthBox::LengthBox):
1175         (WebCore::LengthBox::operator=):
1176         (WebCore::LengthBox::operator==):
1177         (WebCore::LengthBox::operator!=):
1178         (WebCore::LengthBox::nonZero):
1179         (WebCore::LengthSize::LengthSize):
1180         * rendering/style/RenderStyle.h:
1181
1182 2008-08-28  David Hyatt  <hyatt@apple.com>
1183
1184         Reviewed by Darin
1185
1186         https://bugs.webkit.org/show_bug.cgi?id=18091
1187
1188         font-size should be animatable using -webkit-transition.
1189
1190         * page/AnimationController.cpp:
1191         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
1192         * rendering/style/RenderStyle.h:
1193         (WebCore::RenderStyle::setFontSize):
1194
1195 2008-08-28  Brad Garcia  <bgarcia@google.com>
1196
1197         Reviewed by Dan Bernstein.
1198
1199         https://bugs.webkit.org/show_bug.cgi?id=20549
1200         Correctly determine when cursor is over a resizable border within
1201         a nested frameset.
1202
1203         * rendering/RenderFrameSet.cpp:
1204         (WebCore::RenderFrameSet::canResizeRow):
1205         (WebCore::RenderFrameSet::canResizeColumn):
1206
1207 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
1208
1209         Reviewed by Eric Seidel
1210
1211         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
1212         https://bugs.webkit.org/show_bug.cgi?id=20552
1213
1214         Test: animations/animation-css-rule-types.html
1215
1216         * css/CSSRule.idl:
1217
1218 2008-08-28  Anders Carlsson  <andersca@apple.com>
1219
1220         Reviewed by Kevin and Darin.
1221
1222         <rdar://problem/6182541>
1223         https://bugs.webkit.org/show_bug.cgi?id=20202
1224         Missing http status line from the http headers.
1225         
1226         Add a status line to the header string.
1227         
1228         * plugins/PluginStream.cpp:
1229         (WebCore::PluginStream::startStream):
1230
1231 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
1232
1233         Rubber-stamped by Darin Adler.
1234
1235         https://bugs.webkit.org/show_bug.cgi?id=17261
1236
1237         Make it possible to theme the default Url icon and enable this for
1238         the Qt port. To have a minimal usage of #ifdef in the code the setting
1239         of the icon was moved to a new method which comes in two flavors.
1240
1241         * loader/icon/IconDatabase.cpp:
1242         (WebCore::loadDefaultIconRecord): Load or set the default icon
1243         (WebCore::IconDatabase::defaultIcon):
1244
1245 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
1246
1247         Unreviewed compile fix
1248
1249         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
1250
1251 2008-08-28  Adam Roben  <aroben@apple.com>
1252
1253         Windows (and others?) build fix
1254
1255         * page/Chrome.cpp: Added a missing #include.
1256         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
1257
1258 2008-08-27  Eric Seidel  <eric@webkit.org>
1259
1260         Reviewed by Oliver Hunt.
1261
1262         Qt and Cairo support from krit (and blind stab @ wx compile support)
1263         https://bugs.webkit.org/show_bug.cgi?id=20373
1264
1265         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1266         (WebCore::GraphicsContext::fillPath):
1267         (WebCore::GraphicsContext::strokePath):
1268         (WebCore::GraphicsContext::drawPath):
1269         (WebCore::GraphicsContext::fillRect):
1270         (WebCore::GraphicsContext::setPlatformFillColor):
1271         (WebCore::GraphicsContext::setPlatformStrokeColor):
1272         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1273         (WebCore::GraphicsContext::strokeRect):
1274         (WebCore::GraphicsContext::setImageInterpolationQuality):
1275         (WebCore::GraphicsContext::imageInterpolationQuality):
1276         (WebCore::GraphicsContext::setPlatformFillPattern):
1277         (WebCore::GraphicsContext::setPlatformStrokePattern):
1278         (WebCore::GraphicsContext::setPlatformFillGradient):
1279         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1280         * platform/graphics/qt/GraphicsContextQt.cpp:
1281         (WebCore::GraphicsContext::fillPath):
1282         (WebCore::GraphicsContext::strokePath):
1283         (WebCore::GraphicsContext::fillRect):
1284         (WebCore::GraphicsContext::strokeRect):
1285         (WebCore::GraphicsContext::clipToImageBuffer):
1286         (WebCore::GraphicsContext::setPlatformFillPattern):
1287         (WebCore::GraphicsContext::setPlatformStrokePattern):
1288         (WebCore::GraphicsContext::setPlatformFillGradient):
1289         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1290         (WebCore::GraphicsContext::setImageInterpolationQuality):
1291         (WebCore::GraphicsContext::imageInterpolationQuality):
1292         * platform/graphics/wx/GraphicsContextWx.cpp:
1293         (WebCore::GraphicsContext::clipToImageBuffer):
1294         (WebCore::GraphicsContext::setImageInterpolationQuality):
1295         (WebCore::GraphicsContext::imageInterpolationQuality):
1296         (WebCore::GraphicsContext::fillPath):
1297         (WebCore::GraphicsContext::strokePath):
1298         (WebCore::GraphicsContext::drawPath):
1299         (WebCore::GraphicsContext::fillRect):
1300         (WebCore::GraphicsContext::setPlatformFillPattern):
1301         (WebCore::GraphicsContext::setPlatformStrokePattern):
1302         (WebCore::GraphicsContext::setPlatformFillGradient):
1303
1304 2008-08-27  Eric Seidel  <eric@webkit.org>
1305
1306         Reviewed by Oliver Hunt.
1307
1308         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
1309         https://bugs.webkit.org/show_bug.cgi?id=20373
1310
1311         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
1312         
1313         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
1314         have to store large Gradient objects in the GraphicsContextState
1315         
1316         Made Pattern RefCounted for the same reason.
1317         
1318         Many updates to GraphicsContext to support easier drawing with
1319         Patterns and Gradients.
1320
1321         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
1322         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1323         (WebCore::toJS):
1324         * css/CSSGradientValue.cpp:
1325         (WebCore::CSSGradientValue::createGradient):
1326         * css/CSSGradientValue.h:
1327         * html/CanvasGradient.cpp:
1328         (WebCore::CanvasGradient::CanvasGradient):
1329         * html/CanvasGradient.h:
1330         (WebCore::CanvasGradient::gradient):
1331         (WebCore::CanvasGradient::addColorStop):
1332         (WebCore::CanvasGradient::getColor):
1333         * html/CanvasPattern.cpp:
1334         * html/CanvasPattern.h:
1335         (WebCore::CanvasPattern::pattern):
1336         (WebCore::CanvasPattern::originClean):
1337         * html/CanvasRenderingContext2D.cpp:
1338         (WebCore::CanvasRenderingContext2D::State::State):
1339         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1340         (WebCore::CanvasRenderingContext2D::setFillStyle):
1341         (WebCore::CanvasRenderingContext2D::fill):
1342         (WebCore::CanvasRenderingContext2D::stroke):
1343         (WebCore::CanvasRenderingContext2D::fillRect):
1344         (WebCore::CanvasRenderingContext2D::strokeRect):
1345         * html/CanvasRenderingContext2D.h:
1346         * html/CanvasStyle.cpp:
1347         (WebCore::CanvasStyle::applyStrokeColor):
1348         (WebCore::CanvasStyle::applyFillColor):
1349         * html/CanvasStyle.h:
1350         * platform/graphics/GeneratedImage.h:
1351         (WebCore::GeneratedImage::GeneratedImage):
1352         * platform/graphics/Generator.h:
1353         * platform/graphics/Gradient.h:
1354         (WebCore::Gradient::create):
1355         * platform/graphics/GraphicsContext.cpp:
1356         (WebCore::GraphicsContext::fillRule):
1357         (WebCore::GraphicsContext::setFillRule):
1358         (WebCore::GraphicsContext::setStrokePattern):
1359         (WebCore::GraphicsContext::setFillPattern):
1360         (WebCore::GraphicsContext::setStrokeGradient):
1361         (WebCore::GraphicsContext::setFillGradient):
1362         * platform/graphics/GraphicsContext.h:
1363         * platform/graphics/GraphicsContextPrivate.h:
1364         (WebCore::):
1365         (WebCore::GraphicsContextState::GraphicsContextState):
1366         * platform/graphics/GraphicsTypes.h:
1367         * platform/graphics/Path.h:
1368         * platform/graphics/Pattern.h:
1369         (WebCore::Pattern::create):
1370         (WebCore::Pattern::tileImage):
1371         * platform/graphics/cg/GraphicsContextCG.cpp:
1372         (WebCore::GraphicsContext::drawRect):
1373         (WebCore::GraphicsContext::drawEllipse):
1374         (WebCore::GraphicsContext::drawConvexPolygon):
1375         (WebCore::calculateDrawingMode):
1376         (WebCore::GraphicsContext::drawPath):
1377         (WebCore::fillPathWithFillRule):
1378         (WebCore::GraphicsContext::fillPath):
1379         (WebCore::GraphicsContext::strokePath):
1380         (WebCore::GraphicsContext::fillRect):
1381         (WebCore::GraphicsContext::fillRoundedRect):
1382         (WebCore::GraphicsContext::setPlatformStrokePattern):
1383         (WebCore::GraphicsContext::setPlatformFillPattern):
1384         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1385         (WebCore::GraphicsContext::setPlatformFillGradient):
1386
1387 2008-08-20  Eric Seidel  <eric@webkit.org>
1388
1389         Reviewed by Darin and Alexey.
1390
1391         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
1392         with timeouts paused.
1393         https://bugs.webkit.org/show_bug.cgi?id=20469
1394         
1395         I attempted to clean up the memory management of PausedTimeouts, I'm not
1396         sure the solution I came up with is "cleaner", but it's in some ways
1397         "safer", since it no longer uses raw pointers and manual new/delete.
1398         
1399         This also now prevents CachedPage from needlessly creating Window
1400         objects when caching pages which didn't already have one. :)
1401         
1402         I also made Chrome.cpp no longer depend on the JavaScript bindings
1403         (aka JSDOMWindowBase.h), since there was no real reason for it to.
1404
1405         * bindings/js/JSDOMWindowBase.cpp:
1406         (WebCore::JSDOMWindowBase::pauseTimeouts):
1407         (WebCore::JSDOMWindowBase::resumeTimeouts):
1408         * bindings/js/JSDOMWindowBase.h:
1409         * bindings/js/ScriptController.cpp:
1410         (WebCore::ScriptController::pauseTimeouts):
1411         (WebCore::ScriptController::resumeTimeouts):
1412         * bindings/js/ScriptController.h:
1413         * history/CachedPage.cpp:
1414         (WebCore::CachedPage::CachedPage):
1415         (WebCore::CachedPage::restore):
1416         * page/Chrome.cpp:
1417         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1418         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1419         * page/JavaScriptDebugServer.cpp:
1420         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
1421         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
1422
1423 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
1424
1425         Unreviewed compile fix
1426
1427         Add the stub for the Qt port.
1428
1429         * WebCore.pro:
1430         * page/qt/AccessibilityObjectQt.cpp: Added.
1431         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1432
1433 2008-08-27  Alp Toker  <alp@nuanti.com>
1434
1435         Reviewed by Eric.
1436
1437         https://bugs.webkit.org/show_bug.cgi?id=20551
1438         [GTK] search popup crash
1439
1440         * platform/gtk/SearchPopupMenuGtk.cpp:
1441         (WebCore::SearchPopupMenu::enabled):
1442         Fix a search popup crasher by disabling the history popup since we
1443         don't support this feature yet in the GTK+ port.
1444
1445 2008-08-27  Alp Toker  <alp@nuanti.com>
1446
1447         Reviewed by Eric.
1448
1449         https://bugs.webkit.org/show_bug.cgi?id=20551
1450         [GTK] curl crashers
1451
1452         * platform/network/curl/ResourceHandleManager.cpp:
1453         (WebCore::ResourceHandleManager::startScheduledJobs):
1454         Remove the resource handle from the pending list before starting the
1455         job, not afterwards. Fixes crashers in the test suite.
1456
1457         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
1458         Test: fast/encoding/char-encoding.html
1459
1460 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
1461
1462         Reviewed by eseidel.
1463
1464         Fix canvas drawImage to support composite operations.
1465         Composite had no effect on canvas elements like these:
1466         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
1467
1468         [CAIRO] Canvas composite don't work on canvas-elements.
1469         https://bugs.webkit.org/show_bug.cgi?id=20548
1470
1471         * html/CanvasRenderingContext2D.cpp:
1472         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
1473
1474 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
1475
1476         Reviewed by Eric Seidel.
1477         
1478         Fix the data content of an image with a base64.
1479
1480         * platform/network/curl/ResourceHandleManager.cpp:
1481         (WebCore::parseDataUrl): Remove the String and use only the data
1482         Vector because the data.latin1().data() convert the data content and
1483         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
1484         not drawn correctly.
1485
1486 2008-08-27  Antti Koivisto  <antti@apple.com>
1487
1488         Reviewed by Eric Seidel.
1489
1490         Crash after OK in dialog box and reloading page in secure mode
1491         https://bugs.webkit.org/show_bug.cgi?id=20493
1492         
1493         The new run loop spawned by a modal dialog causes a timer in the loader to run 
1494         synchronously inside didFinishLoading() deleting "this" object.
1495         
1496         Defer all WebCore timers when a modal dialog is up. They are not
1497         safe to execute.
1498
1499         * page/Chrome.cpp:
1500         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1501         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1502
1503 2008-08-27  Chris Marrin  <cmarrin@apple.com>
1504
1505         Reviewed by Dave Hyatt
1506
1507         Memory leaks when animating transforms
1508         https://bugs.webkit.org/show_bug.cgi?id=20532
1509
1510         * rendering/style/RenderStyle.cpp:
1511         (WebCore::ScaleTransformOperation::blend):
1512         (WebCore::RotateTransformOperation::blend):
1513         (WebCore::SkewTransformOperation::blend):
1514         (WebCore::TranslateTransformOperation::blend):
1515         (WebCore::MatrixTransformOperation::blend):
1516         * rendering/style/RenderStyle.h:
1517
1518 2008-08-27  Timothy Hatcher  <timothy@apple.com>
1519
1520         Add support for support for -webkit-appearance: default-button on the Mac platform.
1521
1522         <rdar://problem/6173530>
1523
1524         Reviewed by Dave Hyatt.
1525
1526         * WebCore.base.exp: Export new symbols.
1527         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
1528         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1529         * rendering/RenderButton.cpp:
1530         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
1531         (WebCore::RenderButton::setStyle): Ditto.
1532         * rendering/RenderButton.h: Ditto.
1533         * rendering/RenderThemeMac.mm:
1534         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
1535         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
1536         key if the button is default, otherwise reset the key equivalent.
1537         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
1538         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
1539         the window's previous default button cell when finished.
1540
1541 2008-08-26  David Hyatt  <hyatt@apple.com>
1542
1543         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
1544
1545         Reviewed by weinig
1546
1547         Added fast/forms/zoomed-controls.html
1548
1549         * css/CSSStyleSelector.cpp:
1550         (WebCore::addIntrinsicMargins):
1551         * rendering/RenderSlider.cpp:
1552         (WebCore::RenderSlider::calcPrefWidths):
1553         * rendering/RenderThemeMac.h:
1554         * rendering/RenderThemeMac.mm:
1555         (WebCore::RenderThemeMac::adjustRepaintRect):
1556         (WebCore::RenderThemeMac::inflateRect):
1557         (WebCore::RenderThemeMac::baselinePosition):
1558         (WebCore::RenderThemeMac::setControlSize):
1559         (WebCore::RenderThemeMac::sizeForFont):
1560         (WebCore::RenderThemeMac::sizeForSystemFont):
1561         (WebCore::RenderThemeMac::setFontFromControlSize):
1562         (WebCore::RenderThemeMac::paintCheckbox):
1563         (WebCore::RenderThemeMac::setCheckboxCellState):
1564         (WebCore::RenderThemeMac::paintRadio):
1565         (WebCore::RenderThemeMac::setRadioCellState):
1566         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
1567         (WebCore::RenderThemeMac::adjustButtonStyle):
1568         (WebCore::RenderThemeMac::setButtonCellState):
1569         (WebCore::RenderThemeMac::paintButton):
1570         (WebCore::RenderThemeMac::paintMenuList):
1571         (WebCore::RenderThemeMac::paintMenuListButton):
1572         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
1573         (WebCore::RenderThemeMac::popupInternalPaddingRight):
1574         (WebCore::RenderThemeMac::popupInternalPaddingTop):
1575         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
1576         (WebCore::RenderThemeMac::setPopupButtonCellState):
1577         (WebCore::RenderThemeMac::paintSliderTrack):
1578         (WebCore::RenderThemeMac::paintSliderThumb):
1579         (WebCore::RenderThemeMac::adjustSliderThumbSize):
1580         (WebCore::RenderThemeMac::paintSearchField):
1581         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
1582         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1583         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1584
1585 2008-08-27  Brady Eidson  <beidson@apple.com>
1586
1587         Reviewed by Anders
1588
1589         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
1590
1591         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
1592         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
1593         away the virtual address space and a crash.
1594
1595         * loader/EmptyClients.h:
1596         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
1597         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
1598           "plugin will handle load"
1599
1600         * loader/MediaDocument.cpp:
1601         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
1602           and cancel the WebCore-managed load
1603         (WebCore::MediaTokenizer::writeRawData):
1604         (WebCore::MediaTokenizer::finish):
1605
1606 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
1607
1608         Reviewed by Eric Seidel
1609
1610         Linear timing functions should have control points 0, 0, 1, 1.
1611         https://bugs.webkit.org/show_bug.cgi?id=20535
1612
1613         * css/CSSStyleSelector.cpp:
1614         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
1615         * rendering/style/RenderStyle.h:
1616
1617 2008-08-27  Adam Roben  <aroben@apple.com>
1618
1619         Windows build fix
1620
1621         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
1622
1623 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
1624
1625         Reviewed by Beth Dakin.
1626
1627         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
1628
1629         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
1630         to determine if an attachment is ignored through accessibility. Added equivalent
1631         methods in Gtk, Win and Mac
1632
1633         Test: accessibility/plugin.html
1634
1635         * GNUmakefile.am:
1636         * WebCore.vcproj/WebCore.vcproj:
1637         * WebCore.xcodeproj/project.pbxproj:
1638         * page/AccessibilityObject.h:
1639         * page/AccessibilityRenderObject.cpp:
1640         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1641         * page/gtk/AccessibilityObjectAtk.cpp: Added.
1642         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1643         * page/mac/AccessibilityObjectMac.mm: Added.
1644         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1645         * page/mac/AccessibilityObjectWrapper.h:
1646         * page/win/AccessibilityObjectWin.cpp: Added.
1647         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1648
1649 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
1650
1651         Reviewed by Beth Dakin.
1652
1653         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
1654
1655         * page/mac/AccessibilityObjectWrapper.mm:
1656         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
1657         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
1658
1659 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
1660
1661         Reviewed by Darin Adler.
1662
1663         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
1664
1665         Tests: accessibility/table-notbody.html
1666
1667         * page/AccessibilityTable.cpp:
1668         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1669
1670 2008-08-26  Sam Weinig  <sam@webkit.org>
1671
1672         Reviewed by Beth Dakin.
1673
1674         Fix typo.
1675
1676         * dom/DOMCoreException.h:
1677
1678 2008-08-26  Sam Weinig  <sam@webkit.org>
1679
1680         Reviewed by Oliver Hunt.
1681
1682         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
1683         <rdar://problem/6167660>
1684         Take image redirects into account when tainting the canvas.
1685
1686         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
1687
1688         * html/CanvasRenderingContext2D.cpp:
1689         (WebCore::CanvasRenderingContext2D::drawImage):
1690         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1691
1692 2008-08-26  Sam Weinig  <sam@webkit.org>
1693
1694         Reviewed by Darin Adler.
1695
1696         Change canvas tainting logic to ask the image if it contains
1697         any resources outside of its own origin. Since there is no 
1698         way to determine if SVG images contain any resources outside its
1699         origin, we always assume it does.
1700
1701         * html/CanvasRenderingContext2D.cpp:
1702         (WebCore::CanvasRenderingContext2D::drawImage):
1703         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1704         * platform/graphics/BitmapImage.h:
1705         (WebCore::BitmapImage::hasSingleSecurityOrigin):
1706         * platform/graphics/GeneratedImage.h:
1707         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
1708         * platform/graphics/Image.h:
1709         (WebCore::Image::hasSingleSecurityOrigin):
1710         * platform/graphics/cg/PDFDocumentImage.h:
1711         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
1712         * svg/graphics/SVGImage.h:
1713
1714 2008-08-26  Maxime Britto  <britto@apple.com>
1715
1716         Reviewed by Adele.
1717
1718         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
1719         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
1720         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
1721
1722         * page/EventHandler.cpp:
1723         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
1724         * page/EventHandler.h:
1725         * rendering/RenderLayer.cpp:
1726         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
1727         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
1728         * rendering/RenderLayer.h:
1729         * rendering/RenderObject.cpp:
1730         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
1731         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
1732         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
1733
1734 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
1735
1736         Reviewed by Darin.
1737
1738         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
1739         https://bugs.webkit.org/show_bug.cgi?id=20247
1740
1741         <rdar://problem/6118218>
1742
1743         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
1744         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
1745         (case insensitive for HTML elements).
1746
1747         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
1748
1749         * dom/Element.cpp:
1750         (WebCore::Element::getAttribute):
1751         * dom/NamedAttrMap.cpp:
1752         (WebCore::NamedAttrMap::getNamedItem):
1753         (WebCore::NamedAttrMap::getAttributeItem):
1754         * dom/NamedAttrMap.h:
1755
1756 2008-08-25  Sam Weinig  <sam@webkit.org>
1757
1758         Reviewed by Oliver Hunt.
1759
1760         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
1761         <rdar://problem/6174096>
1762         Treat SVG images as dirty when drawing to a canvas.
1763
1764         Test: http/tests/security/canvas-remote-read-svg-image.html
1765
1766         * html/CanvasRenderingContext2D.cpp:
1767         (WebCore::CanvasRenderingContext2D::drawImage):
1768         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1769         * platform/graphics/Image.h:
1770         (WebCore::Image::isSVGImage):
1771         * svg/graphics/SVGImage.h:
1772         (WebCore::SVGImage::isSVGImage):
1773
1774 2008-08-25  Sam Weinig  <sam@webkit.org>
1775
1776         Reviewed by Mark Rowe.
1777
1778         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
1779         Leak in XMLHttpRequest.
1780
1781         * xml/XMLHttpRequest.cpp:
1782         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1783
1784 2008-08-25  Brady Eidson  <beidson@apple.com>
1785
1786         Reviewed by Anders
1787
1788         Speculative fix for <rdar://problem/6173217>
1789
1790         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
1791         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
1792         the first null check invalid.
1793
1794         * loader/FrameLoader.cpp:
1795         (WebCore::FrameLoader::stopAllLoaders):
1796
1797
1798 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
1799
1800         Reviewed by Tim.
1801
1802         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
1803         there is no profile, can cause crash
1804
1805         * page/inspector/ProfilesPanel.js:
1806
1807 2008-08-25  Dean Jackson  <dino@apple.com>
1808
1809         Reviewed by Dave Hyatt
1810
1811         Make sure 'inherit' is handled by transition property.
1812         https://bugs.webkit.org/show_bug.cgi?id=20513
1813
1814         Test: transitions/inherit.html
1815         Test: transitions/inherit-other-props.html
1816
1817         * css/CSSStyleSelector.cpp:
1818           fix macro to check existence of list before getting size
1819
1820 2008-08-25  Anders Carlsson  <andersca@apple.com>
1821
1822         Reviewed by Mark.
1823
1824         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
1825         
1826         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
1827         (safely) that any class that needs finalization on the main thread will also need to be deallocated
1828         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
1829         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
1830
1831         * platform/mac/WebCoreObjCExtras.c:
1832         (WebCoreObjCFinalizeOnMainThread):
1833
1834 2008-08-25  Antti Koivisto  <antti@apple.com>
1835
1836         Reviewed by Dan Bernstein.
1837
1838         Rename CachedResource::referenced() to CachedResource::hasClients() to
1839         match previous ref() -> addClient() rename.
1840
1841         * loader/Cache.cpp:
1842         (WebCore::Cache::pruneLiveResources):
1843         (WebCore::Cache::pruneDeadResources):
1844         (WebCore::Cache::remove):
1845         (WebCore::Cache::getStatistics):
1846         (WebCore::Cache::dumpLRULists):
1847         * loader/CachedResource.cpp:
1848         (WebCore::CachedResource::addClient):
1849         (WebCore::CachedResource::removeClient):
1850         (WebCore::CachedResource::setDecodedSize):
1851         (WebCore::CachedResource::setEncodedSize):
1852         * loader/CachedResource.h:
1853         (WebCore::CachedResource::hasClients):
1854         (WebCore::CachedResource::canDelete):
1855
1856 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
1857
1858         Add a missing Inspector localized string for "other".
1859
1860         https://bugs.webkit.org/show_bug.cgi?id=20509
1861
1862         Reviewed by Tim Hatcher.
1863
1864         * English.lproj/localizedStrings.js:
1865
1866 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
1867
1868         Reviewed by Geoff, Mark and Tim.
1869
1870         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
1871         in the console said what file and line number they came from
1872         - Lay the foundation for getting line numbers and other data from the
1873         JavaScript engine.
1874
1875         * ForwardingHeaders/VM: Added.
1876         * ForwardingHeaders/VM/Machine.h: Added.
1877         * page/Console.cpp: Gather the line number and file information when 
1878         profileEnd has been called, but don't use it until didFinishProfiling is
1879         called.  We won't need to wait once we remove the profiler "zombie" mode
1880         which this patch helps pave the foundation for.
1881         (WebCore::Console::Console):
1882         (WebCore::Console::profileEnd):
1883         (WebCore::Console::finishedProfiling):
1884         * page/Console.h:
1885         * page/InspectorController.cpp: Modify calls to
1886         addProfileMessageToConsole to satisfy the new arguments it takes.
1887         (WebCore::InspectorController::finishedProfiling):
1888         (WebCore::InspectorController::addProfile):
1889         (WebCore::InspectorController::addProfileMessageToConsole):
1890         (WebCore::InspectorController::finishedProfiling):
1891         * page/InspectorController.h:
1892
1893 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1894
1895         Reviewed by Simon.
1896
1897         [inspector] Update the WebKit.qrc Qt resources file
1898         Catchup with the changes in the directory.
1899
1900         * page/inspector/WebKit.qrc:
1901
1902 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
1903
1904         Reviewed by Simon.
1905
1906         Transformed the radian to degree, to get rotate()
1907         in canvas work as expected.
1908
1909         [Qt] Canvas.rotate() doesn't work
1910         https://bugs.webkit.org/show_bug.cgi?id=20496
1911
1912         * platform/graphics/qt/GraphicsContextQt.cpp:
1913         (WebCore::GraphicsContext::rotate):
1914
1915 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
1916
1917         Add a "last chance" WM_TIMER to the Windows shared timer.
1918         
1919         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
1920         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
1921         timers if a timer with an earlier expiration is already pending. This results in no timers
1922         firing from that point on.
1923         
1924         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
1925         buggy window message hook.
1926         
1927         This timer will start when the first WM_TIMER is scheduled, and will
1928         fire every 5 seconds thereafter, causing any lost timers to be fired.
1929         
1930         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
1931         and prevents the WebFrame leak.
1932         
1933         Reviewed by Darin Adler, Geoff Garen.
1934
1935         * platform/win/SharedTimerWin.cpp:
1936         (WebCore::):
1937         (WebCore::TimerWindowWndProc):
1938         (WebCore::setSharedTimerFireTime):
1939
1940 2008-08-24  Dan Bernstein  <mitz@apple.com>
1941
1942         Reviewed by Darin Adler.
1943
1944         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
1945
1946         Test: fast/css/font-property-priority.html
1947
1948         * css/CSSParser.cpp:
1949         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
1950         to the font-property-parsing functions.
1951         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
1952         changed to use it rather than the m_important member.
1953         (WebCore::CSSParser::parseFontVariant): Ditto.
1954         (WebCore::CSSParser::parseFontWeight): Ditto.
1955         * css/CSSParser.h:
1956
1957 2008-08-24  Timothy Hatcher  <timothy@apple.com>
1958
1959         Fixes a bug where the Inspector's UI would not animate or
1960         fully function because JavaScript timeouts, intervals and
1961         CSS animation timers where not firing while paused at a
1962         a breakpoint in the inspected page.
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=20042
1965
1966         Reviewed by Darin Adler.
1967
1968         Test: manual-tests/inspector/forzen-ui-while-paused.html
1969
1970         * page/JavaScriptDebugServer.cpp:
1971         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
1972         Add a call to TimerBase::fireTimersInNestedEventLoop before
1973         spinning the EventLoop.
1974
1975 2008-08-24  Rob Buis  <buis@kde.org>
1976
1977         Reviewed by Sam Weinig.
1978
1979         https://bugs.webkit.org/show_bug.cgi?id=20324
1980         A change in SVG Glyph wont show up
1981
1982         Invalidate the glyph cache when the d attribute is set.
1983
1984         Test: svg/custom/glyph-setting-d-attribute.svg
1985
1986         * svg/SVGGlyphElement.cpp:
1987         (WebCore::SVGGlyphElement::invalidateGlyphCache):
1988         (WebCore::SVGGlyphElement::parseMappedAttribute):
1989         (WebCore::SVGGlyphElement::insertedIntoDocument):
1990         (WebCore::SVGGlyphElement::removedFromDocument):
1991         * svg/SVGGlyphElement.h:
1992
1993 2008-08-24  Dan Bernstein  <mitz@apple.com>
1994
1995         Reviewed by Sam Weinig.
1996
1997         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
1998           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
1999
2000         * rendering/RenderText.cpp:
2001         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
2002         beginWS and endWS before the early return to ensure that they are
2003         initialized in that case.
2004
2005 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2006
2007         Rubber-stamped by Mark Rowe.
2008
2009         Remove modelines.
2010
2011         * WebCore.pro:
2012         * bridge/testbindings.cpp:
2013         * dom/DocPtr.h:
2014         * loader/SubstituteData.h:
2015         * page/Chrome.cpp:
2016         * page/Chrome.h:
2017         * page/ChromeClient.h:
2018         * page/Frame.h:
2019         * page/FrameLoadRequest.h:
2020         * page/FrameTree.cpp:
2021         * page/FrameTree.h:
2022         * page/Page.h:
2023         * page/mac/ChromeMac.mm:
2024         * platform/network/HTTPHeaderMap.h:
2025         * platform/network/ResourceErrorBase.cpp:
2026         * platform/network/ResourceErrorBase.h:
2027         * platform/network/ResourceHandleInternal.h:
2028         * platform/network/ResourceRequestBase.cpp:
2029         * platform/network/ResourceRequestBase.h:
2030         * platform/network/ResourceResponseBase.cpp:
2031         * platform/network/ResourceResponseBase.h:
2032         * platform/network/cf/ResourceError.h:
2033         * platform/network/cf/ResourceRequest.h:
2034         * platform/network/cf/ResourceRequestCFNet.h:
2035         * platform/network/cf/ResourceResponse.h:
2036         * platform/network/cf/ResourceResponseCFNet.h:
2037         * platform/network/curl/ResourceError.h:
2038         * platform/network/curl/ResourceRequest.h:
2039         * platform/network/curl/ResourceResponse.h:
2040         * platform/network/mac/ResourceError.h:
2041         * platform/network/mac/ResourceErrorMac.mm:
2042         * platform/network/mac/ResourceRequest.h:
2043         * platform/network/mac/ResourceRequestMac.mm:
2044         * platform/network/mac/ResourceResponse.h:
2045         * platform/network/mac/ResourceResponseMac.mm:
2046         * platform/network/qt/ResourceError.h:
2047         * platform/network/qt/ResourceRequest.h:
2048         * platform/network/qt/ResourceResponse.h:
2049         * platform/network/soup/CookieJarSoup.cpp:
2050         * platform/network/soup/ResourceError.h:
2051         * platform/network/soup/ResourceRequest.h:
2052         * platform/network/soup/ResourceResponse.h:
2053
2054 2008-08-23  Dan Bernstein  <mitz@apple.com>
2055
2056         Reviewed by Dave Hyatt.
2057
2058         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
2059
2060         Test: fast/table/vertical-align-baseline.html
2061
2062         * rendering/RenderTable.cpp:
2063         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
2064         baseline of the first table row, if there is one, -1 otherwise.
2065         * rendering/RenderTable.h:
2066         * rendering/RenderTableCell.cpp:
2067         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
2068         CSS2.1 definition of the baseline of a table cell.
2069         * rendering/RenderTableSection.cpp:
2070         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
2071         the baseline of the first row in the section.
2072         * rendering/RenderTableSection.h:
2073
2074 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
2075
2076         Add SPI to make a Windows WebView transparent.
2077
2078         Reviewed by Dan Bernstein.
2079
2080         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
2081         determines whether the created context has an alpha channel.
2082         * platform/graphics/win/GraphicsContextCGWin.cpp:
2083         (WebCore::CGContextWithHDC):
2084
2085 2008-08-22  Timothy Hatcher  <timothy@apple.com>
2086
2087         Rolls out r35834 because it caused a regression in the Inspector's
2088         Console where some expressions always threw a syntax error.
2089
2090         https://bugs.webkit.org/show_bug.cgi?id=20487
2091
2092         * page/inspector/Console.js:
2093         (Console.prototype._evalInInspectedWindow): Removes parenthesis
2094         around the expression.
2095
2096 2008-08-22  Timothy Hatcher  <timothy@apple.com>
2097
2098         Makes getStyleProperty return a value for the overflow property
2099         when overflow-x and overflow-y are equal.
2100
2101         https://bugs.webkit.org/show_bug.cgi?id=20485
2102
2103         Reviewed by Dan Bernstein.
2104
2105         Test: fast/css/overflow-property.html
2106
2107         * css/CSSMutableStyleDeclaration.cpp:
2108         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2109
2110 2008-08-22  Timothy Hatcher  <timothy@apple.com>
2111
2112         Fixes a bug where while editing in the Inspector the
2113         sidebar scroll position would jump to the top.
2114
2115         https://bugs.webkit.org/show_bug.cgi?id=20484
2116
2117         Reviewed by Darin Adler.
2118
2119         * page/inspector/treeoutline.js:
2120         (TreeOutline._removeChildren): Remove the offsetTop call that
2121         was forcing a layout, since layout causes scroll positions
2122         to be clamped to the new scrollHeight/Width. Layout will happen
2123         normally when needed.
2124
2125 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
2126
2127         wx build fix. Add AccessibilityTable sources.
2128
2129         * WebCoreSources.bkl:
2130
2131 2008-08-21  Dan Bernstein  <mitz@apple.com>
2132
2133         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
2134
2135         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
2136
2137         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
2138
2139         * platform/graphics/mac/SimpleFontDataMac.mm:
2140         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
2141         ascent and 100% to its reported descent.
2142
2143 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
2144
2145         Reviewed by Darin Adler.
2146
2147         https://bugs.webkit.org/show_bug.cgi?id=20267
2148         [GTK] Crash on some pages due to a plugin
2149
2150         Fix handling of badly formatted and empty plugin mime descriptions
2151
2152         * plugins/gtk/PluginPackageGtk.cpp:
2153         (WebCore::PluginPackage::fetchInfo):
2154
2155 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
2156
2157         Reviewed by Darin Adler.
2158
2159         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
2160         animated GIF frame duration of less than 50ms.
2161
2162         * platform/graphics/wx/ImageSourceWx.cpp:
2163         (WebCore::ImageSource::frameDurationAtIndex):
2164
2165 2008-08-21  Maxime Britto  <britto@apple.com>
2166
2167         Reviewed by Kevin McCullough.
2168
2169         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
2170         https://bugs.webkit.org/show_bug.cgi?id=20451
2171    
2172         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
2173         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
2174         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
2175
2176         * page/EventHandler.cpp:
2177         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
2178
2179         (WebCore::EventHandler::handleMousePressEvent): ditto
2180
2181 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
2182
2183         Small optimization for when the dividers in the Inspector's
2184         Resources panel are updated.
2185
2186         Reviewed by Tim Hatcher.
2187
2188         * page/inspector/ResourcesPanel.js:
2189         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
2190         Combind a for loop and clone the divider element.
2191
2192 2008-08-21  Chris Marrin  <cmarrin@apple.com>
2193
2194         Allow 0 (without units) for Time eg. duration
2195         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
2196
2197         Reviewed by Dave Hyatt.
2198
2199         Test: css1/units/zero-duration-without-units.html
2200
2201         * css/CSSParser.cpp:
2202         (WebCore::CSSParser::validUnit):
2203
2204 2008-08-21  Timothy Hatcher  <timothy@apple.com>
2205
2206         Make deleting all text while editing a DOM attribute in
2207         the Inspector delete the attribute. This also fixes
2208         an exception that would happen before.
2209
2210         https://bugs.webkit.org/show_bug.cgi?id=20472
2211
2212         Reviewed by Kevin McCullough.
2213
2214         * page/inspector/ElementsPanel.js:
2215         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
2216         Don't check for hasAttributes on the parseElement, continuing
2217         through the function will correctly remove the attribute.
2218         If the parseElement is null, call _editingCancelled not
2219         editingCancelled, this fixes an exception.
2220
2221 2008-08-21  Timothy Hatcher  <timothy@apple.com>
2222
2223         Update the Inspector's Metrics pane when editing in
2224         the Styles pane. This makes sure the metrics shown
2225         always match what the Styles pane shows.
2226
2227         https://bugs.webkit.org/show_bug.cgi?id=20470
2228
2229         Reviewed by Kevin McCullough.
2230
2231         * page/inspector/ElementsPanel.js:
2232         (WebInspector.ElementsPanel): Add event listeners for
2233         the "style edited" and "style property toggled" events,
2234         so the Metrics pane is updated.
2235         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
2236         Update the Metrics pane.
2237         * page/inspector/StylesSidebarPane.js:
2238         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
2239         Dispatch the "style property toggled" event.
2240         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
2241         Dispatch the "style edited" event when the CSS text is restored.
2242         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
2243         Dispatch the "style edited" event.
2244
2245 2008-08-21  Timothy Hatcher  <timothy@apple.com>
2246
2247         Make the Inspector's Metrics sidebar pane editable.
2248
2249         https://bugs.webkit.org/show_bug.cgi?id=17218
2250         rdar://problem/5732818
2251
2252         Reviewed by Kevin McCullough.
2253
2254         * page/inspector/ElementsPanel.js:
2255         (WebInspector.ElementsPanel): Add an event listener for
2256         the "metrics edited" event, so the Styles pane is updated.
2257         * page/inspector/MetricsSidebarPane.js:
2258         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
2259         so future updates work. Add a double click event listener for the
2260         metric values to start editing.
2261         (WebInspector.MetricsSidebarPane.prototype.startEditing):
2262         Call WebInspector.startEditing with some context.
2263         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
2264         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
2265         Set the user input on the elements inline style. Fire the
2266         "metrics edited" event.
2267
2268 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
2269
2270         Fix a race condition in Windows timer code.
2271         Timer function could end up being called with a 0 timer, leading to a Windows exception.
2272         
2273         Don't post a timer message if one is already pending.
2274         
2275         Reviewed by Ada Chan.
2276
2277         * platform/win/SharedTimerWin.cpp:
2278         (WebCore::TimerWindowWndProc):
2279         (WebCore::clearTimer):
2280         (WebCore::queueTimerProc):
2281         (WebCore::setSharedTimerFireTime):
2282
2283 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
2284
2285         After trying to add the expression, try again with quotes for
2286         easier edition.
2287
2288         https://bugs.webkit.org/show_bug.cgi?id=20466
2289
2290         Reviewed by Tim Hatcher.
2291
2292         * page/inspector/ObjectPropertiesSection.js: Added an
2293         evaluateExpression function.
2294
2295 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
2296
2297         Perform Inspector searches on search event to clear results when
2298         clicking the cross to empty it. Delete the lastQuery when the field
2299         is emptied in order to perform the search if exactly the same query
2300         is entered next.
2301
2302         https://bugs.webkit.org/show_bug.cgi?id=20462
2303
2304         Reviewed by Tim Hatcher.
2305
2306         * page/inspector/inspector.js:
2307
2308 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
2309
2310         Reviewed by Mark Rowe.
2311
2312         http://bugs.webkit.org/show_bug.cgi?id=19656
2313         [SOUP] The gio code should call didFail() instead of
2314         didFinishLoading() in case of error
2315
2316         In case of error call didFail() instead of didReceiveResponse() and
2317         didFinishLoading().
2318
2319         * platform/network/soup/ResourceHandleSoup.cpp:
2320         (WebCore::networkErrorForFile):
2321         (WebCore::readCallback):
2322         (WebCore::openCallback):
2323         (WebCore::queryInfoCallback):
2324
2325 2008-08-20  Mark Rowe  <mrowe@apple.com>
2326
2327         Reviewed by Jon Honeycutt.
2328
2329         Fix build failure.
2330
2331         * bridge/c/c_instance.cpp:
2332         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
2333         as that is what NPEnumerationFunctionPtr is declared as accepting.
2334
2335 2008-08-20  Mark Rowe  <mrowe@apple.com>
2336
2337         Reviewed by Dan Bernstein.
2338
2339         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
2340
2341         * platform/graphics/GraphicsContext.h:
2342         (WebCore::):
2343         * platform/graphics/cg/GraphicsContextCG.cpp:
2344         (WebCore::GraphicsContext::setImageInterpolationQuality):
2345         (WebCore::GraphicsContext::imageInterpolationQuality):
2346
2347 2008-08-20  Dan Bernstein  <mitz@apple.com>
2348
2349         Rubber-stamped by John Sullivan.
2350
2351         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
2352           rename related methods and variables accordingly.
2353
2354         * WebCore.base.exp:
2355         * page/FrameView.cpp:
2356         (WebCore::FrameViewPrivate::FrameViewPrivate):
2357         (WebCore::FrameView::shouldUpdateWhileOffscreen):
2358         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
2359         * page/FrameView.h:
2360         * platform/ScrollView.h:
2361         * platform/mac/ScrollViewMac.mm:
2362         (WebCore::ScrollView::updateContents):
2363
2364 2008-08-20  Brady Eidson  <beidson@apple.com>
2365
2366         Reviewed by Mitzpettel
2367
2368         <rdar://problem/6163636> - Many images broken in Mail
2369
2370         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
2371         sooner than before and confuse the WebArchive machinery.  
2372
2373         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
2374         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
2375         machinery and nothing is known about where the data will eventually come from.
2376
2377         * loader/DocumentLoader.cpp:
2378         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
2379           CachedResource::PreloadReferenced.
2380
2381 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
2382
2383         Unreviewed compile fix
2384
2385         Catch up with the JSValue::type elimination.
2386
2387         * bridge/qt/qt_instance.cpp:
2388         (KJS::Bindings::QtRuntimeObjectImp::construct):
2389         (KJS::Bindings::QtInstance::defaultValue):
2390         * bridge/qt/qt_runtime.cpp:
2391         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2392
2393 2008-08-20  Chris Teague  <chris.teague@gmail.com>
2394
2395         Reviewed by Mark Rowe.
2396
2397         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
2398         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
2399
2400         * ChangeLog:
2401         * loader/FrameLoader.cpp:
2402         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2403
2404 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
2405
2406         Reviewed by Dave Hyatt
2407
2408         getComputedStyle() for webkitTransform should return a transform
2409         that does not have the transform origin baked into it.
2410         https://bugs.webkit.org/show_bug.cgi?id=20464
2411         
2412         Test: fast/css/getComputedStyle-transform.html
2413
2414         * css/CSSComputedStyleDeclaration.cpp:
2415         (WebCore::computedTransform):
2416         * rendering/style/RenderStyle.cpp:
2417         (WebCore::RenderStyle::applyTransform):
2418         * rendering/style/RenderStyle.h:
2419
2420 2008-08-20  Josh Aas  <joshmoz@gmail.com>
2421
2422         Reviewed and landed by Anders.
2423
2424         <rdar://problem/6163636> 
2425         rename NPCocoaEvent's "event" struct to "data" (20446)
2426         
2427         * bridge/npapi.h:
2428         (_NPCocoaEvent::):
2429
2430 2008-08-20  Beth Dakin  <bdakin@apple.com>
2431
2432         Reviewed by Darin.
2433
2434         Fix for <rdar://problem/6145626> 
2435         This patch fixes a number of remaining problems getting 
2436         disconnected frames to work correctly with markAllMatchesForText() 
2437         and findString(). Details inline. 
2438
2439         This was a static helper function in Frame, but this patch requires 
2440         the same functionality in Editor, so I just added it as a function 
2441         on Node.
2442         * dom/Node.cpp:
2443         (WebCore::Node::isInShadowTree):
2444         * dom/Node.h:
2445
2446         * editing/Editor.cpp:
2447         (WebCore::Editor::insideVisibleArea): Returns false if 
2448         excludeFromTextSearch() is true.
2449
2450         In a normal (non-disconnected) frame, findString returns a range of 
2451         the document node if the text is not found in the frame. I changed 
2452         firstVisibleRange and lastVisibleRange to match that behavior when 
2453         the text is not found
2454         (WebCore::Editor::firstVisibleRange):
2455         (WebCore::Editor::lastVisibleRange):
2456
2457         Here are the bulk of the changes in the patch. A lot of text was 
2458         not being found in disconnected frames because I failed to account 
2459         for all of the possible problems associated with shadow trees. That 
2460         is fixed here.
2461         (WebCore::Editor::nextVisibleRange):
2462         * editing/Editor.h:
2463
2464         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
2465         frame as not-text-searchable through SPI. 
2466         * WebCore.base.exp:
2467         * page/Frame.cpp:
2468         (WebCore::Frame::excludeFromTextSearch):
2469         (WebCore::Frame::setExcludeFromTextSearch):
2470         (WebCore::FramePrivate::FramePrivate):
2471         * page/Frame.h:
2472         * page/FramePrivate.h:
2473
2474         (WebCore::Frame::findString):
2475         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
2476         assertion failure in paining code because of the forced paint on 
2477         empty visible rects.
2478
2479 2008-08-20  Timothy Hatcher  <timothy@apple.com>
2480
2481         Adds a positon box to the Inspector's Metrics sidebar
2482         pane. When an element is not statically positioned, there
2483         is now a position box that show top, right, bottom and
2484         left computed values.
2485
2486         Reviewed by Kevin McCullough.
2487
2488         * English.lproj/localizedStrings.js: Updated the strings.
2489         * page/inspector/MetricsSidebarPane.js:
2490         (WebInspector.MetricsSidebarPane.prototype.update):
2491         Renamed the boxPartValue function to createBoxPartElement
2492         and made it create the entire element. Made it understand
2493         how to get position style properties. Don't use the figure dash
2494         when 0px is used for positions, since the 0 is meaningful there.
2495         Instead use the figure dash when a position is auto.
2496         * page/inspector/inspector.css: Added a new rule for position.
2497
2498 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
2499
2500         Reviewed by Beth Dakin
2501
2502         Qt build fix
2503
2504         * WebCore.pro:
2505
2506 2008-08-20  Dan Bernstein  <mitz@apple.com>
2507
2508         Reviewed by Anders Carlsson.
2509
2510         - avoid using a deprecated NSScroller method on Leopard
2511
2512         * platform/mac/PlatformScrollBarMac.mm:
2513         (WebCore::PlatformScrollbar::updateThumbPosition):
2514         (WebCore::PlatformScrollbar::updateThumbProportion):
2515
2516 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
2517
2518         Reviewed by Oliver Hunt.
2519
2520         Gtk build fix
2521
2522         * GNUmakefile.am:
2523         * page/AccessibilityTable.cpp: Change nil to 0
2524         (WebCore::AccessibilityTable::cellForColumnAndRow):
2525
2526 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
2527
2528         Reviewed by Geoff Garen.
2529
2530         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
2531
2532         * ForwardingHeaders/kjs/JSLock.h: Added.
2533         * WebCore.vcproj/WebCore.vcproj:
2534         * bindings/js/GCController.cpp:
2535         (WebCore::collect):
2536         (WebCore::GCController::gcTimerFired):
2537         (WebCore::GCController::garbageCollectNow):
2538         * bindings/js/JSCustomSQLStatementCallback.cpp:
2539         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2540         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2541         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2542         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2543         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2544         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2545         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2546         * bindings/js/JSCustomVoidCallback.cpp:
2547         (WebCore::JSCustomVoidCallback::handleEvent):
2548         * bindings/js/JSCustomXPathNSResolver.cpp:
2549         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2550         * bindings/js/JSDOMWindowBase.cpp:
2551         (WebCore::DOMWindowTimer::~DOMWindowTimer):
2552         (WebCore::JSDOMWindowBase::clear):
2553         (WebCore::JSDOMWindowBase::timerFired):
2554         * bindings/js/JSEventCustom.cpp:
2555         (WebCore::toJS):
2556         * bindings/js/JSEventListener.cpp:
2557         (WebCore::JSAbstractEventListener::handleEvent):
2558         * bindings/js/JSNSResolver.cpp:
2559         (WebCore::JSNSResolver::lookupNamespaceURI):
2560         * bindings/js/JSNodeFilterCondition.cpp:
2561         (WebCore::JSNodeFilterCondition::acceptNode):
2562         * bindings/js/ScheduledAction.cpp:
2563         (WebCore::ScheduledAction::execute):
2564         * bindings/js/ScriptController.cpp:
2565         (WebCore::ScriptController::evaluate):
2566         (WebCore::ScriptController::clearWindowShell):
2567         (WebCore::ScriptController::createHTMLEventHandler):
2568         (WebCore::ScriptController::createSVGEventHandler):
2569         (WebCore::ScriptController::initScript):
2570         (WebCore::ScriptController::updateDocument):
2571         (WebCore::ScriptController::bindingRootObject):
2572         (WebCore::ScriptController::windowScriptNPObject):
2573         (WebCore::ScriptController::createScriptObjectForPluginElement):
2574         (WebCore::ScriptController::clearScriptObjects):
2575         * bindings/js/ScriptControllerMac.mm:
2576         (WebCore::ScriptController::windowScriptObject):
2577         * bindings/objc/WebScriptObject.mm:
2578         (_didExecute):
2579         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2580         (-[WebScriptObject evaluateWebScript:]):
2581         (-[WebScriptObject setValue:forKey:]):
2582         (-[WebScriptObject valueForKey:]):
2583         (-[WebScriptObject removeWebScriptKey:]):
2584         (-[WebScriptObject stringRepresentation]):
2585         (-[WebScriptObject webScriptValueAtIndex:]):
2586         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2587         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2588         * bridge/NP_jsobject.cpp:
2589         (_NPN_InvokeDefault):
2590         (_NPN_Invoke):
2591         (_NPN_Evaluate):
2592         (_NPN_GetProperty):
2593         (_NPN_SetProperty):
2594         (_NPN_RemoveProperty):
2595         (_NPN_HasProperty):
2596         (_NPN_HasMethod):
2597         (_NPN_Enumerate):
2598         * bridge/c/c_class.cpp:
2599         (KJS::Bindings::CClass::~CClass):
2600         (KJS::Bindings::CClass::methodsNamed):
2601         (KJS::Bindings::CClass::fieldNamed):
2602         * bridge/c/c_instance.cpp:
2603         (KJS::Bindings::CInstance::invokeMethod):
2604         (KJS::Bindings::CInstance::invokeDefaultMethod):
2605         (KJS::Bindings::CInstance::getPropertyNames):
2606         * bridge/c/c_runtime.cpp:
2607         (KJS::Bindings::CField::valueFromInstance):
2608         (KJS::Bindings::CField::setValueToInstance):
2609         * bridge/c/c_utility.cpp:
2610         (KJS::Bindings::convertValueToNPVariant):
2611         (KJS::Bindings::convertNPVariantToValue):
2612         * bridge/jni/jni_class.cpp:
2613         (JavaClass::JavaClass):
2614         (JavaClass::~JavaClass):
2615         * bridge/jni/jni_instance.cpp:
2616         (JavaInstance::stringValue):
2617         * bridge/jni/jni_jsobject.mm:
2618         (JavaJSObject::call):
2619         (JavaJSObject::eval):
2620         (JavaJSObject::getMember):
2621         (JavaJSObject::setMember):
2622         (JavaJSObject::removeMember):
2623         (JavaJSObject::getSlot):
2624         (JavaJSObject::setSlot):
2625         (JavaJSObject::toString):
2626         (JavaJSObject::convertValueToJObject):
2627         (JavaJSObject::convertJObjectToValue):
2628         * bridge/jni/jni_objc.mm:
2629         (KJS::Bindings::dispatchJNICall):
2630         * bridge/jni/jni_runtime.cpp:
2631         (appendClassName):
2632         (JavaMethod::signature):
2633         * bridge/jni/jni_runtime.h:
2634         (KJS::Bindings::JavaString::JavaString):
2635         (KJS::Bindings::JavaString::_commonInit):
2636         (KJS::Bindings::JavaString::~JavaString):
2637         (KJS::Bindings::JavaString::UTF8String):
2638         * bridge/jni/jni_utility.cpp:
2639         (KJS::Bindings::convertValueToJValue):
2640         * bridge/npruntime.cpp:
2641         (_NPN_GetStringIdentifier):
2642         * bridge/objc/objc_instance.mm:
2643         (ObjcInstance::moveGlobalExceptionToExecState):
2644         (ObjcInstance::invokeMethod):
2645         (ObjcInstance::invokeDefaultMethod):
2646         (ObjcInstance::setValueOfUndefinedField):
2647         (ObjcInstance::getValueOfUndefinedField):
2648         * bridge/objc/objc_runtime.mm:
2649         (ObjcField::valueFromInstance):
2650         (ObjcField::setValueToInstance):
2651         * bridge/objc/objc_utility.mm:
2652         (KJS::Bindings::convertValueToObjcValue):
2653         (KJS::Bindings::convertNSStringToString):
2654         (KJS::Bindings::convertObjcValueToValue):
2655         * bridge/qt/qt_instance.cpp:
2656         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
2657         (KJS::Bindings::QtInstance::~QtInstance):
2658         (KJS::Bindings::QtInstance::getQtInstance):
2659         (KJS::Bindings::QtInstance::getRuntimeObject):
2660         * bridge/qt/qt_runtime.cpp:
2661         (KJS::Bindings::convertValueToQVariant):
2662         (KJS::Bindings::convertQVariantToValue):
2663         (KJS::Bindings::QtRuntimeMetaMethod::call):
2664         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2665         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
2666         (KJS::Bindings::QtConnectionObject::execute):
2667         * bridge/runtime.cpp:
2668         (KJS::Bindings::Instance::createRuntimeObject):
2669         * bridge/testbindings.cpp:
2670         (main):
2671         * bridge/testbindings.mm:
2672         (main):
2673         * bridge/testqtbindings.cpp:
2674         (main):
2675         * dom/Document.cpp:
2676         (WebCore::Document::~Document):
2677         * dom/Node.cpp:
2678         (WebCore::Node::setDocument):
2679         * history/CachedPage.cpp:
2680         (WebCore::CachedPage::CachedPage):
2681         (WebCore::CachedPage::restore):
2682         (WebCore::CachedPage::clear):
2683         * loader/FrameLoader.cpp:
2684         (WebCore::getString):
2685         * page/InspectorController.cpp:
2686         (WebCore::ConsoleMessage::ConsoleMessage):
2687         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
2688         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
2689         (WebCore::getResourceDocumentNode):
2690         (WebCore::search):
2691         (WebCore::inspectedWindow):
2692         (WebCore::wrapCallback):
2693         (WebCore::currentCallFrame):
2694         (WebCore::profiles):
2695         (WebCore::InspectorController::focusNode):
2696         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
2697         (WebCore::InspectorController::addDatabaseScriptResource):
2698         (WebCore::InspectorController::addScriptProfile):
2699         * page/JavaScriptCallFrame.cpp:
2700         (WebCore::JavaScriptCallFrame::evaluate):
2701         * page/JavaScriptProfileNode.cpp:
2702         (WebCore::getTotalTime):
2703         (WebCore::getSelfTime):
2704         (WebCore::getTotalPercent):
2705         (WebCore::getSelfPercent):
2706         (WebCore::getNumberOfCalls):
2707         (WebCore::getChildren):
2708         (WebCore::getVisible):
2709         * page/Page.cpp:
2710         * page/mac/FrameMac.mm:
2711         * plugins/PluginView.cpp:
2712         (WebCore::PluginView::start):
2713         (WebCore::getString):
2714         (WebCore::PluginView::performRequest):
2715         (WebCore::PluginView::bindingInstance):
2716         * plugins/gtk/PluginViewGtk.cpp:
2717         (WebCore::PluginView::paint):
2718         (WebCore::PluginView::handleKeyboardEvent):
2719         (WebCore::PluginView::handleMouseEvent):
2720         (WebCore::PluginView::setNPWindowRect):
2721         (WebCore::PluginView::stop):
2722         (WebCore::PluginView::init):
2723         * plugins/qt/PluginViewQt.cpp:
2724         (WebCore::PluginView::setNPWindowRect):
2725         (WebCore::PluginView::stop):
2726         (WebCore::PluginView::init):
2727         * plugins/win/PluginViewWin.cpp:
2728         (WebCore::PluginView::dispatchNPEvent):
2729         (WebCore::PluginView::handleKeyboardEvent):
2730         (WebCore::PluginView::handleMouseEvent):
2731         (WebCore::PluginView::setNPWindowRect):
2732         (WebCore::PluginView::stop):
2733         * xml/XMLHttpRequest.cpp:
2734         (WebCore::XMLHttpRequest::clearResponse):
2735         (WebCore::XMLHttpRequest::didFinishLoading):
2736         (WebCore::XMLHttpRequest::didReceiveData):
2737
2738 2008-08-19  Eric Seidel  <eric@webkit.org>
2739
2740         Reviewed by Geoff Garen.
2741
2742         Add the beginnings of Skia graphics support to WebCore
2743         as I try to begin the long process of un-forking the changes
2744         needed to WebCore to make Andriod's WebCore build.
2745
2746         I'll follow this up with actual *Skia.cpp files in a separate patch.
2747
2748         * platform/graphics/AffineTransform.h:
2749         * platform/graphics/FloatPoint.h:
2750         * platform/graphics/FloatRect.h:
2751         * platform/graphics/Gradient.h:
2752         * platform/graphics/GraphicsContext.h:
2753         * platform/graphics/Image.h:
2754         * platform/graphics/ImageBuffer.h:
2755         * platform/graphics/ImageSource.h:
2756         * platform/graphics/IntPoint.h:
2757         * platform/graphics/IntRect.h:
2758         * platform/graphics/Path.h:
2759         * platform/graphics/Pattern.h:
2760         * svg/graphics/SVGPaintServerPattern.h:
2761         * svg/graphics/SVGPaintServerSolid.h:
2762
2763 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2764
2765         Fix Windows build more.
2766
2767         * WebCore.vcproj/WebCore.vcproj:
2768
2769 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2770
2771         Fix Windows build.
2772
2773         * page/AccessibilityRenderObject.cpp:
2774         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2775
2776 2008-08-19  Chris Fleizach  <cfleizach@apple.com>
2777
2778         Reviewed by Beth Dakin.
2779
2780         <rdar://problem/4003764> Expose tables as AXTables
2781  
2782         Tests: accessibility/table-attributes.html
2783                accessibility/table-cell-spans.html
2784                accessibility/table-cells.html
2785                accessibility/table-detection.html
2786                accessibility/table-sections.html
2787                accessibility/table-with-rules.html
2788
2789         * WebCore.xcodeproj/project.pbxproj:
2790         * page/AXObjectCache.cpp:
2791         (WebCore::AXObjectCache::get):
2792         * page/AccessibilityObject.h:
2793         (WebCore::):
2794         (WebCore::AccessibilityObject::isDataTable):
2795         (WebCore::AccessibilityObject::isTableRow):
2796         (WebCore::AccessibilityObject::isTableColumn):
2797         (WebCore::AccessibilityObject::isTableCell):
2798         * page/AccessibilityRenderObject.cpp:
2799         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2800         * page/AccessibilityTable.cpp: Added.
2801         (WebCore::AccessibilityTable::AccessibilityTable):
2802         (WebCore::AccessibilityTable::~AccessibilityTable):
2803         (WebCore::AccessibilityTable::create):
2804         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2805         (WebCore::AccessibilityTable::clearChildren):
2806         (WebCore::AccessibilityTable::addChildren):
2807         (WebCore::AccessibilityTable::headerContainer):
2808         (WebCore::AccessibilityTable::columns):
2809         (WebCore::AccessibilityTable::rows):
2810         (WebCore::AccessibilityTable::rowHeaders):
2811         (WebCore::AccessibilityTable::columnHeaders):
2812         (WebCore::AccessibilityTable::cells):
2813         (WebCore::AccessibilityTable::columnCount):
2814         (WebCore::AccessibilityTable::rowCount):
2815         (WebCore::AccessibilityTable::cellForColumnAndRow):
2816         (WebCore::AccessibilityTable::roleValue):
2817         (WebCore::AccessibilityTable::accessibilityIsIgnored):
2818         (WebCore::AccessibilityTable::title):
2819         (WebCore::AccessibilityTable::isDataTable):
2820         * page/AccessibilityTable.h: Added.
2821         * page/AccessibilityTableCell.cpp: Added.
2822         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
2823         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
2824         (WebCore::AccessibilityTableCell::create):
2825         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
2826         (WebCore::AccessibilityTableCell::rowIndexRange):
2827         (WebCore::AccessibilityTableCell::columnIndexRange):
2828         * page/AccessibilityTableCell.h: Added.
2829         (WebCore::AccessibilityTableCell::isTableCell):
2830         (WebCore::AccessibilityTableCell::roleValue):
2831         * page/AccessibilityTableColumn.cpp: Added.
2832         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
2833         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
2834         (WebCore::AccessibilityTableColumn::create):
2835         (WebCore::AccessibilityTableColumn::setParentTable):
2836         (WebCore::AccessibilityTableColumn::elementRect):
2837         (WebCore::AccessibilityTableColumn::size):
2838         (WebCore::AccessibilityTableColumn::children):
2839         (WebCore::AccessibilityTableColumn::headerObject):
2840         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2841         (WebCore::AccessibilityTableColumn::addChildren):
2842         * page/AccessibilityTableColumn.h: Added.
2843         (WebCore::AccessibilityTableColumn::parentObject):
2844         (WebCore::AccessibilityTableColumn::roleValue):
2845         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
2846         (WebCore::AccessibilityTableColumn::isTableColumn):
2847         (WebCore::AccessibilityTableColumn::setColumnIndex):
2848         (WebCore::AccessibilityTableColumn::columnIndex):
2849         * page/AccessibilityTableHeaderContainer.cpp: Added.
2850         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
2851         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
2852         (WebCore::AccessibilityTableHeaderContainer::create):
2853         (WebCore::AccessibilityTableHeaderContainer::children):
2854         (WebCore::AccessibilityTableHeaderContainer::elementRect):
2855         (WebCore::AccessibilityTableHeaderContainer::size):
2856         (WebCore::AccessibilityTableHeaderContainer::addChildren):
2857         * page/AccessibilityTableHeaderContainer.h: Added.
2858         (WebCore::AccessibilityTableHeaderContainer::roleValue):
2859         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
2860         (WebCore::AccessibilityTableHeaderContainer::parentObject):
2861         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
2862         * page/AccessibilityTableRow.cpp: Added.
2863         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
2864         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
2865         (WebCore::AccessibilityTableRow::create):
2866         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
2867         (WebCore::AccessibilityTableRow::headerObject):
2868         * page/AccessibilityTableRow.h: Added.
2869         (WebCore::AccessibilityTableRow::isTableRow):
2870         (WebCore::AccessibilityTableRow::roleValue):
2871         (WebCore::AccessibilityTableRow::setRowIndex):
2872         (WebCore::AccessibilityTableRow::rowIndex):
2873         * page/mac/AccessibilityObjectWrapper.mm:
2874         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2875         (RoleEntry::):
2876         (-[AccessibilityObjectWrapper roleDescription]):
2877         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2878         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2879         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2880
2881 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2882
2883         Build fix.
2884         Add buildfailed support to stop builds early (preventing inaccurate error messages).
2885         Add missing post-build rule to Release.
2886
2887         * WebCore.vcproj/QTMovieWin.vcproj:
2888
2889 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
2890
2891         Added support for console.count in the inspector.
2892
2893         Reviewed by Geoff Garen.
2894
2895         * page/Console.cpp:
2896         (WebCore::Console::count):
2897         * page/Console.h:
2898         * page/Console.idl: Added console.count.
2899         * page/InspectorController.cpp:
2900         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
2901         (WebCore::InspectorController::count): Updates the count number
2902         sing "title@source:line" as the identifier, and adds a
2903         message to the console.
2904         * page/InspectorController.h: Added m_counts.
2905
2906 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
2907
2908         Clear console.time timers when changing page.
2909
2910         Reviewed by Geoff Garen.
2911
2912         * page/InspectorController.cpp:
2913         (WebCore::InspectorController::didCommitLoad):
2914
2915 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
2916
2917         Reviewed by Adele.
2918
2919         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
2920         https://bugs.webkit.org/show_bug.cgi?id=20404
2921
2922         Ignore setVisible() when visibility doesn't change.
2923
2924         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2925         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2926         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2927         (WebCore::MediaPlayerPrivate::setVisible):
2928
2929 2008-08-19  Timothy Hatcher  <timothy@apple.com>
2930
2931         Fixes a bug in the Profile view where switching sort order, then
2932         switching from heavy to tree mode would show the tree in the
2933         previous sort order.
2934
2935         https://bugs.webkit.org/show_bug.cgi?id=20441
2936
2937         Reviewed by Kevin McCullough.
2938
2939         * page/inspector/ProfileView.js:
2940         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
2941         on the next profile before assigning it to this.profile.
2942         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
2943         (WebInspector.ProfileView.prototype._sortProfile): Moves from
2944         _sortData and takes a profile argument. If the profile passed in
2945         matches the this.profile, then call refresh.
2946
2947 2008-08-18  Timothy Hatcher  <timothy@apple.com>
2948
2949         Changed the default sort order now that heavy view is the default.
2950         Also fixes a bug where the heavy profile was not sorted at first.
2951
2952         https://bugs.webkit.org/show_bug.cgi?id=20440
2953
2954         Reviewed by Kevin McCullough.
2955
2956         * page/inspector/ProfileView.js:
2957         (WebInspector.ProfileView): Changed the default sort column. Also assign
2958         heavyProfile to profile, so the sortSelfTimeDescending call happens
2959         on the heavy profile before assigning to this.profile.
2960
2961 2008-08-18  Timothy Hatcher  <timothy@apple.com>
2962
2963         Add support for editing DOM properties and scope variables by double
2964         clicking a property to enter edit mode.
2965
2966         https://bugs.webkit.org/show_bug.cgi?id=20415
2967
2968         Reviewed by Kevin McCullough.
2969
2970         * page/inspector/ObjectPropertiesSection.js:
2971         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
2972         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
2973         Factored out code into update, and calls update.
2974         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
2975         Call removeChildren since this method can be called multiple times now.
2976         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
2977         gets made later in onattach.
2978         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
2979         if shouldRefreshChildren is true. Call removeChildren since this method can be
2980         called multiple times now.
2981         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
2982         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
2983         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
2984         this element (code moved from the constructor.)
2985         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
2986         sibling property elements.
2987         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
2988         WebInspector.startEditing after rememebring some context.
2989         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
2990         for the list element, since it might have scrolled during editing.
2991         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
2992         then restore the state from the context. Then call update to restore the title.
2993         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
2994         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
2995         to commit the user input.
2996         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
2997         and stores the result on the object for the property name of this element. If the expression is
2998         empty, delete the property and remove the tree element.
2999         * page/inspector/ScopeChainSidebarPane.js:
3000         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
3001         property on each ObjectPropertiesSection.
3002         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
3003         since it is now implemented.
3004         * page/inspector/ScriptsPanel.js:
3005         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
3006         that defaults to true if omitted. It specifies whether to call update on the scope chain.
3007         * page/inspector/inspector.css: New styles.
3008         * page/inspector/treeoutline.js:
3009         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
3010         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
3011
3012 2008-08-18  Timothy Hatcher  <timothy@apple.com>
3013
3014         Surround the expression to be evaluated in parenthesis so the
3015         result of the eval is the result of the whole expression not
3016         the last potential sub-expression. So evaluating {x: 123}
3017         will show the Object not 123.
3018
3019         https://bugs.webkit.org/show_bug.cgi?id=20428
3020
3021         Reviewed by Kevin McCullough.
3022
3023         * page/inspector/Console.js:
3024         (Console.prototype._evalInInspectedWindow): Add parenthesis
3025         around the expression. And add couple comments.
3026
3027 2008-08-19 Kevin McCullough <kmccullough@apple.com>
3028
3029         Reviewed by Geoff.
3030
3031         -Implement a page() function to extract a common code pattern.
3032
3033         * WebCore.xcodeproj/project.pbxproj:
3034         * page/Console.cpp:
3035         (WebCore::Console::addMessage):
3036         (WebCore::Console::error):
3037         (WebCore::Console::info):
3038         (WebCore::Console::log):
3039         (WebCore::Console::dir):
3040         (WebCore::Console::assertCondition):
3041         (WebCore::Console::time):
3042         (WebCore::Console::timeEnd):
3043         (WebCore::Console::group):
3044         (WebCore::Console::groupEnd):
3045         (WebCore::Console::finishedProfiling):
3046         (WebCore::Console::warn):
3047         (WebCore::Console::framePage):
3048         * page/Console.h:
3049
3050 2008-08-12  Darin Adler  <darin@apple.com>
3051
3052         Reviewed by Geoff.
3053
3054         - eliminate JSValue::type()
3055
3056         * bridge/c/c_instance.cpp:
3057         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
3058         argument instead of JSType argument. Removed unneeded code to handle
3059         boolean, since that's never passed.
3060         * bridge/c/c_instance.h: Ditto.
3061
3062         * bridge/c/c_utility.cpp:
3063         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
3064         instead of JSValue::type(). Removed unneeded code to handle
3065         "unspecified".
3066
3067         * bridge/jni/jni_instance.cpp:
3068         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
3069         instead of JSType argument. Removed unneeded code to handle boolean.
3070         * bridge/jni/jni_instance.h: Ditto.
3071
3072         * bridge/jni/jni_jsobject.mm:
3073         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
3074         instead of JSValue::type().
3075
3076         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
3077         instead of JSType argument. Removed unused argument.
3078         * bridge/objc/objc_instance.mm:
3079         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
3080         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
3081         instead of JSType argument. Removed unneeded code to handle boolean
3082         and another dead code path for unknown types.
3083
3084         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
3085         instead of JSType argument. Removed override of type() that caused
3086         the fallback object to return "UndefinedType" when there is no
3087         invokeUndefinedMethodFromWebScript:withArguments: method defined.
3088         That didn't accomplish much, since most checks for undefined don't
3089         ever call type().
3090         * bridge/objc/objc_runtime.mm:
3091         (ObjcFallbackObjectImp::defaultValue): Ditto.
3092
3093         * bridge/qt/qt_instance.cpp:
3094         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
3095         argument instead of JSType argument. Removed unneeded code to handle
3096         boolean.
3097         * bridge/qt/qt_instance.h: Ditto.
3098
3099         * bridge/runtime.h:
3100         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
3101         unsed argument.
3102         * bridge/runtime_object.cpp:
3103         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
3104         argument instead of JSType argument.
3105         * bridge/runtime_object.h: Ditto.
3106
3107 2008-08-18  Maxime Britto  <britto@apple.com>
3108
3109         Reviewed by Adele.
3110
3111         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
3112         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
3113         We shouldn't be able to create another window while we are in pan scrolling.
3114         Other browsers behaviors :
3115           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
3116           IE7 : Keys are not disabled but stops immediately the panning.
3117         This patch matches FF3 behavior by disabling every key but the esc key.
3118
3119         * page/EventHandler.cpp:
3120         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
3121         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
3122
3123 2008-08-18  Dan Bernstein  <mitz@apple.com>
3124
3125         Reviewed by Dave Hyatt.
3126
3127         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
3128
3129         Test: fast/replaced/max-width-percent.html
3130
3131         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
3132         When false, max-width is not factored into the
3133         calculation.
3134         Changed RenderReplaced and subclasses' calcPrefWidths() to call
3135         calcReplacedWidth(false) and then apply max-width only if it has a
3136         fixed, positive value.
3137
3138         * rendering/RenderBox.cpp:
3139         (WebCore::RenderBox::calcReplacedWidth):
3140         * rendering/RenderBox.h:
3141         * rendering/RenderImage.cpp:
3142         (WebCore::RenderImage::calcReplacedWidth):
3143         (WebCore::RenderImage::calcPrefWidths): 
3144         * rendering/RenderImage.h:
3145         * rendering/RenderReplaced.cpp:
3146         (WebCore::RenderReplaced::calcPrefWidths):
3147         * rendering/RenderSVGRoot.cpp:
3148         (WebCore::RenderSVGRoot::calcPrefWidths):
3149         * rendering/RenderVideo.cpp:
3150         (WebCore::RenderVideo::calcReplacedWidth):
3151         (WebCore::RenderVideo::calcPrefWidths):
3152         * rendering/RenderVideo.h:
3153
3154 2008-08-18  Daniel Macks  <dmacks@netspace.org>
3155
3156         Reviewed by Mark Rowe.
3157
3158         https://bugs.webkit.org/show_bug.cgi?id=20410
3159         More portable/self-documenting replacement for SIZE_MAX.
3160
3161         * platform/network/curl/FormDataStreamCurl.cpp:
3162         (WebCore::FormDataStream::read):
3163
3164 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
3165
3166         Reviewed by Dave Hyatt
3167
3168         Need to make sure we have an Animation in the AnimationList
3169         before setting the initial value.
3170         https://bugs.webkit.org/show_bug.cgi?id=20408
3171
3172         Test: fast/css/transition_shorthand_parsing.html
3173
3174         * css/CSSStyleSelector.cpp:
3175
3176 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
3177
3178         Reviewed by Tim.
3179
3180         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
3181         is another profile.
3182
3183         * page/inspector/ProfilesPanel.js:
3184
3185 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
3186
3187         Reviewed by Geoff.
3188
3189         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
3190         all console messages
3191
3192         * page/inspector/Console.js:
3193
3194 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
3195
3196         Reviewed by Eric Seidel.
3197
3198         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
3199         the canvas clean up.
3200
3201         https://bugs.webkit.org/show_bug.cgi?id=20405
3202
3203         * html/CanvasRenderingContext2D.cpp:
3204         (WebCore::CanvasRenderingContext2D::fill):
3205         (WebCore::CanvasRenderingContext2D::stroke):
3206         (WebCore::CanvasRenderingContext2D::fillRect):
3207
3208 2008-08-17  Timothy Hatcher  <timothy@apple.com>
3209
3210         Complete in scope variables in the Console when paused.
3211
3212         https://bugs.webkit.org/show_bug.cgi?id=19115
3213
3214         Reviewed by Geoffrey Garen.
3215
3216         * page/inspector/Console.js:
3217         (WebInspector.Console.prototype.completions): If the expressionString
3218         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
3219         to get an object that declares all the in scope variables. That way
3220         "top level" expressions are completed.
3221         * page/inspector/ScriptsPanel.js:
3222         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
3223         Return an object that has all the variables that are in scope for the
3224         selected call frame. The value of each property is just true.
3225         The return object is useful for quick lookups or auto completion.
3226
3227 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3228
3229         Not reviewed.
3230
3231         Speculative Qt build fix.
3232
3233         * bridge/qt/qt_runtime.cpp:
3234         (KJS::Bindings::convertValueToQVariant):
3235         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3236
3237 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
3238
3239         Reviewed by Cameron Zwarich.
3240         
3241         Updated project files to XCode 3.1.
3242
3243         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
3244
3245 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
3246
3247         Reviewed by Cameron Zwarich.
3248
3249         Made room for a free word in JSCell.
3250         
3251         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
3252         JSGlobalData, so the two could share a pointer.
3253         
3254         Added a bunch of ASSERTs, to help catch over-sized objects.
3255
3256 2008-08-15  Mark Rowe  <mrowe@apple.com>
3257
3258         Reviewed by Dan Bernstein.
3259
3260         Disable dead code stripping in debug builds.
3261
3262         * Configurations/Base.xcconfig:
3263         * WebCore.xcodeproj/project.pbxproj:
3264
3265 2008-08-15  Mark Rowe  <mrowe@apple.com>
3266
3267         Rubber-stamped by Geoff Garen.
3268
3269         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
3270
3271         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
3272         between the Debug configuration and debug Production variant.
3273         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
3274
3275 2008-08-15  Antti Koivisto  <antti@apple.com>
3276
3277         Reviewed by Anders.
3278
3279         Don't start preloading body resources before the head is complete. This prevents
3280         body preloads from slowing down initial display when there is limited amount
3281         of bandwidth available.
3282         
3283         Works by queuing up found body preloads to DocLoader and only issuing them
3284         after document has rendering.
3285         
3286         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
3287         without affecting complete load time.
3288
3289         * html/PreloadScanner.cpp:
3290         (WebCore::PreloadScanner::PreloadScanner):
3291         (WebCore::PreloadScanner::scanningBody):
3292         (WebCore::PreloadScanner::emitTag):
3293         (WebCore::PreloadScanner::emitCSSRule):
3294         * html/PreloadScanner.h:
3295         * loader/DocLoader.cpp:
3296         (WebCore::DocLoader::preload):
3297         (WebCore::DocLoader::checkForPendingPreloads):
3298         (WebCore::DocLoader::requestPreload):
3299         * loader/DocLoader.h:
3300         * loader/loader.cpp:
3301         (WebCore::Loader::Host::didFinishLoading):
3302         (WebCore::Loader::Host::didFail):
3303
3304 2008-08-15  Ada Chan  <adachan@apple.com>
3305
3306         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
3307         This way style set on an <hr> within a <select> will be honored.
3308
3309         Reviewed by Dave Hyatt and Dan Bernstein.
3310
3311         * rendering/RenderMenuList.cpp:
3312         (WebCore::RenderMenuList::itemStyle):
3313
3314 2008-08-15  Antti Koivisto  <antti@apple.com>
3315
3316         Reviewed by Oliver.
3317
3318         Some loader performance tweaks:
3319         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
3320           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
3321           to not delay rendering.
3322         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
3323           can take long time when latency is high so it is good to get started early.
3324         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
3325           load queues. Issue remaining loads to the network layer.
3326
3327         * loader/loader.cpp:
3328         (WebCore::Loader::determinePriority):
3329         (WebCore::Loader::load):
3330         (WebCore::Loader::Host::servePendingRequests):
3331         * loader/loader.h:
3332
3333 2008-08-15  Timothy Hatcher  <timothy@apple.com>
3334
3335         Detach the script debugger when the Web Inspector's window closes.
3336         This has always been the intended design, but never fully implemented.
3337
3338         https://bugs.webkit.org/show_bug.cgi?id=20402
3339
3340         Reviewed by Adam Roben.
3341
3342         * page/InspectorController.cpp:
3343         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
3344         if the window is no longer visible.
3345
3346 2008-08-15  Håvard Wall  <hwall@trolltech.com>
3347
3348         Reviewed by Simon.
3349
3350         Fixes:    compile with QT_NO_CONTEXTMENU
3351
3352         * platform/qt/PlatformMouseEventQt.cpp:
3353         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3354         * platform/qt/PlatformScrollBarQt.cpp:
3355         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
3356         (WebCore::PlatformScrollbar::handleContextMenuEvent):
3357
3358 2008-08-15  Håvard Wall  <hwall@trolltech.com>
3359
3360         Reviewed by Simon.
3361
3362         Fixes: compile with QT_NO_WHEELEVENT
3363
3364         * platform/qt/WheelEventQt.cpp:
3365         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3366
3367 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
3368
3369         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
3370
3371         https://bugs.webkit.org/show_bug.cgi?id=20210
3372
3373         Reviewed by Tim Hatcher.
3374
3375         * page/Console.cpp:
3376         (WebCore::Console::group):
3377         (WebCore::Console::groupEnd):
3378         * page/Console.h:
3379         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
3380         * page/InspectorController.cpp:
3381         (WebCore::InspectorController::startGroup): Increments group level by
3382         one and adds console message with StartGroupMessaageLevel.
3383         (WebCore::InspectorController::endGroup): Decrements group level by one
3384         and adds console message with EndGroupMessaageLevel.
3385         * page/InspectorController.h:
3386         * page/inspector/Console.js:
3387         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
3388         if the message is StartGroupMessaageLevel.
3389         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3390         (WebInspector.ConsoleGroup.prototype.addMessage):
3391         * page/inspector/inspector.js:
3392
3393 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
3394
3395         Adds support for console.dir to the Inspector
3396
3397         https://bugs.webkit.org/show_bug.cgi?id=19155
3398
3399         Reviewed by Tim Hatcher.
3400
3401         * bindings/js/JSConsoleCustom.cpp:
3402         (WebCore::JSConsole::dir):
3403         * page/Console.cpp:
3404         (WebCore::Console::dir):
3405         * page/Console.h: Added ObjectMessageLevel.
3406         * page/Console.idl: Added console.dir.
3407         * page/inspector/Console.js:
3408         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
3409         ObjectPropertiesSection if the MessageLevel is Object.
3410         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
3411         used on primitive data types.
3412         * page/inspector/inspector.css:
3413
3414 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
3415
3416         Adds support for clear() in the Inspector console.
3417
3418         https://bugs.webkit.org/show_bug.cgi?id=19873
3419
3420         Reviewed by Tim Hatcher.
3421
3422         * page/inspector/Console.js:
3423
3424 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
3425
3426         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
3427
3428         Platform distinction and modifier key matching adjusted
3429         by Daniel Jalkut <jalkut@red-sweater.com>
3430
3431         Bug 16313: text search (find) keybindings should work in the Web Inspector
3432         https://bugs.webkit.org/show_bug.cgi?id=16313
3433
3434         Reviewed by Tim Hatcher.
3435
3436         * page/inspector/inspector.js: Added a case for the F key
3437
3438 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
3439
3440         Fix for error when the string doesn't contain a webkit-profile link.
3441
3442         https://bugs.webkit.org/show_bug.cgi?id=20399
3443
3444         Reviewed by Tim Hatcher.
3445
3446         * page/inspector/inspector.js:
3447
3448 2008-08-15  Timothy Hatcher  <timothy@apple.com>
3449
3450         Fixes two bugs where JavaScript could be executed from the page
3451         while the debugger is paused.
3452
3453         The first issue was JSLazyEventListener not checking the paused
3454         state before parsing the code.
3455
3456         The second issue was with the PageGroup version of
3457         JavaScriptDebugServer::setJavaScriptPaused always passing false
3458         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
3459         and not the paused argument.
3460
3461         https://bugs.webkit.org/show_bug.cgi?id=20284
3462
3463         Reviewed by Adam Roben.
3464
3465         * bindings/js/JSEventListener.cpp:
3466         (WebCore::JSLazyEventListener::parseCode): Check the paused
3467         state of the ScriptController. Return early if paused.
3468         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
3469         * page/JavaScriptDebugServer.cpp:
3470         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
3471         Pass the paused argument to the Page version of setJavaScriptPaused.
3472
3473 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
3474
3475         Reviewed by Geoff Garen.
3476
3477         JSStringRef is created context-free, but can get linked to one via an identifier table,
3478         breaking an implicit API contract.
3479
3480         * page/InspectorController.cpp:
3481         (WebCore::jsStringRef):
3482         (WebCore::InspectorController::didParseSource):
3483         (WebCore::InspectorController::failedToParseSource):
3484         * page/JavaScriptProfile.cpp:
3485         (WebCore::getTitleCallback):
3486         Updated for JavaScriptCore changes.
3487
3488 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
3489
3490         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
3491         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
3492
3493         * platform/graphics/AffineTransform.h:
3494
3495 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
3496
3497         Reviewed by Adele.
3498
3499         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
3500         <video> elements on Windows never becomes visible when a page is restored from the cache
3501
3502         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
3503         value is different from the cached value. Let the implementation decide when
3504         to avoid work because nothing has changed.
3505
3506         * platform/graphics/MediaPlayer.cpp:
3507         (WebCore::MediaPlayer::setVolume):
3508         (WebCore::MediaPlayer::setRate):
3509         (WebCore::MediaPlayer::setRect):
3510         (WebCore::MediaPlayer::setVisible):
3511
3512 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
3513
3514         Make Firebug command line API respect predefined variables.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=20385
3517
3518         Reviewed by Tim Hatcher.
3519
3520         * page/inspector/Console.js:
3521
3522 2008-08-14  Sam Weinig  <sam@webkit.org>
3523
3524         Reviewed by Geoffrey Garen and Timothy Hatcher.
3525
3526         Allow programatically setting the HTMLTokenizers time delay and chunk size
3527         which are used for determining how aggressively we yield.
3528
3529         * WebCore.base.exp:
3530         * html/HTMLTokenizer.cpp:
3531         (WebCore::HTMLTokenizer::begin):
3532         (WebCore::HTMLTokenizer::continueProcessing):
3533         * html/HTMLTokenizer.h:
3534         * page/Page.cpp:
3535         (WebCore::Page::Page):
3536         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
3537         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
3538         * page/Page.h:
3539         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
3540         (WebCore::Page::customHTMLTokenizerTimeDelay):
3541         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
3542         (WebCore::Page::customHTMLTokenizerChunkSize):
3543
3544 2008-08-14  Eric Seidel  <eric@webkit.org>
3545
3546         Reviewed by Beth.
3547
3548         Move us one step closer to cross-platform svg/graphics code
3549
3550         * WebCore.xcodeproj/project.pbxproj:
3551         * html/CanvasStyle.cpp:
3552         * platform/graphics/Color.cpp:
3553         (WebCore::colorWithOverrideAlpha):
3554         * platform/graphics/Color.h:
3555         * svg/graphics/cg/CgSupport.cpp:
3556         (WebCore::applyStrokeStyleToContext):
3557         (WebCore::strokeBoundingBox):
3558         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
3559         (WebCore::SVGPaintServerSolid::setup):
3560
3561 2008-08-14  Eric Seidel  <eric@webkit.org>
3562
3563         Reviewed by Alexey.
3564
3565         Remove un-need includes from HTMLCanvas and use the
3566         Gradient platform abstraction in one place in CanvasStyle
3567
3568         * html/CanvasRenderingContext2D.cpp:
3569         (WebCore::CanvasRenderingContext2D::fillRect):
3570         * html/CanvasStyle.cpp:
3571         * html/HTMLCanvasElement.cpp:
3572
3573 2008-08-14  Eric Seidel  <eric@webkit.org>
3574
3575         Reviewed by Alexey.
3576
3577         Clean up GlyphBuffer.h, removing more #ifdefs
3578
3579         * platform/graphics/GlyphBuffer.h:
3580         (WebCore::GlyphBuffer::glyphAt):
3581         (WebCore::GlyphBuffer::advanceAt):
3582         (WebCore::GlyphBuffer::add):
3583
3584 2008-08-14  Eric Seidel  <eric@webkit.org>
3585
3586         Reviewed by Sam.
3587
3588         Clean up AffineTransform.h, removing #ifdefs
3589
3590         * platform/graphics/AffineTransform.h:
3591         * platform/graphics/cairo/AffineTransformCairo.cpp:
3592         * platform/graphics/cg/AffineTransformCG.cpp:
3593         * platform/graphics/qt/AffineTransformQt.cpp:
3594         * platform/graphics/wx/AffineTransformWx.cpp:
3595
3596 2008-08-14  Dan Bernstein  <mitz@apple.com>
3597
3598         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
3599
3600         * platform/graphics/cairo/ImageSourceCairo.cpp:
3601         (WebCore::ImageSource::frameSizeAtIndex):
3602         * platform/graphics/qt/ImageSourceQt.cpp:
3603         (WebCore::ImageSource::frameSizeAtIndex):
3604         * platform/graphics/wx/ImageSourceWx.cpp:
3605         (WebCore::ImageSource::frameSizeAtIndex):
3606
3607 2008-08-14  Dan Bernstein  <mitz@apple.com>
3608
3609         Reviewed by Brady Eidson.
3610
3611         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
3612
3613         * platform/graphics/BitmapImage.cpp: 
3614         (WebCore::BitmapImage::BitmapImage): Added initialization of
3615         m_hasUniformFrameSize.
3616         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
3617         cached frame for use in decoded size computation and for setting
3618         m_hasUniformFrameSize.
3619         (WebCore::BitmapImage::currentFrameSize): Added.
3620         (WebCore::BitmapImage::dataChanged): Added code to reset
3621         m_hasUniformFrameSize.
3622         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
3623         m_hasUniformFrameSize.
3624         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
3625         * platform/graphics/cg/ImageCG.cpp:
3626         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
3627         fixes the bug, which resulted from assuming that the frame being drawn 
3628         was the same size as the first frame.
3629         * platform/graphics/cg/ImageSourceCG.cpp:
3630         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
3631         changed to get the size of the frame at the given index.
3632         (WebCore::ImageSource::size): Added. Return