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