3938bedfccca2057a6af5426cbb6651221fb58d1
[WebKit-https.git] / WebCore / ChangeLog
1 2009-08-20  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
6         https://bugs.webkit.org/show_bug.cgi?id=28474
7
8         This patch fixes a crash when indenting at right after a table.
9         The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
10         where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
11         enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());
12
13         Test: editing/execCommand/indent-right-after-table.html
14
15         * editing/IndentOutdentCommand.cpp:
16         (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
17
18 2009-08-20  Andrew Scherkus  <scherkus@chromium.org>
19
20         Reviewed by David Levin.
21
22         Render disabled mute button during an error or if no audio is present.
23
24         https://bugs.webkit.org/show_bug.cgi?id=28475
25
26         Covered by existing layout tests:
27         media/video-controls-visible-audio-only.html
28         media/video-no-audio.html
29
30         * rendering/RenderThemeChromiumSkia.cpp:
31         (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
32
33 2009-08-20  Dan Bernstein  <mitz@apple.com>
34
35         Reviewed by Darin Adler.
36
37         <rdar://problem/7154605> Loading page with 1px wide <select> makes the
38         toolbar go blank
39         and
40         <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
41         the console with certain content
42
43         * rendering/RenderThemeMac.mm:
44         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
45         if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
46         adjust the radii in case the sides of the rectangle are smaller than sum
47         of the radii, so that the gradient background matches the border (which
48         already uses getBorderRadiiForRect()). Check if bottomGradient is empty
49         to avoid clipping to an empty path.
50         (WebCore::RenderThemeMac::paintMenuListButton): Moved a
51         GraphicContext::save() down to avoid a save/restore imbalance in the
52         early return case.
53
54         * rendering/RenderThemeSafari.cpp: Made the same changes.
55         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
56         (WebCore::RenderThemeSafari::paintMenuListButton):
57
58 2009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
59
60         Reviewed by Gustavo Noronha.
61
62         [Gtk][REGRESSION] XHR test failures after r45558
63         https://bugs.webkit.org/show_bug.cgi?id=27143
64
65         Disable sniffing if it's explicitly requested. Updated patch
66         originally by Gustavo Noronha.
67
68         * platform/network/soup/ResourceHandleSoup.cpp:
69         (WebCore::statusWillBeHandledBySoup):
70         (WebCore::gotHeadersCallback):
71         (WebCore::contentSniffedCallback):
72         (WebCore::gotChunkCallback):
73         (WebCore::startHttp):
74
75 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
76
77         Reviewed by Simon Hausmann.
78
79         [Qt] Swap the pixels since QImage expect ARGB while ImageData
80         stores them as RGBA.
81
82         This fixes the fast/canvas/canvas-copyPixels.html test.
83
84         * platform/graphics/qt/ImageBufferQt.cpp:
85         (WebCore::putImageData):
86
87 2009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
88
89         Reviewed by David Levin.
90
91         [v8] Use atomic string caching for createElement
92         Extend atomic string caching to createElement.  Fix a bug in idl
93         parser that caused incorrect parsing if a function argument
94         attribute list contained a comma.
95         https://bugs.webkit.org/show_bug.cgi?id=28449
96
97         * bindings/scripts/CodeGeneratorV8.pm:
98         * bindings/scripts/IDLParser.pm:
99         * bindings/v8/V8Binding.h:
100         (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
101         * dom/Document.idl:
102
103 2009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
104
105         Not reviewed, build fix after r47515.
106
107         [Qt] There is no Phonon::MediaObject::hasAudio() function.
108
109         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
110         (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
111
112 2009-08-20  Darin Fisher  <darin@chromium.org>
113
114         Reviewed by Eric Seidel.
115
116         https://bugs.webkit.org/show_bug.cgi?id=28483
117         The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
118         Widget* instead of void* to avoid the need for manual casting to Widget*
119         at the callsite.
120
121         * bindings/v8/ScriptController.cpp:
122         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
123         * bindings/v8/ScriptController.h:
124
125 2009-08-19  David Levin  <levin@chromium.org>
126
127         Unreviewed speculative build fix for qt.
128
129         * page/OriginAccessEntry.cpp:
130
131 2009-08-19  Aaron Boodman  <aa@chromium.org>
132
133         Reviewed by David Levin.
134
135         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
136         specify a more granular policy for cross-origin XHR access.
137
138         Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
139                http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
140                http/tests/xmlhttprequest/origin-whitelisting-https.html
141                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
142                http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
143                http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
144
145         * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
146         testing via layout tests.
147
148         * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
149         * GNUmakefile.am: Ditto.
150         * WebCore.gypi: Ditto.
151         * WebCore.pro: Ditto.
152         * WebCore.vcproj/WebCore.vcproj: Ditto.
153         * WebCoreSources.blk: Ditto.
154
155         * page/SecurityOrigin.h: Implement origin access whitelists.
156         (WebCore::originAccessMap): Static getter for access whitelists.
157         (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
158         (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
159         (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.
160
161         * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
162         * page/OriginAccessEntry.cpp: Ditto.
163
164 2009-08-19  Kevin Ollivier  <kevino@theolliviers.com>
165
166         Non-precomp headers build fix.
167
168         * platform/image-decoders/ImageDecoder.cpp:
169
170 2009-08-19  Jeremy Orlow  <jorlow@chromium.org>
171
172         Reviewed by Darin Fisher.
173
174         Disable a bad SKIA assert
175         https://bugs.webkit.org/show_bug.cgi?id=28482
176
177         In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
178         When this was pulled into Chromium, it started breaking the page cycler. 
179         Disable it again until we can figure out what's going on.
180
181         * platform/graphics/skia/PlatformContextSkia.cpp:
182         (PlatformContextSkia::setupPaintCommon):
183
184 2009-08-19  Ryosuke Niwa  <rniwa@webkit.org>
185
186         Reviewed by Darin Adler.
187
188         queryCommandState('underline') returns false if the selected text is also bold and italic
189         https://bugs.webkit.org/show_bug.cgi?id=11022
190
191         This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
192         instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
193         the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
194         and also u, s, and strike tags.
195
196         Test: editing/style/text-decoration-state.html
197
198         * editing/EditorCommand.cpp:
199         (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
200         (WebCore::stateUnderline): Ditto.
201
202 2009-08-19  Anders Carlsson  <andersca@apple.com>
203
204         Reviewed by Darin Adler.
205
206         - Fix <rdar://problem/7155710>
207         HTML selects on windows cause containing window to become inactive when opened.
208
209         * platform/win/PopupMenuWin.cpp:
210         (WebCore::PopupMenu::show):
211         Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
212         SW_SHOWNOACTIVATE to ShowWindow.
213         
214         (WebCore::PopupWndProc):
215         Prevent mouse activation from activating the window.
216
217 2009-08-19  Simon Fraser  <simon.fraser@apple.com>
218
219         Reviewed by Darin Adler.
220
221         Images flash as you hover them on http://www.atebits.com/scribbles/
222         <rdar://problem/7143958>
223         
224         Tag images with the device colorspace with the colorspace of the main display, rather than
225         GenericRGB, so that composited images color-match those rendered via Core Graphics.
226         
227         Covered by LayoutTests/compositing/color-matching/image-color-matching.html
228
229         * platform/graphics/mac/GraphicsLayerCA.mm:
230         (WebCore::GraphicsLayerCA::setContentsToImage):
231
232 2009-08-19  Anders Carlsson  <andersca@apple.com>
233
234         Reviewed by David Hyatt and Dan Bernstein.
235
236         - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.
237
238         * page/FrameView.cpp:
239         (WebCore::FrameView::FrameView):
240         Initialize m_scrollCorner.
241
242         (WebCore::FrameView::~FrameView):
243         Assert that m_scrollCorner is null.
244
245         (WebCore::FrameView::detachCustomScrollbars):
246         Destroy m_scrollCorner.
247
248         (WebCore::FrameView::invalidateScrollCorner):
249         Invalidate the scroll corner.
250         
251         (WebCore::FrameView::updateScrollCorner):
252         Create/destroy the scroll corner.
253         
254         (WebCore::FrameView::paintScrollCorner):
255         Paint the scroll corner.
256         
257         * page/FrameView.h:
258         (WebCore::FrameView::isFrameViewScrollCorner):
259         Return whether a RenderScrollbarPart is the frame view scroll corner.
260         
261         * platform/ScrollView.cpp:
262         (WebCore::ScrollView::updateScrollbars):
263         Go ahead and update the scroll corner.
264         
265         (WebCore::ScrollView::setScrollbarsSuppressed):
266         Pass the scroll corner rect to invalidateRect.
267         
268         (WebCore::ScrollView::scrollCornerRect):
269         Return the scroll corner rect.
270         
271         * platform/ScrollView.h:
272         * rendering/RenderScrollbarPart.cpp:
273         (WebCore::RenderScrollbarPart::imageChanged):
274         If this scrollbar part is the frame view scroll corner, invalidate it.
275
276 2009-08-19  Dirk Schulze  <krit@webkit.org>
277
278         Reviewed by Oliver Hunt.
279
280         SVG feComponentTransfer needs to be implemented
281         [https://bugs.webkit.org/show_bug.cgi?id=27768]
282
283         Implementation of SVG Filter feComponentTransfer.
284
285         There is already a test case
286         Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg
287
288         * platform/graphics/filters/FEComponentTransfer.cpp:
289         (WebCore::identity):
290         (WebCore::table):
291         (WebCore::discrete):
292         (WebCore::linear):
293         (WebCore::gamma):
294         (WebCore::FEComponentTransfer::apply):
295
296 2009-08-19  Dan Bernstein  <mitz@apple.com>
297
298         Reviewed by Dave Hyatt.
299
300         <rdar://problem/7141522> Incorrect layout of product table at henry.com
301
302         Test: fast/block/basic/quirk-percent-height-table-cell.html
303
304         * rendering/RenderBox.cpp:
305         (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
306         percentage-height children of auto-height blocks to look for an ancestor
307         with non-auto height and compute their height based on it. The change is
308         that if that ancestor is a table cell, it is ignored and the percent
309         height computes to zero (just like in strict mode). This matches Firefox
310         and IE.
311
312 2009-08-19  Jungshik Shin  <jshin@chromium.org>
313
314         Reviewed by Eric Seidel.
315
316         Add 'icu::' qualifier when refering to ICU C++ names to the other
317         file with this issue missed in the previous check-in.
318
319         https://bugs.webkit.org/show_bug.cgi?id=28410
320
321         No change in the test result.
322
323         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
324         (WebCore::):
325
326 2009-08-19  Peter Kasting  <pkasting@google.com>
327
328         Unreviewed (build fix for Skia).
329
330         https://bugs.webkit.org/show_bug.cgi?id=28268
331
332         * platform/graphics/skia/GraphicsContextSkia.cpp:
333         (WebCore::GraphicsContext::drawLine):
334
335 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
336
337         Reviewed by Eric Seidel.
338
339         [CAIRO] Remove setFont indirection
340         https://bugs.webkit.org/show_bug.cgi?id=28453
341
342         Remove the indirection and just set the font in Font::drawGlyphs.
343
344         * platform/graphics/SimpleFontData.h:
345         * platform/graphics/cairo/FontCairo.cpp:
346         (WebCore::Font::drawGlyphs):
347         * platform/graphics/gtk/FontPlatformData.h:
348         (WebCore::FontPlatformData::scaledFont):
349         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
350         (WebCore::FontPlatformData::~FontPlatformData):
351         * platform/graphics/gtk/FontPlatformDataPango.cpp:
352         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
353         * platform/graphics/gtk/SimpleFontDataPango.cpp:
354         * platform/graphics/win/FontPlatformData.h:
355         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
356         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
357
358 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
359
360         Reviewed by Timothy Hatcher.
361
362         WebInspector: When adding style selector, generate default name based
363         on id / class / type.
364
365         https://bugs.webkit.org/show_bug.cgi?id=28468
366
367         * inspector/front-end/StylesSidebarPane.js:
368         (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
369
370 2009-08-19  David Hyatt  <hyatt@apple.com>
371
372         Reviewed by Dan Bernstein.
373
374         Rename combinedOverflow to visibleOverflow, since that's what it actually represents.
375
376         * rendering/InlineFlowBox.cpp:
377         (WebCore::InlineFlowBox::nodeAtPoint):
378         (WebCore::InlineFlowBox::paint):
379         * rendering/InlineFlowBox.h:
380         (WebCore::InlineFlowBox::topvisibleOverflow):
381         (WebCore::InlineFlowBox::bottomvisibleOverflow):
382         (WebCore::InlineFlowBox::leftvisibleOverflow):
383         (WebCore::InlineFlowBox::rightvisibleOverflow):
384         (WebCore::InlineFlowBox::visibleOverflowRect):
385         * rendering/RenderBlock.cpp:
386         (WebCore::RenderBlock::layoutBlock):
387         (WebCore::RenderBlock::paint):
388         (WebCore::RenderBlock::floatRect):
389         (WebCore::RenderBlock::nodeAtPoint):
390         * rendering/RenderBlock.h:
391         * rendering/RenderBlockLineLayout.cpp:
392         (WebCore::RenderBlock::layoutInlineChildren):
393         (WebCore::RenderBlock::matchedEndLine):
394         * rendering/RenderBox.cpp:
395         (WebCore::RenderBox::clippedOverflowRectForRepaint):
396         * rendering/RenderBox.h:
397         (WebCore::RenderBox::visibleOverflowRect):
398         (WebCore::RenderBox::topvisibleOverflow):
399         (WebCore::RenderBox::bottomvisibleOverflow):
400         (WebCore::RenderBox::leftvisibleOverflow):
401         (WebCore::RenderBox::rightvisibleOverflow):
402         * rendering/RenderLayer.cpp:
403         (WebCore::RenderLayer::localBoundingBox):
404         * rendering/RenderLineBoxList.cpp:
405         (WebCore::RenderLineBoxList::paint):
406         (WebCore::RenderLineBoxList::hitTest):
407         * rendering/RenderOverflow.h:
408         (WebCore::RenderOverflow::visibleOverflowRect):
409         * rendering/RenderReplaced.cpp:
410         (WebCore::RenderReplaced::shouldPaint):
411         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
412         * rendering/RenderTable.cpp:
413         (WebCore::RenderTable::layout):
414         (WebCore::RenderTable::paint):
415         * rendering/RenderTableCell.cpp:
416         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
417
418 2009-08-19  Eric Carlson  <eric.carlson@apple.com>
419
420         Reviewed by Eric Seidel.
421
422         Sound button appears in controller with movies that have no audio
423         https://bugs.webkit.org/show_bug.cgi?id=28464
424
425         Test: media/video-no-audio.html
426
427         * html/HTMLMediaElement.cpp:
428         * html/HTMLMediaElement.h:
429         (WebCore::HTMLMediaElement::hasAudio):
430             Added hasAudio.
431
432         * platform/graphics/MediaPlayer.h:
433         * platform/graphics/MediaPlayer.cpp:
434         (WebCore::NullMediaPlayerPrivate::hasAudio):
435         (WebCore::MediaPlayer::hasVideo):
436             Make const.
437         (WebCore::MediaPlayer::hasAudio):
438             Added hasAudio.
439
440         * platform/graphics/MediaPlayerPrivate.h:
441             Add hasAudio.
442
443         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
444         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
445         (WebCore::MediaPlayerPrivate::hasAudio):
446             Ditto.
447
448         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
449         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
450         (WebCore::MediaPlayerPrivate::hasAudio):
451             Ditto.
452
453         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
454         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
455         (WebCore::MediaPlayerPrivate::hasAudio):
456             Ditto.
457
458         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
459         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
460         (WebCore::MediaPlayerPrivate::hasAudio):
461             Ditto.
462
463         * platform/graphics/win/QTMovieWin.h:
464         * platform/graphics/win/QTMovieWin.cpp:
465         (QTMovieWin::hasAudio):
466             Ditto.
467
468         * rendering/MediaControlElements.cpp:
469         (WebCore::MediaControlMuteButtonElement::disabled):
470             New, return true if media element doesn't have audio.
471         (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
472             Renderer is not needed if element has no audio.
473         * rendering/MediaControlElements.h:
474         (WebCore::MediaControlInputElement::disabled):
475
476         * rendering/RenderThemeMac.mm:
477         (WebCore::getMediaUIPartStateFlags):
478             Return MediaUIPartDisabledFlag if node is disabled.
479             
480
481 2009-08-19  Michelangelo De Simone  <micdesim@gmail.com>
482
483         Reviewed by Darin Adler.
484
485         https://bugs.webkit.org/show_bug.cgi?id=27357
486         Removed the two unnecessary overridden willValidate() methods introduced
487         in r47444.
488
489         * html/HTMLKeygenElement.h:
490         * html/HTMLObjectElement.h:
491
492 2009-08-19  Pavel Feldman  <pfeldman@chromium.org>
493
494         Reviewed by Timothy Hatcher.
495
496         WebInspector: Allow dumping dangling nodes to the console.
497
498         https://bugs.webkit.org/show_bug.cgi?id=28458
499
500         * bindings/js/JSInspectorBackendCustom.cpp:
501         * bindings/v8/custom/V8CustomBinding.h:
502         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
503         * inspector/InspectorBackend.cpp:
504         * inspector/InspectorBackend.h:
505         * inspector/InspectorBackend.idl:
506         * inspector/InspectorController.cpp:
507         (WebCore::InspectorController::clearConsoleMessages):
508         * inspector/InspectorDOMAgent.cpp:
509         (WebCore::InspectorDOMAgent::releaseDanglingNodes):
510         (WebCore::InspectorDOMAgent::startListening):
511         (WebCore::InspectorDOMAgent::stopListening):
512         (WebCore::InspectorDOMAgent::handleEvent):
513         (WebCore::InspectorDOMAgent::bind):
514         (WebCore::InspectorDOMAgent::unbind):
515         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
516         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
517         (WebCore::InspectorDOMAgent::discardBindings):
518         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
519         (WebCore::InspectorDOMAgent::buildObjectForNode):
520         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
521         * inspector/InspectorDOMAgent.h:
522         * inspector/InspectorFrontend.cpp:
523         (WebCore::InspectorFrontend::setDetachedRoot):
524         (WebCore::InspectorFrontend::childNodeCountUpdated):
525         * inspector/InspectorFrontend.h:
526         * inspector/front-end/ConsoleView.js:
527         (WebInspector.ConsoleView.prototype._formatnode):
528         * inspector/front-end/DOMAgent.js:
529         (WebInspector.DOMAgent.prototype._setDetachedRoot):
530         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
531         (WebInspector.setDetachedRoot):
532         (WebInspector.childNodeCountUpdated):
533         (InspectorController.pushNodeToFrontend):
534         * inspector/front-end/InjectedScript.js:
535         (InjectedScript.pushNodeToFrontend):
536         (InjectedScript.createProxyObject):
537
538 2009-08-19  Alexey Proskuryakov  <ap@apple.com>
539
540         Reviewed by Anders Carlsson.
541
542         https://bugs.webkit.org/show_bug.cgi?id=27464
543         Implement application cache online whitelist wildcard flag
544
545         Test: http/tests/appcache/whitelist-wildcard.html
546
547         A "*" in NETWORK section means that network loading needn't be blocked.
548
549         * loader/appcache/ApplicationCache.cpp:
550         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
551         * loader/appcache/ApplicationCache.h:
552         (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
553         (WebCore::ApplicationCache::allowsAllNetworkRequests):
554         * loader/appcache/ApplicationCacheGroup.cpp:
555         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
556         * loader/appcache/ApplicationCacheStorage.cpp:
557         (WebCore::ApplicationCacheStorage::openDatabase):
558         (WebCore::ApplicationCacheStorage::store):
559         (WebCore::ApplicationCacheStorage::loadCache):
560         * loader/appcache/ManifestParser.cpp:
561         (WebCore::parseManifest):
562         * loader/appcache/ManifestParser.h:
563
564 2009-08-19  Brady Eidson <beidson@apple.com>
565
566         Reviewed by Kevin Decker.
567
568         <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
569         
570         Get rid of method swizzling entirely. This created problems when lower level
571         Foundation code would call into our own swizzled method.
572         
573         * platform/network/mac/ResourceHandleMac.mm: 
574         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
575         * platform/network/mac/WebCoreURLResponse.h:
576         * platform/network/mac/WebCoreURLResponse.mm:
577         (-[NSURLResponse adjustMIMETypeIfNecessary]):
578
579 2009-08-19  Adam Roben  <aroben@apple.com>
580
581         Fix linker warnings on Windows
582
583         Reviewed by Anders Carlsson.
584
585         Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
586         Windows about multiply-defined JSHTMLDataListElement symbols
587
588         * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
589         from the build (just like we do for the other generated bindings
590         files) so that we don't get warnings about multiply-defined symbols in
591         JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
592         duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
593         reorder a few files.
594
595 2009-08-19  Jungshik Shin  <jshin@chromium.org>
596
597         Reviewed by Eric Seidel
598
599         Add 'icu::' qualifier when refering to ICU C++ names.
600
601         https://bugs.webkit.org/show_bug.cgi?id=28410
602
603         No change in the test result.
604
605         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
606         (WebCore::fontContainsCharacter):
607
608 2009-08-19  David Hyatt  <hyatt@apple.com>
609
610         Reviewed by Dan Bernstein.
611
612         Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
613         move the addition of overflow from children into a separate pass after the height of the section has been
614         set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
615         (Not a a correctness issue, just a memory issue.)
616
617         * rendering/RenderTableSection.cpp:
618         (WebCore::RenderTableSection::RenderTableSection):
619         (WebCore::RenderTableSection::layoutRows):
620         * rendering/RenderTableSection.h:
621
622 2009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
623
624         Reviewed by Xan Lopez.
625
626         [Gtk] Remove bogus dependency rules for built sources that derive
627         from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
628         header files should be generated regardless of whether the source
629         file changed or not. We should only rely on the *.in files being
630         changed.
631
632         * GNUmakefile.am:
633
634 2009-08-18  Maciej Stachowiak  <mjs@apple.com>
635
636         Reviewed by Oliver Hunt.
637
638         convert FormatBlock candidate tag list from if chain to hash lookup
639         https://bugs.webkit.org/show_bug.cgi?id=28448
640
641         No behavior change, just cleanup.
642
643         * editing/htmlediting.cpp:
644         (WebCore::validBlockTag):
645         * editing/htmlediting.h:
646
647 2009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
648
649         Reviewed by Eric Seidel.
650
651         Update GraphicsContextSkia's version of drawLine to make use of the shared
652         adjustLineToPixelBoundaries function and elimination overlapping code.
653
654         https://bugs.webkit.org/show_bug.cgi?id=28268
655
656         * platform/graphics/skia/GraphicsContextSkia.cpp:
657         (WebCore::GraphicsContext::drawLine):
658
659 2009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
660
661         Reviewed by Eric Seidel.
662
663         Style fixes based on cpp_style.py and WebKit Style guide for
664         GraphicsContextSkia.cpp
665
666         https://bugs.webkit.org/show_bug.cgi?id=28268
667
668         * platform/graphics/skia/GraphicsContextSkia.cpp:
669         (WebCore::GraphicsContext::addInnerRoundedRectClip):
670         (WebCore::GraphicsContext::drawFocusRing):
671         (WebCore::GraphicsContext::roundToDevicePixels):
672         (WebCore::GraphicsContext::setLineDash):
673         (WebCore::GraphicsContext::setPlatformShadow):
674
675 2009-08-18  Alexey Proskuryakov  <ap@webkit.org>
676
677         Reviewed by Maciej Stachowiak.
678
679         https://bugs.webkit.org/show_bug.cgi?id=28446
680         Custom request headers shouldn't be sent with cross-origin preflight request
681
682         Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
683                http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
684
685         * loader/DocumentThreadableLoader.cpp:
686         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
687         Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
688         that they shouldn't be sent, and Firefox doesn't send them.
689
690 2009-08-18  John Gregg  <johnnyg@google.com>
691
692         Reviewed by Dimitri Glazkov.
693
694         V8 Bindings for Desktop Notifications feature.
695         https://bugs.webkit.org/show_bug.cgi?id=28271
696
697         * WebCore.gypi: 
698         added notification files to build (all still behind a flag that's not on)
699         * bindings/scripts/CodeGeneratorV8.pm:
700         added special case in DOMWindow/AppCache style for named event handlers
701         * bindings/v8/DOMObjectsInclude.h:
702         * bindings/v8/DerivedSourcesAllInOne.cpp:
703         * bindings/v8/V8DOMWrapper.cpp:
704         (WebCore::V8DOMWrapper::getTemplate):
705         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
706         * bindings/v8/V8Index.cpp:
707         * bindings/v8/V8Index.h:
708         * bindings/v8/V8Proxy.h:
709         * bindings/v8/WorkerContextExecutionProxy.cpp:
710         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
711         * bindings/v8/custom/V8CustomBinding.h:
712         * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
713         * notifications/Notification.h:
714         made event handler routines public (as they are in DOMWindow, eg) for
715         binding access.
716         * notifications/NotificationCenter.idl:
717         needed to make methods V8Custom to support different behaviors in 
718         worker/page context in chromium. 
719         * workers/WorkerThread.h:
720         (WebCore::WorkerThread::getNotificationPresenter):
721         (WebCore::WorkerThread::setNotificationPresenter):
722         needed to make these methods public as well so chromium can inject
723         the notification presenter into the worker thread.
724
725 2009-08-13  Maciej Stachowiak  <mjs@apple.com>
726
727         Reviewed by Sam Weinig.
728
729         - Implement HTML5 nav element
730         https://bugs.webkit.org/show_bug.cgi?id=27937
731
732         <nav> should behave essentially the same as <div> for parsing
733         etc. This is implemented by the changes below.
734         
735         Tests: fast/html/nav-element.html
736
737         * css/html.css:
738         * editing/htmlediting.cpp:
739         (WebCore::validBlockTag):
740         * html/HTMLElement.cpp:
741         (WebCore::HTMLElement::tagPriority):
742         (WebCore::blockTagList):
743         * html/HTMLParser.cpp:
744         (WebCore::HTMLParser::getNode):
745         * html/HTMLTagNames.in:
746
747 2009-08-18  Anders Carlsson  <andersca@apple.com>
748
749         Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
750
751         - Fix <rdar://problem/7152727>
752
753         If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
754         
755         * page/FrameView.cpp:
756         (WebCore::FrameView::hasCustomScrollbars):
757         Check if the frame view or any of its subviews have custom scroll bars.
758         
759         (WebCore::FrameView::updateControlTints):
760         Go ahead and update control tints if the frame view has custom scroll bars.
761         
762         * page/FrameView.h:
763
764 2009-08-18  Mark Rowe  <mrowe@apple.com>
765
766         Roll out r47477 as it introduced assertion failures and crashes on the build bots.
767
768         * GNUmakefile.am:
769         * WebCore.gypi:
770         * WebCore.pro:
771         * WebCore.vcproj/WebCore.vcproj:
772         * WebCore.xcodeproj/project.pbxproj:
773         * WebCoreSources.bkl:
774         * storage/Database.cpp:
775         * storage/Database.h:
776         * storage/DatabaseThread.cpp:
777         (WebCore::DatabaseThread::DatabaseThread):
778         * storage/DatabaseThread.h:
779         * storage/SQLTransaction.cpp:
780         (WebCore::SQLTransaction::runCurrentStatement):
781         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
782         (WebCore::SQLTransaction::postflightAndCommit):
783         * storage/SQLTransactionClient.cpp: Removed.
784         * storage/SQLTransactionClient.h: Removed.
785
786 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
787
788         Reviewed by Eric Seidel.
789
790         [Haiku] Adding the SharedTimer file for WebCore.
791         https://bugs.webkit.org/show_bug.cgi?id=28126
792
793         * platform/haiku/SharedTimerHaiku.cpp: Added.
794         (WebCore::):
795         (WebCore::SharedTimerHaiku::SharedTimerHaiku):
796         (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
797         (WebCore::SharedTimerHaiku::instance):
798         (WebCore::SharedTimerHaiku::start):
799         (WebCore::SharedTimerHaiku::stop):
800         (WebCore::SharedTimerHaiku::Filter):
801         (WebCore::setSharedTimerFiredFunction):
802         (WebCore::setSharedTimerFireTime):
803         (WebCore::stopSharedTimer):
804
805 2009-08-18  Mark Rowe  <mrowe@apple.com>
806
807         Release build fix.
808
809         * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
810         (WebCore::XMLHttpRequest::XMLHttpRequest):
811         (WebCore::XMLHttpRequest::~XMLHttpRequest):
812
813 2009-08-18  Aaron Boodman  <aa@chromium.org>
814
815         Reviewed by Maciej Stachowiak.
816
817         https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
818
819         No new tests: Already covered by existing tests.
820
821         * xml/XMLHttpRequest.cpp:
822         (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
823         (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
824         (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
825         restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
826
827 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
828
829         Reviewed by Dimitri Glazkov.
830
831         Added a client to SQLTransaction. In addition to being a place to
832         get notifications about certain events in a transaction, it is
833         also an abstraction layer that allows us to plug in different
834         implementations for each port for how transactions interract with
835         the main DB. For example, WebCore's default implementation will
836         make direct calls to DatabaseTracker's methods. At the same time,
837         Chromium's implementation will send IPCs to the browser process
838         whenever a transaction needs something from the main DB.
839
840         All storage tests pass.
841
842         https://bugs.webkit.org/show_bug.cgi?id=27967
843
844         * GNUmakefile.am:
845         * WebCore.gypi:
846         * WebCore.pro:
847         * WebCore.vcproj/WebCore.vcproj:
848         * WebCore.xcodeproj/project.pbxproj:
849         * WebCoreSources.bkl:
850         * storage/Database.cpp:
851         (WebCore::Database::transactionClient):
852         * storage/Database.h:
853         * storage/DatabaseThread.cpp:
854         (WebCore::DatabaseThread::DatabaseThread):
855         * storage/DatabaseThread.h:
856         (WebCore::DatabaseThread::transactionClient):
857         * storage/SQLTransaction.cpp:
858         (WebCore::SQLTransaction::runCurrentStatement):
859         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
860         (WebCore::SQLTransaction::postflightAndCommit):
861         * storage/SQLTransactionClient.cpp: Added.
862         * storage/SQLTransactionClient.h: Added.
863
864 2009-08-18  Julie Parent  <jparent@chromium.org>
865
866         Not reviewed, build fix for Chromium.
867
868         Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
869
870         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
871
872 2009-08-18  Julie Parent  <jparent@chromium.org>
873
874         Not reviewed, build fix for Chromium.
875
876        More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
877
878         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
879         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
880
881 2009-08-18  Julie Parent  <jparent@chromium.org>
882
883         Not reviewed, build fix for Chromium.
884
885         Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
886
887         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
888         (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
889
890 2009-08-18  Dan Bernstein  <mitz@apple.com>
891
892         Build fix.
893
894         * editing/ApplyStyleCommand.cpp:
895         (WebCore::getIdentifierValue):
896
897 2009-08-18  Darin Adler  <darin@apple.com>
898
899         Reviewed by Sam Weinig.
900
901         More work on making DOM classes start with reference count of 1
902         https://bugs.webkit.org/show_bug.cgi?id=28068
903
904         Some related clean-up and preparation steps so the subsequent
905         patches will be as small as possible.
906
907         * WebCore.base.exp: Sorted this file.
908
909         * accessibility/AccessibilityRenderObject.cpp:
910         (WebCore::AccessibilityRenderObject::accessibilityDescription):
911         Use nameAttr instead of the name function.
912
913         * bindings/js/JSHTMLFrameElementCustom.cpp:
914         (WebCore::JSHTMLFrameElement::setSrc):
915         Use srcAttr instead of the src function.
916
917         * bindings/js/JSHTMLIFrameElementCustom.cpp:
918         (WebCore::JSHTMLIFrameElement::setSrc):
919         Use srcAttr instead of the src function.
920
921         * bindings/objc/DOM.mm: Sorted includes.
922         * dom/Document.cpp: Ditto.
923
924         * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
925         * dom/StyledElement.h: Ditto.
926
927         * dom/make_names.pl: Changed default of createWithNew to 0.
928         Eventually all elements will be created with create instead of new.
929
930         * html/HTMLTagNames.in:
931         * svg/svgtags.in:
932         * wml/WMLTagNames.in:
933         Added createWithNew for every tag. We'll remove it as we convert
934         element classes to use create.
935
936         * html/HTMLAppletElement.h: Removed unneeded forward declarations.
937         * html/HTMLFrameElement.h: Ditto.
938
939         * html/HTMLEmbedElement.cpp: Removed many attribute get and
940         set functions.
941         * html/HTMLEmbedElement.h: Ditto.
942         * html/HTMLIFrameElement.cpp: Ditto.
943         * html/HTMLIFrameElement.h: Ditto.
944         * html/HTMLObjectElement.cpp: Ditto.
945         * html/HTMLObjectElement.h: Ditto.
946         * html/HTMLPlugInElement.cpp: Ditto.
947         * html/HTMLPlugInElement.h: Ditto.
948
949         * html/HTMLFrameElementBase.cpp: Removed many attribute get and
950         set functions.
951         (WebCore::HTMLFrameElementBase::location): Changed to use
952         srcAttr instead of src.
953         * html/HTMLFrameElementBase.h: Removed many attribute get and set
954         functions.
955
956         * loader/MediaDocument.cpp:
957         (WebCore::MediaDocument::replaceMediaElementTimerFired):
958         Use srcAttr and typeAttr instead of setSrc and setType.
959         * loader/PluginDocument.cpp:
960         (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
961
962         * rendering/RenderPartObject.cpp:
963         (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
964         of name -- this avoids an extra AtomicString round trip and a little
965         ref count churn too.
966
967 2009-08-18  Drew Wilson  <atwilson@google.com>
968
969         Reviewed by David Levin.
970
971         SharedWorkers need to support loading.
972         https://bugs.webkit.org/show_bug.cgi?id=28342
973
974         Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
975
976         * workers/DefaultSharedWorkerRepository.cpp:
977         (WebCore::SharedWorkerProxy::postTaskToLoader):
978         Forwards load requests to an arbitrary document from the list of worker's documents.
979         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
980         Posts responses back to the shared worker thread.
981
982 2009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
983
984         Reviewed by Darin Adler.
985
986         StyleChange::init needs clean up before fixing the bug 23892
987         https://bugs.webkit.org/show_bug.cgi?id=27749
988
989         This patch simplifies StyleChange::init by removing the iteration on CSS properties,
990         and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
991
992         Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
993         this patch simplifies the treatment in order to preserve the original behavior of WebKit.
994         However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
995
996         No test is added since there is no change in behavior.
997
998         * editing/ApplyStyleCommand.cpp:
999         (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
1000         (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
1001         (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
1002         (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
1003         (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
1004
1005 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
1006
1007         Reviewed by Dimitri Glazkov.
1008
1009         Fixing a DB file naming bug in Chromium. The origin should come
1010         before the DB name in the file name.
1011
1012         https://bugs.webkit.org/show_bug.cgi?id=28331
1013
1014         * storage/DatabaseTracker.cpp:
1015         (WebCore::DatabaseTracker::fullPathForDatabase):
1016
1017 2009-08-18  Maxime Simon  <simon.maxime@gmail.com>
1018
1019         Reviewed by Eric Seidel.
1020
1021         [Haiku] Adding four image-specific files to WebCore:
1022         IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
1023         https://bugs.webkit.org/show_bug.cgi?id=28130
1024
1025         * platform/graphics/Icon.h:
1026         * platform/graphics/haiku/IconHaiku.cpp: Added.
1027         (WebCore::Icon::~Icon):
1028         (WebCore::Icon::createIconForFile):
1029         (WebCore::Icon::createIconForFiles):
1030         (WebCore::Icon::paint):
1031         * platform/graphics/haiku/ImageBufferData.h: Added.
1032         * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
1033         (WebCore::ImageBufferData::ImageBufferData):
1034         (WebCore::ImageBuffer::ImageBuffer):
1035         (WebCore::ImageBuffer::~ImageBuffer):
1036         (WebCore::ImageBuffer::context):
1037         (WebCore::ImageBuffer::getUnmultipliedImageData):
1038         (WebCore::ImageBuffer::getPremultipliedImageData):
1039         (WebCore::ImageBuffer::putUnmultipliedImageData):
1040         (WebCore::ImageBuffer::putPremultipliedImageData):
1041         (WebCore::ImageBuffer::toDataURL):
1042         (WebCore::ImageBuffer::image):
1043         (WebCore::ImageBuffer::platformTransformColorSpace):
1044         * platform/graphics/haiku/ImageHaiku.cpp: Added.
1045         (WebCore::FrameData::clear):
1046         (WebCore::Image::loadPlatformResource):
1047         (WebCore::BitmapImage::initPlatformData):
1048         (WebCore::BitmapImage::invalidatePlatformData):
1049         (WebCore::BitmapImage::draw):
1050         (WebCore::Image::drawPattern):
1051         (WebCore::BitmapImage::checkForSolidColor):
1052         (WebCore::BitmapImage::getBBitmap):
1053
1054 2009-08-18  Beth Dakin  <bdakin@apple.com>
1055
1056         Reviewed by Dan Bernstein.
1057
1058         Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
1059         Backgrounds and Borders] Drop the prefix from background-size
1060
1061         * css/CSSComputedStyleDeclaration.cpp:
1062         (WebCore::):
1063         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1064         * css/CSSParser.cpp:
1065         (WebCore::CSSParser::parseValue):
1066         (WebCore::CSSParser::parseFillProperty):
1067         (WebCore::cssPropertyID):
1068         * css/CSSPropertyNames.in:
1069         * css/CSSStyleSelector.cpp:
1070         (WebCore::CSSStyleSelector::applyProperty):
1071         * page/animation/AnimationBase.cpp:
1072         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1073         (WebCore::ensurePropertyMap):
1074
1075 2009-08-18  Drew Wilson  <atwilson@google.com>
1076
1077         Reviewed by David Levin.
1078
1079         SharedWorkers need to forward exceptions to parent documents
1080         https://bugs.webkit.org/show_bug.cgi?id=28320
1081
1082         Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
1083
1084         Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
1085
1086         * bindings/js/JSSharedWorkerConstructor.cpp:
1087         Cleaned up bitrot - added missing include.
1088         * workers/DefaultSharedWorkerRepository.cpp:
1089         (WebCore::postExceptionTask):
1090         Callback used to deliver exceptions to a document.
1091         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
1092         Forwards exceptions to all parent documents for presentation to the user.
1093         (WebCore::postConsoleMessageTask):
1094         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1095         Forwards console messages to all parent documents for presentation to the user.
1096         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
1097         Grabs the mutex before accessing workerDocuments.
1098         (WebCore::SharedWorkerProxy::documentDetached):
1099         Grabs the mutex before accessing workerDocuments.
1100
1101 2009-08-18  Anders Carlsson  <andersca@apple.com>
1102
1103         Reviewed by Adele Peterson.
1104
1105         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
1106         
1107         * html/HTMLMediaElement.cpp:
1108         (WebCore::HTMLMediaElement::isSafeToLoadURL):
1109         Call FrameLoaderClient::shouldLoadMediaElementURL.
1110         
1111         * loader/FrameLoaderClient.h:
1112         (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
1113         Return true by default.
1114
1115 2009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
1116
1117         Reviewed by Dimitri Glazkov.
1118
1119         openDatabase() should not execute any SQL statement on the
1120         database it's trying to open, unless there are no other open
1121         handles to the same database. Otherwise, we might run into a
1122         deadlock.
1123
1124         Test: storage/open-database-while-transaction-in-progress.html
1125
1126         https://bugs.webkit.org/show_bug.cgi?id=28207
1127
1128         * storage/Database.cpp:
1129         (WebCore::Database::performOpenAndVerify):
1130
1131 2009-08-18  Dirk Schulze  <krit@webkit.org>
1132
1133         Reviewed by Oliver Hunt.
1134
1135         SVG Filter feBlend implementation missing
1136         [https://bugs.webkit.org/show_bug.cgi?id=28133]
1137
1138         Implementation of SVG Filter feBlend.
1139
1140         FilterEffect.cp needed changes to optimize the rendering. With the old code
1141         we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
1142         cleared the drawing area, drew the next FilterEffect with drawImage and picked this
1143         PixelArray again. This was unefficient and slow. Now we calculate the requested area
1144         of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
1145         without any drawing operations on GraphicsContext.
1146
1147         There is already a test case
1148         Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
1149
1150         * html/canvas/CanvasPixelArray.h:
1151         (WebCore::CanvasPixelArray::set):
1152         (WebCore::CanvasPixelArray::get):
1153         * platform/graphics/filters/FEBlend.cpp:
1154         (WebCore::unknown):
1155         (WebCore::normal):
1156         (WebCore::multiply):
1157         (WebCore::screen):
1158         (WebCore::darken):
1159         (WebCore::lighten):
1160         (WebCore::FEBlend::apply):
1161         * platform/graphics/filters/FEBlend.h:
1162         * platform/graphics/filters/FilterEffect.cpp:
1163         (WebCore::FilterEffect::calculateDrawingIntRect):
1164         * platform/graphics/filters/FilterEffect.h:
1165
1166 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
1167
1168         Reviewed by Timothy Hatcher.
1169
1170         WebInspector: Fix array formatter followup: node formatter.
1171
1172         https://bugs.webkit.org/show_bug.cgi?id=28427
1173
1174         * inspector/front-end/ConsoleView.js:
1175         (WebInspector.ConsoleView.prototype._format):
1176
1177 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
1178
1179         Reviewed by Timothy Hatcher.
1180
1181         WebInspector: Metrics sidebar broken
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=28434
1184
1185         * inspector/front-end/MetricsSidebarPane.js:
1186
1187 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
1188
1189         Reviewed by Darin Adler.
1190
1191         https://bugs.webkit.org/show_bug.cgi?id=28432
1192         String::createCFString() returns a non-retained empty string
1193
1194         No known change in functionality, so no test.
1195
1196         * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
1197
1198 2009-08-18  Brian Weinstein  <bweinstein@apple.com>
1199
1200         Reviewed by Oliver Hunt.
1201
1202         Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
1203         LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
1204         
1205         Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
1206         it doesn't have to.
1207
1208         * storage/DatabaseTracker.cpp:
1209         (WebCore::DatabaseTracker::deleteOrigin):
1210
1211 2009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
1212
1213         Reviewed by Adele Peterson.
1214
1215         https://bugs.webkit.org/show_bug.cgi?id=27357
1216         Support for :valid and :invalid CSS selectors, from HTML5 specs.
1217         http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
1218
1219         Tests: fast/css/pseudo-invalid-001.html
1220                fast/css/pseudo-invalid-002.html
1221                fast/css/pseudo-valid-001.html
1222                fast/css/pseudo-valid-002.html
1223                fast/css/pseudo-valid-003.html
1224                fast/css/pseudo-valid-004.html
1225                fast/css/pseudo-valid-005.html
1226                fast/css/pseudo-valid-006.html
1227                fast/css/pseudo-valid-007.html
1228
1229         * css/CSSSelector.cpp:
1230         (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
1231         * css/CSSSelector.h:
1232         (WebCore::CSSSelector::):
1233         * css/CSSStyleSelector.cpp:
1234         (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
1235 form controls that have different validity states.
1236         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
1237         style associated to new pseudo-classes
1238         * dom/Element.h:
1239         (WebCore::Element::willValidate): pushed up in hierarchy
1240         (WebCore::Element::isValidFormControlElement): checks for valid form
1241         control elements (wraps ValidityState::valid())
1242         * html/HTMLFormControlElement.cpp:
1243         (WebCore::HTMLFormControlElement::willValidate): minor clean up
1244         (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
1245         * html/HTMLFormControlElement.h:
1246         * html/HTMLKeygenElement.h:
1247         (WebCore::HTMLKeygenElement::willValidate): added
1248         * html/HTMLObjectElement.h:
1249         (WebCore::HTMLObjectElement::willValidate): added
1250         * html/HTMLObjectElement.idl:
1251
1252 2009-08-18  Pavel Feldman  <pfeldman@chromium.org>
1253
1254         Reviewed by Timothy Hatcher.
1255
1256         WebInspector: Fix array formatter.
1257
1258         https://bugs.webkit.org/show_bug.cgi?id=28427
1259
1260         * inspector/front-end/ConsoleView.js:
1261         (WebInspector.ConsoleView.prototype._formatarray):
1262
1263 2009-08-17  Joe Mason  <joe.mason@torchmobile.com>
1264
1265         Reviewed by George Staikos
1266
1267         Replace repeated string of PLATFORM(FOO) with a single define
1268         https://bugs.webkit.org/show_bug.cgi?id=27734
1269
1270         * loader/CachedFont.cpp:
1271         (WebCore::CachedFont::~CachedFont):
1272         (WebCore::CachedFont::ensureCustomFontData):
1273         (WebCore::CachedFont::platformDataFromCustomData):
1274         (WebCore::CachedFont::allClientsRemoved):
1275
1276 2009-08-16  David Hyatt  <hyatt@apple.com>
1277
1278         Reviewed by Dan Bernstein.
1279
1280         https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
1281         considered part of scrollable overflow.
1282
1283         This patch takes the engine's concept of overflow and splits it into two types:
1284         layout overflow and visual overflow.
1285         
1286         Layout overflow is about other boxes that spill out of an enclosing box,  For example,
1287         in the inline flow case a tall image could spill out of a line box. Examples of 
1288         visual overflow are shadows, text stroke (and eventually outline and
1289         border-image).
1290
1291         Three objects tracked overflow before this patch: RenderBlock had 
1292         m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
1293         that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
1294         overflow using a map that cached four values.
1295         
1296         This patch takes all of these different overflow models and unifies them into a single
1297         new class called RenderOverflow.   This class is now a member variable in RenderBox and
1298         InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
1299         four values, it tracks eight: left/top/right/bottom for layout overflow and 
1300         left/top/right/bottom for visual overflow.
1301         
1302         Overflow computation is now done after layout is finished rather than during layout
1303         (when child objects can be churning and moving around).  A number of layout tests progressed
1304         by deferring overflow computation to a separate pass.
1305         
1306         All inline flow boxes now track overflow (and not just the root line box).  This allows
1307         repainting of line boxes to actually be tight and bail early if the overflow rect of a box
1308         doesn't intersect.  The old code always visited all object on a line if the root line box
1309         intersected at all.
1310         
1311         Line box overflow no longer propagates across self-painting layers.  This fixes a number of
1312         issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
1313         
1314         Layer bounds have been modified to exclude visual overflow.  The width/height members only really
1315         have one reason for continued existence, and that is that they happen to be used in repaint()
1316         when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
1317         visual overflow anyway, so this change tightens that repaint up.
1318         
1319         Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
1320         been changed to use these instead of relying on overflow (which was totally wrong).
1321
1322         Significant changes have been made to the "almost strict mode" line box quirk where objects with no
1323         text children have no effect on the height of a line.  Instead of making the height() of the objects
1324         variable and dependent on overflow, the objects now have their full height and get placed on
1325         the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
1326         
1327         Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
1328         it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
1329         of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
1330         has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
1331         numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
1332         sublayers.
1333
1334         * WebCore.xcodeproj/project.pbxproj:
1335         * dom/ContainerNode.cpp:
1336         (WebCore::ContainerNode::getUpperLeftCorner):
1337         * editing/visible_units.cpp:
1338         (WebCore::previousLinePosition):
1339         (WebCore::nextLinePosition):
1340         * page/FrameView.cpp:
1341         (WebCore::FrameView::adjustViewSize):
1342         (WebCore::FrameView::adjustPageHeight):
1343         * rendering/InlineBox.cpp:
1344         (WebCore::InlineBox::height):
1345         * rendering/InlineBox.h:
1346         * rendering/InlineFlowBox.cpp:
1347         (WebCore::InlineFlowBox::adjustPosition):
1348         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1349         (WebCore::InlineFlowBox::placeBoxesVertically):
1350         (WebCore::InlineFlowBox::computeVerticalOverflow):
1351         (WebCore::InlineFlowBox::nodeAtPoint):
1352         (WebCore::InlineFlowBox::paint):
1353         * rendering/InlineFlowBox.h:
1354         (WebCore::InlineFlowBox::InlineFlowBox):
1355         (WebCore::InlineFlowBox::topCombinedOverflow):
1356         (WebCore::InlineFlowBox::bottomCombinedOverflow):
1357         (WebCore::InlineFlowBox::leftCombinedOverflow):
1358         (WebCore::InlineFlowBox::rightCombinedOverflow):
1359         (WebCore::InlineFlowBox::combinedOverflowRect):
1360         (WebCore::InlineFlowBox::topLayoutOverflow):
1361         (WebCore::InlineFlowBox::bottomLayoutOverflow):
1362         (WebCore::InlineFlowBox::leftLayoutOverflow):
1363         (WebCore::InlineFlowBox::rightLayoutOverflow):
1364         (WebCore::InlineFlowBox::layoutOverflowRect):
1365         (WebCore::InlineFlowBox::topVisualOverflow):
1366         (WebCore::InlineFlowBox::bottomVisualOverflow):
1367         (WebCore::InlineFlowBox::leftVisualOverflow):
1368         (WebCore::InlineFlowBox::rightVisualOverflow):
1369         (WebCore::InlineFlowBox::visualOverflowRect):
1370         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
1371         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
1372         * rendering/InlineTextBox.cpp:
1373         (WebCore::InlineTextBox::paint):
1374         * rendering/RenderBlock.cpp:
1375         (WebCore::RenderBlock::RenderBlock):
1376         (WebCore::RenderBlock::layout):
1377         (WebCore::RenderBlock::layoutBlock):
1378         (WebCore::RenderBlock::addOverflowFromBlockChildren):
1379         (WebCore::RenderBlock::handleBottomOfBlock):
1380         (WebCore::RenderBlock::layoutBlockChildren):
1381         (WebCore::RenderBlock::paint):
1382         (WebCore::RenderBlock::fillInlineSelectionGaps):
1383         (WebCore::RenderBlock::floatRect):
1384         (WebCore::RenderBlock::lowestPosition):
1385         (WebCore::RenderBlock::rightmostPosition):
1386         (WebCore::RenderBlock::leftmostPosition):
1387         (WebCore::RenderBlock::addOverhangingFloats):
1388         (WebCore::RenderBlock::nodeAtPoint):
1389         (WebCore::RenderBlock::positionForPointWithInlineChildren):
1390         (WebCore::RenderBlock::layoutColumns):
1391         (WebCore::getHeightForLineCount):
1392         * rendering/RenderBlock.h:
1393         * rendering/RenderBlockLineLayout.cpp:
1394         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1395         (WebCore::RenderBlock::computeVerticalPositionsForLine):
1396         (WebCore::RenderBlock::layoutInlineChildren):
1397         (WebCore::RenderBlock::matchedEndLine):
1398         (WebCore::RenderBlock::addOverflowFromInlineChildren):
1399         * rendering/RenderBox.cpp:
1400         (WebCore::RenderBox::destroy):
1401         (WebCore::RenderBox::clippedOverflowRectForRepaint):
1402         (WebCore::RenderBox::localCaretRect):
1403         (WebCore::RenderBox::addShadowAndReflectionOverflow):
1404         (WebCore::RenderBox::addOverflowFromChild):
1405         (WebCore::RenderBox::addLayoutOverflow):
1406         (WebCore::RenderBox::addVisualOverflow):
1407         (WebCore::RenderBox::clearLayoutOverflow):
1408         * rendering/RenderBox.h:
1409         (WebCore::RenderBox::combinedOverflowRect):
1410         (WebCore::RenderBox::topCombinedOverflow):
1411         (WebCore::RenderBox::bottomCombinedOverflow):
1412         (WebCore::RenderBox::leftCombinedOverflow):
1413         (WebCore::RenderBox::rightCombinedOverflow):
1414         (WebCore::RenderBox::layoutOverflowRect):
1415         (WebCore::RenderBox::topLayoutOverflow):
1416         (WebCore::RenderBox::bottomLayoutOverflow):
1417         (WebCore::RenderBox::leftLayoutOverflow):
1418         (WebCore::RenderBox::rightLayoutOverflow):
1419         (WebCore::RenderBox::visualOverflowRect):
1420         (WebCore::RenderBox::topVisualOverflow):
1421         (WebCore::RenderBox::bottomVisualOverflow):
1422         (WebCore::RenderBox::leftVisualOverflow):
1423         (WebCore::RenderBox::rightVisualOverflow):
1424         * rendering/RenderFlexibleBox.cpp:
1425         (WebCore::RenderFlexibleBox::layoutBlock):
1426         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1427         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1428         * rendering/RenderLayer.cpp:
1429         (WebCore::RenderLayer::updateLayerPosition):
1430         (WebCore::RenderLayer::localBoundingBox):
1431         * rendering/RenderLayerCompositor.cpp:
1432         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1433         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1434         * rendering/RenderLineBoxList.cpp:
1435         (WebCore::RenderLineBoxList::paint):
1436         (WebCore::RenderLineBoxList::hitTest):
1437         * rendering/RenderListItem.cpp:
1438         (WebCore::RenderListItem::positionListMarker):
1439         * rendering/RenderObject.cpp:
1440         (WebCore::RenderObject::RenderObject):
1441         * rendering/RenderObject.h:
1442         * rendering/RenderOverflow.h: Added.
1443         (WebCore::RenderOverflow::RenderOverflow):
1444         (WebCore::RenderOverflow::topLayoutOverflow):
1445         (WebCore::RenderOverflow::bottomLayoutOverflow):
1446         (WebCore::RenderOverflow::leftLayoutOverflow):
1447         (WebCore::RenderOverflow::rightLayoutOverflow):
1448         (WebCore::RenderOverflow::topVisualOverflow):
1449         (WebCore::RenderOverflow::bottomVisualOverflow):
1450         (WebCore::RenderOverflow::leftVisualOverflow):
1451         (WebCore::RenderOverflow::rightVisualOverflow):
1452         (WebCore::RenderOverflow::setTopLayoutOverflow):
1453         (WebCore::RenderOverflow::setBottomLayoutOverflow):
1454         (WebCore::RenderOverflow::setLeftLayoutOverflow):
1455         (WebCore::RenderOverflow::setRightLayoutOverflow):
1456         (WebCore::RenderOverflow::setTopVisualOverflow):
1457         (WebCore::RenderOverflow::setBottomVisualOverflow):
1458         (WebCore::RenderOverflow::setLeftVisualOverflow):
1459         (WebCore::RenderOverflow::setRightVisualOverflow):
1460         (WebCore::RenderOverflow::layoutOverflowRect):
1461         (WebCore::RenderOverflow::visualOverflowRect):
1462         (WebCore::RenderOverflow::combinedOverflowRect):
1463         (WebCore::RenderOverflow::move):
1464         (WebCore::RenderOverflow::addLayoutOverflow):
1465         (WebCore::RenderOverflow::addVisualOverflow):
1466         (WebCore::RenderOverflow::resetLayoutOverflow):
1467         * rendering/RenderPartObject.cpp:
1468         (WebCore::RenderPartObject::layout):
1469         * rendering/RenderReplaced.cpp:
1470         (WebCore::RenderReplaced::~RenderReplaced):
1471         (WebCore::RenderReplaced::layout):
1472         (WebCore::RenderReplaced::shouldPaint):
1473         (WebCore::RenderReplaced::positionForPoint):
1474         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
1475         * rendering/RenderReplaced.h:
1476         * rendering/RenderScrollbarPart.cpp:
1477         (WebCore::RenderScrollbarPart::layout):
1478         (WebCore::RenderScrollbarPart::paintIntoRect):
1479         * rendering/RenderSlider.cpp:
1480         (WebCore::RenderSlider::layout):
1481         * rendering/RenderTable.cpp:
1482         (WebCore::RenderTable::layout):
1483         (WebCore::RenderTable::paint):
1484         * rendering/RenderTableCell.cpp:
1485         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1486         * rendering/RenderTableSection.cpp:
1487         (WebCore::RenderTableSection::layoutRows):
1488         * rendering/RenderTableSection.h:
1489         * rendering/RenderText.cpp:
1490         (WebCore::RenderText::positionForPoint):
1491         (WebCore::RenderText::localCaretRect):
1492         * rendering/RenderView.cpp:
1493         (WebCore::RenderView::layout):
1494         * rendering/RootInlineBox.cpp:
1495         (WebCore::RootInlineBox::addHighlightOverflow):
1496         (WebCore::RootInlineBox::adjustPosition):
1497         (WebCore::RootInlineBox::verticallyAlignBoxes):
1498         (WebCore::RootInlineBox::selectionTop):
1499         * rendering/RootInlineBox.h:
1500         (WebCore::RootInlineBox::RootInlineBox):
1501         (WebCore::RootInlineBox::nextRootBox):
1502         (WebCore::RootInlineBox::prevRootBox):
1503         (WebCore::RootInlineBox::lineTop):
1504         (WebCore::RootInlineBox::lineBottom):
1505         (WebCore::RootInlineBox::selectionBottom):
1506         (WebCore::RootInlineBox::selectionHeight):
1507         (WebCore::RootInlineBox::floats):
1508         (WebCore::RootInlineBox::floatsPtr):
1509         (WebCore::RootInlineBox::setLineTopBottomPositions):
1510         * rendering/SVGRootInlineBox.cpp:
1511         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1512
1513 2009-08-18  Alexey Proskuryakov  <ap@apple.com>
1514
1515         Reviewed by Darin Adler.
1516
1517         https://bugs.webkit.org/show_bug.cgi?id=28431
1518         <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
1519
1520         Test: http/tests/appcache/auth.html
1521
1522         * loader/appcache/ApplicationCacheGroup.h:
1523         (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
1524         always allow it to use stored credentials (we can't ask WebKit client, and maybe we
1525         shouldn't ask it, because it's not a document that's loading these resources).
1526
1527 2009-08-18  Anders Carlsson  <andersca@apple.com>
1528
1529         Reviewed by John Sullivan and David Hyatt.
1530
1531         Fix <rdar://problem/7147996>
1532
1533         * platform/ScrollView.cpp:
1534         (WebCore::ScrollView::setHasHorizontalScrollbar):
1535         (WebCore::ScrollView::setHasVerticalScrollbar):
1536         Update the style of the scroll bars.
1537         
1538         * rendering/RenderScrollbar.cpp:
1539         (WebCore::RenderScrollbar::RenderScrollbar):
1540         Calculate the size of the scrollbar and set it as the frame size.
1541
1542 2009-08-18  Eric Carlson  <eric.carlson@apple.com>
1543
1544         Reviewed by Simon Fraser.
1545
1546         HTMLMediaElement should fire 'progress' event before 'load'
1547         https://bugs.webkit.org/show_bug.cgi?id=28314
1548
1549         Test: media/progress-event-at-least-one.html
1550
1551         * html/HTMLMediaElement.cpp:
1552         (WebCore::HTMLMediaElement::setNetworkState):
1553             Schedule 'progress' event before 'load'.
1554
1555 2009-08-18  Peter Kasting  <pkasting@google.com>
1556
1557         Reviewed by Eric Seidel.
1558
1559         https://bugs.webkit.org/show_bug.cgi?id=28415
1560         Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
1561         have it.
1562
1563         * WebCore.vcproj/QTMovieWin.vcproj:
1564         * WebCore.vcproj/WebCoreGenerated.vcproj:
1565
1566 2009-08-18  Drew Wilson  <atwilson@google.com>
1567
1568         Reviewed by Eric Seidel.
1569
1570         Need to extend DumpRenderTree to expose number of worker threads
1571         https://bugs.webkit.org/show_bug.cgi?id=28292
1572
1573         Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
1574
1575         Tests: fast/workers/shared-worker-lifecycle.html-disabled
1576                fast/workers/worker-lifecycle.html
1577
1578         * WebCore.base.exp:
1579         Exported WorkerThread::workerThreadCount().
1580         * WebCore.xcodeproj/project.pbxproj:
1581         * workers/WorkerThread.cpp:
1582         Added tracking of the number of worker threads.
1583         (WebCore::threadCountMutex):
1584         (WebCore::WorkerThread::workerThreadCount):
1585         (WebCore::WorkerThread::WorkerThread):
1586         (WebCore::WorkerThread::~WorkerThread):
1587         * workers/WorkerThread.h:
1588
1589 2009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
1590
1591         Unreviewed, build fix.
1592
1593         [Qt] Add new files I forgot to add in r47424.
1594
1595 2009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
1596
1597         Reviewed by Ariya Hidayat.
1598
1599         [Qt] Implement prefetchDNS() function.
1600
1601         * WebCore.pro:
1602         * platform/qt/TemporaryLinkStubs.cpp:
1603
1604 2009-08-18  Kent Tamura  <tkent@chromium.org>
1605
1606         Reviewed by Eric Seidel.
1607
1608         Support for parsing <datalist> element and generating HTMLDataListElement nodes.
1609         https://bugs.webkit.org/show_bug.cgi?id=26915
1610
1611         Tests: fast/forms/datalist-nonoption-child.html
1612                fast/forms/datalist.html
1613
1614         * WebCore.gypi:
1615         * WebCore.pro:
1616         * WebCore.vcproj/WebCore.vcproj:
1617         * WebCore.vcproj/WebCoreCommon.vsprops:
1618         * WebCore.vcproj/build-generated-files.sh:
1619         * WebCore.xcodeproj/project.pbxproj:
1620         * WebCoreSources.bkl:
1621         * css/html.css:
1622         * html/CollectionType.h:
1623         (WebCore::):
1624         * html/HTMLCollection.cpp:
1625         (WebCore::HTMLCollection::itemAfter):
1626         * html/HTMLDataListElement.cpp: Added.
1627         (WebCore::HTMLDataListElement::HTMLDataListElement):
1628         (WebCore::HTMLDataListElement::~HTMLDataListElement):
1629         (WebCore::HTMLDataListElement::checkDTD):
1630         (WebCore::HTMLDataListElement::options):
1631         * html/HTMLDataListElement.h: Added.
1632         * html/HTMLDataListElement.idl: Added.
1633         * html/HTMLElement.cpp:
1634         (WebCore::inlineTagList):
1635         * html/HTMLParser.cpp:
1636         (WebCore::HTMLParser::isAffectedByResidualStyle):
1637         * html/HTMLTagNames.in:
1638
1639 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
1640
1641         Reviewed by Eric Seidel.
1642
1643         -webkit-box-orient:horizontal doesn't work on <button> tag
1644         https://bugs.webkit.org/show_bug.cgi?id=34445
1645
1646         Make a flexible button's anonymous child flexible and pass the
1647         parent's box-orient to the anonymous child.
1648
1649         Also, added a renderName for anonymous flexible boxes.
1650
1651         Test: fast/flexbox/box-orient-button.html
1652
1653         * rendering/RenderBlock.cpp:
1654         (WebCore::RenderBlock::createAnonymousBlock):
1655         * rendering/RenderBlock.h:
1656         * rendering/RenderButton.cpp:
1657         (WebCore::RenderButton::addChild):
1658         (WebCore::RenderButton::setupInnerStyle):
1659         * rendering/RenderFlexibleBox.cpp:
1660         (WebCore::RenderFlexibleBox::renderName):
1661
1662 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1663
1664         Reviewed by Dave Hyatt.
1665         
1666         Render -webkit-mask via compositing layers when possible
1667         https://bugs.webkit.org/show_bug.cgi?id=28414
1668         
1669         Implement accelerated compositing of -webkit-mask, when combined
1670         with already-composited content.
1671         
1672         RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
1673         and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
1674         GraphicsLayerCA then applies the mask using -[CALayer setMask:].
1675         
1676         The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
1677         confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
1678         indicates that just the mask is painting.
1679         
1680         When painting the composited mask, we need to paint with the normal compositing
1681         mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
1682         layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
1683         need to make transparency layers.
1684         
1685         We no longer have to throw video rendering into software because of masks.
1686         
1687         When a masked element has composited descendants, that element needs to
1688         become composited so that the mask can be applied via compositing.
1689
1690         Tests: compositing/masks/masked-ancestor.html
1691                compositing/masks/simple-composited-mask.html
1692
1693         * platform/graphics/GraphicsLayer.cpp:
1694         (WebCore::GraphicsLayer::GraphicsLayer):
1695         * platform/graphics/GraphicsLayer.h:
1696         (WebCore::GraphicsLayer::maskLayer):
1697         (WebCore::GraphicsLayer::setMaskLayer):
1698         (WebCore::GraphicsLayer::paintingPhase):
1699         (WebCore::GraphicsLayer::setPaintingPhase):
1700         * platform/graphics/GraphicsLayerClient.h:
1701         (WebCore::):
1702         * platform/graphics/mac/GraphicsLayerCA.h:
1703         (WebCore::GraphicsLayerCA::):
1704         * platform/graphics/mac/GraphicsLayerCA.mm:
1705         (WebCore::GraphicsLayerCA::setMaskLayer):
1706         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1707         (WebCore::GraphicsLayerCA::commitLayerChanges):
1708         (WebCore::GraphicsLayerCA::updateMaskLayer):
1709         * rendering/InlineFlowBox.cpp:
1710         (WebCore::InlineFlowBox::paintMask):
1711         * rendering/RenderBox.cpp:
1712         (WebCore::RenderBox::paintMaskImages):
1713         * rendering/RenderLayer.cpp:
1714         (WebCore::RenderLayer::hasCompositedMask):
1715         * rendering/RenderLayer.h:
1716         (WebCore::RenderLayer::hasCompositedMask):
1717         * rendering/RenderLayerBacking.cpp:
1718         (WebCore::RenderLayerBacking::~RenderLayerBacking):
1719         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
1720         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1721         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1722         (WebCore::RenderLayerBacking::updateForegroundLayer):
1723         (WebCore::RenderLayerBacking::updateMaskLayer):
1724         (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
1725         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1726         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1727         (WebCore::RenderLayerBacking::paintIntoLayer):
1728         (WebCore::RenderLayerBacking::paintContents):
1729         * rendering/RenderLayerBacking.h:
1730         (WebCore::RenderLayerBacking::hasMaskLayer):
1731         * rendering/RenderLayerCompositor.cpp:
1732         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1733         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
1734         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
1735         * rendering/RenderLayerCompositor.h:
1736
1737 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
1738
1739         Reviewed by Dave Hyatt.
1740
1741         Layer content misplaced with compositing, z-index and overflow
1742         https://bugs.webkit.org/show_bug.cgi?id=28361
1743         
1744         The foreground GraphicsLayer (used to render element foreground when the element has 
1745         negative z-order children) was misplaced when there is a clipping layer (which clips
1746         children). The foreground layer is parented under the clipping layer so that the foreground
1747         depth-sorts with the layer's children, so its geometry needs to be computed relative to
1748         that clipping layer.
1749         
1750         Also clarified some FIXME comments, and corrected a debug-only layer name.
1751
1752         Test: compositing/geometry/clipping-foreground.html
1753
1754         * platform/graphics/mac/GraphicsLayerCA.mm:
1755         (WebCore::GraphicsLayerCA::updateSublayerList):
1756         * rendering/RenderLayerBacking.cpp:
1757         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1758         (WebCore::RenderLayerBacking::updateForegroundLayer):
1759         * rendering/RenderLayerCompositor.cpp:
1760         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1761
1762 2009-08-17  Mark Rowe  <mrowe@apple.com>
1763
1764         Reviewed by Sam Weinig.
1765
1766         Fix leaks of SVGElementInstance seen during regression tests.
1767
1768         r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
1769         not updated to have a create method that adopted the initial reference.  This lead to the instances
1770         of SVGElementInstance allocated by SVGUseElement being leaked.
1771
1772         * svg/SVGElementInstance.h:
1773         (WebCore::SVGElementInstance::create):
1774         * svg/SVGUseElement.cpp:
1775         (WebCore::SVGUseElement::buildPendingResource):
1776         (WebCore::SVGUseElement::buildInstanceTree):
1777         (WebCore::SVGUseElement::handleDeepUseReferencing):
1778
1779 2009-08-17  Brady Eidson  <beidson@apple.com>
1780
1781         Reviewed by Sam Weinig.
1782
1783         Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
1784         Page Cache should support pages with frames.
1785
1786         - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
1787           are solely the responsibility of FrameLoader.
1788         - Enhance some page cache related Logging to help development.
1789
1790         * inspector/InspectorController.cpp:
1791         (WebCore::InspectorController::didCommitLoad):
1792         (WebCore::InspectorController::identifierForInitialRequest):
1793
1794         * loader/DocumentLoader.cpp:
1795         (WebCore::DocumentLoader::DocumentLoader):
1796         * loader/DocumentLoader.h:
1797
1798         * loader/FrameLoader.cpp:
1799         (WebCore::FrameLoader::FrameLoader):
1800         (WebCore::FrameLoader::commitProvisionalLoad):
1801         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1802         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
1803         * loader/FrameLoader.h:
1804         (WebCore::FrameLoader::isLoadingFromCachedPage):
1805
1806 2009-08-17  Roland Steiner  <rolandsteiner@google.com>
1807
1808         Reviewed by Eric Seidel.
1809
1810         Moved implementation of isAfterContent to RenderObject
1811         (as inline method to avoid potential performance regressions).
1812
1813         BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
1814         (https://bugs.webkit.org/show_bug.cgi?id=28376)
1815
1816         * rendering/RenderBox.cpp:
1817         * rendering/RenderBox.h:
1818         * rendering/RenderInline.cpp:
1819         * rendering/RenderObject.h:
1820         (WebCore::RenderObject::isAfterContent):
1821
1822 2009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
1823
1824         Reviewed by Darin Adler.
1825
1826         Assertion failure in WebCore::RenderHTMLCanvas::layout
1827         https://bugs.webkit.org/show_bug.cgi?id=12052
1828
1829         Don't handle run-in if the element is not a block element.
1830
1831         Test: fast/runin/nonblock-runin.html
1832
1833         * rendering/RenderBlock.cpp:
1834         (WebCore::RenderBlock::handleRunInChild):
1835
1836 2009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
1837
1838         Reviewed by Darin Adler.
1839
1840         Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
1841         either of the arguments are not finite.
1842
1843         According to
1844         http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
1845         "If any of the arguments to createImageData() or getImageData() are
1846         infinite or NaN, or if the createImageData()  method is invoked with
1847         only one argument but that argument is null, the method must instead
1848         raise a NOT_SUPPORTED_ERR  exception."
1849
1850         Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
1851
1852         * html/canvas/CanvasRenderingContext2D.cpp:
1853         (WebCore::CanvasRenderingContext2D::createImageData):
1854         * html/canvas/CanvasRenderingContext2D.h:
1855         * html/canvas/CanvasRenderingContext2D.idl:
1856
1857 2009-08-17  Jeremy Orlow  <jorlow@chromium.org>
1858
1859         Reviewed by Darin Fisher.
1860
1861         Add a way to release the storage lock
1862         https://bugs.webkit.org/show_bug.cgi?id=28411
1863
1864         Two scripts within the same origin that are accessing LocalStorage must not do
1865         it simultaneously, according to the spec.  There are some cases, however, where
1866         a script might want to override this behavior.  navigator.getStorageUpdates()
1867         was added for this reason:
1868         http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
1869
1870         Add this function to navigator and hook it up to DOM Storage.
1871
1872         * page/Navigator.cpp:
1873         (WebCore::Navigator::getStorageUpdates):
1874         * page/Navigator.h:
1875         * page/Navigator.idl:
1876         * storage/StorageNamespace.h:
1877         * storage/StorageNamespaceImpl.cpp:
1878         (WebCore::StorageNamespaceImpl::unlock):
1879         * storage/StorageNamespaceImpl.h:
1880
1881 2009-08-17  Mark Rowe  <mrowe@apple.com>
1882
1883         Build fix.
1884
1885         CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
1886         We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
1887         results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
1888         Windows though so we explicitly include this header from the prefix header when on Windows.
1889
1890         * WebCorePrefix.h:
1891         * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
1892
1893 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1894
1895         Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
1896
1897         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
1898
1899 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1900
1901         Trying to fix Windows build.
1902
1903         * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
1904
1905 2009-08-17  Peter Kasting  <pkasting@google.com>
1906
1907         Reviewed by Steve Falkenburg.
1908
1909         https://bugs.webkit.org/show_bug.cgi?id=27323
1910         Only add Cygwin to the path when it isn't already there.  This avoids
1911         causing problems for people who purposefully have non-Cygwin versions of
1912         executables like svn in front of the Cygwin ones in their paths.
1913
1914         * WebCore.vcproj/QTMovieWin.vcproj:
1915         * WebCore.vcproj/WebCoreCommon.vsprops:
1916         * WebCore.vcproj/WebCoreGenerated.vcproj:
1917
1918 2009-08-17  Alexey Proskuryakov  <ap@apple.com>
1919
1920         Reviewed by Geoff Garen.
1921
1922         https://bugs.webkit.org/show_bug.cgi?id=28401
1923         Add support for DNS prefetching with CFNetwork
1924
1925         This is just an optimization, no behavior change, so no tests.
1926
1927         * platform/network/cf/DNSCFNet.cpp:
1928         (WebCore::clientCallback):
1929         (WebCore::prefetchDNS):
1930         Use async CFHostStartInfoResolution() for implementation.
1931
1932 2009-08-17  Aaron Boodman  <aa@chromium.org>
1933
1934         Reviewed by Alexey Proskuryakov.
1935
1936         https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
1937         ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
1938
1939         Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
1940         redirects access control, so we should never redirect across origins. But in two edge cases, we were:
1941
1942         * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
1943           authorization headers) to a resource on origin A.
1944         * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
1945           authorization headers) to another resource on origin B (this time sending access control authorization headers).
1946
1947         Test: http/tests/xmlhttprequest/access-control-and-redirects.html
1948
1949         * loader/DocumentThreadableLoader.cpp:
1950         (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
1951         (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
1952         (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
1953         * loader/DocumentThreadableLoader.h:
1954         * loader/ThreadableLoader.h:
1955         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
1956         * page/EventSource.cpp:
1957         (WebCore::EventSource::connect): Ditto.
1958         * workers/Worker.cpp: Ditto.
1959         (WebCore::Worker::Worker): Ditto.
1960         * workers/WorkerContext.cpp: Ditto.
1961         (WebCore::WorkerContext::importScripts): Ditto.
1962         * workers/WorkerScriptLoader.cpp:
1963         (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
1964         (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
1965         * workers/WorkerScriptLoader.h: 
1966         * xml/XMLHttpRequest.cpp:
1967         (WebCore::XMLHttpRequest::createRequest): Ditto.
1968
1969 2009-08-17  Adam Langley  <agl@google.com>
1970
1971         Reviewed by Dan Bernstein (relanding of r47157).
1972
1973         Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
1974
1975         https://bugs.webkit.org/show_bug.cgi?id=28172
1976
1977         This was originally fixed in r47157, however it triggered a bug in
1978         Skia which caused Chromium Linux to fail layout tests in debug mode.
1979         It was reverted in r47189 while we sorted it out.
1980
1981         The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
1982         Chromium's r23523. This is a reland of the original patch.
1983
1984         No new tests because it's a just typo fix.
1985
1986         [1] http://code.google.com/p/skia/source/detail?r=321
1987
1988         * platform/graphics/skia/PlatformContextSkia.cpp:
1989         (PlatformContextSkia::setupPaintCommon):
1990
1991 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1992
1993         Reviewed by Xan Lopez.
1994
1995         Protect ResourceHandle for g_file_query_info_async call, using the
1996         same technique we already use for HTTP requests that take the soup
1997         path.
1998
1999         * platform/network/soup/ResourceHandleSoup.cpp:
2000         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2001         (WebCore::ResourceHandle::~ResourceHandle):
2002         (WebCore::finishedCallback):
2003         (WebCore::):
2004
2005 2009-08-17  Dan Bernstein  <mitz@apple.com>
2006
2007         Reviewed by Darin Adler.
2008
2009         REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
2010         appears below the main content
2011         https://bugs.webkit.org/show_bug.cgi?id=28350
2012
2013         A particular version of the MediaWiki software detects WebKit through
2014         user agent sniffing and imports a style sheet called KHTMLFixes.css,
2015         which contains a single rule that was meant to work around some KHTML
2016         bug, but currently has the sole effect of causing the float containing
2017         the main article content to extend all the way to the left and thus push
2018         down the left navigation pane.
2019
2020         * css/CSSImportRule.cpp:
2021         (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
2022         enabled, check if the imported style sheet is the MediaWiki
2023         KHTMLFixes.css. If so, remove the offending rule.
2024
2025 2009-08-17  Brent Fulgham  <bfulgham@webkit.org>
2026
2027         Reviewed by Kevin Ollivier.
2028
2029         Correct crash when processing local cancelled requests.
2030
2031         No new tests. Existing fast/images/favicon-as-image.html
2032         displays the problem.
2033
2034         * platform/network/curl/ResourceHandleManager.cpp:
2035         (WebCore::writeCallback): Add check for m_cancelled after
2036           performing local-file processing.
2037         (WebCore::ResourceHandleManager::downloadTimerCallback): Add
2038           check for m_cancelled after performing local-file processing.
2039
2040 2009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2041
2042         Unreviewed. Reverts 47371, since it breaks GTK+.
2043
2044         * platform/graphics/ImageSource.cpp:
2045         (WebCore::ImageSource::setData):
2046         * platform/image-decoders/ImageDecoder.cpp: Removed.
2047         * platform/image-decoders/ImageDecoder.h:
2048         (WebCore::ImageDecoder::ImageDecoder):
2049         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2050         (WebCore::convertCMYKToRGBA):
2051         (WebCore::convertRGBToRGBA):
2052         (WebCore::JPEGImageDecoder::outputScanlines):
2053         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2054         * platform/image-decoders/png/PNGImageDecoder.cpp:
2055         (WebCore::PNGImageDecoder::headerAvailable):
2056         (WebCore::PNGImageDecoder::rowAvailable):
2057
2058 2009-08-17  Yong Li  <yong.li@torchmobile.com>
2059
2060         Reviewed by Adam Treat.
2061
2062         Allow image decoders to down-sample the image directly
2063         to scaled output buffer. This can be enabled/disabled by
2064         macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
2065         Only JPEG and PNG decoders are modified to support it now.
2066         https://bugs.webkit.org/show_bug.cgi?id=28308
2067
2068         * platform/graphics/ImageSource.cpp:
2069         (WebCore::ImageSource::setData):
2070         * platform/image-decoders/ImageDecoder.cpp: Added.
2071         * platform/image-decoders/ImageDecoder.h:
2072         (WebCore::ImageDecoder::ImageDecoder):
2073         (WebCore::ImageDecoder::setMaxNumPixels):
2074         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2075         (WebCore::convertCMYKToRGBA):
2076         (WebCore::convertRGBToRGBA):
2077         (WebCore::JPEGImageDecoder::outputScanlines):
2078         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2079         (WebCore::JPEGImageDecoder::setSize):
2080         * platform/image-decoders/png/PNGImageDecoder.cpp:
2081         (WebCore::PNGImageDecoder::headerAvailable):
2082         (WebCore::PNGImageDecoder::rowAvailable):
2083
2084 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
2085
2086         Build fix: fix float literals to avoid casting warnings.
2087
2088         * rendering/MediaControlElements.cpp:
2089
2090 2009-08-17  Simon Fraser  <simon.fraser@apple.com>
2091
2092         Reviewed by Eric Seidel.
2093
2094         Use OwnPtrs for GraphicsLayers
2095         https://bugs.webkit.org/show_bug.cgi?id=28399
2096
2097         Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
2098         for their references to GraphicsLayers.
2099
2100         * platform/graphics/GraphicsLayer.h:
2101         * platform/graphics/mac/GraphicsLayerCA.mm:
2102         (WebCore::GraphicsLayer::create):
2103         * rendering/RenderLayerBacking.cpp:
2104         (WebCore::RenderLayerBacking::RenderLayerBacking):
2105         (WebCore::RenderLayerBacking::createGraphicsLayer):
2106         (WebCore::RenderLayerBacking::destroyGraphicsLayer):
2107         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2108         (WebCore::RenderLayerBacking::updateInternalHierarchy):
2109         (WebCore::RenderLayerBacking::updateClippingLayers):
2110         (WebCore::RenderLayerBacking::updateForegroundLayer):
2111         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2112         * rendering/RenderLayerBacking.h:
2113         (WebCore::RenderLayerBacking::graphicsLayer):
2114         (WebCore::RenderLayerBacking::clippingLayer):
2115         (WebCore::RenderLayerBacking::ancestorClippingLayer):
2116         (WebCore::RenderLayerBacking::foregroundLayer):
2117         (WebCore::RenderLayerBacking::parentForSublayers):
2118         (WebCore::RenderLayerBacking::childForSuperlayers):
2119         * rendering/RenderLayerCompositor.cpp:
2120         (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
2121         (WebCore::RenderLayerCompositor::rootPlatformLayer):
2122         (WebCore::RenderLayerCompositor::didMoveOnscreen):
2123         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2124         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
2125         * rendering/RenderLayerCompositor.h:
2126
2127 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
2128
2129         Reviewed by Timothy Hatcher.
2130
2131         WebInspector: Reset InjectedScript styles cache on document change.
2132
2133         https://bugs.webkit.org/show_bug.cgi?id=28390
2134
2135         * inspector/InspectorController.cpp:
2136         (WebCore::InspectorController::close):
2137         (WebCore::InspectorController::populateScriptObjects):
2138         (WebCore::InspectorController::didCommitLoad):
2139         (WebCore::InspectorController::resetInjectedScript):
2140         * inspector/InspectorController.h:
2141         * inspector/InspectorDOMAgent.cpp:
2142         (WebCore::InspectorDOMAgent::setDocument):
2143         * inspector/InspectorDOMAgent.h:
2144         * inspector/front-end/InjectedScript.js:
2145         (InjectedScript._reset):
2146
2147 2009-08-17  Darin Adler  <darin@apple.com>
2148
2149         Reviewed by Sam Weinig.
2150
2151         * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
2152         resorted includes, renamed "doc" to "document" and fixed formatting.
2153
2154 2009-08-17  Darin Adler  <darin@apple.com>
2155
2156         Reviewed by Sam Weinig.
2157
2158         Removed functions now unneeded due to use of Reflect to create
2159         language bindings.
2160
2161         * accessibility/AccessibilityRenderObject.cpp:
2162         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
2163         Get at usemap attribute directly.
2164
2165         * editing/DeleteButtonController.cpp:
2166         (WebCore::DeleteButtonController::createDeletionUI):
2167         Get at id attribute directly.
2168         * editing/EditorCommand.cpp:
2169         (WebCore::executeInsertHorizontalRule): Ditto.
2170
2171         * html/HTMLDocument.cpp:
2172         (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
2173         (WebCore::HTMLDocument::setDir): Ditto.
2174
2175         * html/HTMLElement.cpp: Deleted unused functions.
2176         * html/HTMLElement.h: Ditto.
2177
2178         * html/HTMLImageElement.cpp: Deleted unused functions.
2179         (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
2180         (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
2181         get at usemap attribute directly, but added a FIXME because although
2182         it is what the old code did, it looks to not be entirely correct.
2183
2184         * html/HTMLImageElement.h: Deleted unused functions.
2185
2186         * rendering/HitTestResult.cpp:
2187         (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
2188
2189         * rendering/RenderImage.cpp:
2190         (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
2191
2192         * rendering/RenderLayerBacking.cpp:
2193         (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
2194         directly.
2195         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
2196         explicit HTMLNames namespace qualification.
2197
2198 2009-08-17  Darin Adler  <darin@apple.com>
2199
2200         Reviewed by Sam Weinig.
2201
2202         * dom/Document.cpp:
2203         (WebCore::Document::setFocusedNode): Removed unneeded calls
2204         to RefPtr::get.
2205
2206 2009-08-17  Pavel Feldman  <pfeldman@chromium.org>
2207
2208         Reviewed by Timothy Hatcher.
2209
2210         WebInspector: Discard DOM Node bindings on any document change.
2211
2212         https://bugs.webkit.org/show_bug.cgi?id=28389
2213
2214         * inspector/InspectorDOMAgent.cpp:
2215         (WebCore::InspectorDOMAgent::setDocument):
2216
2217 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
2218
2219         Reviewed by Timothy Hatcher.
2220
2221         Inspector: Improve Cookie DataGrid to Show Hidden Data
2222         https://bugs.webkit.org/show_bug.cgi?id=28269
2223
2224         * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
2225         * WebCore.gypi: added missing files
2226
2227           Implemented Bindings for InspectorController.deleteCookie(name)
2228
2229         * inspector/InspectorBackend.idl:
2230         * bindings/js/JSInspectorBackendCustom.cpp:
2231         (WebCore::JSInspectorBackend::cookies):
2232         (WebCore::JSInspectorBackend::deleteCookie):
2233
2234           v8 Bindings Stubs
2235
2236         * bindings/v8/custom/V8CustomBinding.h:
2237         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
2238         (WebCore::CALLBACK_FUNC_DECL):
2239
2240           Removed WebInspector.Cookie
2241
2242         * inspector/front-end/Cookie.js: Removed.
2243         * inspector/front-end/inspector.html:
2244         * inspector/front-end/WebKit.qrc:
2245
2246           Improved DataGrid and Kept Fallback Behavior for Platforms that don't
2247           yet provide access to raw cookies.
2248
2249         * inspector/front-end/CookieItemsView.js:
2250         (WebInspector.CookieItemsView):
2251         (WebInspector.CookieItemsView.prototype.get statusBarItems):
2252         (WebInspector.CookieItemsView.prototype.update):
2253         (WebInspector.CookieItemsView.prototype.buildCookies):
2254         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
2255         (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
2256         (WebInspector.CookieItemsView.prototype.fallbackUpdate):
2257         (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
2258         (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
2259         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
2260
2261           Interaction with the page through Injected Script (for fallback behavior)
2262
2263         * inspector/front-end/DOMAgent.js:
2264         (InspectorController.getCookies):
2265         * inspector/front-end/InjectedScript.js:
2266         (InjectedScript.setStyleProperty): style fix
2267         (InjectedScript.getCookies):
2268
2269           Allow alignment of text inside DataGrids.
2270
2271         * inspector/front-end/DataGrid.js:
2272         (WebInspector.DataGrid):
2273         (WebInspector.DataGridNode.prototype.createCell):
2274         * inspector/front-end/DatabasesPanel.js:
2275         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
2276         * inspector/front-end/inspector.css:
2277
2278           Added deleteCookie(., ., String name)
2279           Modified getRawCookies to return a bool to know if its implemented
2280
2281         * platform/CookieJar.h:
2282
2283
2284           Implemented deleteCookie for Macs
2285
2286         * platform/mac/CookieJar.mm:
2287         (WebCore::getRawCookies):
2288         (WebCore::deleteCookie):
2289
2290           Stub Implementations for Other Platforms
2291
2292         * platform/haiku/CookieJarHaiku.cpp:
2293         (WebCore::getRawCookies):
2294         (WebCore::deleteCookie):
2295         * platform/network/chromium/CookieJarChromium.cpp:
2296         (WebCore::getRawCookies):
2297         (WebCore::deleteCookie):
2298         * platform/network/curl/CookieJarCurl.cpp:
2299         (WebCore::getRawCookies):
2300         (WebCore::deleteCookie):
2301         * platform/network/soup/CookieJarSoup.cpp:
2302         (WebCore::getRawCookies):
2303         (WebCore::deleteCookie):
2304         * platform/network/win/CookieJarCFNetWin.cpp:
2305         (WebCore::getRawCookies):
2306         (WebCore::deleteCookie):
2307         * platform/network/win/CookieJarWin.cpp:
2308         (WebCore::getRawCookies):
2309         (WebCore::deleteCookie):
2310         * platform/qt/CookieJarQt.cpp:
2311         (WebCore::getRawCookies):
2312         (WebCore::deleteCookie):
2313
2314 2009-08-17  Adam Treat  <adam.treat@torchmobile.com>
2315
2316         Blind build fix for Leopard.
2317
2318         * platform/graphics/GraphicsContext.cpp:
2319         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
2320
2321 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
2322
2323         Reviewed by Adam Treat.
2324
2325         Style fixes based on cpp_style.py and WebKit Style guide for
2326         GraphicsContextCG.cpp
2327
2328         https://bugs.webkit.org/show_bug.cgi?id=28268
2329
2330         * platform/graphics/cg/GraphicsContextCG.cpp:
2331         (WebCore::GraphicsContext::drawLine):
2332         (WebCore::GraphicsContext::drawEllipse):
2333         (WebCore::GraphicsContext::strokeArc):
2334         (WebCore::GraphicsContext::drawConvexPolygon):
2335         (WebCore::GraphicsContext::applyStrokePattern):
2336         (WebCore::GraphicsContext::drawPath):
2337         (WebCore::GraphicsContext::clipOut):
2338         (WebCore::GraphicsContext::clipOutEllipseInRect):
2339         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2340         (WebCore::GraphicsContext::clipToImageBuffer):
2341         (WebCore::GraphicsContext::setPlatformShadow):
2342         (WebCore::GraphicsContext::setLineCap):
2343         (WebCore::GraphicsContext::setLineJoin):
2344         (WebCore::GraphicsContext::roundToDevicePixels):
2345         (WebCore::GraphicsContext::drawLineForText):
2346         (WebCore::GraphicsContext::setURLForRect):
2347         (WebCore::GraphicsContext::setImageInterpolationQuality):
2348         (WebCore::GraphicsContext::imageInterpolationQuality):
2349         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2350         (WebCore::GraphicsContext::setCompositeOperation):
2351
2352 2009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
2353
2354         Reviewed by Adam Treat.
2355
2356         Style fixes based on cpp_style.py and WebKit Style guide for
2357         GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
2358
2359         https://bugs.webkit.org/show_bug.cgi?id=28268
2360
2361         * platform/graphics/GraphicsContext.cpp:
2362         (WebCore::GraphicsContext::save):
2363         (WebCore::GraphicsContext::restore):
2364         (GraphicsContext::drawText):
2365         (GraphicsContext::initFocusRing):
2366         (GraphicsContext::focusRingBoundingRect):
2367         (GraphicsContext::drawImage):
2368         * platform/graphics/GraphicsContext.h:
2369         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2370         (WebCore::GraphicsContext::drawLine):
2371         (WebCore::GraphicsContext::strokeArc):
2372         (WebCore::GraphicsContext::setLineCap):
2373         (WebCore::GraphicsContext::setLineJoin):
2374         (WebCore::toCairoOperator):
2375         * platform/graphics/qt/GraphicsContextQt.cpp:
2376
2377 2009-08-17  Darin Adler  <darin@apple.com>
2378
2379         Reviewed by Dan Bernstein.
2380
2381         Change HTMLAreaElement to use OwnArrayPtr
2382         https://bugs.webkit.org/show_bug.cgi?id=28386
2383
2384         * html/HTMLAreaElement.cpp:
2385         (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
2386         (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
2387         (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
2388         instead of deletion followed by assignment.
2389         * html/HTMLAreaElement.h: Use OwnArrayPtr.
2390
2391 2009-08-17  Darin Adler  <darin@apple.com>
2392
2393         Fix Windows build.
2394
2395         * dom/make_names.pl: Add back cast to (void*) needed on Windows.
2396
2397 2009-08-17  Darin Adler  <darin@apple.com>
2398
2399         Reviewed by Dan Bernstein.
2400
2401         Move noResize from HTMLFrameElementBase to HTMLFrameElement
2402         https://bugs.webkit.org/show_bug.cgi?id=28384
2403
2404         * html/HTMLFrameElement.cpp:
2405         (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
2406         (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
2407         here if noresizeAttr is changed. This code was moved here from
2408         HTMLFrameElementBase, but I added some FIXME comments.
2409         (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
2410         boolean argument. Moved here from HTMLFrameElementBase.
2411
2412         * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
2413         here from HTMLFrameElementBase.
2414
2415         * html/HTMLFrameElementBase.cpp:
2416         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
2417         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
2418         noresizeAttr.
2419
2420         * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
2421
2422 2009-08-17  Darin Adler  <darin@apple.com>
2423
2424         Reviewed by Dan Bernstein.
2425
2426         Tweak HTMLFrameElementBase so that m_URL can be private
2427         https://bugs.webkit.org/show_bug.cgi?id=28385
2428
2429         * html/HTMLFrameElement.cpp:
2430         (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
2431         * html/HTMLFrameElementBase.cpp:
2432         (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
2433         taking an argument.
2434         (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
2435         * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
2436         * html/HTMLIFrameElement.cpp:
2437         (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
2438
2439 2009-08-17  Darin Adler  <darin@apple.com>
2440
2441         Reviewed by Dan Bernstein.
2442
2443         HTMLViewSourceDocument should use smart pointers
2444         https://bugs.webkit.org/show_bug.cgi?id=28378
2445
2446         * html/HTMLViewSourceDocument.cpp:
2447         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
2448         pointers any more since RefPtr starts 0 by default.
2449         (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
2450         types for local variables.
2451         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
2452         and use a RefPtr of a more specific type for a local variable.
2453         (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
2454         variables, and use RefPtr as well.
2455         (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
2456         RefPtr of a more specific type for a local variable.
2457
2458         * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
2459         data member types to RefPtr.
2460
2461 2009-08-17  Darin Adler  <darin@apple.com>
2462
2463         Reviewed by Sam Weinig.
2464
2465         DOM attribute getter/setter functions should use const AtomicString& type
2466         https://bugs.webkit.org/show_bug.cgi?id=25425
2467
2468         Convert 4 more classes. These are classes I am going to make other changes
2469         to soon, so it's good to have this use of Reflect in the IDL out of the way.
2470
2471         * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
2472         * html/HTMLFrameElement.idl: Ditto.
2473         * html/HTMLIFrameElement.idl: Ditto.
2474         * html/HTMLObjectElement.idl: Ditto.
2475
2476 2009-08-17  Darin Adler  <darin@apple.com>
2477
2478         Reviewed by Sam Weinig.
2479
2480         Script to create element factory needs changes to accommodate calling create
2481         https://bugs.webkit.org/show_bug.cgi?id=28379
2482
2483         * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
2484         around names used inside {}. Added new createWithNew property for tags
2485         that makes the factory use a create function instead of calling new.
2486         Renamed functions with initialize in their name to have default in their
2487         name, since they return an array full of default values and don't themselves
2488         initialize anything.
2489
2490 2009-08-16  Darin Adler  <darin@apple.com>
2491
2492         Reviewed by Dan Bernstein.
2493
2494         StyledElement should use ASCIICType instead of having its own toHex function
2495         https://bugs.webkit.org/show_bug.cgi?id=28377
2496
2497         * dom/StyledElement.cpp:
2498         (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
2499
2500 2009-08-16  Darin Adler  <darin@apple.com>
2501
2502         Reviewed by Dan Bernstein.
2503
2504         execCommand("InsertHorizontalRule") inserts a broken <hr> element
2505         https://bugs.webkit.org/show_bug.cgi?id=28375
2506
2507         * editing/EditorCommand.cpp:
2508         (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
2509         instead of just an HTMLElement.
2510
2511 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2512
2513         Reviewed by George Staikos.
2514
2515         [WML] <option> element & 'onpick' events - history navigation is broken
2516         https://bugs.webkit.org/show_bug.cgi?id=28371
2517
2518         After selecting an option element with an 'onpick' event associated with a 'go' task,
2519         the navigation is executed. When going back in history, the same 'onpick' event is fired
2520         again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
2521
2522         Test: wml/option-element-onpick-recursion.html
2523
2524         * wml/WMLOptionElement.cpp:
2525         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
2526         * wml/WMLSelectElement.cpp:
2527         (WebCore::WMLSelectElement::WMLSelectElement):
2528         (WebCore::WMLSelectElement::selectInitialOptions):
2529         * wml/WMLSelectElement.h:
2530         (WebCore::WMLSelectElement::initialized):
2531
2532 2009-08-16  Anthony Ricaud  <rik@webkit.org>
2533
2534         Reviewed by Timothy Hatcher.
2535
2536         Inspector Resource filtering: keyboard Navigation always uses ALL resources
2537         https://bugs.webkit.org/show_bug.cgi?id=28231
2538         
2539         Determine if a resource is selectable on user action.
2540         
2541         * inspector/front-end/ResourcesPanel.js:
2542         (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
2543
2544 2009-08-16  David Kilzer  <ddkilzer@apple.com>
2545
2546         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
2547
2548         Reviewed by Dan Bernstein.
2549
2550         * accessibility/mac/AccessibilityObjectWrapper.mm:
2551         (AXAttributeStringSetSpelling): Changed MIN() to min().
2552         * platform/graphics/mac/FontMacATSUI.mm:
2553         (WebCore::Font::selectionRectForComplexText): Changed MAX() to
2554         max() and MIN() to min().
2555         (WebCore::Font::floatWidthForComplexText): Ditto.
2556         * platform/graphics/mac/SimpleFontDataMac.mm: Added using
2557         std::max statement.
2558         (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
2559         * platform/text/mac/TextCodecMac.cpp:
2560         (WebCore::TextCodecMac::decode): Changed MIN() to min().
2561
2562 2009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2563
2564         Reviewed by George Staikos.
2565
2566         [WML] Cleanup WMLIntrinsicEventHandling code
2567         https://bugs.webkit.org/show_bug.cgi?id=28358
2568
2569         Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
2570
2571         * wml/WMLAnchorElement.cpp:
2572         (WebCore::WMLAnchorElement::defaultEventHandler):
2573         * wml/WMLDoElement.cpp:
2574         (WebCore::WMLDoElement::defaultEventHandler):
2575         * wml/WMLGoElement.cpp:
2576         (WebCore::WMLGoElement::executeTask):
2577         * wml/WMLGoElement.h:
2578         * wml/WMLIntrinsicEventHandler.cpp:
2579         (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
2580         * wml/WMLPrevElement.cpp:
2581         (WebCore::WMLPrevElement::executeTask):
2582         * wml/WMLPrevElement.h:
2583         * wml/WMLRefreshElement.cpp:
2584         (WebCore::WMLRefreshElement::executeTask):
2585         * wml/WMLRefreshElement.h:
2586         * wml/WMLTaskElement.h:
2587
2588 2009-08-16  Pavel Feldman  <pfeldman@chromium.org>
2589
2590         Reviewed by Timothy Hatcher.
2591
2592         WebInspector: A handful of DOMAgent-related fixes and cleanups.
2593
2594         - renamed elementId to nodeId in operations on nodes.
2595         - added load listeners to frame owners in InspectorDOMAgent.
2596         - removed InspectorController::inspectedWindowScriptObjectCleared event.
2597         - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
2598         - removed contentDocument-related logic from ElementsPanel since it is handled in
2599             the InspectorDOMAgent.
2600         - removed DOM listeners unregistration and corresponding events from InspectorController.
2601         - made this.styles 'private' in ElementsPanel.
2602         - added TODO for the handleCopy processing.
2603
2604         https://bugs.webkit.org/show_bug.cgi?id=28356
2605
2606         * WebCore.order:
2607         * inspector/InspectorBackend.cpp:
2608         (WebCore::InspectorBackend::getChildNodes):
2609         (WebCore::InspectorBackend::setTextNodeValue):
2610         * inspector/InspectorBackend.h:
2611         * inspector/InspectorBackend.idl:
2612         * inspector/InspectorController.cpp:
2613         * inspector/InspectorController.h:
2614         * inspector/InspectorDOMAgent.cpp:
2615         (WebCore::InspectorDOMAgent::startListening):
2616         (WebCore::InspectorDOMAgent::stopListening):
2617         (WebCore::InspectorDOMAgent::handleEvent):
2618         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2619         (WebCore::InspectorDOMAgent::getChildNodes):
2620         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2621         (WebCore::InspectorDOMAgent::setTextNodeValue):
2622         (WebCore::InspectorDOMAgent::buildObjectForNode):
2623         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2624         (WebCore::InspectorDOMAgent::innerParentNode):
2625         * inspector/InspectorDOMAgent.h:
2626         * inspector/InspectorFrontend.cpp:
2627         * inspector/InspectorFrontend.h:
2628         * inspector/front-end/DOMAgent.js:
2629         (WebInspector.DOMDocument.prototype.addEventListener):
2630         (WebInspector.DOMDocument.prototype.removeEventListener):
2631         (WebInspector.DOMDocument.prototype._fireDomEvent):
2632         (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
2633         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2634         (WebInspector.DOMAgent.prototype._setChildNodes):
2635         (WebInspector.CSSStyleDeclaration.parseRule):
2636         (WebInspector.childNodeInserted):
2637         (WebInspector.childNodeRemoved):
2638         * inspector/front-end/ElementsPanel.js:
2639         (WebInspector.ElementsPanel):
2640         (WebInspector.ElementsPanel.prototype.reset):
2641         (WebInspector.ElementsPanel.prototype.addStyleChange):
2642         (WebInspector.ElementsPanel.prototype.removeStyleChange):
2643         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
2644         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2645         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
2646         * inspector/front-end/ElementsTreeOutline.js:
2647         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
2648         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2649         (WebInspector.ElementsTreeElement):
2650         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2651         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2652         (WebInspector.ElementsTreeElement.prototype.onexpand):
2653         * inspector/front-end/InjectedScript.js:
2654         (InjectedScript.addStyleSelector):
2655         (InjectedScript._serializeRule):
2656         * inspector/front-end/StylesSidebarPane.js:
2657         (WebInspector.StylePropertiesSection):
2658         * inspector/front-end/inspector.js:
2659         (WebInspector.set hoveredDOMNode):
2660         * inspector/front-end/treeoutline.js:
2661         (TreeOutline.prototype.findTreeElement):
2662         * inspector/front-end/utilities.js:
2663         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
2664         (Node.prototype.enclosingNodeOrSelfWithClass):
2665         (isAncestorNode):
2666         (firstCommonNodeAncestor):
2667         (traverseNextNode):
2668         (traversePreviousNode):
2669         ():
2670         * loader/FrameLoader.cpp:
2671         (WebCore::FrameLoader::dispatchWindowObjectAvailable):
2672         * page/android/InspectorControllerAndroid.cpp:
2673
2674 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2675
2676         Reviewed by Dave Hyatt
2677
2678         Optimize updateFillImages() to not add/remove clients every time
2679         https://bugs.webkit.org/show_bug.cgi?id=28334
2680
2681         Optimize the case where old and new just have a single layer pointing to the same (or no)
2682         image.
2683
2684         * rendering/RenderObject.cpp:
2685         (WebCore::RenderObject::updateFillImages):
2686
2687 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2688
2689         Reviewed by Anders Carlsson.
2690
2691         Implement animations of multiple text-shadows and -webkit-box-shadows.
2692         https://bugs.webkit.org/show_bug.cgi?id=28266
2693         
2694         Test: transitions/multiple-shadow-transitions.html
2695
2696         * page/animation/AnimationBase.cpp:
2697         (WebCore::PropertyWrapperShadow::equals):
2698         (WebCore::PropertyWrapperShadow::blend):
2699
2700 2009-08-15  Simon Fraser  <simon.fraser@apple.com>
2701
2702         Reviewed by Anders Carlsson.
2703
2704         Make transitions work for position and size of multiple backgrounds and masks.
2705         https://bugs.webkit.org/show_bug.cgi?id=28266
2706         
2707         Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
2708         properties animatable with multiple backgrounds, rather than just animating the first one.
2709
2710         Tests: transitions/multiple-background-size-transitions.html
2711                transitions/multiple-background-transitions.html
2712                transitions/multiple-mask-transitions.html
2713
2714         * page/animation/AnimationBase.cpp:
2715         (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
2716         (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
2717         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
2718         (WebCore::FillLayerPropertyWrapperGetter::equals):
2719         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
2720         (WebCore::FillLayerPropertyWrapper::blend):
2721         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
2722         (WebCore::FillLayersPropertyWrapper::equals):
2723         (WebCore::FillLayersPropertyWrapper::blend):
2724         (WebCore::ensurePropertyMap):
2725         * rendering/style/FillLayer.h:
2726         (WebCore::FillLayer::setXPosition):
2727         (WebCore::FillLayer::setYPosition):
2728         (WebCore::FillLayer::setSize):
2729
2730 2009-08-15  George Staikos  <george.staikos@torchmobile.com>
2731
2732         Reviewed by Jan Alonzo.
2733
2734         Don't crash in fieldset code when WML is enabled.
2735         https://bugs.webkit.org/show_bug.cgi?id=28012
2736
2737         Test: fast/wml/html-fieldset-crash.html
2738
2739         * rendering/RenderFieldset.cpp:
2740         (WebCore::RenderFieldset::findLegend): ++brackets
2741
2742 2009-08-15  Sam Weinig  <sam@webkit.org>
2743
2744         Try and enable EventSource on Windows.
2745
2746         * WebCore.vcproj/WebCoreCommon.vsprops:
2747         * WebCore.vcproj/build-generated-files.sh:
2748
2749 2009-08-15  Sam Weinig  <sam@webkit.org>
2750
2751         Reviewed by Dan Bernstein.
2752
2753         Setting attribute event listeners to the body does not set them on the window
2754         https://bugs.webkit.org/show_bug.cgi?id=28343
2755
2756         Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
2757                fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
2758
2759         * html/HTMLBodyElement.cpp:
2760         (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
2761         (WebCore::HTMLBodyElement::setOnerror): Ditto.
2762         (WebCore::HTMLBodyElement::setOnfocus): Ditto.
2763         (WebCore::HTMLBodyElement::setOnload): Ditto.
2764         (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
2765         (WebCore::HTMLBodyElement::setOnmessage): Ditto.
2766         (WebCore::HTMLBodyElement::setOnoffline): Ditto.
2767         (WebCore::HTMLBodyElement::setOnonline): Ditto.
2768         (WebCore::HTMLBodyElement::setOnresize): Ditto.
2769         (WebCore::HTMLBodyElement::setOnstorage): Ditto.
2770         (WebCore::HTMLBodyElement::setOnunload): Ditto.
2771         * html/HTMLFrameSetElement.cpp:
2772         (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
2773         (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
2774         (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
2775         (WebCore::HTMLFrameSetElement::setOnload): Ditto.
2776         (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
2777         (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
2778         (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
2779         (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
2780         (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
2781         (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
2782         (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
2783
2784 2009-08-15  Sam Weinig  <sam@webkit.org>
2785
2786         Reviewed by Dan Bernstein.
2787
2788         Fix up some IDL comments.
2789
2790         * html/HTMLBodyElement.idl:
2791         * html/HTMLFrameSetElement.idl:
2792
2793 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2794
2795         Reviewed by Sam Weinig.
2796
2797         Added implementation of the EventSource object that enables
2798         server-sent events from HTML5.
2799         http://dev.w3.org/html5/eventsource/
2800         https://bugs.webkit.org/show_bug.cgi?id=14997
2801
2802         Tests: fast/eventsource/eventsource-attribute-listeners.html
2803                fast/eventsource/eventsource-constructor.html
2804                http/tests/eventsource/eventsource-bad-mime-type.html
2805                http/tests/eventsource/eventsource-parse-event-stream.html
2806                http/tests/eventsource/eventsource-reconnect.html
2807                http/tests/eventsource/eventsource-status-code-states.html
2808                http/tests/eventsource/workers/eventsource-simple.html
2809
2810         * Configurations/FeatureDefines.xcconfig:
2811         * DerivedSources.cpp:
2812         * DerivedSources.make:
2813         * GNUmakefile.am:
2814         * WebCore.pro:
2815         * WebCore.vcproj/WebCore.vcproj:
2816         * WebCore.xcodeproj/project.pbxproj:
2817         * bindings/js/JSDOMWindowCustom.cpp:
2818         (WebCore::JSDOMWindow::eventSource):
2819         * bindings/js/JSEventSourceConstructor.cpp: Added.
2820         (WebCore::):
2821         (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
2822         (WebCore::constructEventSource):
2823         (WebCore::JSEventSourceConstructor::getConstructData):
2824         * bindings/js/JSEventSourceConstructor.h: Added.
2825         (WebCore::JSEventSourceConstructor::classInfo):
2826         * bindings/js/JSEventSourceCustom.cpp: Added.
2827         (WebCore::JSEventSource::markChildren):
2828         (WebCore::JSEventSource::addEventListener):
2829         (WebCore::JSEventSource::removeEventListener):
2830         * bindings/js/JSEventTarget.cpp:
2831         (WebCore::toJS):
2832         (WebCore::toEventTarget):
2833         * bindings/js/JSWorkerContextCustom.cpp:
2834         (WebCore::JSWorkerContext::eventSource):
2835         * dom/EventNames.h:
2836         * dom/EventTarget.cpp:
2837         (WebCore::EventTarget::toEventSource):
2838         * dom/EventTarget.h:
2839         * page/DOMWindow.idl:
2840         * page/EventSource.cpp: Added.
2841         (WebCore::EventSource::EventSource):
2842         (WebCore::EventSource::~EventSource):
2843         (WebCore::EventSource::connect):
2844         (WebCore::EventSource::endRequest):
2845         (WebCore::EventSource::scheduleReconnect):
2846         (WebCore::EventSource::reconnectTimerFired):
2847         (WebCore::EventSource::url):
2848         (WebCore::EventSource::readyState):
2849         (WebCore::EventSource::close):
2850         (WebCore::EventSource::scriptExecutionContext):
2851         (WebCore::EventSource::addEventListener):
2852         (WebCore::EventSource::removeEventListener):
2853         (WebCore::EventSource::dispatchEvent):
2854         (WebCore::EventSource::didReceiveResponse):
2855         (WebCore::EventSource::didReceiveData):
2856         (WebCore::EventSource::didFinishLoading):
2857         (WebCore::EventSource::didFail):
2858         (WebCore::EventSource::didFailRedirectCheck):
2859         (WebCore::EventSource::parseEventStream):
2860         (WebCore::EventSource::parseEventStreamLine):
2861         (WebCore::EventSource::dispatchGenericEvent):
2862         (WebCore::EventSource::dispatchMessageEvent):
2863         (WebCore::EventSource::stop):
2864         * page/EventSource.h: Added.
2865         (WebCore::EventSource::create):
2866         (WebCore::EventSource::):
2867         (WebCore::EventSource::setOnopen):
2868         (WebCore::EventSource::onopen):
2869         (WebCore::EventSource::setOnmessage):
2870         (WebCore::EventSource::onmessage):
2871         (WebCore::EventSource::setOnerror):
2872         (WebCore::EventSource::onerror):
2873         (WebCore::EventSource::toEventSource):
2874         (WebCore::EventSource::eventListeners):
2875         (WebCore::EventSource::refEventTarget):
2876         (WebCore::EventSource::derefEventTarget):
2877         * page/EventSource.idl: Added.
2878         * workers/WorkerContext.idl:
2879
2880 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
2881
2882         Reviewed by Timothy Hatcher.
2883
2884         WebInspector: Minor DOMAgent bugfixes.
2885
2886         https://bugs.webkit.org/show_bug.cgi?id=28177
2887
2888         * inspector/InspectorDOMAgent.cpp:
2889         (WebCore::InspectorDOMAgent::nodeForId):
2890         * inspector/front-end/DOMAgent.js:
2891         (WebInspector.DOMAgent):
2892         * inspector/front-end/ElementsPanel.js:
2893         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2894
2895 2009-08-15  Pavel Feldman  <pfeldman@chromium.org>
2896
2897         Reviewed by Timothy Hatcher.
2898
2899         WebInspector: Evaluating objects while on a breakpoint dumps string
2900         representation instead of live object. 
2901
2902         https://bugs.webkit.org/show_bug.cgi?id=28280
2903
2904         * inspector/front-end/ConsoleView.js:
2905         (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
2906         (WebInspector.ConsoleView.prototype.completions):
2907         (WebInspector.ConsoleView.prototype._reportCompletions):
2908         * inspector/front-end/ScriptsPanel.js:
2909         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
2910         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2911         (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
2912
2913 2009-08-15  Maxime Simon  <simon.maxime@gmail.com>
2914
2915         Reviewed by Eric Seidel.
2916
2917         [Haiku] Adding two new files to WebCore/platform/haiku:
2918         LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
2919         https://bugs.webkit.org/show_bug.cgi?id=28129
2920
2921         * platform/haiku/LocalizedStringsHaiku.cpp: Added.
2922         (WebCore::submitButtonDefaultLabel):
2923         (WebCore::inputElementAltText):
2924         (WebCore::resetButtonDefaultLabel):
2925         (WebCore::defaultLanguage):
2926         (WebCore::searchableIndexIntroduction):
2927         (WebCore::fileButtonChooseFileLabel):
2928         (WebCore::fileButtonNoFileSelectedLabel):
2929         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2930         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2931         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2932         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2933         (WebCore::contextMenuItemTagDownloadImageToDisk):
2934         (WebCore::contextMenuItemTagCopyImageToClipboard):
2935         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2936         (WebCore::contextMenuItemTagCopy):
2937         (WebCore::contextMenuItemTagGoBack):
2938         (WebCore::contextMenuItemTagGoForward):
2939         (WebCore::contextMenuItemTagStop):
2940         (WebCore::contextMenuItemTagReload):
2941         (WebCore::contextMenuItemTagCut):
2942         (WebCore::contextMenuItemTagPaste):
2943         (WebCore::contextMenuItemTagNoGuessesFound):
2944         (WebCore::contextMenuItemTagIgnoreSpelling):
2945         (WebCore::contextMenuItemTagLearnSpelling):
2946         (WebCore::contextMenuItemTagSearchWeb):
2947         (WebCore::contextMenuItemTagLookUpInDictionary):
2948         (WebCore::contextMenuItemTagOpenLink):
2949         (WebCore::contextMenuItemTagIgnoreGrammar):
2950         (WebCore::contextMenuItemTagSpellingMenu):
2951         (WebCore::contextMenuItemTagShowSpellingPanel):
2952         (WebCore::contextMenuItemTagCheckSpelling):
2953         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2954         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2955         (WebCore::contextMenuItemTagFontMenu):
2956         (WebCore::contextMenuItemTagBold):
2957         (WebCore::contextMenuItemTagItalic):
2958         (WebCore::contextMenuItemTagUnderline):
2959         (WebCore::contextMenuItemTagOutline):
2960         (WebCore::contextMenuItemTagWritingDirectionMenu):
2961         (WebCore::contextMenuItemTagDefaultDirection):
2962         (WebCore::contextMenuItemTagLeftToRight):
2963         (WebCore::contextMenuItemTagRightToLeft):
2964         (WebCore::contextMenuItemTagInspectElement):
2965         (WebCore::searchMenuNoRecentSearchesText):
2966         (WebCore::searchMenuRecentSearchesText):
2967         (WebCore::searchMenuClearRecentSearchesText):
2968         (WebCore::unknownFileSizeText):
2969         (WebCore::AXWebAreaText):
2970         (WebCore::AXLinkText):
2971         (WebCore::AXListMarkerText):
2972         (WebCore::AXImageMapText):
2973         (WebCore::AXHeadingText):
2974         (WebCore::imageTitle):
2975         (WebCore::contextMenuItemTagTextDirectionMenu):
2976         (WebCore::AXButtonActionVerb):
2977         (WebCore::AXTextFieldActionVerb):
2978         (WebCore::AXRadioButtonActionVerb):
2979         (WebCore::AXCheckedCheckBoxActionVerb):
2980         (WebCore::AXUncheckedCheckBoxActionVerb):
2981         (WebCore::AXLinkActionVerb):
2982         (WebCore::AXDefinitionListTermText):
2983         (WebCore::AXDefinitionListDefinitionText):
2984         * platform/haiku/LoggingHaiku.cpp: Added.
2985         (WebCore::InitializeLoggingChannelsIfNecessary):
2986
2987 2009-08-15  Darin Adler  <darin@apple.com>
2988
2989         Fix GTK build.
2990
2991         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2992         (fallbackObject): Pass 0 for document. Should be OK at least for now.
2993
2994 2009-08-15  Darin Adler  <darin@apple.com>
2995
2996         Fix Qt build.
2997
2998         * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
2999         directly to make CDATASection and Comment nodes.
3000
3001 2009-08-14  Darin Adler  <darin@apple.com>
3002
3003         Reviewed by Sam Weinig.
3004
3005         Make DOM classes start with a reference count of 1, like all other RefCounted
3006         https://bugs.webkit.org/show_bug.cgi?id=28068
3007
3008         First half, everything except for element classes.
3009
3010         * GNUmakefile.am: Removed DocPtr.h.
3011         * WebCore.gypi: Ditto.
3012         * WebCore.vcproj/WebCore.vcproj: Ditto.
3013         * WebCore.xcodeproj/project.pbxproj: Ditto.
3014
3015         * dom/Attr.cpp:
3016         (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
3017         have to call it explicitly.
3018         (WebCore::Attr::create): Added.
3019         (WebCore::Attr::setValue): Changed to take AtomicString.
3020         (WebCore::Attr::cloneNode): Use create.
3021
3022         * dom/Attr.h: Added a create function. Made the constructor private,
3023         and a lot of other functions private as well.
3024
3025         * dom/Attribute.cpp:
3026         (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
3027
3028         * dom/CDATASection.cpp:
3029         (WebCore::CDATASection::create): Added.
3030         (WebCore::CDATASection::cloneNode): Use create.
3031         (WebCore::CDATASection::virtualCreate): Ditto.
3032
3033         * dom/CDATASection.h: Added a create function. Made everything private.
3034         Removed unneeded destructor declaration.
3035
3036         * dom/CharacterData.cpp:
3037         (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
3038         with a single one that takes ConstructionType.
3039
3040         * dom/CharacterData.h: Made more functions be protected and private.
3041         Made m_data be private.
3042
3043         * dom/Comment.cpp:
3044         (WebCore::Comment::Comment): Got rid of an extra constructor.
3045         (WebCore::Comment::create): Added.
3046         (WebCore::Comment::cloneNode): Call create.
3047
3048         * dom/Comment.h: Added a create function. Made everything private.
3049
3050         * dom/ContainerNode.cpp:
3051         (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
3052         (WebCore::dispatchChildRemovalEvents): Ditto.
3053
3054         * dom/ContainerNode.h: Made the constructor protected and passed
3055         ConstructionType instead of an isElement boolean.
3056
3057         * dom/DocPtr.h: Removed.
3058
3059         * dom/Document.cpp:
3060         (WebCore::Document::Document): Simplified the code that sets m_document
3061         since it's no longer a smart pointer.
3062         (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
3063         and selfOnlyDeref instead of a DocPtr in here.
3064         (WebCore::Document::~Document): Simplified the code that sets m_document
3065         since it's no longer a smart pointer.
3066         (WebCore::Document::createDocumentFragment): Call create.
3067         (WebCore::Document::createTextNode): Ditto.
3068         (WebCore::Document::createComment): Ditto.
3069         (WebCore::Document::createCDATASection): Ditto.
3070         (WebCore::Document::createProcessingInstruction): Ditto.
3071         (WebCore::Document::createEntityReference): Ditto.
3072         (WebCore::Document::createEditingTextNode): Ditto.
3073         (WebCore::Document::importNode): Call Attr::create.
3074         (WebCore::Document::createAttributeNS): Ditto.
3075
3076         * dom/Document.h: Call adoptRef. Made a lot of functions private and
3077         protected and sorted them so public functions come first.
3078
3079         * dom/DocumentFragment.cpp:
3080         (WebCore::DocumentFragment::create): Added.
3081         (WebCore::DocumentFragment::cloneNode): Call create.
3082         * dom/DocumentFragment.h: Added create.
3083
3084         * dom/DocumentType.cpp:
3085         (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
3086         (WebCore::DocumentType::cloneNode): Use create.
3087         * dom/DocumentType.h:
3088         (WebCore::DocumentType::create): Call adoptRef.
3089
3090         * dom/EditingText.cpp:
3091         (WebCore::EditingText::create): Added.
3092         * dom/EditingText.h: Added a create function. Made everything private.
3093
3094         * dom/Element.cpp:
3095         (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
3096         the zero reference count behavior for classes derived from Element.
3097
3098         * dom/EntityReference.cpp:
3099         (WebCore::EntityReference::create): Added.
3100         (WebCore::EntityReference::cloneNode): Call create.
3101         * dom/EntityReference.h: Added create. Made everything private.
3102
3103         * dom/Node.cpp:
3104         (WebCore::Node::initialRefCount): Added. Inline helper function for
3105         the constructor.
3106         (WebCore::Node::isContainer): Ditto.
3107         (WebCore::Node::isElement): Ditto.
3108         (WebCore::Node::isText): Ditto.
3109         (WebCore::Node::Node): Changed to take a construction type argument.
3110         Since m_document is now a normal pointer, added a call to selfOnlyRef.
3111         (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
3112         (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
3113         (WebCore::Node::appendTextContent): Use the data function instead of
3114         calling nodeValue functions, which do the same thing in a roundabout way.
3115
3116         * dom/Node.h: Made the constructor protected and replaced the multiple
3117         arguments iwth a single ConstructionType argument. Sorted the public
3118         things first.
3119
3120         * dom/Notation.h: Made most things private.
3121         * dom/Notation.cpp: Removed extra constructor.
3122
3123         * dom/ProcessingInstruction.cpp:
3124         (WebCore::ProcessingInstruction::create): Added.
3125         (WebCore::ProcessingInstruction::cloneNode): Call create.
3126         * dom/ProcessingInstruction.h: Added create function. Made many other
3127         members private.
3128
3129         * dom/Range.cpp:
3130         (WebCore::Range::processContents): Use DocumentFragment::create.
3131
3132         * dom/Text.cpp:
3133         (WebCore::Text::Text): Updated for base class change.
3134         (WebCore::Text::create): Added.
3135         (WebCore::Text::splitText): Changed to not require access to m_data.
3136         (WebCore::Text::cloneNode): Call create.
3137         (WebCore::Text::createRenderer): Call dataImpl.
3138         (WebCore::Text::attach): Call data.
3139         (WebCore::Text::recalcStyle): Call dataImpl.
3140         (WebCore::Text::virtualCreate): Call create.
3141         (WebCore::Text::createWithLengthLimit): Call create.
3142         (WebCore::Text::formatForDebugger): Call data.
3143
3144         * dom/Text.h: Added a create function. Made many other members private.
3145         Renamed createNew to virtualCreate.
3146
3147         * dom/XMLTokenizer.cpp:
3148         (WebCore::XMLTokenizer::enterText): Call Text::create.
3149
3150         * dom/XMLTokenizerLibxml2.cpp:
3151         (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
3152         (WebCore::XMLTokenizer::comment): Call Comment::create.
3153
3154         * editing/CompositeEditCommand.cpp:
3155         (WebCore::CompositeEditCommand::deleteInsignificantText):
3156         Call data instead of string.
3157
3158         * editing/CreateLinkCommand.cpp:
3159         (WebCore::CreateLinkCommand::doApply): Call Text::create.
3160
3161         * editing/EditorCommand.cpp:
3162         (WebCore::executeInsertNode): Call DocumentFragment::create.
3163
3164         * editing/SplitTextNodeCommand.cpp:
3165         (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
3166
3167         * editing/markup.cpp:
3168         (WebCore::appendStartMarkup): Call data instead of nodeValue.
3169
3170         * html/HTMLDocument.h:
3171         (WebCore::HTMLDocument::create): Call adoptRef.
3172
3173         * html/HTMLElement.cpp:
3174         (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
3175         (WebCore::replaceChildrenWithFragment): Call data instead of string.
3176         (WebCore::replaceChildrenWithText): Call Text::create.
3177         (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
3178         Text::create.
3179         (WebCore::HTMLElement::setOuterText): Call Text::create.
3180
3181         * html/HTMLKeygenElement.cpp:
3182         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
3183
3184         * html/HTMLOptionElement.cpp:
3185         (WebCore::HTMLOptionElement::setText): Call Text::create.
3186
3187         * html/HTMLParser.cpp:
3188         (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
3189         (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
3190         (WebCore::HTMLParser::handleIsindex): Call Text::create.
3191
3192         * html/HTMLViewSourceDocument.cpp:
3193         (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
3194
3195         * html/HTMLViewSourceDocument.h:
3196         (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
3197
3198         * loader/FTPDirectoryDocument.cpp:
3199         (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
3200         (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
3201
3202         * loader/FTPDirectoryDocument.h:
3203         (WebCore::FTPDirectoryDocument::create): Call adoptRef.
3204         * loader/ImageDocument.h:
3205         (WebCore::ImageDocument::create): Ditto.
3206         * loader/MediaDocument.h:
3207         (WebCore::MediaDocument::create): Ditto.
3208         * loader/PlaceholderDocument.h:
3209         (WebCore::PlaceholderDocument::create): Ditto.
3210         * loader/PluginDocument.h:
3211         (WebCore::PluginDocument::create): Ditto.
3212         * loader/TextDocument.h:
3213         (WebCore::TextDocument::create): Ditto.
3214
3215         * loader/loader.cpp:
3216         (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
3217         (WebCore::Loader::Host::didFail): Ditto.
3218
3219         * platform/TreeShared.h:
3220         (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
3221         defaulting to 1. Node still sometimes initializes it to 0 instead for now.
3222
3223         * rendering/RenderText.cpp:
3224         (WebCore::RenderText::originalText): Use dataImpl instead of string.
3225
3226         * rendering/RenderTextFragment.cpp:
3227         (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
3228         (WebCore::RenderTextFragment::previousCharacter): Ditto.
3229
3230         * svg/SVGDocument.h:
3231         (WebCore::SVGDocument::create): Use adoptRef.
3232
3233         * svg/SVGElementInstance.cpp:
3234         (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
3235         PassRefPtr.
3236
3237         * svg/SVGElementInstance.h: Made everything private.
3238
3239         * wml/WMLDocument.h:
3240         (WebCore::WMLDocument::create): Called adoptRef.
3241
3242         * xml/XPathNamespace.cpp:
3243         (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
3244         * xml/XPathNamespace.h: Made everything private.
3245
3246         * xml/XSLTProcessor.cpp:
3247         (WebCore::createFragmentFromSource): Use DocumentFragment::create and
3248         Text::create.
3249
3250 2009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
3251
3252         Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
3253         nightly (20866)
3254
3255         https://bugs.webkit.org/show_bug.cgi?id=20866
3256
3257         Reviewed by Oliver Hunt.
3258
3259         * accessibility/AXObjectCache.cpp:
3260         (WebCore::AXObjectCache::AXObjectCache):
3261         Changed to take a pointer to its owner document. This is used by
3262         AXObjectCache::handleFocusedUIElementChanged().
3263         (WebCore::AXObjectCache::focusedUIElementForPage):
3264         Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
3265         to be a static function and to take a pointer to a Page.
3266         (WebCore::AXObjectCache::platformGenerateAXID):
3267         Moved the code to generate the next AXID from getAXID() to here. Added
3268         a #if to make this non-WIN only, because Windows has its own
3269         implementation.
3270         (WebCore::AXObjectCache::getAXID):
3271         Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
3272
3273         * accessibility/AXObjectCache.h:
3274         Add a declaration for Document and Page. Removed the declaration of
3275         AccessibilityObject, because we include the header. Reordered the
3276         declaration of Node alphabetically. Moved the typedef for AXID to
3277         AccessibilityObject. Removed some trailing whitespace. Added a member
3278         variable to hold a pointer to the owner Document.
3279         (WebCore::AXObjectCache::AXObjectCache):
3280         Changed to take a pointer to its owner Document.
3281         (WebCore::AXObjectCache::focusedUIElementForPage):
3282         Added; code moved from AccessiblityRenderObject::focusedUIElement().
3283         Returns the focused element with respect to accessibility.
3284         (WebCore::AXObjectCache::platformGenerateAXID):
3285         Declare a function to generate an AXID.
3286         (WebCore::AXObjectCache::objectFromAXID):
3287         Return the AccessibilityObject with the given AXID.
3288
3289         * accessibility/AccessibilityObject.h:
3290         Moved the typedef for AXID from AXObjectCache to here. Made the m_id
3291         member use the typedef.
3292         (WebCore::AccessibilityObject::axObjectID):
3293         Changed the return type to use the typedef.
3294         (WebCore::AccessibilityObject::setAXObjectID):
3295         Changed the argument type to use the typedef.
3296
3297         * accessibility/AccessibilityRenderObject.cpp:
3298         Removed some unneeded #includes.
3299         (WebCore::AccessibilityRenderObject::focusedUIElement):
3300         Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
3301         call.
3302
3303         * accessibility/win/AXObjectCacheWin.cpp:
3304         (WebCore::AXObjectCache::platformGenerateAXID):
3305         Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
3306         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
3307         If the Document has no Page, return. If the Page has not focused
3308         element (respecting accessibility), return. Assert that the
3309         accessibility of the focused element is not ignored, and that the
3310         object's AXID will be negative and fit into a LONG when negated.
3311         Broadcast a focus event for the object.
3312
3313         * dom/Document.cpp:
3314         (WebCore::Document::axObjectCache):
3315         Pass this when creating the AXObjectCache.
3316         (WebCore::Document::setFocusedNode):
3317         Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
3318
3319 2009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
3320
3321         Reviewed by Jan Alonzo.
3322
3323         [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
3324         https://bugs.webkit.org/show_bug.cgi?id=27028
3325
3326         Remove the improper set of enum WebKitWebViewTargetInfo
3327         by grabbing the target infos via m_helper.
3328
3329         * manual-tests/gtk/copy-htmltext.html: Added.
3330         * platform/Pasteboard.h:
3331         * platform/gtk/PasteboardGtk.cpp:
3332         (WebCore::clipboard_get_contents_cb):
3333         * platform/gtk/PasteboardHelper.h:
3334
3335 2009-08-14  Simon Fraser  <simon.fraser@apple.com>
3336
3337         Reviewed by Dave Hyatt.
3338
3339         Fix an assertion when bringing up the Inspector.
3340         https://bugs.webkit.org/show_bug.cgi?id=28318
3341         
3342         The fix for bug 28295 assumed that image clients count the number of times
3343         addClient/removeClient is called. That was true for CachedResource clients,
3344         but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
3345         
3346         Fix by making CSSImageGeneratorValue count the number of times a client is
3347         added/removed.
3348
3349         * css/CSSCanvasValue.cpp:
3350         (WebCore::CSSCanvasValue::canvasChanged):
3351         (WebCore::CSSCanvasValue::canvasResized):
3352         * css/CSSImageGeneratorValue.cpp:
3353         (WebCore::CSSImageGeneratorValue::addClient):
3354         (WebCore::CSSImageGeneratorValue::removeClient):
3355         (WebCore::CSSImageGeneratorValue::getImage):
3356         * css/CSSImageGeneratorValue.h:
3357
3358 2009-08-14  Brent Fulgham  <bfulgham@webkit.org>
3359
3360         Reviewed by Kevin Ollivier.
3361
3362         Correct libcurl crash when downloading local files.
3363         https://bugs.webkit.org/show_bug.cgi?id=28312
3364
3365         No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
3366
3367         * platform/network/curl/ResourceHandleManager.cpp:
3368         (WebCore::handleLocalReceiveResponse): New static function that
3369           performs the local setting of valid URL and firing didReceiveResponse.
3370           This code was moved from writeCallback.
3371         (WebCore::writeCallback): Move local file handling to static function
3372           (above) and use the function instead.
3373         (WebCore::readCallback): Add check
3374           for responseFired, and handle as a local file if it was not.
3375
3376 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
3377
3378         Reviewed by Oliver Hunt.
3379
3380         [Haiku] Fix RenderThemeHaiku build.
3381         https://bugs.webkit.org/show_bug.cgi?id=28307
3382
3383         * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
3384         instead of RenderTheme.h.
3385         (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
3386         before the function.
3387         (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
3388         before the function.
3389         * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
3390
3391 2009-08-14  Maxime Simon  <simon.maxime@gmail.com>
3392
3393         Reviewed by Oliver Hunt.
3394
3395         [Haiku] Adding SharedBufferHaiku to WebCore.
3396         https://bugs.webkit.org/show_bug.cgi?id=28309
3397
3398         * platform/haiku/SharedBufferHaiku.cpp: Added.
3399         (WebCore::SharedBuffer::createWithContentsOfFile):
3400         * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
3401         and functions.
3402         (WebCore::signedPublicKeyAndChallengeString):
3403         (WebCore::getSupportedKeySizes):
3404
3405 2009-08-14  Nate Chapin  <japhet@chromium.org>
3406
3407         Reviewed by Dimitri Glazkov.
3408
3409         Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
3410
3411         https://bugs.webkit.org/show_bug.cgi?id=28311
3412
3413         This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
3414
3415         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3416         (WebCore::ACCESSOR_GETTER):
3417
3418 2009-08-14  Aaron Boodman  <aa@chromium.org>
3419
3420         Reviewed by Alexey Proskuryakov.
3421
3422         BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
3423         https://bugs.webkit.org/show_bug.cgi?id=28134
3424
3425         No new tests added since Access Control was already well tested and this is a pure refactor.
3426
3427         * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
3428         basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
3429         path.
3430
3431         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
3432         (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
3433         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
3434         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
3435         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
3436         (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
3437         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
3438         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
3439         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
3440         (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
3441         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
3442         (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
3443         * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
3444         * loader/ThreadableLoader.cpp: Ditto.
3445         (WebCore::ThreadableLoader::create): Ditto.
3446         (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
3447         * loader/ThreadableLoader.h: Ditto.
3448         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
3449         * loader/WorkerThreadableLoader.cpp: Ditto.
3450         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
3451         (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
3452         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
3453         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
3454         * loader/WorkerThreadableLoader.h: Ditto.
3455         (WebCore::WorkerThreadableLoader::create): Ditto.
3456         * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
3457         (WebCore::):
3458         * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
3459         (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
3460         (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
3461         * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
3462         (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
3463         (WebCore::XMLHttpRequest::createRequest): Ditto.
3464         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
3465         (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
3466         (WebCore::XMLHttpRequest::didReceiveData): Ditto.
3467         * xml/XMLHttpRequest.h: Ditto.
3468
3469 2009-08-14  Darin Adler  <darin@apple.com>
3470
3471         Reviewed by Sam Weinig.
3472
3473         Rename the confusing isObject(<class>) to inherits(<class>).
3474         It still works on non-objects, returning false.
3475
3476         * bindings/js/JSEventTarget.cpp:
3477         (WebCore::toEventTarget):
3478         * bindings/js/JSGeolocationCustom.cpp:
3479         (WebCore::createPositionCallback):
3480         (WebCore::createPositionErrorCallback):
3481         * bindings/js/JSNodeFilterCustom.cpp:
3482         (WebCore::toNodeFilter):
3483         * bindings/js/JSXMLHttpRequestCustom.cpp:
3484         (WebCore::JSXMLHttpRequest::send):
3485         * bindings/js/JSXSLTProcessorCustom.cpp:
3486         (WebCore::JSXSLTProcessor::importStylesheet):
3487         (WebCore::JSXSLTProcessor::transformToFragment):
3488         (WebCore::JSXSLTProcessor::transformToDocument):
3489         * bindings/scripts/CodeGeneratorJS.pm:
3490         * bridge/objc/objc_runtime.mm:
3491         (JSC::Bindings::callObjCFallbackObject):
3492         * bridge/runtime_method.cpp:
3493         (JSC::callRuntimeMethod):
3494         Updated to new name, inherits, from old name, isObject.
3495
3496 2009-08-14  Yael Aharon  <yael.aharon@nokia.com>
3497
3498         Reviewed by Simon Hausmann.
3499
3500         Allow Qt API to list and to remove URL schemes that were registered as
3501         local URL schemes.
3502         [Qt] Allow applications to register their own local URL scheme.
3503         https://bugs.webkit.org/show_bug.cgi?id=28240
3504
3505         * page/SecurityOrigin.cpp:
3506         (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
3507         (WebCore::SecurityOrigin::localURLSchemes):
3508         * page/SecurityOrigin.h:
3509
3510 2009-08-14  Pavel Feldman  <pfeldman@chromium.org>
3511
3512         Reviewed by Timothy Hatcher.
3513
3514         WebInspector: Wrap console objects late (in the frontend) so that injected
3515         script was already in place.
3516
3517         https://bugs.webkit.org/show_bug.cgi?id=28297
3518
3519         * inspector/ConsoleMessage.cpp:
3520         (WebCore::ConsoleMessage::ConsoleMessage):
3521         * inspector/ConsoleMessage.h:
3522         * inspector/InspectorController.cpp:
3523         (WebCore::InspectorController::addMessageToConsole):
3524         (WebCore::InspectorController::startGroup):
3525         (WebCore::InspectorController::setFrontendProxyObject):
3526         * inspector/InspectorController.h:
3527         * inspector/InspectorFrontend.cpp:
3528         (WebCore::InspectorFrontend::InspectorFrontend):
3529         (WebCore::InspectorFrontend::addMessageToConsole):
3530         * inspector/InspectorFrontend.h:
3531
3532 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
3533
3534         Reviewed by Dan Bernstein.
3535
3536         Fix logic in RenderObject::updateFillImages() that led to incorrect client
3537         counts if an image was used twice in the background-image property.
3538         https://bugs.webkit.org/show_bug.cgi?id=28295
3539
3540         Test: fast/backgrounds/multiple-backgrounds-assert.html
3541
3542         * rendering/RenderObject.cpp:
3543         (WebCore::RenderObject::updateFillImages):
3544         Simplify the logic to call addClient()/removeClient() for every background
3545         image, but go through the new layers first to avoid removing all the
3546         clients of an image.
3547
3548 2009-08-13  Oliver Hunt  <oliver@apple.com>
3549
3550         Reviewed by Maciej Stachowiak.
3551
3552         Devirtualise marking
3553         https://bugs.webkit.org/show_bug.cgi?id=28294
3554
3555         Make sure we override the JSObject createStructure method on those
3556         objects that have custom marking routines.
3557
3558         * bindings/scripts/CodeGeneratorJS.pm:
3559
3560 2009-08-13  Darin Adler  <darin@apple.com>
3561
3562         Reviewed by Mark Rowe.
3563
3564         Follow-up to earlier work to remove dependencies on JavaScriptCore.
3565
3566         * ForwardingHeaders/parser/Parser.h: Removed.
3567         * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
3568         of Parser.h.
3569
3570 2009-08-13  Dan Bernstein  <mitz@apple.com>
3571
3572         Reviewed by Eric Seidel.
3573
3574         'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
3575         an assertion failure in debug builds
3576         https://bugs.webkit.org/show_bug.cgi?id=28279
3577
3578         Test: fast/flexbox/block-axis.html
3579
3580         * css/CSSPrimitiveValueMappings.h:
3581         (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
3582         vertical.
3583
3584 2009-08-13  Simon Fraser  <simon.fraser@apple.com>
3585
3586         Reviewed by Dan Bernstein.
3587
3588         Fix crash when removing reflection on an absolutely-positioned image.
3589         https://bugs.webkit.org/show_bug.cgi?id=28289
3590         
3591         Make sure we clean up the reflection layer when removing the reflection,
3592         so that the RenderLayer tree does not contain pointers to deleted layers.
3593
3594         Test: fast/reflections/reflected-img-crash.html
3595
3596         * rendering/RenderLayer.cpp:
3597         (WebCore::RenderLayer::~RenderLayer):
3598         (WebCore::RenderLayer::styleChanged):
3599         (WebCore::RenderLayer::removeReflection):
3600         * rendering/RenderLayer.h:
3601
3602 2009-08-13  Dan Bernstein  <mitz@apple.com>
3603
3604         Reviewed by Simon Fraser.
3605
3606         misalignment because of float:left of <div> tag
3607         https://bugs.webkit.org/show_bug.cgi?id=15869
3608
3609         One section of http://edgar.sec.gov site draws to the right of the rest
3610         of the content
3611         <rdar://problem/7135951>
3612
3613         Tests: fast/block/float/avoidance-percent-width-compat.html
3614                fast/block/float/avoidance-percent-width-strict.html
3615
3616         * rendering/RenderBlock.cpp:
3617         (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
3618             avoidance logic in strict mode and in compatibility mode, which
3619             matches Firefox and IE. Changed to compute and use the computed
3620             width of the child, instead of ignoring non-fixed widths.
3621
3622 2009-08-13  Steve Block  <steveblock@google.com>
3623
3624         Reviewed by Darin Adler.
3625
3626         Geolocation PositionOptions does not use correct default values.
3627         https://bugs.webkit.org/show_bug.cgi?id=27254
3628
3629         Sets the correct default values for the properties of the PositionOptions object
3630         passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
3631
3632         Also adds checking to throw an exception if arguments of the incorrect type are
3633         passed to Geolocation methods. Adds a layout test to test this. This test should
3634         pass on all platforms where Geolocation is implemented.
3635
3636         Test: fast/dom/Geolocation/argument-types.html
3637
3638         * bindings/js/JSGeolocationCustom.cpp:
3639         (WebCore::createPositionCallback): Added. Creates the callback.
3640         (WebCore::createPositionErrorCallback): Added. Creates the calback.
3641         (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
3642         (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
3643         (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
3644         * page/Geolocation.cpp:
3645         (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
3646         (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
3647         * page/PositionOptions.h:
3648         (WebCore::PositionOptions::create): Modified. Creates object with default values.
3649         (WebCore::PositionOptions::timeout): Modified. Uses correct type.
3650         (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
3651         (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
3652         (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
3653         (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
3654         (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
3655
3656 2009-08-13  David Levin  <levin@chromium.org>
3657
3658         Unreviewed chromium build fix.
3659
3660         [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
3661
3662         * bindings/scripts/CodeGeneratorV8.pm:
3663
3664 2009-08-13  Drew Wilson  <atwilson@google.com>
3665
3666         Reviewed by David Levin.
3667
3668         Merge error in SharedWorker code
3669         https://bugs.webkit.org/show_bug.cgi?id=28277
3670
3671         Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
3672         No new tests needed.
3673
3674         * workers/DefaultSharedWorkerRepository.cpp:
3675         Removed duplicated functions.
3676
3677 2009-08-13  Kyle Prete  <kylep@chromium.org>
3678
3679         Reviewed by Dave Levin.
3680
3681         Chromium: Show a "Playback Disabled" button on media error.
3682         https://bugs.webkit.org/show_bug.cgi?id=28196
3683         Use a disabled play button when the media file cannot be played.
3684
3685         No new tests needed. Covered by LayoutTests/media/video-empty-source.html
3686
3687         * rendering/RenderThemeChromiumSkia.cpp:
3688         (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
3689
3690 2009-08-13  Mark Rowe  <mrowe@apple.com>
3691
3692         Try and fix the Qt build.
3693
3694         * bridge/qt/qt_runtime.cpp:
3695
3696 2009-08-13  Zan Dobersek  <zandobersek@gmail.com>
3697
3698         Reviewed by Gustavo Noronha.
3699
3700         [GTK] Drag and drop support
3701         https://bugs.webkit.org/show_bug.cgi?id=23642
3702
3703         Utilizes functions that are being called upon drag and drop actions.
3704         Uses different GTK clipboards that hold different types
3705         of drag data - images, HTML markup, text, URL, URL label.
3706         Also clears each clipboard before setting new data to it.
3707
3708         No new tests - despite some implementations, no new functionality
3709         is added until implementations of the GTK drag and drop protocol
3710         in WebKit part.
3711
3712         * platform/gtk/ClipboardGtk.cpp:
3713         (WebCore::ClipboardGtk::ClipboardGtk):
3714         (WebCore::ClipboardGtk::~ClipboardGtk):
3715         (WebCore::getCachedImage):
3716         (WebCore::ClipboardGtk::declareAndWriteDragImage):
3717         (WebCore::ClipboardGtk::writeURL):
3718         (WebCore::ClipboardGtk::writeRange):
3719         * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
3720
3721 2009-08-13  Darin Adler  <darin@apple.com>
3722
3723         Reviewed by David Levin.
3724
3725         JavaScriptCore tweaks to get ready for the parser arena
3726         https://bugs.webkit.org/show_bug.cgi?id=28243
3727
3728         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
3729
3730         * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
3731         files as Private that are now needed to compile Mac WebKit.
3732
3733         * bindings/js/JSAudioConstructor.cpp:
3734         * bindings/js/JSDOMBinding.cpp:
3735         * bindings/js/JSDOMBinding.h:
3736         * bindings/js/JSDOMWindowCustom.cpp:
3737         * bindings/js/JSHTMLInputElementCustom.cpp:
3738         * bindings/js/JSHistoryCustom.cpp:
3739         * bindings/js/JSImageConstructor.cpp:
3740         * bindings/js/JSLazyEventListener.cpp:
3741         * bindings/js/JSLocationCustom.cpp:
3742         * bindings/js/JSMessageChannelConstructor.cpp:
3743         * bindings/js/JSOptionConstructor.cpp:
3744         * bindings/js/JSWebSocketConstructor.cpp:
3745         * bindings/js/JSWebSocketCustom.cpp:
3746         * bindings/js/JSWorkerConstructor.cpp:
3747         * bindings/js/JSXMLHttpRequestConstructor.cpp:
3748         * bridge/jni/jni_jsobject.mm:
3749         Updated includes.
3750
3751         * inspector/JavaScriptDebugServer.cpp:
3752         (WebCore::JavaScriptDebugServer::sourceParsed):
3753         Change to not assert if this is called with no listeners.
3754         I don't think this was guaranteed before, and we now use
3755         this code path when recompiling. Slightly less efficient,
3756         but this is a one-time cost when turning on the debugger.
3757         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3758         Change to call Debugger::recompileAllJSFunctions.
3759
3760 2009-08-13  Brady Eidson  <beidson@apple.com>
3761
3762         Reviewed by Eric Seidel.
3763
3764         <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
3765         onhashchange property cannot be set from javascript.
3766
3767         Test: fast/loader/onhashchange-attribute-listeners.html
3768
3769         * html/HTMLBodyElement.cpp:
3770         (WebCore::HTMLBodyElement::onhashchange):
3771         (WebCore::HTMLBodyElement::setOnhashchange):
3772         * html/HTMLBodyElement.h:
3773         * html/HTMLBodyElement.idl:
3774
3775         * html/HTMLFrameSetElement.cpp:
3776         (WebCore::HTMLFrameSetElement::onhashchange):
3777         (WebCore::HTMLFrameSetElement::setOnhashchange):
3778         * html/HTMLFrameSetElement.h:
3779         * html/HTMLFrameSetElement.idl:
3780
3781         * page/DOMWindow.cpp:
3782         (WebCore::DOMWindow::onhashchange):
3783         (WebCore::DOMWindow::setOnhashchange):
3784         * page/DOMWindow.h:
3785         * page/DOMWindow.idl:
3786
3787 2009-08-13  Mark Rowe  <mrowe@apple.com>
3788
3789         Reviewed by Geoff Garen.
3790
3791         Fix leaks of RGBColor instances from below SVGColor::rgbColor.
3792
3793         * svg/SVGColor.cpp:
3794         (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
3795         RGBColor is cleaned up by the caller.
3796         * svg/SVGColor.h:
3797
3798 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
3799
3800         Reviewed by Timothy Hatcher.
3801
3802         WebInspector: Migrate to DOMAgent (serialized access to DOM).
3803
3804         https://bugs.webkit.org/show_bug.cgi?id=28177
3805
3806         * bindings/js/JSInspectorBackendCustom.cpp:
3807         (WebCore::JSInspectorBackend::highlightDOMNode):
3808         (WebCore::JSInspectorBackend::nodeForId):
3809         (WebCore::JSInspectorBackend::idForNode):
3810         (WebCore::JSInspectorBackend::wrapObject):
3811         (WebCore::JSInspectorBackend::unwrapObject):
3812         (WebCore::JSInspectorBackend::pushNodePathToFrontend):
3813         (WebCore::JSInspectorBackend::selectDatabase):
3814         (WebCore::JSInspectorBackend::selectDOMStorage):
3815         * bindings/js/ScriptObjectQuarantine.cpp:
3816         (WebCore::getQuarantinedScriptObject):
3817         * bindings/js/ScriptObjectQuarantine.h:
3818         * bindings/js/ScriptValue.cpp:
3819         (WebCore::ScriptValue::isObject):
3820         * bindings/js/ScriptValue.h:
3821         * bindings/v8/ScriptObjectQuarantine.cpp:
3822         (WebCore::getQuarantinedScriptObject):
3823         * bindings/v8/ScriptObjectQuarantine.h:
3824         * bindings/v8/ScriptValue.h:
3825         (WebCore::ScriptValue::isObject):
3826         * bindings/v8/custom/V8CustomBinding.h:
3827         * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3828         (WebCore::CALLBACK_FUNC_DECL):
3829         * inspector/ConsoleMessage.cpp:
3830         (WebCore::ConsoleMessage::ConsoleMessage):
3831         * inspector/ConsoleMessage.h:
3832         * inspector/InspectorBackend.cpp:
3833         (WebCore::InspectorBackend::clearMessages):
3834         (WebCore::InspectorBackend::loaded):
3835         (WebCore::InspectorBackend::highlight):
3836         (WebCore::InspectorBackend::nodeForId):
3837         (WebCore::InspectorBackend::idForNode):
3838         (WebCore::InspectorBackend::wrapObject):
3839         (WebCore::InspectorBackend::unwrapObject):
3840         (WebCore::InspectorBackend::pushNodePathToFrontend):
3841         (WebCore::InspectorBackend::addNodesToSearchResult):
3842         (WebCore::InspectorBackend::selectDatabase):
3843         (WebCore::InspectorBackend::selectDOMStorage):
3844         * inspector/InspectorBackend.h:
3845         * inspector/InspectorBackend.idl:
3846         * inspector/InspectorController.cpp:
3847         (WebCore::InspectorController::InspectorController):
3848         (WebCore::InspectorController::focusNode):
3849         (WebCore::InspectorController::addMessageToConsole):
3850         (WebCore::InspectorController::clearConsoleMessages):
3851         (WebCore::InspectorController::startGroup):
3852         (WebCore::InspectorController::scriptObjectReady):
3853         (WebCore::InspectorController::setFrontendProxyObject):
3854         (WebCore::InspectorController::close):
3855         (WebCore::InspectorController::didCommitLoad):
3856         (WebCore::InspectorController::wrapObject):
3857         (WebCore::InspectorController::unwrapObject):
3858         * inspector/InspectorController.h:
3859         * inspector/InspectorDOMAgent.cpp:
3860         (WebCore::InspectorDOMAgent::setDocument):
3861         (WebCore::InspectorDOMAgent::handleEvent):
3862         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
3863         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3864         (WebCore::InspectorDOMAgent::nodeForId):
3865         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
3866         (WebCore::InspectorDOMAgent::buildObjectForNode):
3867         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3868         (WebCore::InspectorDOMAgent::innerParentElement):
3869         * inspector/InspectorDOMAgent.h:
3870         * inspector/InspectorDOMStorageResource.cpp:
3871         (WebCore::InspectorDOMStorageResource::bind):
3872         * inspector/InspectorFrontend.cpp:
3873         (WebCore::InspectorFrontend::clearConsoleMessages):
3874         (WebCore::InspectorFrontend::updateFocusedNode):
3875         (WebCore::InspectorFrontend::setDocument):
3876         (WebCore::InspectorFrontend::selectDatabase):
3877         (WebCore::InspectorFrontend::selectDOMStorage):
3878         (WebCore::InspectorFrontend::addNodesToSearchResult):
3879         * inspector/InspectorFrontend.h:
3880         * inspector/front-end/ConsoleView.js:
3881         (WebInspector.ConsoleView.prototype.clearMessages):
3882         (WebInspector.ConsoleView.prototype.completions):
3883         (WebInspector.ConsoleView.prototype._reportCompletions):
3884         (WebInspector.ConsoleView.prototype._messagesClicked):
3885         (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
3886         (WebInspector.ConsoleView.prototype.doEvalInWindow):
3887         (WebInspector.ConsoleView.prototype._format):
3888         (WebInspector.ConsoleView.prototype._formatfunction):
3889         (WebInspector.ConsoleView.prototype._formatdate):
3890         (WebInspector.ConsoleView.prototype._formatregexp):
3891         (WebInspector.ConsoleView.prototype._formatnode):
3892         (WebInspector.ConsoleView.prototype._formatobject):
3893         * inspector/front-end/DOMAgent.js:
3894         (WebInspector.DOMNode):
3895         (WebInspector.DOMNode.prototype._renumber):
3896         (WebInspector.DOMDocument):
3897         (WebInspector.DOMAgent):
3898         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3899         (WebInspector.DOMAgent.prototype.setAttributeAsync):
3900         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
3901         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
3902         (WebInspector.DOMAgent.prototype.nodeForId):
3903         (WebInspector.DOMAgent.prototype._setDocument):
3904         (WebInspector.DOMAgent.prototype._setChildNodes):
3905         (WebInspector.DOMAgent.prototype._bindNodes):
3906         (WebInspector.DOMAgent.prototype._childNodeInserted):
3907         (WebInspector.CSSStyleDeclaration):
3908         (WebInspector.CSSStyleDeclaration.parseRule):
3909         (WebInspector.setDocument):
3910         (InspectorController.getStyles):
3911         (InspectorController.getComputedStyle):
3912         (InspectorController.getInlineStyle):
3913         (InspectorController.applyStyleText):
3914         (InspectorController.setStyleText):
3915         (InspectorController.toggleStyleEnabled):
3916         (InspectorController.applyStyleRuleText):
3917         (InspectorController.addStyleSelector):
3918         (InspectorController.setStyleProperty):
3919         (InspectorController.getPrototypes):
3920         (InspectorController.getProperties):
3921         (InspectorController.setPropertyValue):
3922         (InspectorController.evaluate):
3923         (InspectorController.addInspectedNode):
3924         (InspectorController.performSearch):
3925         (InspectorController.searchCanceled):
3926         * inspector/front-end/ElementsPanel.js:
3927         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3928         (WebInspector.ElementsPanel.prototype.searchCanceled):
3929         (WebInspector.ElementsPanel.prototype.performSearch):
3930         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
3931         (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
3932         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
3933         * inspector/front-end/ElementsTreeOutline.js:
3934         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
3935         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
3936         (WebInspector.ElementsTreeElement.prototype.updateChildren):
3937         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3938         * inspector/front-end/InjectedScript.js:
3939         (InjectedScript.applyStyleRuleText):
3940         (InjectedScript.addStyleSelector):
3941         (InjectedScript._doesSelectorAffectNode):
3942         (InjectedScript._serializeRule):
3943         (InjectedScript._serializeStyle):
3944         (InjectedScript.getProperties):
3945         (InjectedScript.evaluate):
3946         (InjectedScript.addInspectedNode):
3947         (InjectedScript.performSearch.addNodesToResults):
3948         (InjectedScript.performSearch.matchExactItems):
3949         (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
3950         (InjectedScript.performSearch.matchExactId):
3951         (InjectedScript.performSearch):
3952         (InjectedScript.performSearch.matchExactTagNames):
3953         (InjectedScript.performSearch.matchExactAttributeNames):
3954         (InjectedScript.performSearch.matchPartialTagNames):
3955         (InjectedScript.performSearch.matchStartOfTagNames):
3956         (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
3957         (InjectedScript.performSearch.matchPartialAttributeValues):
3958         (InjectedScript.performSearch.matchStyleSelector):
3959         (InjectedScript.performSearch.matchPlainText):
3960         (InjectedScript.performSearch.matchXPathQuery):
3961         (InjectedScript.performSearch.finishedSearching):
3962         (InjectedScript.performSearch.processChunk):
3963         (InjectedScript.searchCanceled):
3964         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
3965         (InjectedScript._ensureCommandLineAPIInstalled):
3966         (InjectedScript._resolveObject):
3967         (InjectedScript._nodeForId):
3968         (InjectedScript._objectForId):
3969         (InjectedScript._createProxyObject):
3970         * inspector/front-end/ObjectPropertiesSection.js:
3971         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
3972         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3973         * inspector/front-end/ObjectProxy.js:
3974         (WebInspector.ObjectProxy):
3975         (WebInspector.ObjectPropertyProxy):
3976         * inspector/front-end/PropertiesSidebarPane.js:
3977         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
3978         (WebInspector.PropertiesSidebarPane.prototype.update):
3979         * inspector/front-end/StylesSidebarPane.js:
3980         (WebInspector.StylesSidebarPane.prototype.update.callback):
3981         (WebInspector.StylesSidebarPane.prototype.update):
3982         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3983         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
3984         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
3985         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
3986         (WebInspector.StylePropertyTreeElement.prototype):
3987         * inspector/front-end/inspector.js:
3988         (WebInspector._updateHoverHighlight):
3989         (WebInspector.loaded):
3990         (WebInspector.clearConsoleMessages):
3991         (WebInspector.selectDatabase):
3992         (WebInspector.selectDOMStorage):
3993         (WebInspector.updateFocusedNode):
3994         (WebInspector.addNodesToSearchResult):
3995         * inspector/front-end/utilities.js:
3996         (Object.proxyType):
3997         * storage/Storage.h:
3998         (WebCore::Storage::frame):
3999
4000 2009-08-13  Mark Rowe  <mrowe@apple.com>
4001
4002         Reviewed by Geoff Garen.
4003
4004         Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
4005
4006         * css/CSSPrimitiveValue.cpp:
4007         (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
4008         newly-allocated RGBColor is cleaned up by the caller.
4009         * css/CSSPrimitiveValue.h:
4010
4011 2009-08-13  Eric Seidel  <eric@webkit.org>
4012
4013         Reviewed by David Hyatt.
4014
4015         wrong font size when css font-family includes monospace
4016         https://bugs.webkit.org/show_bug.cgi?id=19161
4017
4018         Firefox only uses fixed-width default size for exactly "font-family: monospace;".
4019         WebKit has historically used fixed-width default size any time a
4020         font-family includes monospace in the fallback list.
4021
4022         This patch corrects WebKit's behavior to match Firefox.
4023         I also had to fix a bug in WebKit's font-family fallback behavior where
4024         child elements would inherit parts of their parents fallback lists.
4025
4026         This patch is mostly just replacing all cases where we used to check for:
4027         fontDescription.genericFontFamily() == MonospaceFamily
4028         with:
4029         fontDescription.useFixedDefaultSize()
4030
4031         Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
4032                fast/css/getComputedStyle/font-family-fallback-reset.html
4033
4034         * css/CSSStyleSelector.cpp:
4035         (WebCore::CSSStyleSelector::applyProperty):
4036            Deploy useFixedDefaultSize().  Also fix the bug where child
4037            FontDescriptions would carry part of the parent font-family fallback list.
4038         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
4039            It's no longer alright to just check genericFontFamily(),
4040            we have to check to make sure the changed style has a matching useFixedDefaultSize().
4041         * platform/graphics/FontDescription.h:
4042         (WebCore::FontDescription::useFixedDefaultSize):
4043            Only use the fixed default size if we have one font family and it is "monospace".
4044            "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
4045
4046 2009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
4047
4048         Reviewed by Dimitri Glazkov.
4049
4050         [v8] Fix atomic string externalization crash.
4051         Atomic string externalization assumes that all non-empty strings
4052         can be externalized which is untrue on 64-bit.  This change fixed
4053         that.
4054
4055         https://bugs.webkit.org/show_bug.cgi?id=28215
4056
4057         This bug causes loads of test crashes, no need to add new tests
4058         specifically for this.
4059
4060         * bindings/v8/V8Binding.cpp:
4061         (WebCore::v8StringToAtomicWebCoreString):
4062
4063 2009-08-13  George Staikos  <george.staikos@torchmobile.com>
4064
4065         Rubberstamped by Darin Adler.
4066
4067         Use ASSERT_UNUSED instead of UNUSED_PARAM
4068
4069         * wml/WMLAnchorElement.cpp:
4070         (WebCore::WMLAnchorElement::deregisterTask):
4071         * wml/WMLDoElement.cpp:
4072         (WebCore::WMLDoElement::deregisterTask):
4073
4074 2009-08-13  Steve Block  <steveblock@google.com>
4075
4076         Reviewed by Darin Adler.
4077
4078         Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
4079         https://bugs.webkit.org/show_bug.cgi?id=28262
4080
4081         No new tests possible.
4082
4083         * page/SecurityOrigin.cpp:
4084         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
4085
4086 2009-08-13  Dirk Schulze  <krit@webkit.org>
4087
4088         Reviewed by Eric Seidel.
4089
4090         [CAIRO] getImageData fails on a given rect bigger than the image rect
4091
4092         The destination image and the source image was mixed up on creating the
4093         imageData.
4094
4095         This is just a clean up and doesn't affect the current behavior. It's not
4096         possible to test this failure in a LayoutTest. Only canvas uses getImageData
4097         at the moment and returns before calling getImageData, if the image rect does
4098         not contain the requested rect.
4099
4100         * platform/graphics/cairo/ImageBufferCairo.cpp:
4101         (WebCore::getImageData):
4102
4103 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
4104
4105         Reviewed by Eric Seidel.
4106
4107         [Haiku] Adding RenderTheme to WebCore.
4108         https://bugs.webkit.org/show_bug.cgi?id=28258
4109
4110         * platform/haiku/RenderThemeHaiku.cpp: Added.
4111         (WebCore::RenderThemeHaiku::create):
4112         (WebCore::RenderTheme::themeForPage):
4113         (WebCore::RenderThemeHaiku::RenderThemeHaiku):
4114         (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
4115         (WebCore::supportsFocus):
4116         (WebCore::RenderThemeHaiku::supportsFocusRing):
4117         (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
4118         (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
4119         (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
4120         (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
4121         (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
4122         (WebCore::RenderThemeHaiku::systemFont):
4123         (WebCore::RenderThemeHaiku::paintCheckbox):
4124         (WebCore::RenderThemeHaiku::setCheckboxSize):
4125         (WebCore::RenderThemeHaiku::paintRadio):
4126         (WebCore::RenderThemeHaiku::setRadioSize):
4127         (WebCore::RenderThemeHaiku::adjustMenuListStyle):
4128         (WebCore::RenderThemeHaiku::paintMenuList):
4129         * platform/haiku/RenderThemeHaiku.h: Added.
4130         (WebCore::RenderThemeHaiku::supportsHover):
4131
4132 2009-08-13  Maxime Simon  <simon.maxime@gmail.com>
4133
4134         Reviewed by Eric Seidel.
4135
4136         [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
4137         https://bugs.webkit.org/show_bug.cgi?id=28256
4138
4139         * platform/haiku/ContextMenuHaiku.cpp:
4140         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
4141         (WebCore::ContextMenu::ContextMenu):
4142         (WebCore::ContextMenu::appendItem):
4143         (WebCore::ContextMenu::insertItem):
4144
4145 2009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
4146
4147         Reviewed by Darin Adler.
4148
4149         Inspector: Show Hidden Cookie Data
4150         https://bugs.webkit.org/show_bug.cgi?id=28185
4151
4152           Added new file Cookie.h to the WebCore XCode
4153
4154         * WebCore.xcodeproj/project.pbxproj:
4155
4156           InspectorController.cookies() binding
4157
4158         * bindings/js/JSInspectorBackendCustom.cpp:
4159         (WebCore::JSInspectorBackend::cookies):
4160         * inspector/InspectorBackend.idl:
4161
4162           Struct for static Cookie information
4163           (name, value, path, domain, expires, httpOnly, secure, session)
4164
4165         * platform/Cookie.h: Added.
4166         (WebCore::Cookie::Cookie):
4167         
4168           Getter for the a list of raw Cookies
4169           getRawCookies(., ., out Vector<Cookie>)
4170         
4171         * platform/CookieJar.h:
4172
4173           Implementation of getRawCookies for the mac platform.
4174
4175         * platform/mac/CookieJar.mm:
4176         (WebCore::getRawCookies):
4177
4178           Stub other CookieJar implementations to satisfy the interface.
4179
4180         * platform/haiku/CookieJarHaiku.cpp:
4181         (WebCore::getRawCookies):
4182         * platform/network/chromium/CookieJarChromium.cpp:
4183         (WebCore::getRawCookies):
4184         * platform/network/curl/CookieJarCurl.cpp:
4185         (WebCore::getRawCookies):
4186         * platform/network/soup/CookieJarSoup.cpp:
4187         (WebCore::getRawCookies):
4188         * platform/network/win/CookieJarCFNetWin.cpp:
4189         (WebCore::getRawCookies):
4190         * platform/network/win/CookieJarWin.cpp:
4191         (WebCore::getRawCookies):
4192         * platform/qt/CookieJarQt.cpp:
4193         (WebCore::getRawCookies):
4194
4195 2009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
4196
4197         Reviewed by Timothy Hatcher.
4198
4199         Add a new gesture in Web Inspector to remove breakpoints
4200         https://bugs.webkit.org/show_bug.cgi?id=19131
4201         
4202         * inspector/front-end/SourceFrame.js:
4203         (WebInspector.SourceFrame.prototype._documentMouseDown):
4204
4205 2009-08-13  Norbert Leser  <norbert.leser@nokia.com>
4206
4207         Reviewed by Simon Hausmann.
4208
4209         Symbian target components (library and executable files)
4210         require Unique Identifiers (i.e., UID3).
4211         These identifiers are defined in the respective project
4212         file, conditionally for "symbian" platform.
4213
4214         * WebCore.pro:
4215
4216 2009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
4217
4218         Reviewed by Eric Seidel.
4219
4220         wrong calculation of overflow size for flexbox and table
4221         https://bugs.webkit.org/show_bug.cgi?id=28064
4222
4223         RenderFlexibleBox and RenderTable were using the width of overflow
4224         to update height of overflow, so height became wrong value and
4225         width was not updated. As the corresponding code of RenderBlock
4226         was sane, I factored it out and used from RenderFlexibleBox and
4227         RenderTable.
4228
4229         * rendering/RenderBlock.cpp:
4230         (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
4231         (WebCore::RenderBlock::layoutBlock):
4232         * rendering/RenderBlock.h:
4233         * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
4234         (WebCore::RenderFlexibleBox::layoutBlock):
4235